{"_id":"@aarongustafson/form-required-if","_rev":"10-cd47b811de3816e4c5114043dac49d2c","name":"@aarongustafson/form-required-if","dist-tags":{"latest":"3.1.2"},"versions":{"2.0.0":{"name":"@aarongustafson/form-required-if","version":"2.0.0","keywords":["html","custom element","web component","forms","form validation","conditional required","required fields","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-if@2.0.0","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-if#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-if/issues"},"dist":{"shasum":"f98c7d8b605991aff41ef16c158d76bf016dc713","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-if/-/form-required-if-2.0.0.tgz","fileCount":7,"integrity":"sha512-M+328208DDEbP1OIJ0pJ/lmcw4lweL9WsPoqz6InXTHNDg3p0Ifj+DUiegCL3DgNbcqAHgw+liEIIhFqkRD1cQ==","signatures":[{"sig":"MEUCIQDt7xu1Pnkm6vKR5y2jJ/Ee5d59lLtGA5+CMY7ouAVU0wIgGGpcm3xfiKyVA/doTabJKKX+bk325MI9ByQfOqFBo+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15628},"main":"index.js","type":"module","module":"form-required-if.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./form-required-if.js":{"import":"./form-required-if.js"},"./custom-elements.json":"./custom-elements.json"},"gitHead":"0e3092cb9ab3722cbd46e365c671cd8b37c2bd1c","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-if.git","type":"git"},"_npmVersion":"10.8.2","description":"Web component that enables fields to be required based on the value(s) of other fields.","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-if_2.0.0_1763594223848_0.487469497529734","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@aarongustafson/form-required-if","version":"2.0.1","keywords":["html","custom element","web component","forms","form validation","conditional required","required fields","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-if@2.0.1","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-if#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-if/issues"},"dist":{"shasum":"ba71205d3ad3140cb74707f722ca464c54e5d226","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-if/-/form-required-if-2.0.1.tgz","fileCount":7,"integrity":"sha512-xEI9wel4rijRGV1DZR0Z8GY3PQEgSgaWy9s/fDvmDxohj1McTpZHcqInUCYIIUu9RxsEuR/VtPByEkaZQn1xvA==","signatures":[{"sig":"MEUCIQC+WRm6N8SECRaE/oCIqaJWMO3KuA9JMjOH17nKEZt/fwIgIhZXDCvr0pr4Les5glM5abumwmdy5OaK2hB9e2iiIc4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15630},"main":"index.js","type":"module","module":"form-required-if.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./form-required-if.js":{"import":"./form-required-if.js"},"./custom-elements.json":"./custom-elements.json"},"gitHead":"b6f627db5680b00861565021203647d63ccdca1a","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-if.git","type":"git"},"_npmVersion":"10.8.2","description":"Web component that enables fields to be required based on the value(s) of other fields.","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-if_2.0.1_1764132321380_0.29303313487851734","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@aarongustafson/form-required-if","version":"2.0.2","keywords":["html","custom element","web component","forms","form validation","conditional required","required fields","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-if@2.0.2","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-if#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-if/issues"},"dist":{"shasum":"374dd3a4e4871cce4b7f774a1b3445e05ebca115","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-if/-/form-required-if-2.0.2.tgz","fileCount":7,"integrity":"sha512-9FtbRX8KPNfhTT6pqiRG/W9LRM2PS6lsDVUAYrQXUSNZBBV4Xyljx3QWKHSSHwV43PdeTJIyDdEc9EIOgZm9cw==","signatures":[{"sig":"MEUCICo8aMeCgE5gVYOgQauE5dg0yq0xc4Vb4QcotohCNQe2AiEAtDzRvtUyyxfB1IRppylHVW/StRswKc0JKi5X6ZbE8Oo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15983},"main":"index.js","type":"module","module":"form-required-if.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./form-required-if.js":{"import":"./form-required-if.js"},"./custom-elements.json":"./custom-elements.json"},"gitHead":"5c39a31a85e9a72fcd666c6eb0a966dbb410fde4","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-if.git","type":"git"},"_npmVersion":"10.8.2","description":"Web component that enables fields to be required based on the value(s) of other fields.","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-if_2.0.2_1764136320057_0.9130969798592703","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@aarongustafson/form-required-if","version":"2.0.4","keywords":["html","custom element","web component","forms","form validation","conditional required","required fields","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-if@2.0.4","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-if#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-if/issues"},"dist":{"shasum":"343509392249a87de7481307ad391d9fa97373b3","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-if/-/form-required-if-2.0.4.tgz","fileCount":7,"integrity":"sha512-Cf/p6AP++/Q6ik+0tM8w11PBIZgWsRlpiSHDqHLY2hvDSSyYe23O48Bfbg0JjqDw1q4U2SB7wf4Lgiwx/ByQ4Q==","signatures":[{"sig":"MEYCIQD16ew0o+Wa54d2ML/LdU0hgt5ciqlt9Czl/ImZtbE7VAIhALo5EobP9aW/CvMcZbYGW0nuybg2ralOPv2KPrzxuT1k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-if@2.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15983},"main":"index.js","type":"module","module":"form-required-if.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./form-required-if.js":{"import":"./form-required-if.js"},"./custom-elements.json":"./custom-elements.json"},"gitHead":"69b8da35eee94699fbaaac18c2105aeeaeecd831","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:691f4562-2bf7-4645-849e-c0b073ea7f2d"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-if.git","type":"git"},"_npmVersion":"11.6.4","description":"Web component that enables fields to be required based on the value(s) of other fields.","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-if_2.0.4_1764439375009_0.24162051050451905","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@aarongustafson/form-required-if","version":"2.0.5","keywords":["html","custom element","web component","forms","form validation","conditional required","required fields","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-if@2.0.5","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-if#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-if/issues"},"dist":{"shasum":"979f18af6a4ec01309adee9ddb938aff6f8c477e","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-if/-/form-required-if-2.0.5.tgz","fileCount":7,"integrity":"sha512-i+Evt+bE8r5J343k/t9jX3JYoGmNv95MbD/gV31wWk8m4z+TxiDxITXlcDEAgPCAzFOzvAxzpD1Urr3VvOrxUQ==","signatures":[{"sig":"MEUCIQC2PdiSHC5U7DgP3Dbt4ICOSzkttZlUco1EzRXxs7QYugIgPt02yAUcP4Q1eDR8T5sKnqb2VLIBNkW0BxoR0UKKL5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-if@2.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":17980},"main":"index.js","type":"module","module":"form-required-if.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./form-required-if.js":{"import":"./form-required-if.js"},"./custom-elements.json":"./custom-elements.json"},"gitHead":"213e9c92e310115a8f1882653ebbc1575b0770b3","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:691f4562-2bf7-4645-849e-c0b073ea7f2d"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-if.git","type":"git"},"_npmVersion":"11.6.4","description":"Web component that enables fields to be required based on the value(s) of other fields.","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-if_2.0.5_1764518348183_0.9718750541061321","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@aarongustafson/form-required-if","version":"3.0.0","keywords":["html","custom element","web component","forms","form validation","conditional required","required fields","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-if@3.0.0","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-if#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-if/issues"},"dist":{"shasum":"cf35b5d953cdd2e99edd69509f46f72dab7c0b41","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-if/-/form-required-if-3.0.0.tgz","fileCount":7,"integrity":"sha512-AYVVSJ1aYG2vHTGMnNb13WeL8xhFHCyIwgmrn6j0r2F/XhJijNow0wpnki7TiGCR5JCFtCgO2ZN4Ohg9omZO1g==","signatures":[{"sig":"MEQCIA3CEymNVORlWD5P/QCPnl4lWViHM3BLSgSDpABG3Z7IAiAJBRzbxgXvB+LF4uuxCv5E/AydoZ5A6ea4/JhgAn516w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-if@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18225},"main":"index.js","type":"module","module":"form-required-if.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./form-required-if.js":{"import":"./form-required-if.js"},"./custom-elements.json":"./custom-elements.json"},"gitHead":"754e2622830fa349d26ed91cd0765c2efb1be7eb","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:691f4562-2bf7-4645-849e-c0b073ea7f2d"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-if.git","type":"git"},"_npmVersion":"11.6.4","description":"Web component that enables fields to be required based on the value(s) of other fields.","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-if_3.0.0_1765169869181_0.7545173422780764","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@aarongustafson/form-required-if","version":"3.0.1","keywords":["html","custom element","web component","forms","form validation","conditional required","required fields","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-if@3.0.1","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-if#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-if/issues"},"dist":{"shasum":"2c9c44cfeea749eafcae50ac81c78c3dfdc1b467","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-if/-/form-required-if-3.0.1.tgz","fileCount":7,"integrity":"sha512-SvPEmJ3Fe7T5UgC0afnS75e9k0FdzuDRAu0MGgZKkLh4slon4eYuO7DXSBYyOo/8ppW8NHCuZieBDHxHxEoE/A==","signatures":[{"sig":"MEQCIDWF9B8OQqb2QTfpstvg/tsAySz2Dg7Nm518l6o0qOvhAiB/0IErLhcOTiiRPRXmRokLgS95J0oRM6PxnCTVSopV2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-if@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18710},"main":"index.js","type":"module","module":"form-required-if.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./form-required-if.js":{"import":"./form-required-if.js"},"./custom-elements.json":"./custom-elements.json"},"gitHead":"df318748b879b9a406761027afa4b528840ace9c","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:691f4562-2bf7-4645-849e-c0b073ea7f2d"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-if.git","type":"git"},"_npmVersion":"11.6.4","description":"Web component that enables fields to be required based on the value(s) of other fields.","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-if_3.0.1_1765305282200_0.7204895574269901","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@aarongustafson/form-required-if","version":"3.1.0","keywords":["html","custom element","web component","forms","form validation","conditional required","required fields","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-if@3.1.0","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-if#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-if/issues"},"dist":{"shasum":"801311f96a139704412abbeabc448617413c6fac","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-if/-/form-required-if-3.1.0.tgz","fileCount":8,"integrity":"sha512-cczYhYINjDeeDubf0C+GKDPfho4Nfj/1wpdXA5w8S16nw14QBlYxHv6cWJnI/VsKhSCzWjoRdbf7bsHGJMJNHA==","signatures":[{"sig":"MEUCIQDWlQGdnwaNN2cIAYKUQzwj2ynfFDF49eTmWLcrnw7qJAIgcYIBEUWJ6uKuFvUjYLyCgtaQi0+mJuA3EUtWom41kdw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-if@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22675},"main":"index.js","type":"module","types":"./form-required-if.d.ts","module":"form-required-if.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./form-required-if.js":{"types":"./form-required-if.d.ts","import":"./form-required-if.js"},"./custom-elements.json":"./custom-elements.json"},"gitHead":"c1e6b373467a342db15373668aa1983756e8fd1d","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:691f4562-2bf7-4645-849e-c0b073ea7f2d"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-if.git","type":"git"},"_npmVersion":"11.7.0","description":"Web component that enables fields to be required based on the value(s) of other fields.","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-if_3.1.0_1765665607695_0.7183632264402364","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"@aarongustafson/form-required-if","version":"3.1.1","keywords":["html","custom element","web component","forms","form validation","conditional required","required fields","accessibility","a11y"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/form-required-if@3.1.1","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/form-required-if#readme","bugs":{"url":"https://github.com/aarongustafson/form-required-if/issues"},"dist":{"shasum":"19c710cde1e67ad33e683fa2acbddb3046df3e3b","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-if/-/form-required-if-3.1.1.tgz","fileCount":8,"integrity":"sha512-6qTTBfdNRXwmcJRYsMmQSPPXlKqtMdGEszFOiJpKNjtw/A36iNDEc9xNCfjKilRoBt6snTgX3efM6A1+Ic/LEw==","signatures":[{"sig":"MEYCIQDOw8JfY9dPPXcYoyUSojpGvESpHgOj9kB11+pawqKWAgIhAIOU3nBKdj4YhtgE2Ure0nG4ABV04cLJDoPkV4LrO+cz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-if@3.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22675},"main":"index.js","type":"module","types":"./form-required-if.d.ts","module":"form-required-if.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./form-required-if.js":{"types":"./form-required-if.d.ts","import":"./form-required-if.js"},"./custom-elements.json":"./custom-elements.json"},"gitHead":"9b084aae3a4c3d67e739a4d084a0ac204eaf07e8","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:691f4562-2bf7-4645-849e-c0b073ea7f2d"}},"repository":{"url":"git+https://github.com/aarongustafson/form-required-if.git","type":"git"},"_npmVersion":"11.7.0","description":"Web component that enables fields to be required based on the value(s) of other fields.","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-if_3.1.1_1765861937200_0.9388750997509772","host":"s3://npm-registry-packages-npm-production"}},"3.1.2":{"name":"@aarongustafson/form-required-if","version":"3.1.2","description":"Web component that enables fields to be required based on the value(s) of other fields.","keywords":["html","custom element","web component","forms","form validation","conditional required","required fields","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-if#readme","repository":{"type":"git","url":"git+https://github.com/aarongustafson/form-required-if.git"},"bugs":{"url":"https://github.com/aarongustafson/form-required-if/issues"},"type":"module","main":"index.js","module":"form-required-if.js","customElements":"custom-elements.json","exports":{".":{"import":"./index.js"},"./form-required-if.js":{"import":"./form-required-if.js","types":"./form-required-if.d.ts"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json"},"types":"./form-required-if.d.ts","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":"9911965b7a85c0e8689a10496c19f36b5addd98b","_id":"@aarongustafson/form-required-if@3.1.2","_nodeVersion":"20.19.6","_npmVersion":"11.7.0","dist":{"integrity":"sha512-D57uwJkYZ41CjS4YewrittygtxHnYRoGpj8Ow+zF6Bjr+m8NfmCcUx+1gnTvKnvH6xcPfeC/mqoAG/DpIjuh0w==","shasum":"47eea1d12689c94d119255e3377f9ceea13a61a5","tarball":"https://registry.npmjs.org/@aarongustafson/form-required-if/-/form-required-if-3.1.2.tgz","fileCount":8,"unpackedSize":22675,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2fform-required-if@3.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDczGBy6Pf3qRvflZgnXR09dIDAOGF5piQ+Zo/GkpTwvAIgD9RpDmrdYtqoE63hg5BdsrOgR7R6lENFc7V2yuTiq4A="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:691f4562-2bf7-4645-849e-c0b073ea7f2d"}},"directories":{},"maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/form-required-if_3.1.2_1765912593634_0.4792644000553321"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-19T23:17:03.767Z","modified":"2025-12-16T19:16:34.231Z","2.0.0":"2025-11-19T23:17:04.046Z","2.0.1":"2025-11-26T04:45:21.568Z","2.0.2":"2025-11-26T05:52:00.244Z","2.0.4":"2025-11-29T18:02:55.209Z","2.0.5":"2025-11-30T15:59:08.386Z","3.0.0":"2025-12-08T04:57:49.326Z","3.0.1":"2025-12-09T18:34:42.352Z","3.1.0":"2025-12-13T22:40:07.850Z","3.1.1":"2025-12-16T05:12:17.342Z","3.1.2":"2025-12-16T19:16:33.778Z"},"bugs":{"url":"https://github.com/aarongustafson/form-required-if/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-if#readme","keywords":["html","custom element","web component","forms","form validation","conditional required","required fields","accessibility","a11y"],"repository":{"type":"git","url":"git+https://github.com/aarongustafson/form-required-if.git"},"description":"Web component that enables fields to be required based on the value(s) of other fields.","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"readme":"# Required If Web Component\n\n[![npm version](https://img.shields.io/npm/v/@aarongustafson/form-required-if.svg)](https://www.npmjs.com/package/@aarongustafson/form-required-if) [![Build Status](https://img.shields.io/github/actions/workflow/status/aarongustafson/form-required-if/ci.yml?branch=main)](https://github.com/aarongustafson/form-required-if/actions)\n\nCurrently, HTML only supports making a field required or optional. Sometimes you need a field to be required only when certain other fields have a (particular) value. The `form-required-if` web component enables that.\n\n## TypeScript & Framework Support\n\n- Ships with `.d.ts` definitions so editors and TypeScript builds get full type information for `FormRequiredIfElement`.\n- `conditions`, `indicator`, and `indicator-position` now reflect between properties and attributes, keeping frameworks in sync with DOM state.\n- `_upgradeProperty` ensures properties set before the element is defined are captured and reflected once connected.\n\n## Demos\n\n- [Comprehensive Demo](https://aarongustafson.github.io/form-required-if/demo/) ([Source](./demo/index.html))\n- [ESM.sh CDN Demo](https://aarongustafson.github.io/form-required-if/demo/esm.html) ([Source](./demo/esm.html))\n- [unpkg CDN Demo](https://aarongustafson.github.io/form-required-if/demo/unpkg.html) ([Source](./demo/unpkg.html))\n\n## Installation\n\n```bash\nnpm install @aarongustafson/form-required-if\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 { FormRequiredIfElement } from '@aarongustafson/form-required-if';\n\n// Define with default name\ncustomElements.define('form-required-if', FormRequiredIfElement);\n\n// Or define with a custom name\ncustomElements.define('my-conditional-required', FormRequiredIfElement);\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-if/define.js';\n```\n\nIf you prefer to control when the element is registered, call the helper directly:\n\n```javascript\nimport { defineFormRequiredIf } from '@aarongustafson/form-required-if/define.js';\n\ndefineFormRequiredIf();\n```\n\nYou can also include the guarded script from HTML:\n\n```html\n<script src=\"./node_modules/@aarongustafson/form-required-if/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-if@latest/define.js\" type=\"module\"></script>\n```\n\n## API\n\n<ul>\n  <li><code>conditions</code><br> A double pipe (||) separated list of `name`/`value` pairs. When fields with the provided `name` values are updated, the value of those fields will be compared against the values you provided (or * for anything). If any resolve to true, the field will become required, otherwise it won't be.</li>\n  <li><code>indicator</code> (optional)<br> If you include a visual indicator on the label of required fields (e.g., *), put that here. HTML is acceptable.</li>\n  <li><code>indicator-position</code> (optional)<br> \"before\" || \"after\" - Default: \"after\"<br> Indicates where you want the indicator placed, relative to the label.</li>\n</ul>\n\n## Markup Assumptions\n\nThis web component assumes the fields you reference in `conditions` exist in the DOM when the component is loaded. If they don’t, they will be ignored.\n\n## Implementation notes\n\n1. **Field markup changes.** When the field is in its required state, it will receive both the `required` and `aria-required=\"true\"` attributes.\n1. **Required indicator.** If you include a `indicator`, it will be injected into the label at the appropriate position (before or after the label text). If your indicator is HTML, that is what will be inserted. When the value is just text, it will be injected inside a `span`. In either case, the root element of the indicator will be set to both `hidden` and `aria-hidden=\"true\"` while the field is not required. Those will be removed when the field is in its required state.\n\n## Examples\n\n### Basic Usage\n\n```html\n<form>\n  <label for=\"email\">Email</label>\n  <input type=\"email\" id=\"email\" name=\"email\">\n\n  <form-required-if conditions=\"email=*\" indicator=\"*\">\n    <label for=\"phone\">Phone (required if email provided)</label>\n    <input type=\"tel\" id=\"phone\" name=\"phone\">\n  </form-required-if>\n\n  <button type=\"submit\">Submit</button>\n</form>\n```\n\n### Multiple Conditions (OR logic)\n\n```html\n<form-required-if conditions=\"email=*||phone=*\" indicator=\"<b>*</b>\">\n  <label for=\"name\">Name (required if email OR phone provided)</label>\n  <input type=\"text\" id=\"name\" name=\"name\">\n</form-required-if>\n```\n\n### Specific Value Conditions\n\n```html\n<form-required-if conditions=\"contact-method=email\" indicator=\"*\">\n  <label for=\"email\">Email Address</label>\n  <input type=\"email\" id=\"email\" name=\"email\">\n</form-required-if>\n```\n\n### Checkbox Conditions\n\n```html\n<form-required-if conditions=\"newsletter=yes\" indicator=\"*\">\n  <label for=\"email\">Email (required for newsletter)</label>\n  <input type=\"email\" id=\"email\" name=\"email\">\n</form-required-if>\n```\n\n### Custom Indicator Positioning\n\n```html\n<form-required-if conditions=\"email=*\" indicator=\"*\" indicator-position=\"before\">\n  <label for=\"phone\">Phone</label>\n  <input type=\"tel\" id=\"phone\" name=\"phone\">\n</form-required-if>\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","readmeFilename":"README.md"}