{"_id":"@aarongustafson/form-required-checkboxes","_rev":"15-af349088a8ef7c57190bc0c52d227ccc","name":"@aarongustafson/form-required-checkboxes","dist-tags":{"latest":"3.2.4"},"versions":{"1.0.0":{"name":"@aarongustafson/form-required-checkboxes","version":"1.0.0","keywords":["html","custom element","forms"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-checkboxes@1.0.0","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"dist":{"shasum":"cd1ab26f933071803bc3af29c28fa29c679affed","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-checkboxes/-/form-required-checkboxes-1.0.0.tgz","fileCount":8,"integrity":"sha512-mYUEGnRu6o4YboOZwWR5FkhuQXzcNv0acfAh/aGfkKSrZr+qjFIHfTneLdna8KFaBsDU+5qX4nhTBq3ND1981Q==","signatures":[{"sig":"MEUCIQDaK7gilWHLiq2AGbqHQ5jEJzGJ8MWRIE8G64RgueOcsQIgMoWdILY0hZKc1pClrwiRSwQGLdfCRjoagmgnOw3A37Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14353},"main":"form-required-checkboxes.js","module":"form-required-checkboxes.module.js","gitHead":"73d4b02db968e127561646e5b0fd04cd70ac5c49","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"aarongustafson","email":"aaron@easy-designs.net"},"repository":{"url":"git+https://github.com/aarongustafson/form-required-checkboxes.git","type":"git"},"_npmVersion":"10.8.2","description":"Web component that enables requirement rules for checkbox groups.","directories":{},"_nodeVersion":"22.5.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"customElements":"custom-elements.json","devDependencies":{"prettier":"^3.3.2"},"_npmOperationalInternal":{"tmp":"tmp/form-required-checkboxes_1.0.0_1721347115638_0.5028218584160249","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@aarongustafson/form-required-checkboxes","version":"2.0.0","keywords":["html","custom element","web component","forms","form validation","checkboxes","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-checkboxes@2.0.0","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"dist":{"shasum":"f381c2224cd26945885d68c447d5c42d73bd805a","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-checkboxes/-/form-required-checkboxes-2.0.0.tgz","fileCount":7,"integrity":"sha512-N3XRWZtNL6byI9XVbGY3/CMoWR1pch3Unf13BRh/OtxJtLCYsC8s2M2odABM/LVedLjI1pUyV5EeQqP0+u/bHQ==","signatures":[{"sig":"MEYCIQDK73kwdP4lUN0ek1t8EdMNkJcqckOPGhfs8Nrr0vG3kwIhAPLsTjmrAgQOmuK2+c7xYVAdu+N/QDGT7qOwpQ59y1Np","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13945},"main":"index.js","type":"module","module":"form-required-checkboxes.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./form-required-checkboxes.js":{"import":"./form-required-checkboxes.js"}},"gitHead":"79bc51402dffed9e75056f92f8269204eed550c3","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","format":"npm run format:eslint && npm run format:prettier","test:ui":"vitest --ui","test:run":"vitest run","lint:eslint":"eslint .","format:eslint":"eslint . --fix","lint:prettier":"prettier \"**/*.js\" --check --ignore-path .gitignore","test:coverage":"vitest run --coverage","format:prettier":"prettier \"**/*.js\" --write --ignore-path .gitignore"},"_npmUser":{"name":"aarongustafson","email":"aaron@easy-designs.net"},"repository":{"url":"git+https://github.com/aarongustafson/form-required-checkboxes.git","type":"git"},"_npmVersion":"10.8.2","description":"Web component that enables requirement rules for checkbox groups.","directories":{},"_nodeVersion":"20.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"customElements":"custom-elements.json","devDependencies":{"eslint":"^9.39.1","vitest":"^4.0.10","prettier":"^3.6.2","happy-dom":"^20.0.10","@vitest/ui":"^4.0.10","@vitest/coverage-v8":"^4.0.10","@testing-library/dom":"^10.4.1","@open-wc/eslint-config":"^13.0.0","eslint-config-prettier":"^10.1.8","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/form-required-checkboxes_2.0.0_1763601063326_0.5345298378626742","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@aarongustafson/form-required-checkboxes","version":"2.1.0","keywords":["html","custom element","web component","forms","form validation","checkboxes","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-checkboxes@2.1.0","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"dist":{"shasum":"21e88d2a3e180fc5049bee28808cb625263509e1","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-checkboxes/-/form-required-checkboxes-2.1.0.tgz","fileCount":8,"integrity":"sha512-0DVHik+uvf2K+sMhiSa+LqoJ2pby5Do6b8QKiIYXv4+masaQUfozMCSswVltr5H1zuFfv3F7CoEYPYCpz4kcLw==","signatures":[{"sig":"MEYCIQCoEzaswCJhb1P7w9IJ0GK0QvSBAugeuSVaDbM2EzVWGgIhAMskmUYMvs4Zgtz5E3OypXmhhAbkrjBEUI83m7mcxP3q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24093},"main":"index.js","type":"module","module":"form-required-checkboxes.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./form-required-checkboxes.js":{"import":"./form-required-checkboxes.js"}},"gitHead":"7ca940af9d90acdb1452e9252e3caf0202261045","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","format":"npm run format:eslint && npm run format:prettier","test:ui":"vitest --ui","test:run":"vitest run","lint:eslint":"eslint .","format:eslint":"eslint . --fix","lint:prettier":"prettier \"**/*.js\" --check --ignore-path .gitignore","test:coverage":"vitest run --coverage","format:prettier":"prettier \"**/*.js\" --write --ignore-path .gitignore"},"_npmUser":{"name":"aarongustafson","email":"aaron@easy-designs.net"},"repository":{"url":"git+https://github.com/aarongustafson/form-required-checkboxes.git","type":"git"},"_npmVersion":"10.8.2","description":"Web component that enables requirement rules for checkbox groups.","directories":{},"_nodeVersion":"20.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"customElements":"custom-elements.json","devDependencies":{"eslint":"^9.39.1","vitest":"^4.0.10","prettier":"^3.6.2","happy-dom":"^20.0.10","@vitest/ui":"^4.0.10","@vitest/coverage-v8":"^4.0.10","@testing-library/dom":"^10.4.1","@open-wc/eslint-config":"^13.0.0","eslint-config-prettier":"^10.1.8","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/form-required-checkboxes_2.1.0_1763774784033_0.6260730126147267","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@aarongustafson/form-required-checkboxes","version":"2.1.1","keywords":["html","custom element","web component","forms","form validation","checkboxes","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-checkboxes@2.1.1","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"dist":{"shasum":"17625420402dbbc3c72a88895e7c88cd26ba55f1","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-checkboxes/-/form-required-checkboxes-2.1.1.tgz","fileCount":8,"integrity":"sha512-NFdJWn53WiO+FgiU49JGUYOwQsepri2MFLdaDOF/RA1eNaKXTAgMzvyBlXAPqMuua/EYgR/RzBxkLT80XsX+kA==","signatures":[{"sig":"MEYCIQCh7pUp7rwpEjlSOS0FXj06vUJFmDc6jTOY4FF46HHU7gIhAOpNKSMXj4RPCCZa7OJR1W018WfPRq/sgg0BF/m2chZh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-checkboxes@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24095},"main":"index.js","type":"module","module":"form-required-checkboxes.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./form-required-checkboxes.js":{"import":"./form-required-checkboxes.js"}},"gitHead":"3a8e2e10de5f9b986878a3a61750f9996c18882b","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","format":"npm run format:eslint && npm run format:prettier","test:ui":"vitest --ui","test:run":"vitest run","lint:eslint":"eslint .","format:eslint":"eslint . --fix","lint:prettier":"prettier \"**/*.js\" --check --ignore-path .gitignore","test:coverage":"vitest run --coverage","format:prettier":"prettier \"**/*.js\" --write --ignore-path .gitignore"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cf931b9-5b4c-49b1-876a-a8a0f6b3c5fd"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-checkboxes.git","type":"git"},"_npmVersion":"11.6.4","description":"Web component that enables requirement rules for checkbox groups.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"customElements":"custom-elements.json","devDependencies":{"eslint":"^9.39.1","vitest":"^4.0.10","prettier":"^3.6.2","happy-dom":"^20.0.10","@vitest/ui":"^4.0.10","@vitest/coverage-v8":"^4.0.10","@testing-library/dom":"^10.4.1","@open-wc/eslint-config":"^13.0.0","eslint-config-prettier":"^10.1.8","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/form-required-checkboxes_2.1.1_1764428905282_0.17235889069098786","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"@aarongustafson/form-required-checkboxes","version":"2.1.2","keywords":["html","custom element","web component","forms","form validation","checkboxes","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-checkboxes@2.1.2","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"dist":{"shasum":"9667f8971479afc5968a34d40005bf7be3a582a3","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-checkboxes/-/form-required-checkboxes-2.1.2.tgz","fileCount":8,"integrity":"sha512-srsgKpnBkNUH1N8ObEMPwa4WEyiW5RYsS/NDAE4/mJKhotiLD2kByRt9Xpa0D3lj8Z4DJCFGJeL9z+sHeplEqQ==","signatures":[{"sig":"MEUCIEYbbNrZttuhwgEJ13i8hC3JJ3F/397VFq4UUcE1DI60AiEAoLfM0kZ+9awuQnkb+sXpHAB0BaKwZkuUxtTnbCLUDd0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-checkboxes@2.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24095},"main":"index.js","type":"module","module":"form-required-checkboxes.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./form-required-checkboxes.js":{"import":"./form-required-checkboxes.js"}},"gitHead":"5aeeaecdddc88f8569c2ea41569d47035e57d901","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","format":"npm run format:eslint && npm run format:prettier","test:ui":"vitest --ui","test:run":"vitest run","lint:eslint":"eslint .","format:eslint":"eslint . --fix","lint:prettier":"prettier \"**/*.js\" --check --ignore-path .gitignore","test:coverage":"vitest run --coverage","format:prettier":"prettier \"**/*.js\" --write --ignore-path .gitignore"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cf931b9-5b4c-49b1-876a-a8a0f6b3c5fd"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-checkboxes.git","type":"git"},"_npmVersion":"11.6.4","description":"Web component that enables requirement rules for checkbox groups.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"customElements":"custom-elements.json","devDependencies":{"eslint":"^9.39.1","vitest":"^4.0.10","prettier":"^3.6.2","happy-dom":"^20.0.10","@vitest/ui":"^4.0.10","@vitest/coverage-v8":"^4.0.10","@testing-library/dom":"^10.4.1","@open-wc/eslint-config":"^13.0.0","eslint-config-prettier":"^10.1.8","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/form-required-checkboxes_2.1.2_1764429048235_0.06015581538755321","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"@aarongustafson/form-required-checkboxes","version":"2.1.3","keywords":["html","custom element","web component","forms","form validation","checkboxes","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-checkboxes@2.1.3","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"dist":{"shasum":"975df42e3da85fc3dedc4fb24555d7cddf295361","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-checkboxes/-/form-required-checkboxes-2.1.3.tgz","fileCount":8,"integrity":"sha512-YTgWrRbEP++fQIzEx0oCkYiV0KRpj9HUbyb7TRQj496Ks9PkWHO6LKiPIU0OfbXKrXasCIKEx45kt5vfXjBEEA==","signatures":[{"sig":"MEQCIBYQ3hPNiy6j/6f50G03eVAQSW3UEaWy21tKSRDck4yHAiAWl3uNCRS15TolmMHU+JTrvCKHESw7FC4UWl2cJnwDuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-checkboxes@2.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24460},"main":"index.js","type":"module","module":"form-required-checkboxes.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./form-required-checkboxes.js":{"import":"./form-required-checkboxes.js"}},"gitHead":"c3cfcb732438e8a3df28a7df8a3434455e78e2d0","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","format":"npm run format:eslint && npm run format:prettier","test:ui":"vitest --ui","test:run":"vitest run","lint:eslint":"eslint .","format:eslint":"eslint . --fix","lint:prettier":"prettier \"**/*.js\" --check --ignore-path .gitignore","test:coverage":"vitest run --coverage","format:prettier":"prettier \"**/*.js\" --write --ignore-path .gitignore"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cf931b9-5b4c-49b1-876a-a8a0f6b3c5fd"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-checkboxes.git","type":"git"},"_npmVersion":"11.6.4","description":"Web component that enables requirement rules for checkbox groups.","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"customElements":"custom-elements.json","devDependencies":{"eslint":"^9.39.1","vitest":"^4.0.10","prettier":"^3.6.2","happy-dom":"^20.0.10","@vitest/ui":"^4.0.10","@vitest/coverage-v8":"^4.0.10","@testing-library/dom":"^10.4.1","@open-wc/eslint-config":"^13.0.0","eslint-config-prettier":"^10.1.8","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/form-required-checkboxes_2.1.3_1764517657481_0.4197675597490518","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@aarongustafson/form-required-checkboxes","version":"3.0.0","keywords":["html","custom element","web component","forms","form validation","checkboxes","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-checkboxes@3.0.0","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"dist":{"shasum":"e8f282bf41a2945481919a75af6775984a38f2f8","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-checkboxes/-/form-required-checkboxes-3.0.0.tgz","fileCount":8,"integrity":"sha512-Jhx0AKzOGwVKShRz9Wh1t64upmo4NyHZYLSMcYlbjsqlUp4AXKZEU/AQ1Lsu9OIRWjLSWiiuLtFCKdJKZgej6w==","signatures":[{"sig":"MEUCIDqLYbpChq77+rllMjv/cJJ1mYl47lXp2GqQxsLPQAqLAiEAkrouo9F+rYP5/apFQuZmP+jUK1z4/4ifzvod5nTLUag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-checkboxes@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24709},"main":"index.js","type":"module","module":"form-required-checkboxes.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./form-required-checkboxes.js":{"import":"./form-required-checkboxes.js"}},"gitHead":"1308617eab0790ed611b1581d8cdfe0cd0285d81","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","format":"npm run format:eslint && npm run format:prettier","test:ui":"vitest --ui","test:run":"vitest run","lint:eslint":"eslint .","format:eslint":"eslint . --fix","lint:prettier":"prettier \"**/*.js\" --check --ignore-path .gitignore","test:coverage":"vitest run --coverage","format:prettier":"prettier \"**/*.js\" --write --ignore-path .gitignore"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cf931b9-5b4c-49b1-876a-a8a0f6b3c5fd"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-checkboxes.git","type":"git"},"_npmVersion":"11.6.4","description":"Web component that enables requirement rules for checkbox groups.","directories":{},"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"customElements":"custom-elements.json","devDependencies":{"eslint":"^9.39.1","vitest":"^4.0.10","prettier":"^3.6.2","happy-dom":"^20.0.10","@vitest/ui":"^4.0.10","@vitest/coverage-v8":"^4.0.10","@testing-library/dom":"^10.4.1","@open-wc/eslint-config":"^13.0.0","eslint-config-prettier":"^10.1.8","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/form-required-checkboxes_3.0.0_1765169728903_0.9384469496511436","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@aarongustafson/form-required-checkboxes","version":"3.0.2","keywords":["html","custom element","web component","forms","form validation","checkboxes","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-checkboxes@3.0.2","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"dist":{"shasum":"75cf759ad1f083f5bb3db7a81c2f473f36d4fd69","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-checkboxes/-/form-required-checkboxes-3.0.2.tgz","fileCount":8,"integrity":"sha512-WK5cOL/xthYqWOK+JjyWcRE8Vot5lGVr3wMOOhNq+LP4il4xsXxDERo6/q0s3imJk2YcBmjhXlwVO7EQUJnrwA==","signatures":[{"sig":"MEUCIQD29hsqN3M+fL7x2UMYohHkAUXC34jim7ubl0Hx2iKNNAIgALqF2ibSsf+SstMIAs86PXMzCbdr2qNesdxpwc/Arow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-checkboxes@3.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24678},"main":"index.js","type":"module","module":"form-required-checkboxes.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./form-required-checkboxes.js":{"import":"./form-required-checkboxes.js"}},"gitHead":"f9da0f26de07e6d2eb1e41e248214e5ba8f95b57","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","format":"npm run format:eslint && npm run format:prettier","test:ui":"vitest --ui","version":"node scripts/update-demo-versions.js && git add demo/esm.html","test:run":"vitest run","lint:eslint":"eslint .","format:eslint":"eslint . --fix","lint:prettier":"prettier \"**/*.js\" --check --ignore-path .gitignore","test:coverage":"vitest run --coverage","format:prettier":"prettier \"**/*.js\" --write --ignore-path .gitignore"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cf931b9-5b4c-49b1-876a-a8a0f6b3c5fd"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-checkboxes.git","type":"git"},"_npmVersion":"11.6.4","description":"Web component that enables requirement rules for checkbox groups.","directories":{},"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"customElements":"custom-elements.json","devDependencies":{"eslint":"^9.39.1","vitest":"^4.0.10","prettier":"^3.6.2","happy-dom":"^20.0.10","@vitest/ui":"^4.0.10","@vitest/coverage-v8":"^4.0.10","@testing-library/dom":"^10.4.1","@open-wc/eslint-config":"^13.0.0","eslint-config-prettier":"^10.1.8","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/form-required-checkboxes_3.0.2_1765298306368_0.9642727983947099","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@aarongustafson/form-required-checkboxes","version":"3.1.0","keywords":["html","custom element","web component","forms","form validation","checkboxes","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-checkboxes@3.1.0","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"dist":{"shasum":"de5c3ef4cbf15de80fd15ae60523cddaed24a148","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-checkboxes/-/form-required-checkboxes-3.1.0.tgz","fileCount":8,"integrity":"sha512-NZ9dEcY4Wu1husYB2h/FwlJXo9X7kQVR4C7UlPyZQCojIUsTcwTyLtjmvsgSL5747Kv/4frN1SnWYaBJNHxjZw==","signatures":[{"sig":"MEUCIQDu1tM0Ozx5GLLlomyA/tdcZqRMZWcUETLlUG7IXZ/Q1wIgeABtcENr2yJx2F+9doDaVgUgH77irRVqlIQ1Gg/VIAI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-checkboxes@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24843},"main":"index.js","type":"module","module":"form-required-checkboxes.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./form-required-checkboxes.js":{"import":"./form-required-checkboxes.js"}},"gitHead":"06b43c475f3d736e11d11b6f45dbb8cb308f1f4c","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","format":"npm run format:eslint && npm run format:prettier","test:ui":"vitest --ui","version":"node scripts/update-demo-versions.js && git add demo/esm.html","test:run":"vitest run","lint:eslint":"eslint .","format:eslint":"eslint . --fix","lint:prettier":"prettier \"**/*.js\" --check --ignore-path .gitignore","test:coverage":"vitest run --coverage","format:prettier":"prettier \"**/*.js\" --write --ignore-path .gitignore"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cf931b9-5b4c-49b1-876a-a8a0f6b3c5fd"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-checkboxes.git","type":"git"},"_npmVersion":"11.6.4","description":"Web component that enables requirement rules for checkbox groups.","directories":{},"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"customElements":"custom-elements.json","devDependencies":{"eslint":"^9.39.1","vitest":"^4.0.10","prettier":"^3.6.2","happy-dom":"^20.0.10","@vitest/ui":"^4.0.10","@vitest/coverage-v8":"^4.0.10","@testing-library/dom":"^10.4.1","@open-wc/eslint-config":"^13.0.0","eslint-config-prettier":"^10.1.8","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/form-required-checkboxes_3.1.0_1765299547146_0.30590869088473616","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"@aarongustafson/form-required-checkboxes","version":"3.1.1","keywords":["html","custom element","web component","forms","form validation","checkboxes","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-checkboxes@3.1.1","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"dist":{"shasum":"f2f3dce92ee3797c7dfc779327db11f4c00c35c7","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-checkboxes/-/form-required-checkboxes-3.1.1.tgz","fileCount":8,"integrity":"sha512-zKTsPvgbLdFa+hnaQ9EjOUqqOzHDzPzJizJMIIU9seuL/Dxjcw2KrNUvfKmV7WWqm+PcmJr+qUu82YCDBIwB1w==","signatures":[{"sig":"MEUCIBUY8l7yZpgEnE+nst4jy201/YRtJzB69h2/Lyg54gjGAiEAiSUAZdMK2aelvuKjgT9R6fqdqjPfnDgJ69yEwCuX1R0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-checkboxes@3.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25260},"main":"index.js","type":"module","module":"form-required-checkboxes.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./form-required-checkboxes.js":{"import":"./form-required-checkboxes.js"}},"gitHead":"f4d650d5fe7c9c0417b5ba7ffbceac1443c39563","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","format":"npm run format:eslint && npm run format:prettier","test:ui":"vitest --ui","version":"node scripts/update-demo-versions.js && git add demo/esm.html","test:run":"vitest run","lint:eslint":"eslint .","format:eslint":"eslint . --fix","lint:prettier":"prettier \"**/*.js\" --check --ignore-path .gitignore","test:coverage":"vitest run --coverage","format:prettier":"prettier \"**/*.js\" --write --ignore-path .gitignore"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cf931b9-5b4c-49b1-876a-a8a0f6b3c5fd"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-checkboxes.git","type":"git"},"_npmVersion":"11.7.0","description":"Web component that enables requirement rules for checkbox groups.","directories":{},"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"customElements":"custom-elements.json","devDependencies":{"eslint":"^9.39.1","vitest":"^4.0.10","prettier":"^3.6.2","happy-dom":"^20.0.10","@vitest/ui":"^4.0.10","@vitest/coverage-v8":"^4.0.10","@testing-library/dom":"^10.4.1","@open-wc/eslint-config":"^13.0.0","eslint-config-prettier":"^10.1.8","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/form-required-checkboxes_3.1.1_1765334587769_0.8445423187569028","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@aarongustafson/form-required-checkboxes","version":"3.2.0","keywords":["html","custom element","web component","forms","form validation","checkboxes","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-checkboxes@3.2.0","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"dist":{"shasum":"b7c1fa6459c0f2157d502ebc574a5451eae76983","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-checkboxes/-/form-required-checkboxes-3.2.0.tgz","fileCount":8,"integrity":"sha512-WT6X60+bP7ixWll087vw5R8tto6MdiicghdtcqUWeM1QNsuV4v+uwFzdEvb++jw7+TTvbQhr/LzGkQH/CdGc+g==","signatures":[{"sig":"MEUCIQCJmlNbfe8HO8j9o9K29nozCj+ZoHlXBFEjzsufIEpYywIgM1pSZNXov3wJLMumMQy5mEQSs5DpEcR+xqCjeBozKO0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-checkboxes@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29111},"main":"index.js","type":"module","module":"form-required-checkboxes.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./form-required-checkboxes.js":{"types":"./form-required-checkboxes.d.ts","import":"./form-required-checkboxes.js"}},"gitHead":"791bf96b53f30cc87f3cccf25274d3c93355ded5","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","format":"npm run format:eslint && npm run format:prettier","test:ui":"vitest --ui","version":"node scripts/update-demo-versions.js && git add demo/esm.html","test:run":"vitest run","lint:eslint":"eslint .","postversion":"git push --follow-tags","format:eslint":"eslint . --fix","lint:prettier":"prettier \"**/*.js\" --check --ignore-path .gitignore","test:coverage":"vitest run --coverage","format:prettier":"prettier \"**/*.js\" --write --ignore-path .gitignore"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cf931b9-5b4c-49b1-876a-a8a0f6b3c5fd"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-checkboxes.git","type":"git"},"_npmVersion":"11.7.0","description":"Web component that enables requirement rules for checkbox groups.","directories":{},"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"customElements":"custom-elements.json","devDependencies":{"eslint":"^9.39.1","vitest":"^4.0.10","prettier":"^3.6.2","happy-dom":"^20.0.10","@vitest/ui":"^4.0.10","@vitest/coverage-v8":"^4.0.10","@testing-library/dom":"^10.4.1","@open-wc/eslint-config":"^13.0.0","eslint-config-prettier":"^10.1.8","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/form-required-checkboxes_3.2.0_1765647728362_0.7651657241018845","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"@aarongustafson/form-required-checkboxes","version":"3.2.1","keywords":["html","custom element","web component","forms","form validation","checkboxes","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-checkboxes@3.2.1","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"dist":{"shasum":"89c96d28f48d9335a2af0f49efa1403866ca2ad4","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-checkboxes/-/form-required-checkboxes-3.2.1.tgz","fileCount":9,"integrity":"sha512-NXfvh6Wm6i4hy2ax40jM66ij5KRE4R+rcyy6VaPj3vRfAlMKTyukPKyirkXe/dUbCzLbgf//uR6GmnRc2/K/dA==","signatures":[{"sig":"MEQCIArGciysVfE/SjUZGa22CvcObgc9+PiVdF3GEqWhAdtfAiBt6DmPlW8jk2Y3wXsyCMH8twFDelW+MVZ7kDln0M+Udw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-checkboxes@3.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29763},"main":"index.js","type":"module","module":"form-required-checkboxes.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./form-required-checkboxes.js":{"types":"./form-required-checkboxes.d.ts","import":"./form-required-checkboxes.js"}},"gitHead":"16e6850a8b9ac73fed9d564a4fa66a50c6c8f41b","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","format":"npm run format:eslint && npm run format:prettier","test:ui":"vitest --ui","version":"node scripts/update-demo-versions.js && git add demo/esm.html","test:run":"vitest run","lint:eslint":"eslint .","postversion":"git push --follow-tags","format:eslint":"eslint . --fix","lint:prettier":"prettier \"**/*.js\" --check --ignore-path .gitignore","test:coverage":"vitest run --coverage","format:prettier":"prettier \"**/*.js\" --write --ignore-path .gitignore"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cf931b9-5b4c-49b1-876a-a8a0f6b3c5fd"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-checkboxes.git","type":"git"},"_npmVersion":"11.7.0","description":"Web component that enables requirement rules for checkbox groups.","directories":{},"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"customElements":"custom-elements.json","devDependencies":{"eslint":"^9.39.1","vitest":"^4.0.10","prettier":"^3.6.2","happy-dom":"^20.0.10","@vitest/ui":"^4.0.10","@vitest/coverage-v8":"^4.0.10","@testing-library/dom":"^10.4.1","@open-wc/eslint-config":"^13.0.0","eslint-config-prettier":"^10.1.8","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/form-required-checkboxes_3.2.1_1765664250250_0.2701232032396519","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"@aarongustafson/form-required-checkboxes","version":"3.2.2","keywords":["html","custom element","web component","forms","form validation","checkboxes","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-checkboxes@3.2.2","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"dist":{"shasum":"953af41935ea01f0a0b87dc308c5434bc745bdb6","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-checkboxes/-/form-required-checkboxes-3.2.2.tgz","fileCount":9,"integrity":"sha512-k1mmqr6AGm787lvC9+XoxqNM28ysynMxbxT/9qgmUv3Mo3+76F/w+qfTVzihe4oPrOODWlrYbmQbq1qX6frRtQ==","signatures":[{"sig":"MEQCIA/NGJIa0VTIAseKylKka4dvmdr5DRd3Jp3dN3d6LuArAiAvqzNAcLklJxzbfIecSMpZWeNLv6asvIYpSVdX5IyZnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-checkboxes@3.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29736},"main":"index.js","type":"module","module":"form-required-checkboxes.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./form-required-checkboxes.js":{"types":"./form-required-checkboxes.d.ts","import":"./form-required-checkboxes.js"}},"gitHead":"66ead039b36af1afc78f4c0280b8b2e243016631","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","format":"npm run format:eslint && npm run format:prettier","test:ui":"vitest --ui","version":"node scripts/update-demo-versions.js && git add demo/esm.html","test:run":"vitest run","lint:eslint":"eslint .","postversion":"git push --follow-tags","format:eslint":"eslint . --fix","lint:prettier":"prettier \"**/*.js\" --check --ignore-path .gitignore","test:coverage":"vitest run --coverage","format:prettier":"prettier \"**/*.js\" --write --ignore-path .gitignore"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cf931b9-5b4c-49b1-876a-a8a0f6b3c5fd"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-checkboxes.git","type":"git"},"_npmVersion":"11.7.0","description":"Web component that enables requirement rules for checkbox groups.","directories":{},"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"customElements":"custom-elements.json","devDependencies":{"eslint":"^9.39.1","vitest":"^4.0.10","prettier":"^3.6.2","happy-dom":"^20.0.10","@vitest/ui":"^4.0.10","@vitest/coverage-v8":"^4.0.10","@testing-library/dom":"^10.4.1","@open-wc/eslint-config":"^13.0.0","eslint-config-prettier":"^10.1.8","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/form-required-checkboxes_3.2.2_1765664574014_0.8115371707419956","host":"s3://npm-registry-packages-npm-production"}},"3.2.3":{"name":"@aarongustafson/form-required-checkboxes","version":"3.2.3","keywords":["html","custom element","web component","forms","form validation","checkboxes","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-checkboxes@3.2.3","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"dist":{"shasum":"3cc9c5a3f3ec0c75bc49649c050cced35d1d8849","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-checkboxes/-/form-required-checkboxes-3.2.3.tgz","fileCount":9,"integrity":"sha512-TD/A8ShLUp96W5t6dAQZOl1hpaAcD/+tOh5w4BadQ/NRoGe6Zet52W6vNH+gJm9abOUtYmdKfF5A5ssl+2a5cA==","signatures":[{"sig":"MEUCICx9jfbz9drvdBEpwCpSaxyqFqKBFgpxJ6sq7WxOcdI/AiEAnXaeFRaSDoXKit0uR0vifn4xnosH30gu4XOmskiP2NY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-checkboxes@3.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29779},"main":"index.js","type":"module","types":"form-required-checkboxes.d.ts","module":"form-required-checkboxes.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./form-required-checkboxes.js":{"types":"./form-required-checkboxes.d.ts","import":"./form-required-checkboxes.js"}},"gitHead":"507655ab8be3cf17d26424b25435f3e83190dfd6","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","format":"npm run format:eslint && npm run format:prettier","test:ui":"vitest --ui","version":"node scripts/update-demo-versions.js && git add demo/esm.html","test:run":"vitest run","lint:eslint":"eslint .","postversion":"git push --follow-tags","format:eslint":"eslint . --fix","lint:prettier":"prettier \"**/*.js\" --check --ignore-path .gitignore","test:coverage":"vitest run --coverage","format:prettier":"prettier \"**/*.js\" --write --ignore-path .gitignore"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cf931b9-5b4c-49b1-876a-a8a0f6b3c5fd"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-checkboxes.git","type":"git"},"_npmVersion":"11.7.0","description":"Web component that enables requirement rules for checkbox groups.","directories":{},"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"customElements":"custom-elements.json","devDependencies":{"eslint":"^9.39.1","vitest":"^4.0.10","prettier":"^3.6.2","happy-dom":"^20.0.10","@vitest/ui":"^4.0.10","@vitest/coverage-v8":"^4.0.10","@testing-library/dom":"^10.4.1","@open-wc/eslint-config":"^13.0.0","eslint-config-prettier":"^10.1.8","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/form-required-checkboxes_3.2.3_1765773937270_0.09980717641005121","host":"s3://npm-registry-packages-npm-production"}},"3.2.4":{"name":"@aarongustafson/form-required-checkboxes","version":"3.2.4","description":"Web component that enables requirement rules for checkbox groups.","keywords":["html","custom element","web component","forms","form validation","checkboxes","accessibility","a11y"],"author":{"name":"Aaron Gustafson","email":"aaron@easy-designs.net","url":"https://www.aaron-gustafson.com/"},"license":"MIT","homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","repository":{"type":"git","url":"git+https://github.com/aarongustafson/form-required-checkboxes.git"},"bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"type":"module","main":"index.js","module":"form-required-checkboxes.js","customElements":"custom-elements.json","types":"form-required-checkboxes.d.ts","exports":{".":{"import":"./index.js"},"./form-required-checkboxes.js":{"import":"./form-required-checkboxes.js","types":"./form-required-checkboxes.d.ts"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json"},"engines":{"node":">=20.0.0"},"scripts":{"test":"vitest","test:ui":"vitest --ui","test:run":"vitest run","test:coverage":"vitest run --coverage","lint":"npm run lint:eslint && npm run lint:prettier","format":"npm run format:eslint && npm run format:prettier","lint:eslint":"eslint .","format:eslint":"eslint . --fix","lint:prettier":"prettier \"**/*.js\" --check --ignore-path .gitignore","format:prettier":"prettier \"**/*.js\" --write --ignore-path .gitignore","version":"node scripts/update-demo-versions.js && git add demo/esm.html","postversion":"git push --follow-tags"},"devDependencies":{"@open-wc/eslint-config":"^13.0.0","@testing-library/dom":"^10.4.1","@testing-library/user-event":"^14.6.1","@vitest/coverage-v8":"^4.0.10","@vitest/ui":"^4.0.10","eslint":"^9.39.1","eslint-config-prettier":"^10.1.8","happy-dom":"^20.0.10","prettier":"^3.6.2","vitest":"^4.0.10"},"publishConfig":{"access":"public"},"gitHead":"cfc4de210ff35f28c25a904d75261f42f0eee69c","_id":"@aarongustafson/form-required-checkboxes@3.2.4","_nodeVersion":"20.19.6","_npmVersion":"11.7.0","dist":{"integrity":"sha512-DyvrQq/aaOpNY8rvrblfUv9pYgTykrAUYQ7dE2agGQW63LiRs4t5+TW3F3Rh1cLsC9G6uaqsEnNi/SvASJAMXQ==","shasum":"a17276c5caf649c451b7e96fd3b0da9f6411e955","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-checkboxes/-/form-required-checkboxes-3.2.4.tgz","fileCount":9,"unpackedSize":29779,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-checkboxes@3.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGXDiujP4aTSRFVeHKBp18cEUONKURHjVPokSIANLvKKAiEAxThgIjze9CnmdyZMEvNaUH38q50UuONDdv4F+XzQmIY="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cf931b9-5b4c-49b1-876a-a8a0f6b3c5fd"}},"directories":{},"maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/form-required-checkboxes_3.2.4_1765861873457_0.8878600602862392"},"_hasShrinkwrap":false}},"time":{"created":"2024-07-18T23:58:35.542Z","modified":"2025-12-16T05:11:13.961Z","1.0.0":"2024-07-18T23:58:35.845Z","2.0.0":"2025-11-20T01:11:03.547Z","2.1.0":"2025-11-22T01:26:24.230Z","2.1.1":"2025-11-29T15:08:25.470Z","2.1.2":"2025-11-29T15:10:48.419Z","2.1.3":"2025-11-30T15:47:37.684Z","3.0.0":"2025-12-08T04:55:29.033Z","3.0.2":"2025-12-09T16:38:26.518Z","3.1.0":"2025-12-09T16:59:07.306Z","3.1.1":"2025-12-10T02:43:07.949Z","3.2.0":"2025-12-13T17:42:08.511Z","3.2.1":"2025-12-13T22:17:30.485Z","3.2.2":"2025-12-13T22:22:54.159Z","3.2.3":"2025-12-15T04:45:37.418Z","3.2.4":"2025-12-16T05:11:13.603Z"},"bugs":{"url":"https://github.com/aarongustafson/form-required-checkboxes/issues"},"author":{"name":"Aaron Gustafson","email":"aaron@easy-designs.net","url":"https://www.aaron-gustafson.com/"},"license":"MIT","homepage":"https://github.com/aarongustafson/form-required-checkboxes#readme","keywords":["html","custom element","web component","forms","form validation","checkboxes","accessibility","a11y"],"repository":{"type":"git","url":"git+https://github.com/aarongustafson/form-required-checkboxes.git"},"description":"Web component that enables requirement rules for checkbox groups.","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"readme":"# Required Checkboxes Web Component\n\n[![npm version](https://img.shields.io/npm/v/@aarongustafson/form-required-checkboxes.svg)](https://www.npmjs.com/package/@aarongustafson/form-required-checkboxes) [![Build Status](https://img.shields.io/github/actions/workflow/status/aarongustafson/form-required-checkboxes/ci.yml?branch=main)](https://github.com/aarongustafson/form-required-checkboxes/actions)\n\nCurrently, we can only make checkboxes required or not, individually. In some cases you need to be able to set a specific number of checkboxes that need to be checked. The `form-required-checkboxes` web component enables that.\n\n## TypeScript & Framework Support\n\nThis component ships with full TypeScript definitions (`.d.ts`), enabling type-safe usage in TypeScript projects and improved autocompletion in editors. Types are exported in the package and automatically picked up by modern build tools.\n\n### Property Reflection & Framework Compatibility\n\nAll key properties (`required`, `notice`, `error`, `lang`) are now fully reflected as attributes, ensuring compatibility with frameworks and declarative usage. The component also implements an internal `_upgradeProperty` method for seamless property/attribute sync when used with frameworks that set properties before element definition.\n\n## Demos\n\n* [Demo](https://aarongustafson.github.io/form-required-checkboxes/demo/) ([Source](./demo/index.html))\n* [Unpkg.com Demo](https://aarongustafson.github.io/form-required-checkboxes/demo/unpkg.html) ([Source](./demo/unpkg.html))\n* [ESM.sh Demo](https://aarongustafson.github.io/form-required-checkboxes/demo/esm.html) ([Source](./demo/esm.html))\n\n## Installation\n\n```bash\nnpm install @aarongustafson/form-required-checkboxes\n```\n\n## Usage\n\n### Option 1: Import the class and define manually\n\nImport the class and define the custom element with your preferred tag name:\n\n```javascript\nimport { FormRequiredCheckboxesElement } from '@aarongustafson/form-required-checkboxes';\n\n// Define with default name\ncustomElements.define('form-required-checkboxes', FormRequiredCheckboxesElement);\n\n// Or define with a custom name\ncustomElements.define('my-checkbox-group', FormRequiredCheckboxesElement);\n```\n\n### Option 2: Auto-define the custom element (browser environments only)\n\nUse the guarded definition helper to register the element when `customElements` is available:\n\n```javascript\nimport '@aarongustafson/form-required-checkboxes/define.js';\n```\n\nIf you prefer to control when the element is registered, call the helper directly:\n\n```javascript\nimport { defineFormRequiredCheckboxes } from '@aarongustafson/form-required-checkboxes/define.js';\n\ndefineFormRequiredCheckboxes();\n```\n\nYou can also include the guarded script from HTML:\n\n```html\n<script src=\"./node_modules/@aarongustafson/form-required-checkboxes/define.js\" type=\"module\"></script>\n```\n\n### CDN Usage\n\nYou can also use the component directly from a CDN:\n\n```html\n<script src=\"https://unpkg.com/@aarongustafson/form-required-checkboxes@latest/define.js\" type=\"module\"></script>\n```\n\n## API\n\n### Attributes\n\n<ul>\n  <li><code>required</code> - Represents the range of required values.\n  <ul>\n    <li>Single number (e.g., 3) requires exactly that number of choices.</li>\n    <li>Range (e.g., 3-5) requires a minimum of the first number and a max of the second number be chosen.</li>\n    <li>Max (e.g., 0-3) requires a minimum of zero and a max of the second number to be chosen.</li>\n    </ul>\n  </li>\n  <li><code>notice</code> (optional) - The description that explains details of the required value in plain language. If you don't supply one, the component will create one for you based on the current language. This description will be added as a <code>small</code> element within the component (as a sibling to the fieldset)</li>\n  <li><code>error</code> (optional) - The validation error you'd like to show when the validation criteria is not met. If not provided, an appropriate error message will be generated based on the current language.</li>\n  <li><code>lang</code> (optional) - Language code for localized messages (e.g., \"en\", \"es\", \"fr\", \"de\"). Falls back to the nearest ancestor's <code>lang</code> attribute or the document language.</li>\n</ul>\n\n### Static Methods\n\n<ul>\n  <li><code>FormRequiredCheckboxesElement.registerTranslations(translations)</code> - Register custom translations or override existing ones. See the Localization section below for details.</li>\n</ul>\n\n## Localization\n\nThe component includes built-in translations for 16 languages. Messages are automatically generated based on the `lang` attribute.\n\n**Supported languages:**\n- **en** - English\n- **zh** - Chinese (Mandarin)\n- **hi** - Hindi\n- **es** - Spanish\n- **fr** - French\n- **ar** - Arabic\n- **bn** - Bengali\n- **pt** - Portuguese\n- **ru** - Russian\n- **ja** - Japanese\n- **de** - German\n- **pa** - Punjabi\n- **jv** - Javanese\n- **ko** - Korean\n- **vi** - Vietnamese\n- **it** - Italian\n\nRegional language codes (e.g., `en-US`, `es-MX`) automatically fall back to their base language.\n\n### Using Built-in Languages\n\n```html\n<form-required-checkboxes required=\"3\" lang=\"es\">\n  <fieldset>\n    <legend>Opciones</legend>\n    <!-- Will display: \"Elija 3 de la lista\" -->\n  </fieldset>\n</form-required-checkboxes>\n```\n\nThe component will automatically detect the language from:\n1. The `lang` attribute on the element itself\n2. The `lang` attribute on the nearest ancestor element\n3. The document's `lang` attribute\n4. Falls back to English if none found\n\n### Registering Custom Translations\n\nYou can register custom translations or override existing ones:\n\n```javascript\nimport { FormRequiredCheckboxesElement } from '@aarongustafson/form-required-checkboxes/form-required-checkboxes.js';\n\nFormRequiredCheckboxesElement.registerTranslations({\n  pt: {\n    exact: \"Escolha {n} da lista\",\n    max: \"Escolha até {n} da lista\",\n    range: \"Escolha entre {min} e {max} da lista\",\n    error_exact: \"Você deve escolher exatamente {n} opções\",\n    error_range: \"Você deve escolher entre {min} e {max} opções\"\n  }\n});\n```\n\n### Overriding Specific Messages\n\nYou can override just specific messages for a language:\n\n```javascript\nFormRequiredCheckboxesElement.registerTranslations({\n  en: {\n    exact: \"Pick exactly {n} items\"\n    // Other messages will use defaults\n  }\n});\n```\n\n### Per-Instance Overrides\n\nYou can still override messages on individual instances using attributes:\n\n```html\n<form-required-checkboxes \n  required=\"3\" \n  notice=\"Select exactly 3 items please\"\n  error=\"You must select 3 items\">\n  <!-- ... -->\n</form-required-checkboxes>\n```\n\n## Markup Assumptions\n\nThis web component assumes you will be marking up your checkbox group in a `fieldset` with a `legend` and that all of the checkboxes share a `name` (e.g., \"foo[]\").\n\n## Examples\n\n### Basic Usage - Exact Number Required\n\n```html\n<form>\n  <form-required-checkboxes required=\"3\">\n    <fieldset>\n      <legend>Choose your top 3 preferences</legend>\n      <label><input type=\"checkbox\" name=\"preferences[]\" value=\"1\"> Option 1</label>\n      <label><input type=\"checkbox\" name=\"preferences[]\" value=\"2\"> Option 2</label>\n      <label><input type=\"checkbox\" name=\"preferences[]\" value=\"3\"> Option 3</label>\n      <label><input type=\"checkbox\" name=\"preferences[]\" value=\"4\"> Option 4</label>\n      <label><input type=\"checkbox\" name=\"preferences[]\" value=\"5\"> Option 5</label>\n    </fieldset>\n  </form-required-checkboxes>\n  \n  <button type=\"submit\">Submit</button>\n</form>\n```\n\n### Range of Required Checkboxes\n\n```html\n<form-required-checkboxes required=\"2-4\">\n  <fieldset>\n    <legend>Choose 2-4 items</legend>\n    <label><input type=\"checkbox\" name=\"items[]\" value=\"a\"> Item A</label>\n    <label><input type=\"checkbox\" name=\"items[]\" value=\"b\"> Item B</label>\n    <label><input type=\"checkbox\" name=\"items[]\" value=\"c\"> Item C</label>\n    <label><input type=\"checkbox\" name=\"items[]\" value=\"d\"> Item D</label>\n    <label><input type=\"checkbox\" name=\"items[]\" value=\"e\"> Item E</label>\n  </fieldset>\n</form-required-checkboxes>\n```\n\n### Optional Maximum (0-N)\n\n```html\n<form-required-checkboxes required=\"0-3\">\n  <fieldset>\n    <legend>Choose up to 3 options (optional)</legend>\n    <label><input type=\"checkbox\" name=\"options[]\" value=\"x\"> Option X</label>\n    <label><input type=\"checkbox\" name=\"options[]\" value=\"y\"> Option Y</label>\n    <label><input type=\"checkbox\" name=\"options[]\" value=\"z\"> Option Z</label>\n  </fieldset>\n</form-required-checkboxes>\n```\n\n### Custom Notice and Error Messages\n\n```html\n<form-required-checkboxes \n  required=\"3\" \n  notice=\"You must select exactly 3 skills\" \n  error=\"Please select exactly 3 skills to continue\">\n  <fieldset>\n    <legend>Select your top 3 skills</legend>\n    <label><input type=\"checkbox\" name=\"skills[]\" value=\"js\"> JavaScript</label>\n    <label><input type=\"checkbox\" name=\"skills[]\" value=\"py\"> Python</label>\n    <label><input type=\"checkbox\" name=\"skills[]\" value=\"java\"> Java</label>\n    <label><input type=\"checkbox\" name=\"skills[]\" value=\"go\"> Go</label>\n    <label><input type=\"checkbox\" name=\"skills[]\" value=\"rust\"> Rust</label>\n  </fieldset>\n</form-required-checkboxes>\n```\n\n## Browser Support\n\nThis web component works in all modern browsers that support:\n- Custom Elements v1\n- ES Modules (for module usage)\n\nFor older browsers, you may need polyfills for Custom Elements.\n\n## Development\n\n### Testing\n\n```bash\n# Run tests\nnpm test\n\n# Run tests once\nnpm run test:run\n\n# Run tests with UI\nnpm run test:ui\n\n# Run tests with coverage\nnpm run test:coverage\n```\n\n### Linting and Formatting\n\n```bash\n# Lint code\nnpm run lint\n\n# Format code\nnpm run format\n```\n\n---\n\n## Changelog\n\n### 3.1.0 (Unreleased)\n\n- **TypeScript definitions**: Added `.d.ts` file and package export for full TypeScript support.\n- **Property reflection**: All key properties (`required`, `notice`, `error`, `lang`) now reflect as attributes for framework compatibility.\n- **_upgradeProperty**: Ensures property/attribute sync for frameworks that set properties before element definition.\n- **Performance/memory**: Uses `requestAnimationFrame` for initialization, optimizes DOM queries, and ensures all event listeners are cleaned up in `disconnectedCallback`.\n- **Test coverage**: Expanded and improved tests for property reflection, upgrade, and event cleanup.\n","readmeFilename":"README.md"}