{%- set on = on ?? false %} {%- set indeterminate = not on and (indeterminate ?? false) %} {%- set value = value ?? '1' %} {%- set indeterminateValue = indeterminateValue ?? '-' %} {%- set small = small ?? false %} {%- set toggle = toggle ?? null %} {%- set reverseToggle = reverseToggle ?? null %} {%- set disabled = (disabled ?? false) ? true : false %} {%- set containerAttributes = { id: id ?? null, class: [ 'lightswitch', on ? 'on', indeterminate ? 'indeterminate', small ? 'small', toggle or reverseToggle ? 'fieldtoggle', disabled ? 'disabled', ]|filter, tabindex: '0', data: { 'value': value != '1' ? value : false, 'indeterminate-value': indeterminateValue != '-' ? indeterminateValue : false, 'target': toggle ?: false, 'reverse-target': reverseToggle ?: false, }, aria: { labelledby: labelId ?? null, }, }|merge(containerAttributes ?? [], recursive=true) %} {%- if block('attr') is defined %} {%- set containerAttributes = containerAttributes|merge(('
')|parseAttr, recursive=true) %} {% endif %}
{% if name is defined -%} {{ hiddenInput(name, on ? value : (indeterminate ? indeterminateValue : ''), {disabled: disabled}) }} {%- endif %}