{"_id":"@aarongustafson/fullscreen-control","_rev":"7-3fdeacb7d6dddffd459215f01f02a5d3","name":"@aarongustafson/fullscreen-control","dist-tags":{"latest":"2.0.4"},"versions":{"0.0.1":{"name":"@aarongustafson/fullscreen-control","version":"0.0.1","keywords":["html","custom element","web component"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/fullscreen-control@0.0.1","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/fullscreen-control#readme","bugs":{"url":"https://github.com/aarongustafson/fullscreen-control/issues"},"dist":{"shasum":"37ce3ba83b54e5d877d9bf0bf16680c3105fea1a","tarball":"https://registry.npmjs.org/@aarongustafson/fullscreen-control/-/fullscreen-control-0.0.1.tgz","fileCount":7,"integrity":"sha512-vh7d996pXPBXtaxV/WrRdWf+c6y8E8jrzfPio0HOZqeXal+M4HAJYy+3izRJe6mCRy13SEg1Vndcn5V4ZNcUZQ==","signatures":[{"sig":"MEUCIQC0tNU2Li0QDnbNPfixJyD/xfTGJRKT8Sy4Wj/IzZ1ATgIgNjEvup4kVxwuDDxsYGZhC2J6vrKMhKoUr6zjhYoppVg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20173},"main":"index.js","type":"module","module":"fullscreen-control.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./fullscreen-control.js":{"import":"./fullscreen-control.js"}},"gitHead":"82b9ab0b411bdcda295b13d4ede4d88102f3ecbe","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","setup":"node scripts/setup.js","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/fullscreen-control.git","type":"git"},"_npmVersion":"11.6.2","description":"A web component to add progressively enhance any video or iframe element to have fullscreen capabilities.","directories":{},"_nodeVersion":"24.11.1","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/fullscreen-control_0.0.1_1765126732364_0.20360727080434038","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@aarongustafson/fullscreen-control","version":"1.0.0","keywords":["html","custom element","web component"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/fullscreen-control@1.0.0","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/fullscreen-control#readme","bugs":{"url":"https://github.com/aarongustafson/fullscreen-control/issues"},"dist":{"shasum":"2f1d8cc9b5a4db8613449316b9964a4cc90458e9","tarball":"https://registry.npmjs.org/@aarongustafson/fullscreen-control/-/fullscreen-control-1.0.0.tgz","fileCount":7,"integrity":"sha512-trB1IF08zw+51+aAn4ej9TZJJrTd9MH0zd2Ghal30DVtoY1eVnlvCvPencblgFOTbG8lmh1j2a0PCOmGDSErRA==","signatures":[{"sig":"MEUCIQCVF1DQhnDGjH16i5Pm0LHEcjMnZgmdlS8THLh8tJ2iDAIgWRopv9is1XyhpP3Cha4ShHEFODXvjENkn07ALJIv8fs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2ffullscreen-control@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20175},"main":"index.js","type":"module","module":"fullscreen-control.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./fullscreen-control.js":{"import":"./fullscreen-control.js"}},"gitHead":"bc716cedcb10c5e7970a0fc61bdda206dddefac2","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","setup":"node scripts/setup.js","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:ec086d7d-a171-40a0-9d78-c22c845b3562"}},"repository":{"url":"git+https://github.com/aarongustafson/fullscreen-control.git","type":"git"},"_npmVersion":"11.6.4","description":"A web component to add progressively enhance any video or iframe element to have fullscreen capabilities.","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/fullscreen-control_1.0.0_1765127020556_0.7629532006115625","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@aarongustafson/fullscreen-control","version":"2.0.0","keywords":["html","custom element","web component"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/fullscreen-control@2.0.0","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/fullscreen-control#readme","bugs":{"url":"https://github.com/aarongustafson/fullscreen-control/issues"},"dist":{"shasum":"3d715e9faba090fae0fc7af67de888e6fb7d5889","tarball":"https://registry.npmjs.org/@aarongustafson/fullscreen-control/-/fullscreen-control-2.0.0.tgz","fileCount":7,"integrity":"sha512-ofSDCHqYbZtfmDS0o8wauf2+IiBjBm8SJCfXnR7FN18/tdF+YTVbqkGuiCm/WmiKbrrE0rVQEI3K4GLFJ1wLmg==","signatures":[{"sig":"MEYCIQDTVh10HOPr3zoE1z3x1LLRHsoOl/S4rs/4HlXAgFA2qAIhAKaP0H47WiaqpgX4igVOQ4LMJ00x099Tw5HHlWDUGDhV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2ffullscreen-control@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20729},"main":"index.js","type":"module","module":"fullscreen-control.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./fullscreen-control.js":{"import":"./fullscreen-control.js"}},"gitHead":"fe01361f09a99339d4833ead48e2bf67696e8ee0","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","setup":"node scripts/setup.js","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:ec086d7d-a171-40a0-9d78-c22c845b3562"}},"repository":{"url":"git+https://github.com/aarongustafson/fullscreen-control.git","type":"git"},"_npmVersion":"11.6.4","description":"A web component to add progressively enhance any video or iframe element to have fullscreen capabilities.","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/fullscreen-control_2.0.0_1765129274367_0.23021512041149594","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@aarongustafson/fullscreen-control","version":"2.0.1","keywords":["html","custom element","web component"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/fullscreen-control@2.0.1","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/fullscreen-control#readme","bugs":{"url":"https://github.com/aarongustafson/fullscreen-control/issues"},"dist":{"shasum":"6480d6e3150cb56a9ac4ad212a94af5a816fdfc1","tarball":"https://registry.npmjs.org/@aarongustafson/fullscreen-control/-/fullscreen-control-2.0.1.tgz","fileCount":7,"integrity":"sha512-NBH2X2Ql/nfxIrFomnaLXkYdd91cZyq+rCIywIH/lJ+DMG8RlDP6dMVHe1Evm2MYikqyg6DeTY6pmKd6xcTSTg==","signatures":[{"sig":"MEYCIQCjC6WT9SjB8T9j5TaJsc1Kf3kPEKJbDPOUeTEagz/klQIhAI+ztHWDzFoMh1vhLSIXA6g7+ucmohwBVytFf6TK4asB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2ffullscreen-control@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20736},"main":"index.js","type":"module","module":"fullscreen-control.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./fullscreen-control.js":{"import":"./fullscreen-control.js"}},"gitHead":"b5eb1b04b5a7bede8334bd50bf04b4f198793075","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","setup":"node scripts/setup.js","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:ec086d7d-a171-40a0-9d78-c22c845b3562"}},"repository":{"url":"git+https://github.com/aarongustafson/fullscreen-control.git","type":"git"},"_npmVersion":"11.6.4","description":"A web component to add progressively enhance any video or iframe element to have fullscreen capabilities.","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/fullscreen-control_2.0.1_1765131834494_0.4418405523861981","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@aarongustafson/fullscreen-control","version":"2.0.2","keywords":["html","custom element","web component"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/fullscreen-control@2.0.2","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/fullscreen-control#readme","bugs":{"url":"https://github.com/aarongustafson/fullscreen-control/issues"},"dist":{"shasum":"70a58a121e3ba2e5b7b681838247366480fcd64a","tarball":"https://registry.npmjs.org/@aarongustafson/fullscreen-control/-/fullscreen-control-2.0.2.tgz","fileCount":7,"integrity":"sha512-e/UWtkH8PJKBvmYTwN/Xpte7s9/r+JGBBHE36Wq8aIIQzFBDectKGTFs96SFJyKKueu1eG4hlXsCndS4LGTDkA==","signatures":[{"sig":"MEYCIQDMZkU1jjH6oW9cPyiWVN6XO5fZ0hwf6SgOA0xzc476ugIhAJe/A/0lkMJwRr2VYHKG8GJZx0ywyOU6/xReq/rZEKhQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2ffullscreen-control@2.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20814},"main":"index.js","type":"module","module":"fullscreen-control.js","engines":{"node":">=14.0.0"},"exports":{".":{"import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./fullscreen-control.js":{"import":"./fullscreen-control.js"}},"gitHead":"eacaa06457b3f4331b95e96dea7abad279b91513","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","setup":"node scripts/setup.js","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:ec086d7d-a171-40a0-9d78-c22c845b3562"}},"repository":{"url":"git+https://github.com/aarongustafson/fullscreen-control.git","type":"git"},"_npmVersion":"11.6.4","description":"A web component to add progressively enhance any video or iframe element to have fullscreen capabilities.","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/fullscreen-control_2.0.2_1765307741558_0.6352374739223363","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@aarongustafson/fullscreen-control","version":"2.0.3","keywords":["html","custom element","web component"],"author":{"url":"https://www.aaron-gustafson.com/","name":"Aaron Gustafson","email":"aaron@easy-designs.net"},"license":"MIT","_id":"@aarongustafson/fullscreen-control@2.0.3","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"homepage":"https://github.com/aarongustafson/fullscreen-control#readme","bugs":{"url":"https://github.com/aarongustafson/fullscreen-control/issues"},"dist":{"shasum":"74832145664005c378b8d97e179d0349186fbca3","tarball":"https://registry.npmjs.org/@aarongustafson/fullscreen-control/-/fullscreen-control-2.0.3.tgz","fileCount":8,"integrity":"sha512-niYhgA840YRhxbpr+VnkCFcL7uTKrIzh3rDFkIzIcz7g6WHUClRk1PetXIwlxdSIcl4G+zR682pItCE5H0NxAQ==","signatures":[{"sig":"MEYCIQD94su7ACQzEd+4Ey/iTqjCga1+nQcCcpOTTxXm3+hbZgIhAK1GHeGP9WhVKIoRy++H6DM2kkMCnDD71ASpc5sXUN5A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2ffullscreen-control@2.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31833},"main":"index.js","type":"module","types":"fullscreen-control.d.ts","module":"fullscreen-control.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./fullscreen-control.d.ts","import":"./index.js"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json","./fullscreen-control.js":{"types":"./fullscreen-control.d.ts","import":"./fullscreen-control.js"}},"gitHead":"270dbcba34a7b36845e24be90ae319401a6194e1","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"vitest","setup":"node scripts/setup.js","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:ec086d7d-a171-40a0-9d78-c22c845b3562"}},"repository":{"url":"git+https://github.com/aarongustafson/fullscreen-control.git","type":"git"},"_npmVersion":"11.7.0","description":"A web component to add progressively enhance any video or iframe element to have fullscreen capabilities.","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/fullscreen-control_2.0.3_1765860771874_0.08866686863442874","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@aarongustafson/fullscreen-control","version":"2.0.4","description":"A web component to add progressively enhance any video or iframe element to have fullscreen capabilities.","keywords":["html","custom element","web component"],"author":{"name":"Aaron Gustafson","email":"aaron@easy-designs.net","url":"https://www.aaron-gustafson.com/"},"license":"MIT","homepage":"https://github.com/aarongustafson/fullscreen-control#readme","repository":{"type":"git","url":"git+https://github.com/aarongustafson/fullscreen-control.git"},"bugs":{"url":"https://github.com/aarongustafson/fullscreen-control/issues"},"type":"module","main":"index.js","module":"fullscreen-control.js","customElements":"custom-elements.json","types":"fullscreen-control.d.ts","exports":{".":{"import":"./index.js","types":"./fullscreen-control.d.ts"},"./fullscreen-control.js":{"import":"./fullscreen-control.js","types":"./fullscreen-control.d.ts"},"./define.js":{"import":"./define.js"},"./custom-elements.json":"./custom-elements.json"},"engines":{"node":">=20.0.0"},"scripts":{"setup":"node scripts/setup.js","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":"659d438e457606ae16b6d5713f5f02df66b9d09e","_id":"@aarongustafson/fullscreen-control@2.0.4","_nodeVersion":"20.19.6","_npmVersion":"11.7.0","dist":{"integrity":"sha512-6esJzoI90coqyFBUHtSCKVncao6ATkgZskYPpJxVcxM4yx1bthUx+PtrpzeHak9IPeyKnMvlQDOfB9M/kvpMjQ==","shasum":"9c0955aebbf37650ba4f87ee6c2353a3846d0cbb","tarball":"https://registry.npmjs.org/@aarongustafson/fullscreen-control/-/fullscreen-control-2.0.4.tgz","fileCount":8,"unpackedSize":31879,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aarongustafson%2ffullscreen-control@2.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGKXfueYfruQLV9fjr8Sz/jZiPRkSIKUxbaQEBIUcRsIAiEA0xr8bMeVW7r1Khqxox3wIFnw49CHkBsTP+cCSDNdVaA="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ec086d7d-a171-40a0-9d78-c22c845b3562"}},"directories":{},"maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fullscreen-control_2.0.4_1765861819371_0.07511853812309388"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-07T16:58:52.290Z","modified":"2025-12-16T05:10:19.938Z","0.0.1":"2025-12-07T16:58:52.511Z","1.0.0":"2025-12-07T17:03:40.748Z","2.0.0":"2025-12-07T17:41:14.504Z","2.0.1":"2025-12-07T18:23:54.652Z","2.0.2":"2025-12-09T19:15:41.711Z","2.0.3":"2025-12-16T04:52:52.018Z","2.0.4":"2025-12-16T05:10:19.559Z"},"bugs":{"url":"https://github.com/aarongustafson/fullscreen-control/issues"},"author":{"name":"Aaron Gustafson","email":"aaron@easy-designs.net","url":"https://www.aaron-gustafson.com/"},"license":"MIT","homepage":"https://github.com/aarongustafson/fullscreen-control#readme","keywords":["html","custom element","web component"],"repository":{"type":"git","url":"git+https://github.com/aarongustafson/fullscreen-control.git"},"description":"A web component to add progressively enhance any video or iframe element to have fullscreen capabilities.","maintainers":[{"name":"aarongustafson","email":"aaron@easy-designs.net"}],"readme":"# `fullscreen-control` Web Component\n\n[![npm version](https://img.shields.io/npm/v/@aarongustafson/fullscreen-control.svg)](https://www.npmjs.com/package/@aarongustafson/fullscreen-control) [![Build Status](https://img.shields.io/github/actions/workflow/status/aarongustafson/fullscreen-control/ci.yml?branch=main)](https://github.com/aarongustafson/fullscreen-control/actions)\n\nA web component to progressively enhance any video or iframe element with fullscreen capabilities.\n\n## Demo\n\n- [Live Demo](https://aarongustafson.github.io/fullscreen-control/demo/) ([Source](./demo/index.html))\n- [esm.sh CDN Demo](https://aarongustafson.github.io/fullscreen-control/demo/esm) ([Source](./demo/esm.html))\n- [unpkg CDN Demo](https://aarongustafson.github.io/fullscreen-control/demo/unpkg) ([Source](./demo/unpkg.html))\n\n## Installation\n\n```bash\nnpm install @aarongustafson/fullscreen-control\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 { FullscreenControlElement } from '@aarongustafson/fullscreen-control';\n\ncustomElements.define('my-custom-name', FullscreenControlElement);\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/fullscreen-control/define.js';\n```\n\nIf you prefer to control when the element is registered, call the helper directly:\n\n```javascript\nimport { defineFullscreenControl } from '@aarongustafson/fullscreen-control/define.js';\n\ndefineFullscreenControl();\n```\n\nYou can also include the guarded script from HTML:\n\n```html\n<script src=\"./node_modules/@aarongustafson/fullscreen-control/define.js\" type=\"module\"></script>\n```\n\n### Basic Example\n\n```html\n<fullscreen-control>\n  <video src=\"video.mp4\"></video>\n</fullscreen-control>\n```\n\nOr with an iframe:\n\n```html\n<fullscreen-control button-text=\"View {name} fullscreen\">\n  <iframe src=\"https://example.com\" title=\"Product teaser\"></iframe>\n</fullscreen-control>\n```\n\n## TypeScript\n\nThis package ships bundled TypeScript definitions. Importing either `@aarongustafson/fullscreen-control` or `@aarongustafson/fullscreen-control/fullscreen-control.js` provides typed access to `FullscreenControlElement` along with its `fullscreen-control:enter` and `fullscreen-control:exit` events.\n\n## Accessibility\n\nThe component automatically manages focus for keyboard accessibility. When the fullscreen button is clicked to enter fullscreen mode, focus will automatically return to the button after exiting fullscreen, ensuring a seamless keyboard navigation experience. The control also links the button to the wrapped media via `aria-controls`, generating a unique `id` for the slotted element when it does not already have one.\n\nBoth `button-text` and `button-label` support the `{name}` placeholder. If the slotted video or iframe has an accessible name (via `aria-label`, `title`, or other native naming), `{name}` will be replaced with that value; otherwise it resolves to an empty string.\n\nChanges to the slotted media's accessible name or `id` are observed automatically, ensuring the visible button text and its `aria-controls` attribute remain in sync even when those attributes are updated dynamically.\n\n## Attributes\n\n| Attribute | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `button-text` | `string` | `\"View fullscreen\"` | Visible text for the fullscreen button. Supports `{name}` to inject the slotted media's accessible name. |\n| `button-label` | `string` | `\"\"` (falls back to `button-text`) | Optional aria-label for the fullscreen button. Supports `{name}`. Only set this when the screen reader announcement should differ from the visible text; otherwise omit it so it mirrors `button-text`. |\n\n## Events\n\nThe component fires custom events that you can listen to:\n\n| Event | Description | Detail |\n|-------|-------------|--------|\n| `fullscreen-control:enter` | Fired when entering fullscreen mode | `CustomEvent` |\n| `fullscreen-control:exit` | Fired when exiting fullscreen mode | `CustomEvent` |\n\n### Example Event Handling\n\n```javascript\nconst element = document.querySelector('fullscreen-control');\n\nelement.addEventListener('fullscreen-control:enter', (event) => {\n  console.log('Entered fullscreen');\n});\n\nelement.addEventListener('fullscreen-control:exit', (event) => {\n  console.log('Exited fullscreen');\n});\n```\n\n## Methods\n\n| Method | Description |\n|--------|-------------|\n| `enterFullscreen()` | Programmatically enter fullscreen mode |\n| `exitFullscreen()` | Programmatically exit fullscreen mode |\n| `toggleFullscreen()` | Toggle fullscreen mode on/off |\n\n## CSS Custom Properties\n\nThe component uses light DOM, so you can style the button directly using standard CSS selectors. Additionally, two CSS custom properties are available for positioning:\n\n| Property | Default | Description |\n|----------|---------|-------------|\n| `--fullscreen-control-button-inset-block-start` | `0.5rem` | Block-start (top) position of the button |\n| `--fullscreen-control-button-inset-inline-end` | `0.5rem` | Inline-end (right in LTR) position of the button |\n\n### Example Styling\n\n```css\n/* Style the button directly */\nfullscreen-control button {\n  background: #ff6b6b;\n  color: white;\n  border: none;\n  padding: 0.75rem 1.5rem;\n  border-radius: 20px;\n}\n\n/* Adjust button position */\nfullscreen-control {\n  --fullscreen-control-button-inset-block-start: 1rem;\n  --fullscreen-control-button-inset-inline-end: 1rem;\n}\n```\n\n## Browser Support\n\nThis component uses modern web standards:\n- Custom Elements v1\n- Shadow DOM v1\n- ES Modules\n\nFor older browsers, you may need polyfills.\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Run tests\nnpm test\n\n# Run tests with coverage\nnpm run test:coverage\n\n# Lint code\nnpm run lint\n\n# Format code\nnpm run format\n\n# View demo\nopen demo/index.html\n```\n\n## License\n\nMIT © [Aaron Gustafson](https://www.aaron-gustafson.com/)\n","readmeFilename":"README.md"}