<:import src="base.htm" />
<:define tag="bs-select:div"
class="mb-3 ${extra ?? ''}"
// parameters
:extra=${null} // extra classes for this instance
:label=${null}
:name=${null}
:options=${[]}
:value=${null}
:placeholder=${null}
:help=${null}
:size=${null} // 'sm' | 'lg'
:multiple=${false}
:disabled=${false}
:required=${false}
:floating=${false}
// private
:_id=${`bs-select-${$id}`}
:_helpId=${`bs-select-help-${$id}`}
:_class=${['form-select', size ? `form-select-${size}` : '']
.filter(s => s).join(' ')}
:_options=${options.map(o =>
typeof o === 'object' && o !== null
? { name: o.name, value: o.value ?? o.name, disabled: !!o.disabled }
: { name: o, value: o, disabled: false })}
>
${help}