<: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}