{%- set type = type ?? 'text' %} {%- set autocomplete = autocomplete ?? false %} {%- set class = (class ?? [])|explodeClass|merge([ 'text', (disabled ?? false) ? 'disabled' : null, not (size ?? false) ? 'fullwidth' : null, ]|filter) %} {%- set orientation = orientation ?? inputAttributes.dir ?? craft.app.locale.getOrientation() %} {%- set inputAttributes = { class: class, type: type, id: id ?? false, inputmode: inputmode ?? false, size: size ?? false, name: name ?? false, value: value ?? false, maxlength: maxlength ?? false, autofocus: (autofocus ?? false) and not craft.app.request.isMobileBrowser(true), autocomplete: autocomplete is boolean ? (autocomplete ? 'on' : 'off') : autocomplete, autocorrect: (autocorrect ?? true) ? false : 'off', autocapitalize: (autocapitalize ?? true) ? false : 'none', disabled: disabled ?? false, readonly: readonly ?? false, title: title ?? false, placeholder: placeholder ?? false, step: step ?? false, min: min ?? false, max: max ?? false, dir: orientation, aria: { labelledby: labelledBy ?? false, describedby: describedBy ?? false, }, }|merge(inputAttributes ?? [], recursive=true) %} {%- if block('attr') is defined %} {%- set inputAttributes = inputAttributes|merge(('
')|parseAttr, recursive=true) %} {%- endif %} {%- if showCharsLeft ?? false %} {%- set inputAttributes = inputAttributes|merge({ data: { 'show-chars-left': showCharsLeft, }, style: { ("padding-#{orientation == 'ltr' ? 'right' : 'left'}"): (maxlength ?? false) ? "#{7.2*maxlength|length+14}px", }, }, recursive=true) %} {%- endif %} {%- set input = tag('input', inputAttributes) %} {%- if unit ?? false %}
{{ input|raw }}
{{ unit }}
{%- else %} {{- input|raw }} {%- endif %}