<:import src="base.htm" /> <:define tag="bs-input:div" class="mb-3" // parameters ::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" // parameters ::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 ::prefix=${null} ::suffix=${null} ::size=${null} // private :_class=${['input-group', size ? `input-group-${size}` : ''] .filter(s => s).join(' ')} class=${_class} > ${prefix} <:slot /> ${suffix}