<:import src="base.htm" /> <:define tag="bs-input:div" class="mb-3 ${extra ?? ''}" // parameters :extra=${null} // extra classes for this instance :label=${null} :type=${'text'} :name=${null} :value=${''} :placeholder=${''} :help=${null} :size=${null} // 'sm' | 'lg' :disabled=${false} :readonly=${false} :required=${false} :floating=${false} :check=${(v) => true} :message=${'Please check this value.'} // private :_id=${`bs-input-${$id}`} :_helpId=${`bs-input-help-${$id}`} :_empty=${value === '' || value == null} :_invalid=${_empty ? required : !check(value)} :_class=${['form-control', size ? `form-control-${size}` : ''] .filter(s => s).join(' ')} // read from outside: is there a value, and does it pass? :valid=${!_empty && check(value)} >
value = ev.target.value}>
${help}
${message}
value = ev.target.value}>
${message}
<:define tag="bs-textarea:div" class="mb-3 ${extra ?? ''}" // parameters :extra=${null} // extra classes for this instance :label=${null} :name=${null} :value=${''} :placeholder=${''} :rows=${3} :help=${null} :disabled=${false} :readonly=${false} :required=${false} :check=${(v) => true} :message=${'Please check this value.'} // private :_id=${`bs-textarea-${$id}`} :_helpId=${`bs-textarea-help-${$id}`} :_empty=${value === '' || value == null} :_invalid=${_empty ? required : !check(value)} // read from outside, as bs-input's is :valid=${!_empty && check(value)} >
${help}
${message}
<:define tag="bs-input-group:div" // parameters :extra=${null} // extra classes for this instance :prefix=${null} :suffix=${null} :size=${null} // private :_class=${['input-group', size ? `input-group-${size}` : '', extra] .filter(s => s).join(' ')} class=${_class} > ${prefix} <:slot /> ${suffix}