{% apply spaceless %} {# Parameters: - "autoinit" (boolean) (default: false) - "id" (string) (default: '') - "name" (string) (default: '') - "default_value" (default: '') - "required" (boolean) (default: false) - "required_text" (string) (default: '') - "helper_text" (string) (default: '') - "disabled" (boolean) (default: false) - "invalid" (boolean) (default: false) - "invalid_text" (string) (default: '') - "invalid_icon" (object of type "icon") (default: {}) - "type" (string) (default: 'text') - "optional_text" (string) (default: '') - "icons_path" (string) (default: '') - "placeholder" (string) (default: 'DD-MM-YYYY') - "extra_classes" (string) (default: '') - "extra_attributes" (array) (default: []): format: [ { "name" (string) (default: ''), "value" (optional) (string) ... ], #} {# Internal properties #} {% set _autoinit = autoinit|default(false) %} {% set _css_class = 'ecl-datepicker' %} {% set _default_value = default_value|default('') %} {% set _label_class = 'ecl-form-label' %} {% set _helper_class = 'ecl-help-block' %} {% set _input_class = 'ecl-datepicker__field ecl-text-input ecl-text-input--s' %} {% set _label = label|default('') %} {% set _id = id|default('') %} {% set _name = name|default('') %} {% set _type = type|default('text') %} {% set _placeholder = placeholder|default('DD-MM-YYYY') %} {% set _icons_path = icons_path|default('') %} {% set _invalid = invalid|default(false) %} {% set _invalid_text = invalid_text|default('') %} {% set _invalid_icon = invalid_icon|default({}) %} {% set _disabled = disabled|default(false) %} {% set _required = required|default(false) %} {% set _required_text = required_text|default('') %} {% set _optional_text = optional_text|default('') %} {# Internal logic - Process properties #} {% if extra_classes is defined and extra_classes is not empty %} {% set _css_class = _css_class ~ ' ' ~ extra_classes %} {% endif %} {% if _invalid %} {% set _css_class = _css_class ~ ' ecl-datepicker--invalid' %} {% set _label_class = _label_class ~ ' ecl-form-label--invalid' %} {% set _input_class = _input_class ~ ' ecl-text-input--invalid' %} {% endif %} {% if _disabled %} {% set _helper_class = _helper_class ~ ' ecl-help-block--disabled' %} {% endif %} {% if extra_attributes is defined and extra_attributes is not empty and extra_attributes is iterable %} {% for attr in extra_attributes %} {% if attr.value is defined %} {% set _extra_attributes = _extra_attributes ~ ' ' ~ attr.name|e('html_attr') ~ '="' ~ attr.value|e('html_attr') ~ '"' %} {% else %} {% set _extra_attributes = _extra_attributes ~ ' ' ~ attr.name|e('html_attr') %} {% endif %} {% endfor %} {% endif %}
{% if _label is not empty %} {% endif %} {% if helper_text is not empty %}
{{- helper_text -}}
{% endif %} {% if _invalid and _invalid_text is not empty %}
{% if _invalid_icon is not empty %} {% include '@ecl/icon/icon.html.twig' with { icon: _invalid_icon, extra_classes: 'ecl-feedback-message__icon', } only %} {% endif %} {{- invalid_text -}}
{% endif %}
{% if _icons_path is not empty %} {% include '@ecl/icon/icon.html.twig' with { icon: { name: 'calendar', size: 's', path: _icons_path, }, extra_classes: 'ecl-datepicker__icon', } only %} {% endif %}
{% endapply %}