1class e extends HTMLElement{constructor(){super(),this.handleChange=this.handleChange.bind(this)}connectedCallback(){try{if(this.input=this.querySelector("[data-checkbox-input]"),this.label=this.querySelector("[data-checkbox-label]"),this.helpText=this.querySelector("[data-checkbox-help]"),!this.input){console.error("Form Checkbox: No input found with [data-checkbox-input]");return}this.input.hasAttribute("required")&&!this.input.checked&&this.input.setCustomValidity("This field is required"),this.setupEventListeners()}catch(t){console.error("Form Checkbox: Error during initialization",t)}}disconnectedCallback(){this.input&&this.input.removeEventListener("change",this.handleChange)}setupEventListeners(){this.input&&(this.input.addEventListener("change",this.handleChange),this.input.addEventListener("invalid",()=>{this.setAttribute("data-invalid","")}))}handleChange(){this.input.checked?(this.setAttribute("data-checked",""),this.input.setCustomValidity(""),this.removeAttribute("data-invalid")):(this.removeAttribute("data-checked"),this.input.hasAttribute("required")&&this.input.setCustomValidity("This field is required"))}checkValidity(){return this.input.hasAttribute("required")&&!this.input.checked?(this.input.setCustomValidity("This field is required"),this.setAttribute("data-invalid",""),!1):(this.input.setCustomValidity(""),this.removeAttribute("data-invalid"),!0)}}const s=()=>{customElements.get("form-checkbox")||customElements.define("form-checkbox",e)};export{e as Checkbox,s as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.