bootstrap_italia-8.x-0.x-dev/components/components-2/form/input--number.html.twig

components/components-2/form/input--number.html.twig
{#
/**
 * @file
 * Template for number input component.
 * Docs: https://italia.github.io/bootstrap-italia/docs/form/input-numerico/
 * Latest revision: v2.8.7
 *
 * Available variables:
 * - attributes: A list of HTML attributes for the input element.
 * - children: Optional additional rendered elements.
 *
 * Examples:
 * @see template_preprocess_input()
 *
 * @ingroup themeable
 */
#}
{% apply spaceless %}
  {# Set defaults #}

  {# Set options #}
  {% if attributes.value is empty or not attributes.value %}
    {% set default_value = attributes.min ? attributes.min.__toString() : '0' %}
    {% set attributes = attributes
      .setAttribute('value', default_value)
    %}
  {% endif %}
  {% set attributes = attributes
    .addClass(['form-control'])
    .setAttribute('data-bs-input', true)
    .setAttribute('value', attributes.value ?: '0')
  %}
  {% set wrapper_classes = [
    'input-number',
    'input-group'
  ] %}
  {% if attributes.hasClass('input-number-currency') %}
    {% set wrapper_classes = wrapper_classes|merge(['input-number-currency']) %}
    {% set attributes = attributes.removeClass('input-number-currency') %}
    {% set input_prefix = '€' %}
  {% endif %}
  {% if attributes.hasClass('input-number-percentage') %}
    {% set wrapper_classes = wrapper_classes|merge(['input-number-percentage']) %}
    {% set attributes = attributes.removeClass('input-number-percentage') %}
    {% set input_prefix = '%' %}
  {% endif %}
  {% if attributes.hasClass('input-number-adaptive') %}
    {% set wrapper_classes = wrapper_classes|merge(['input-number-adaptive']) %}
    {% set attributes = attributes.removeClass('input-number-adaptive') %}
  {% endif %}

  {# Component #}
  <div class="{{ wrapper_classes|join(' ') }}">
    {% if input_prefix %}
      <span class="input-group-text fw-semibold">{{ input_prefix }}</span>
    {% endif %}
    <input{{ attributes }}>
    <span class="input-group-text align-buttons flex-column">
      <button class="input-number-add">
        <span class="visually-hidden">{{ 'Increase value'|t }}</span>
      </button>
      <button class="input-number-sub">
        <span class="visually-hidden">{{ 'Decrease value'|t }}</span>
      </button>
    </span>
  </div>
  {{ children }}
{% endapply %}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc