{"_id":"@solid-aria/overlays","_rev":"9-7daba03e7c1d83b907a20528c283d12f","name":"@solid-aria/overlays","dist-tags":{"latest":"0.1.3","snapshot":"0.0.0-snapshot-20220617074250"},"versions":{"0.0.1":{"name":"@solid-aria/overlays","version":"0.0.1","private":false,"description":"Primitives for building accessible overlay components such as dialogs, popovers, and menus.","keywords":["solid","aria","headless","design","system","components"],"homepage":"https://github.com/solidjs-community/solid-aria/tree/main/packages/overlays#readme","bugs":{"url":"https://github.com/solidjs-community/solid-aria/issues"},"repository":{"type":"git","url":"git+https://github.com/solidjs-community/solid-aria.git"},"license":"MIT","author":"Fabien Marie-Louise <fabienml.dev@gmail.com>","contributors":[],"sideEffects":false,"type":"module","exports":{".":{"solid":"./dist/source/index.js","import":"./dist/esm/index.js","browser":"./dist/esm/index.js","require":"./dist/cjs/index.js","node":"./dist/cjs/index.js"}},"main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/types/index.d.ts","dependencies":{"@solid-aria/button":"^0.0.2","@solid-aria/i18n":"^0.0.6","@solid-aria/interactions":"^0.0.5","@solid-aria/types":"^0.0.4","@solid-aria/utils":"^0.0.5","@solid-aria/visually-hidden":"^0.0.5"},"peerDependencies":{"@solid-primitives/props":"^2.1.2","@solid-primitives/utils":"^2.0.1","solid-js":"^1.4.0"},"publishConfig":{"access":"public"},"primitive":{"name":"overlays","stage":0,"list":[],"category":""},"scripts":{"build":"rollup -c","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","dev":"vite serve dev --host","test":"jest --passWithNoTests","test:watch":"jest --watch --passWithNoTests","typecheck":"tsc --noEmit"},"_id":"@solid-aria/overlays@0.0.1","_integrity":"sha512-edEcytfxBRQIzz4iKhE3Bg3EzheB3Br3bS4zzY4vbWJfgZ9fIWHICg2cNn3wjDDfeRbX27DNAOaf2XrPIq4B9A==","_resolved":"/Users/f.marie-louise/Workspace/solid-aria/packages/overlays/solid-aria-overlays-0.0.1.tgz","_from":"file:solid-aria-overlays-0.0.1.tgz","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-edEcytfxBRQIzz4iKhE3Bg3EzheB3Br3bS4zzY4vbWJfgZ9fIWHICg2cNn3wjDDfeRbX27DNAOaf2XrPIq4B9A==","shasum":"8b38b6d171f98da20d32cd717684bd44360f5f3e","tarball":"https://registry.npmjs.org/@solid-aria/overlays/-/overlays-0.0.1.tgz","fileCount":23,"unpackedSize":227683,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF3cdofjikhmsoZZZMbkQl6zzn5Qyr8uPU5bBEeHTxrGAiEAnBTwDT6/XDK6+sqEVfLi/TDI9UAzCmbPk8ZEsKORhvk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJih051ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmobBRAAgsnta7shwu9mGW74zm8Jm7aOU5pOG0qJ17OyvMi7JlXkg+PX\r\nV3gu7el30C4T5akGYBpIexqvrbbdwuZJnFj9/ImVVPGZ/Y6KIQ0q5OKVmXZN\r\nq9MrinCkjNttLU9eyhlaiE0TFOrI6iXr94nLAguf0eKVttkxgER7d5IQlGcQ\r\nUqyQhY59wQKRqKbCXbgt3HG7gQ5c1yABJKx9j/BekRSBmeeEZOaFARkJ9iIP\r\nh9FOqJd9Z1A2SBJBmj3yhKad+hUqcejeyrgYaPQ16H3H0EOWxmoIflhfAHq4\r\no36943mAr5yVGUhnAzcVlZGZWmHmEX92Jqj4wjCtUjM7F0Jft/Oi8WLqwHNL\r\n/fzUaUisF02PhIoduCJuVmalX6tAkj8xjVDUaNZ+zygAd391w3/ZCWBqR0I2\r\nx/Dw/0LTHmMKMMGuinUkrbpnI4OC1FTjGuO0j6xQbBRQ3K21WA2k/r6tHprg\r\nidu7IPmn06xOr3DL9sRCqaWg1alT13kwY2ioAuR3veBxLXO5LGrnlEzGpWn+\r\nzv6GAoaX3q/hUbHHlXDJ7qoV19LhBq+Pg3uiLV3WXE21o6POhrPj6M9J5qcX\r\nHdQe87Wj4Y+0ggo6W4cb3sDz9qFuFwpbdXnVXfIyHQAedzykkmzUJoFO8kjF\r\ndXCp9z1wR2nsmQoyT3N4L9msVoTkrTyN8x0=\r\n=46xx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fabienml","email":"fabienml.dev@gmail.com"},"directories":{},"maintainers":[{"name":"fabienml","email":"fabienml.dev@gmail.com"},{"name":"davedbase","email":"dave.dibiase@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/overlays_0.0.1_1653034612945_0.3517704221227911"},"_hasShrinkwrap":false},"0.0.2":{"name":"@solid-aria/overlays","version":"0.0.2","private":false,"description":"Primitives for building accessible overlay components such as dialogs, popovers, and menus.","keywords":["solid","aria","headless","design","system","components"],"homepage":"https://github.com/solidjs-community/solid-aria/tree/main/packages/overlays#readme","bugs":{"url":"https://github.com/solidjs-community/solid-aria/issues"},"repository":{"type":"git","url":"git+https://github.com/solidjs-community/solid-aria.git"},"license":"MIT","author":"Fabien Marie-Louise <fabienml.dev@gmail.com>","contributors":[],"sideEffects":false,"type":"module","exports":{".":{"solid":"./dist/source/index.js","import":"./dist/esm/index.js","browser":"./dist/esm/index.js","require":"./dist/cjs/index.js","node":"./dist/cjs/index.js"}},"main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/types/index.d.ts","dependencies":{"@solid-aria/button":"^0.0.3","@solid-aria/i18n":"^0.0.6","@solid-aria/interactions":"^0.0.5","@solid-aria/types":"^0.0.4","@solid-aria/utils":"^0.0.5","@solid-aria/visually-hidden":"^0.0.5"},"peerDependencies":{"@solid-primitives/props":"^2.1.2","@solid-primitives/utils":"^2.0.1","solid-js":"^1.4.0"},"publishConfig":{"access":"public"},"primitive":{"name":"overlays","stage":0,"list":[],"category":""},"scripts":{"build":"rollup -c","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","dev":"vite serve dev --host","test":"jest --passWithNoTests","test:watch":"jest --watch --passWithNoTests","typecheck":"tsc --noEmit"},"_id":"@solid-aria/overlays@0.0.2","_integrity":"sha512-gLTC2LYqxN5XQu/qUH6oIwcj2qqPNas0eINmAJqk7kHczQ0spnOfA06AnBELNgCiBj6M8n/jbQ2SbwaEhmGvYw==","_resolved":"/Users/f.marie-louise/Workspace/solid-aria/packages/overlays/solid-aria-overlays-0.0.2.tgz","_from":"file:solid-aria-overlays-0.0.2.tgz","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-gLTC2LYqxN5XQu/qUH6oIwcj2qqPNas0eINmAJqk7kHczQ0spnOfA06AnBELNgCiBj6M8n/jbQ2SbwaEhmGvYw==","shasum":"f67ed5436a30b5238b46a4d0d5b18f0f3b14243a","tarball":"https://registry.npmjs.org/@solid-aria/overlays/-/overlays-0.0.2.tgz","fileCount":23,"unpackedSize":227683,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmrxgvd4/OvMPYsHgDrDXGV2CAFiPWLIPfjQncz2V+AgIhAIaMSlR0XMbnnwT6MWbHmXeGSN6xlurBU6BxShUTQk8P"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiiKwmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZVQ//cWTgDy4qvfCjaktnd71MnnccY0mfequHApv1JhPiWs0UDAAH\r\nt82u9EdAPzrql3lDGBvIMW995652pjjKF2JMNUisj0MxNPIAJoSY+Cb0JgqH\r\nzE7ARnsaYXAtq2f9ndnJbPlt1vijlKQeT3sTjv+CFqDjEY5xud1ojGWp0+FA\r\nLUbEAB9UTbmrnJbSoMSwX1mk/YyCtO2pQ8C2Bv6gYq0YmZVgseNoIr78wC5p\r\nFVihXz7eeVS9OXNJHoFXQiFlVdw5DDAgURKNdrE7XQ9b2vWfrx9JyDhLtajW\r\nvPHzmOusDV3i1wIB4JOpbWdiN2QVtMVNoE66H3IuDBbgEA1fkksrEtcNqSiK\r\nc1FiwpJ6H8uinLnMNtbLmwx3NhuKGX4eZE9MHlmSIvZdZNpCJrI7YptTtd4g\r\ntOrs0C04w3UVOh8+FWbib2aXhixAyaQVMzdniOPVY3F3HxrMI6zk/jyokXep\r\ni6nokqQJCffqWIogHSytpZ8qkirTrHMV1DY8uZKZ8H+Ypm35Egr9ukckVae3\r\nl3b8KlBc9XDharASIwYko4/zJ+2p6qgJLKwLBJfCA+TrclbqXv2yU9Y7ugxe\r\nhawq42ga6mKP8skeKqICPbeg35zfweNrNOoG4o5EbEkGz46AWnvubXhbwT7E\r\nYH0hfWblUOIvnDiIBJri+EDTzgMNs85vidI=\r\n=UHpA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fabienml","email":"fabienml.dev@gmail.com"},"directories":{},"maintainers":[{"name":"fabienml","email":"fabienml.dev@gmail.com"},{"name":"davedbase","email":"dave.dibiase@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/overlays_0.0.2_1653124134660_0.0009593701691863465"},"_hasShrinkwrap":false},"0.0.3":{"name":"@solid-aria/overlays","version":"0.0.3","private":false,"description":"Primitives for building accessible overlay components such as dialogs, popovers, and menus.","keywords":["solid","aria","headless","design","system","components"],"homepage":"https://github.com/solidjs-community/solid-aria/tree/main/packages/overlays#readme","bugs":{"url":"https://github.com/solidjs-community/solid-aria/issues"},"repository":{"type":"git","url":"git+https://github.com/solidjs-community/solid-aria.git"},"license":"MIT","author":"Fabien Marie-Louise <fabienml.dev@gmail.com>","contributors":[],"sideEffects":false,"type":"module","exports":{".":{"solid":"./dist/source/index.jsx","import":"./dist/esm/index.js","browser":"./dist/esm/index.js","require":"./dist/cjs/index.js","node":"./dist/cjs/index.js"}},"main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/types/index.d.ts","dependencies":{"@solid-aria/button":"^0.0.4","@solid-aria/i18n":"^0.0.6","@solid-aria/interactions":"^0.0.5","@solid-aria/types":"^0.0.4","@solid-aria/utils":"^0.0.5","@solid-aria/visually-hidden":"^0.0.5"},"peerDependencies":{"@solid-primitives/props":"^2.1.2","@solid-primitives/utils":"^2.0.1","solid-js":"^1.4.0"},"publishConfig":{"access":"public"},"primitive":{"name":"overlays","stage":0,"list":[],"category":""},"scripts":{"build":"rollup -c","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","dev":"vite serve dev --host","test":"jest --passWithNoTests","test:watch":"jest --watch --passWithNoTests","typecheck":"tsc --noEmit"},"_id":"@solid-aria/overlays@0.0.3","_integrity":"sha512-Oyt1Xx4/+xA9DTjzL0OizWPsNuWwnH3FadmCGlD8jxlWENbB1bGc1ec7WJ0x559UOK0nXGTl44AugNgWdxEimg==","_resolved":"/Users/f.marie-louise/Workspace/solid-aria/packages/overlays/solid-aria-overlays-0.0.3.tgz","_from":"file:solid-aria-overlays-0.0.3.tgz","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-Oyt1Xx4/+xA9DTjzL0OizWPsNuWwnH3FadmCGlD8jxlWENbB1bGc1ec7WJ0x559UOK0nXGTl44AugNgWdxEimg==","shasum":"b1103a292c5a974a02ce743dd08cba0f5bf7d1cc","tarball":"https://registry.npmjs.org/@solid-aria/overlays/-/overlays-0.0.3.tgz","fileCount":23,"unpackedSize":227684,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDlwVwqPzP0Ty4eYDAPzICOEZ0Wae++XYkCP8lNhRYUgAiBwCyhAvINPL/qYbTSt1p2tFxT3LyiP/jd1sB4e7vK/1A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiikjFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoRsg/9EXJMfBd1hF35akf9yk4yqHx9RWhQxOeSJ+slUHfVicjU+xqJ\r\nCdiRtMTHZXz8WGUylv+iTUHr/q9jwifQo567+rlRCUWul/B1yZ3S5uof0mbS\r\nUmsaV/q6OCyJkd9qDPvLhGasCqCYQmqg61URuRI+3HKwYy2MH20D9Qnz7sNN\r\np+Mdm27zwSf2FKOwNe+MK2sisrNO3eEBdMmNghR0/Fm8ZuG63gFAhYbZ+7Lt\r\ntzO5vGjrVdZkreZDip7MNmgN98wqXBA95nkFL8MZQtPgDPXnTjzcE8vDGgq2\r\nNYHBaCoBEYSe19rrgdUPxq46vqJ08On3HwmzOCQz/Qyj/2DdlMhY8vhsoelJ\r\nxzohnWUdvNqk8u6/TxL2kidQHchGUS5Xjy6mAKZ2HzAwkdrbjWoCWNLALgrk\r\n0IR42IuzM0NbmJZlPKGn8bsKxAxLVgws4u4s63kJP57ib/725EbO+VP/A6KP\r\ncaIiFOhRSRZzaVo2zRjlcqsNd9vljYCGOFxwmR7SAPU8xZntc778aKmKzbEj\r\nH1tYhzvtmkxMBmUNyn9JDjd+7iCn7CSxMJ8QlxyORYTsTXM3OWEH9XmfXOI2\r\naGBxrm03xHqOc+SXp0zB/k/lGvYVodUmQjLXqqj6da4Ew3VLty0Bo5cgU3/M\r\nceTiUxEnLHdS5Yed1mNxu9ehxZkIXnUXgW0=\r\n=orAN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fabienml","email":"fabienml.dev@gmail.com"},"directories":{},"maintainers":[{"name":"fabienml","email":"fabienml.dev@gmail.com"},{"name":"davedbase","email":"dave.dibiase@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/overlays_0.0.3_1653229765457_0.20366293540812608"},"_hasShrinkwrap":false},"0.0.4":{"name":"@solid-aria/overlays","version":"0.0.4","private":false,"description":"Primitives for building accessible overlay components such as dialogs, popovers, and menus.","keywords":["solid","aria","headless","design","system","components"],"homepage":"https://github.com/solidjs-community/solid-aria/tree/main/packages/overlays#readme","bugs":{"url":"https://github.com/solidjs-community/solid-aria/issues"},"repository":{"type":"git","url":"git+https://github.com/solidjs-community/solid-aria.git"},"license":"MIT","author":"Fabien Marie-Louise <fabienml.dev@gmail.com>","contributors":[],"sideEffects":false,"type":"module","exports":{".":{"solid":"./dist/source/index.jsx","import":"./dist/esm/index.js","browser":"./dist/esm/index.js","require":"./dist/cjs/index.js","node":"./dist/cjs/index.js"}},"main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/types/index.d.ts","dependencies":{"@solid-aria/button":"^0.0.5","@solid-aria/i18n":"^0.0.6","@solid-aria/interactions":"^0.0.6","@solid-aria/types":"^0.0.4","@solid-aria/utils":"^0.0.5","@solid-aria/visually-hidden":"^0.0.6"},"peerDependencies":{"@solid-primitives/props":"^2.1.2","@solid-primitives/utils":"^2.0.1","solid-js":"^1.4.0"},"publishConfig":{"access":"public"},"primitive":{"name":"overlays","stage":0,"list":[],"category":""},"scripts":{"build":"rollup -c","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","dev":"vite serve dev --host","test":"jest --passWithNoTests","test:watch":"jest --watch --passWithNoTests","typecheck":"tsc --noEmit"},"_id":"@solid-aria/overlays@0.0.4","_integrity":"sha512-Ddg7Gbnuy3cvfEY0+ZEzBlbebuEA+8jRcTa7Hjmy2J3N82eiotkLy7fG/WGVlAZtYkKYJlE4o4DiUJrrhHWvzA==","_resolved":"/Users/f.marie-louise/Workspace/solid-aria/packages/overlays/solid-aria-overlays-0.0.4.tgz","_from":"file:solid-aria-overlays-0.0.4.tgz","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-Ddg7Gbnuy3cvfEY0+ZEzBlbebuEA+8jRcTa7Hjmy2J3N82eiotkLy7fG/WGVlAZtYkKYJlE4o4DiUJrrhHWvzA==","shasum":"e3b57496ca7fe642cb7ff1e5446ad2e79a66ec0b","tarball":"https://registry.npmjs.org/@solid-aria/overlays/-/overlays-0.0.4.tgz","fileCount":23,"unpackedSize":226142,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGsBaJzoqx0pftIbtUmEcno4+t07GYd/+GLB03ehr8rhAiAyzUPgEg2qNgOOvXKyAncZnf1kK5f3yhHljPe7q36xLg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJikdrIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmruaA/6AyYjJAstCfVzXWQGCvtWTKq0PBRzVtcrYpn/YzPR5UQ11Osv\r\nQkIbMQi3AEudnp3iTniTZKmW5hz3JngaMPkWsgB1YhrT1zapwymzFYTJmCPs\r\nKI/24vSMNJGI/YnLrUAe71r1KJFWHjnq8tHjPVedPh9bBeHhW3Muhnkcw2Vx\r\nCfLwUpYs0x0iGA8OE0G1xJfMQ27K7veTRcTwUViWOXIb0z7F6YNtai6t3Q95\r\nKcvx4V1Ayy1uoVNlL4Q8AyfA+FyLFPHAtUMgeB5pF4F2UDGo9ctlN7khS7LV\r\nwtEKSAVs2AvPS0eexOiwLBptzf+63zE2NVybEEDCe8wMALCBXdvK7lnQzoXT\r\nwUpAIantii3OhoVOG2Sfml9KtFE9OK2ff7T2JMkM2aJqne3naV2StBFR7iRM\r\nK0wRMp8mzQtiMo7VKx6xmLrGQZgbX1EZ9w8wqzlmnkGms+MjREA2LMajPMP6\r\nOz01tIoxAYSCfhn+CPJggzCZMF4ShtUifN+xo4HzlyToTcvpNue8NdKnH3/a\r\nZV9q/6NrNGxK67AFutbmKzYVmBdokihRMKgyxaNC14nAuZB91O8M+tavwaJc\r\nu7T37Vd/q1Z/7/KrL2fxJfeEv/3mRfCfyOcEXUo3itIMkI+yjq0MJpeqUz0A\r\nIuQKB/XAFctyF+kkshsQdh3n2JumWIaPGgo=\r\n=2pr4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fabienml","email":"fabienml.dev@gmail.com"},"directories":{},"maintainers":[{"name":"fabienml","email":"fabienml.dev@gmail.com"},{"name":"davedbase","email":"dave.dibiase@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/overlays_0.0.4_1653725895639_0.9703420309965205"},"_hasShrinkwrap":false},"0.0.5":{"name":"@solid-aria/overlays","version":"0.0.5","private":false,"description":"Primitives for building accessible overlay components such as dialogs, popovers, and menus.","keywords":["solid","aria","headless","design","system","components"],"homepage":"https://github.com/solidjs-community/solid-aria/tree/main/packages/overlays#readme","bugs":{"url":"https://github.com/solidjs-community/solid-aria/issues"},"repository":{"type":"git","url":"git+https://github.com/solidjs-community/solid-aria.git"},"license":"MIT","author":"Fabien Marie-Louise <fabienml.dev@gmail.com>","contributors":[],"sideEffects":false,"type":"module","exports":{".":{"solid":"./dist/source/index.jsx","import":"./dist/esm/index.js","browser":"./dist/esm/index.js","require":"./dist/cjs/index.js","node":"./dist/cjs/index.js"}},"main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/types/index.d.ts","dependencies":{"@solid-aria/button":"^0.0.6","@solid-aria/i18n":"^0.0.7","@solid-aria/interactions":"^0.0.7","@solid-aria/types":"^0.0.5","@solid-aria/utils":"^0.0.6","@solid-aria/visually-hidden":"^0.0.7"},"peerDependencies":{"@solid-primitives/props":"^2.1.2","@solid-primitives/utils":"^2.0.1","solid-js":"^1.4.3"},"publishConfig":{"access":"public"},"primitive":{"name":"overlays","stage":0,"list":[],"category":""},"scripts":{"build":"rollup -c","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","dev":"vite serve dev --host","test":"jest --passWithNoTests","test:watch":"jest --watch --passWithNoTests","typecheck":"tsc --noEmit"},"_id":"@solid-aria/overlays@0.0.5","_integrity":"sha512-KBB77/dkr8cl60p54O49M8rqKFsOTYKBKLSNXX+j7Maezqwis5ypaH8HVBvykoASwZEPOk2TC2KBLvtnf1Bftg==","_resolved":"/Users/f.marie-louise/Workspace/solid-aria/packages/overlays/solid-aria-overlays-0.0.5.tgz","_from":"file:solid-aria-overlays-0.0.5.tgz","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-KBB77/dkr8cl60p54O49M8rqKFsOTYKBKLSNXX+j7Maezqwis5ypaH8HVBvykoASwZEPOk2TC2KBLvtnf1Bftg==","shasum":"046be3f4f5d00f97ecd388b859212b5dc759c4b6","tarball":"https://registry.npmjs.org/@solid-aria/overlays/-/overlays-0.0.5.tgz","fileCount":23,"unpackedSize":226142,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHRXx0y3T+3fpSE4N+oeRGw1lqiPdXtTFPxZWvfgiiOMAiEAjbYBPVz214japWhofd8Yp/UMOzvPq/xMG1ngtiIyLEU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJikptUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrcQg/+PtOGElYHRkwMYZsE54epQO2gcgh3zz8EnLVAC52zySQ2yU2/\r\n4OTU3wdYFVsopcwj9Psd41ILRsWKsfNC+ZZyXZCDu98OyAHR3OE8kiLT7vbe\r\nV0x4TSrxxmSDSDZu2s4B+iNvCBut64Dq5Qezo3kj0gKt+4o2wkIxvuhohsa8\r\nIZTiFGHVF2JWR/nyX2NwJuf2FZgmKOQQx8E9m2+Gjs4hovqSCgXDIyzd40Y0\r\n+nkO39xDpJTuh6n1OT4LqSSFC2+Ei9lnMeURkHWRcTGzHRHe6M1DNdspctBZ\r\n7Rpmu705vEpwuINQ43kN720QeooDpUHKP/KA7Fyw8nyxnoQSy82Km5AhZyow\r\nMad8IM7yDE8p5tWYSJwjJSE9vt0ux3SqtjaDn5JJSoIJR2jV5nm9HUfFDxLV\r\nKKhxq//8LqN9xsj0p4viuvsuGQVNhyF/AbmC35BgJtOzhxwf9CfuEAyG72ez\r\nqFX/q4aNig7Gcj2MU4IaRwV40xoRBe94Ukxb/Kk4eXmvTN24NWh/bbCBjPV3\r\nkLbtjo2QEN7GciTzbGO8ka6tbhMt3W2tGyz6KhXmnyT7VnX6x9yQuoZHJuqc\r\nn/o7dgjKzKk+hZS9Q+N9+4sVK5uflzs6n6cAuX/75yp6Gd71LlG9Ne6G+3Jg\r\nL/lE3XDYuD3IUGPD1ob5nMBJIBRjOpmsi7w=\r\n=vTse\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fabienml","email":"fabienml.dev@gmail.com"},"directories":{},"maintainers":[{"name":"fabienml","email":"fabienml.dev@gmail.com"},{"name":"davedbase","email":"dave.dibiase@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/overlays_0.0.5_1653775188237_0.6281220032395813"},"_hasShrinkwrap":false},"0.1.0":{"name":"@solid-aria/overlays","version":"0.1.0","private":false,"description":"Primitives for building accessible overlay components such as dialogs, popovers, and menus.","keywords":["solid","aria","headless","design","system","components"],"homepage":"https://github.com/solidjs-community/solid-aria/tree/main/packages/overlays#readme","bugs":{"url":"https://github.com/solidjs-community/solid-aria/issues"},"repository":{"type":"git","url":"git+https://github.com/solidjs-community/solid-aria.git"},"license":"MIT","author":{"name":"Fabien Marie-Louise","email":"fabienml.dev@gmail.com"},"contributors":[],"sideEffects":false,"type":"module","exports":{".":{"solid":"./dist/source/index.jsx","import":"./dist/esm/index.js","browser":"./dist/esm/index.js","require":"./dist/cjs/index.js","node":"./dist/cjs/index.js"}},"main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/types/index.d.ts","scripts":{"build":"rollup -c","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","dev":"vite serve dev --host","test":"jest --passWithNoTests","test:watch":"jest --watch --passWithNoTests","typecheck":"tsc --noEmit"},"dependencies":{"@solid-aria/button":"workspace:^","@solid-aria/i18n":"workspace:^","@solid-aria/interactions":"workspace:^","@solid-aria/types":"workspace:^","@solid-aria/utils":"workspace:^","@solid-aria/visually-hidden":"workspace:^","@solid-primitives/platform":"^0.0.100"},"peerDependencies":{"@solid-primitives/props":"^2.1.4","@solid-primitives/utils":"^2.0.1","solid-js":"^1.4.4"},"publishConfig":{"access":"public"},"primitive":{"name":"overlays","stage":0,"list":[],"category":""},"gitHead":"0f11304d53975a50ef365f99b67821e425f01824","_id":"@solid-aria/overlays@0.1.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-886oiLe2L1rwAoz8zp8eimczTqcDAwcKJ2Eh+C+x7dS5zb3Bmqo9F51utadAdUgrHvMXRuOg2TMwwst4wtB0/A==","shasum":"be6c21a15bfcd162b1218671d9a03a346a2418c0","tarball":"https://registry.npmjs.org/@solid-aria/overlays/-/overlays-0.1.0.tgz","fileCount":4,"unpackedSize":41403,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF+pH9IkwLZnhoUr2Qinzx/n1S80XtKn+YORUh49f8b1AiBnYIAmDOmfz17GaC3fAeREA+J1fNB06oXQZdzGA5O9HA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJipxnhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrv0w//fmugQXsNLYU8Qnzwc6HAb6FV2dQ5s8RJuq3rblEMEphrMEB9\r\nVnAs0SsxT34mCv0ZZ/oOooncIHuHgDJBp34+BdjjuaIV5oRy4sQDDzVNd4Rh\r\nD5Y195iTpHk1XFDJpSmwEdPUPO9rq96hq77pP7F9bzDhLLzo74VipVigNxcZ\r\nmVLkj/EM0crA+antRRSEKaKL3gGLp5Rn2DnOGaPHw2RmqZzmOOC1MQu0YBAb\r\n+5bsigHYYqnD6gYBO8h3K38F7S7ENWueW36nA6Liy5MS0gP+XSwjMlfvCDGa\r\nL3z26XoXp1erBGLorJobi6KU7Ng2zBTSupjN2Ex8WgQo8pusWl3qT5Zei6FY\r\nLQxOLxdqRy3xqEYeVdeWmeL0U04gw5dKO635TZRO4Q/RVuwzwMPl0K1GX7f3\r\ntN86BdNp7xM9UD3bR3CMiXw8myh4fWnoSfsK4+vl2saUM9GhINV/f2z3lsnk\r\ntrQhzPlaDPSicgQ4UJ99EK3mdx9U+jr3YpDoa0EjSmfI1YJI4SzsXjIGF6Y0\r\njAWLAEYydslfY/nwNFOLUKZ6o7nud9IIeEv7bnIr3lcO4uF71fA6i8k0Q8Bi\r\nZnX7+XEICe/Oa2DWOPgKw3F7i2qPMTGckYOuagm+jEtzVEzl9/mMs/pc+PP9\r\nI/3O2MlnXSHgF5d0lxLZH0eJgRTD8PeTwe0=\r\n=gV6I\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fabienml","email":"fabienml.dev@gmail.com"},"directories":{},"maintainers":[{"name":"fabienml","email":"fabienml.dev@gmail.com"},{"name":"davedbase","email":"dave.dibiase@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/overlays_0.1.0_1655118304950_0.7021951381668994"},"_hasShrinkwrap":false},"0.1.1":{"name":"@solid-aria/overlays","version":"0.1.1","private":false,"description":"Primitives for building accessible overlay components such as dialogs, popovers, and menus.","keywords":["solid","aria","headless","design","system","components"],"homepage":"https://github.com/solidjs-community/solid-aria/tree/main/packages/overlays#readme","bugs":{"url":"https://github.com/solidjs-community/solid-aria/issues"},"repository":{"type":"git","url":"git+https://github.com/solidjs-community/solid-aria.git"},"license":"MIT","author":{"name":"Fabien Marie-Louise","email":"fabienml.dev@gmail.com"},"contributors":[],"sideEffects":false,"type":"module","exports":{".":{"solid":"./dist/source/index.jsx","import":"./dist/esm/index.js","browser":"./dist/esm/index.js","require":"./dist/cjs/index.js","node":"./dist/cjs/index.js"}},"main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/types/index.d.ts","scripts":{"build":"rollup -c","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","dev":"vite serve dev --host","test":"jest --passWithNoTests","test:watch":"jest --watch --passWithNoTests","typecheck":"tsc --noEmit"},"dependencies":{"@solid-aria/button":"^0.1.1","@solid-aria/i18n":"^0.1.1","@solid-aria/interactions":"^0.1.1","@solid-aria/types":"^0.1.1","@solid-aria/utils":"^0.1.1","@solid-aria/visually-hidden":"^0.1.1","@solid-primitives/platform":"^0.0.100","@solid-primitives/props":"^2.1.7","@solid-primitives/utils":"^2.1.0"},"peerDependencies":{"solid-js":"^1.4.4"},"publishConfig":{"access":"public"},"primitive":{"name":"overlays","stage":0,"list":[],"category":""},"gitHead":"b353437a1e59a42f2d400c48fe2dd83802bc373b","_id":"@solid-aria/overlays@0.1.1","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-dnbrfN8hXNcOKe+bIemUJxycG3f8zLe7kaKLNl0ORm7deNs2GzVxRlmq8AzpNrj5/OZU2HE5RKAm4cX2hexukA==","shasum":"d71645fbebaa1279616b105bd80aec1bdb5e022b","tarball":"https://registry.npmjs.org/@solid-aria/overlays/-/overlays-0.1.1.tgz","fileCount":4,"unpackedSize":41373,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCt+xo62A/kv7znnyPLOa1uri4/wvzirdAJa84R1W3BAIgCKdU2vc7klW1tahUbyx+NEU5FZE9r/CAPGishJ88kso="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiq6VfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo09w/8CvvzqqBL0poeFAHoXZQUSzZvMOkc3MkLsOYplz8VnEjTHc6T\r\n+AlzhOEWfKynQ+dKq7/h0m/PLFX5ZiinE6Y5xrsDgtOCsvvAcpsPMdai0x/z\r\no/5bb++Ul/SwtXjK4VFZZN7ZYM/DRlxdS2oYJw8133vBhhX+mW7ynNCbi7hB\r\nHHE5AlOt9vygyRELf8mCguXC0Xk8B9RYwnC5sOjjoZ/+fY3OJzjr8vP7wATt\r\nSU2HJekiYPkdWpzpmWcNFXYdP7YLbxxRy8b7hLRAPcNAf3Vk/NSoTjI1k+Y4\r\nnsWfb4woUpdtg+QzeP4+js/2B4p42nliVp5t6oYLrEBMz+bEQfso9GoaqNTm\r\nYCOISuwc682WdXQZwwmE24o1eP7z1VzqZwqVBPT7X15US8q7raZ+NrUdZrMs\r\noeIMB1QQxo+8Ux42afL+T9MIod/bHTr+Wuc4e5Caen96UnxP+L7aelht4EFv\r\nNkR8nIxfpiMrG+5RrOAjXKws2Z7E63AK5+A2x8scGF5gh2uIC+4M0A3rvav0\r\nRDQfBuYsVtQZyhEJI7l01+1RXa8keZzl4gUzNQ2J/A3W7SLeZTRMa7K8hG4i\r\n1eXhKRMH2CB6d2+TV3KGGQrNc/zEMAuke3cI2/vBmLm/sciIbgGs7zBeZC3k\r\nOhOWlEgwXZV2Bju9pLYpvhIbpimNGGv5Sh0=\r\n=cljS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fabienml","email":"fabienml.dev@gmail.com"},"directories":{},"maintainers":[{"name":"fabienml","email":"fabienml.dev@gmail.com"},{"name":"davedbase","email":"dave.dibiase@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/overlays_0.1.1_1655416159060_0.8195483746139705"},"_hasShrinkwrap":false},"0.1.2":{"name":"@solid-aria/overlays","version":"0.1.2","private":false,"description":"Primitives for building accessible overlay components such as dialogs, popovers, and menus.","keywords":["solid","aria","headless","design","system","components"],"homepage":"https://github.com/solidjs-community/solid-aria/tree/main/packages/overlays#readme","bugs":{"url":"https://github.com/solidjs-community/solid-aria/issues"},"repository":{"type":"git","url":"git+https://github.com/solidjs-community/solid-aria.git"},"license":"MIT","author":{"name":"Fabien Marie-Louise","email":"fabienml.dev@gmail.com"},"contributors":[],"sideEffects":false,"type":"module","exports":{".":{"solid":"./dist/source/index.jsx","import":"./dist/esm/index.js","browser":"./dist/esm/index.js","require":"./dist/cjs/index.js","node":"./dist/cjs/index.js"}},"main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/types/index.d.ts","dependencies":{"@solid-aria/button":"^0.1.2","@solid-aria/i18n":"^0.1.2","@solid-aria/interactions":"^0.1.2","@solid-aria/types":"^0.1.2","@solid-aria/utils":"^0.1.2","@solid-aria/visually-hidden":"^0.1.2","@solid-primitives/platform":"^0.0.100","@solid-primitives/props":"^2.1.7","@solid-primitives/utils":"^2.1.0"},"peerDependencies":{"solid-js":"^1.4.4"},"publishConfig":{"access":"public"},"primitive":{"name":"overlays","stage":0,"list":[],"category":""},"scripts":{"build":"rollup -c","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","dev":"vite serve dev --host","test":"jest --passWithNoTests","test:watch":"jest --watch --passWithNoTests","typecheck":"tsc --noEmit"},"_id":"@solid-aria/overlays@0.1.2","_integrity":"sha512-o1httvzB+E6SWHkNfVGpPpVTFQJqmVHQPImDQVwA6hcXqBJy57e2vKdzoSc/+Retg5gt11NFQszzT1RdrQS3+g==","_resolved":"/private/var/folders/s0/vwpkg8b954n8058jcrwst0yr0000gn/T/7a0704c7380d59d94bd319407c11c643/solid-aria-overlays-0.1.2.tgz","_from":"file:solid-aria-overlays-0.1.2.tgz","_nodeVersion":"17.9.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-o1httvzB+E6SWHkNfVGpPpVTFQJqmVHQPImDQVwA6hcXqBJy57e2vKdzoSc/+Retg5gt11NFQszzT1RdrQS3+g==","shasum":"3e04402e1a8699a8b47e6976b3a3ca575245a730","tarball":"https://registry.npmjs.org/@solid-aria/overlays/-/overlays-0.1.2.tgz","fileCount":23,"unpackedSize":223461,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAtgrGM9HdCUustbGp26RFvwl+PLCEgBRHVJ8ReVtY3PAiEAgdF6yLFaJYbf0zHcvfmSmwVQAjQ9BHyeKb/Mv7DiZmA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJirB/BACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqOCA//SGgQ+X9ofhU7YV2WyrXL1qcnPKdjY0WizjhUz4Gb+E3j9xoj\r\ndq/WHNT4eFqDB++VHqNLQSzqPpuNnmcYiH6or0/Yr2m5vfRXhBtgaUm1BeDe\r\njv05n0RTGRUJRTlBm+THkjLU+T1cdQw08SU2Q0NvcngbpyZFZm+1Dz6e5DhK\r\ntSlTURk+HB1IjnerKhkpLrJl5OlYX/+F9C5KqdiBpsnKD0xHd6TMxNK0DhY8\r\nMlai9hf+PkiyDdSPhvFBmafVoMhGyA6zNu4uPChaEe6MbfgTvVBNO8meG60e\r\nOz++lTZrY/4WCYHH8YVgwAMEAlHjHH6sFXYcOjuiLlhW0IrW6F6AA9+2v+Ht\r\n7JBtvjve9+yuHBvQc1aTgoYsSmLd4EyUeo/f/zz38Jb6waedigAxK6P7d+RM\r\n9h67TIuy/JRfnLokrWSNUgWm0cDX7rwj/jAKMNPOFAXtMZLtjadfgjnRqh8x\r\n1Qn/bG2l19/sARLhd8GTeY71IJNqYLltdp7FYvSFAC4DAfcwa1X8JGj0LCez\r\nOR9w5a+JdC6m0OAhYufuYIDaUN1L/2KWRED9vVaePoQviOX7gRv6Nof6ygsf\r\ncwD8EXT0LOPn28ak723kDbFcVLX4VUVrJgzk7bm+UAZzOeoVQMlDv7Cy+J6B\r\n3RnSDT5FvRcJVoWHGvaPoGDvzRTMf0e5oYM=\r\n=VrQU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fabienml","email":"fabienml.dev@gmail.com"},"directories":{},"maintainers":[{"name":"fabienml","email":"fabienml.dev@gmail.com"},{"name":"davedbase","email":"dave.dibiase@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/overlays_0.1.2_1655447488754_0.4199283142206238"},"_hasShrinkwrap":false},"0.0.0-snapshot-20220617074250":{"name":"@solid-aria/overlays","version":"0.0.0-snapshot-20220617074250","private":false,"description":"Primitives for building accessible overlay components such as dialogs, popovers, and menus.","keywords":["solid","aria","headless","design","system","components"],"homepage":"https://github.com/solidjs-community/solid-aria/tree/main/packages/overlays#readme","bugs":{"url":"https://github.com/solidjs-community/solid-aria/issues"},"repository":{"type":"git","url":"git+https://github.com/solidjs-community/solid-aria.git"},"license":"MIT","author":{"name":"Fabien Marie-Louise","email":"fabienml.dev@gmail.com"},"contributors":[],"sideEffects":false,"type":"module","exports":{".":{"solid":"./dist/source/index.jsx","import":"./dist/esm/index.js","browser":"./dist/esm/index.js","require":"./dist/cjs/index.js","node":"./dist/cjs/index.js"}},"main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/types/index.d.ts","scripts":{"build":"rollup -c","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","dev":"vite serve dev --host","test":"jest --passWithNoTests","test:watch":"jest --watch --passWithNoTests","typecheck":"tsc --noEmit"},"dependencies":{"@solid-aria/button":"^0.0.0-snapshot-20220617074250","@solid-aria/i18n":"^0.0.0-snapshot-20220617074250","@solid-aria/interactions":"^0.0.0-snapshot-20220617074250","@solid-aria/types":"^0.0.0-snapshot-20220617074250","@solid-aria/utils":"^0.0.0-snapshot-20220617074250","@solid-aria/visually-hidden":"^0.0.0-snapshot-20220617074250","@solid-primitives/platform":"^0.0.100","@solid-primitives/props":"^2.1.7","@solid-primitives/utils":"^2.1.0"},"devDependencies":{"solid-js":"^1.4.4"},"peerDependencies":{"solid-js":"^1.4.4"},"publishConfig":{"access":"public"},"primitive":{"name":"overlays","stage":0,"list":[],"category":""},"readme":"<p>\n  <img width=\"100%\" src=\"https://assets.solidjs.com/banner?type=Aria&background=tiles&project=Overlays\" alt=\"Solid Aria - Overlays\">\n</p>\n\n# @solid-aria/overlays\n\n[![pnpm](https://img.shields.io/badge/maintained%20with-pnpm-cc00ff.svg?style=for-the-badge&logo=pnpm)](https://pnpm.io/)\n[![turborepo](https://img.shields.io/badge/built%20with-turborepo-cc00ff.svg?style=for-the-badge&logo=turborepo)](https://turborepo.org/)\n[![size](https://img.shields.io/bundlephobia/minzip/@solid-aria/overlays?style=for-the-badge&label=size)](https://bundlephobia.com/package/@solid-aria/overlays)\n[![version](https://img.shields.io/npm/v/@solid-aria/overlays?style=for-the-badge)](https://www.npmjs.com/package/@solid-aria/overlays)\n[![stage](https://img.shields.io/endpoint?style=for-the-badge&url=https%3A%2F%2Fraw.githubusercontent.com%2Fsolidjs-community%2Fsolid-primitives%2Fmain%2Fassets%2Fbadges%2Fstage-0.json)](https://github.com/solidjs-community/solid-aria#contribution-process)\n\nPrimitives for building accessible overlay components such as dialogs, popovers, and menus.\n\n- [`DismissButton`](#dismissbutton) - A visually hidden button that can be used to allow screen reader users to dismiss a modal or popup when there is no visual affordance to do so.\n- [`createModal`](#createmodal) - Hides content outside the current `<OverlayContainer>` from screen readers on mount and restores it on unmount.\n- [`createOverlay`](#createoverlay) - Provides the behavior for overlays such as dialogs, popovers, and menus.\n- [`createOverlayTrigger`](#createoverlaytrigger) - Handles the behavior and accessibility for an overlay trigger.\n- [`createPreventScroll`](#createpreventscroll) - Prevents scrolling on the document body on mount, and restores it on unmount.\n\n## Installation\n\n```bash\nnpm install @solid-aria/overlays\n# or\nyarn add @solid-aria/overlays\n# or\npnpm add @solid-aria/overlays\n```\n\n## `DismissButton`\n\n`DismissButton` is a visually hidden button that can be used by screen reader users to close an overlay in the absence of a visual dismiss button. This may typically be used with a menu or a popover since they often forgo a visual dismiss button, instead allowing users to use the `Escape` key to dismiss the menu or popover.\n\n### How to use it\n\nSee `createOverlayTrigger` for an example of how to use `DismissButton`.\n\n## `createModal`\n\nHides content outside the current `<OverlayContainer>` from screen readers on mount and restores it on unmount. Typically used by modal dialogs and other types of overlays to ensure that only the top-most modal is accessible at once.\n\n### How to use it\n\nSee [`createDialog`](../dialog/) and `createOverlayTrigger` for examples of using `createModal` to hide external elements from screen readers.\n\n## `createOverlay`\n\nProvides the behavior for overlays such as dialogs, popovers, and menus. Hides the overlay when the user interacts outside it, when the Escape key is pressed, or optionally, on blur. Only the top-most overlay will close at once.\n\n### How to use it\n\nSee [`createDialog`](../dialog/) and `createOverlayTrigger` for examples of using `createOverlay` to provide common overlay behavior to a component.\n\n## `createOverlayTrigger`\n\nHandles the behavior and accessibility for an overlay trigger, e.g. a button that opens a popover, menu, or other overlay that is positioned relative to the trigger.\n\n### Features\n\nThere is no built in way to create popovers or other types of overlays in HTML. `createOverlayTrigger` helps achieve accessible overlays that can be styled as needed.\n\n- Exposes overlay trigger and connects trigger to overlay with ARIA\n- Hides content behind the overlay from screen readers when combined with `createModal`\n- Handles closing the overlay when interacting outside and pressing the `Escape` key, when combined with `createOverlay`\n\n**Note:** `createOverlayTrigger` only handles the overlay itself. It should be combined with `createDialog` to create fully accessible popovers. You will also need a positioning engine like [`@floating-ui/dom`](https://floating-ui.com/) to positions the overlay relative to the trigger.\n\n### How to use it\n\nThis example shows how to build a typical popover overlay that is positioned relative to a trigger button. The content of the popover is a dialog, built with `createDialog`.\n\nThe popover can be closed by clicking or interacting outside the popover, or by pressing the Escape key. This is handled by `createOverlay`. When the popover is closed, focus is restored back to its trigger button by a `<FocusScope>`.\n\nContent outside the popover is hidden from screen readers by `createModal`. This improves the experience for screen reader users by ensuring that they don't navigate out of context. This is especially important when the popover is rendered into a portal at the end of the document, and the content just before it is unrelated to the original trigger.\n\nTo allow screen reader users to more easily dismiss the popover, a visually hidden `<DismissButton>` is added at the end of the dialog.\n\nThe application is contained in an `OverlayProvider`, which is used to hide the content from screen readers with `aria-hidden` while an overlay is open. In addition, each overlay must be contained in an `OverlayContainer`, which uses a SolidJS Portal to render the overlay at the end of the document body. If a nested overlay is opened, then the first overlay will also be set to `aria-hidden`, so that only the top-most overlay is accessible to screen readers.\n\n```tsx\nimport { createButton } from \"@solid-aria/button\";\nimport { createDialog } from \"@solid-aria/dialog\";\nimport { FocusScope } from \"@solid-aria/focus\";\nimport {\n  AriaOverlayProps,\n  createModal,\n  createOverlay,\n  createOverlayTrigger,\n  DismissButton,\n  FocusScope,\n  OverlayContainer,\n  OverlayProvider\n} from \"@solid-aria/overlays\";\nimport { combineProps } from \"@solid-primitives/props\";\nimport { mergeRefs } from \"@solid-primitives/refs\";\nimport { access } from \"@solid-primitives/utils\";\nimport { createMemo, JSX, Ref, splitProps, Show } from \"solid-js\";\n\ninterface PopoverProps extends AriaOverlayProps {\n  ref: Ref<HTMLDivElement | undefined>;\n  title?: JSX.Element;\n  children?: JSX.Element;\n}\n\nfunction Popover(props: PopoverProps) {\n  let ref: HTMLDivElement | undefined;\n\n  const [local, others] = splitProps(props, [\"ref\", \"title\", \"children\", \"isOpen\", \"onClose\"]);\n\n  // Handle interacting outside the dialog and pressing\n  // the Escape key to close the modal.\n  const { overlayProps } = createOverlay(\n    {\n      onClose: local.onClose,\n      isOpen: () => access(local.isOpen),\n      isDismissable: true\n    },\n    () => ref\n  );\n\n  // Hide content outside the modal from screen readers.\n  const { modalProps } = createModal();\n\n  // Get props for the dialog and its title\n  const { dialogProps, titleProps } = createDialog({}, () => ref);\n\n  const rootProps = combineProps(overlayProps, dialogProps, modalProps, others);\n\n  return (\n    <FocusScope restoreFocus>\n      <div\n        {...rootProps}\n        ref={mergeRefs(el => (ref = el), local.ref)}\n        style={{\n          position: \"absolute\",\n          background: \"white\",\n          color: \"black\",\n          padding: \"30px\",\n          \"max-width\": \"300px\"\n        }}\n      >\n        <h3 {...titleProps} style={{ \"margin-top\": 0 }}>\n          {props.title}\n        </h3>\n        {props.children}\n        <DismissButton onDismiss={local.onClose} />\n      </div>\n    </FocusScope>\n  );\n}\n\nfunction Example() {\n  let triggerRef: HTMLButtonElement | undefined;\n  let overlayRef: HTMLDivElement | undefined;\n\n  // Get props for the trigger and overlay.\n  const { triggerProps, overlayProps, state } = createOverlayTrigger({ type: \"dialog\" });\n\n  // createButton ensures that focus management is handled correctly,\n  // across all browsers. Focus is restored to the button once the\n  // popover closes.\n  const { buttonProps } = createButton(\n    {\n      onPress: () => state.open()\n    },\n    () => triggerRef\n  );\n\n  return (\n    <>\n      <button {...buttonProps} {...triggerProps} ref={triggerRef}>\n        Open Popover\n      </button>\n      <Show when={state.isOpen()}>\n        <OverlayContainer>\n          <Popover\n            {...overlayProps}\n            ref={overlayRef}\n            title=\"Popover title\"\n            isOpen={state.isOpen()}\n            onClose={state.close}\n          >\n            This is the content of the popover.\n          </Popover>\n        </OverlayContainer>\n      </Show>\n    </>\n  );\n}\n\nfunction App() {\n  return (\n    // Application must be wrapped in an OverlayProvider so that it can be\n    // hidden from screen readers when an overlay opens.\n    <OverlayProvider>\n      <Example />\n    </OverlayProvider>\n  );\n}\n```\n\n## `createPreventScroll`\n\nPrevents scrolling on the document body on mount, and restores it on unmount. Also ensures that content does not shift due to the scrollbars disappearing.\n\n### How to use it\n\n```tsx\nimport { createPreventScroll } from \"@solid-aria/overlays\";\nimport { createSignal } from \"solid-js\";\n\nfunction App() {\n  const [isDisabled, setDisabled] = createSignal(false);\n\n  createPreventScroll({ isDisabled });\n\n  return (\n    <>\n      <button onClick={() => setDisabled(prev => !prev)}>Toggle scroll lock</button>\n      <p>Very long scrollable content...</p>\n    </>\n  );\n}\n```\n\n## Changelog\n\nAll notable changes are described in the [CHANGELOG.md](./CHANGELOG.md) file.\n","readmeFilename":"README.md","gitHead":"53580c26c8f278fd52d4258d2753297c7dd24d92","_id":"@solid-aria/overlays@0.0.0-snapshot-20220617074250","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-f72BY3w6zXZcaBvt3vyu9Z8xBMIhwJdtD7/qudFj99s2uWMcrxSBDkeD0A8yevz5PWcjGZTHhd6PNm4tZQP9IQ==","shasum":"bc6ca2f0f6584d9b87299add29e53174a98400db","tarball":"https://registry.npmjs.org/@solid-aria/overlays/-/overlays-0.0.0-snapshot-20220617074250.tgz","fileCount":4,"unpackedSize":41594,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHvAsCdyOEITmtgqq1MYiUEasTW/hQEKfmjgPwPzsnuAIgMKfj/6DsypYqQgWVEF8CYyFUZjjByJvq0wKsZ7CnJ0A="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJirDHCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoIDw//aL4ki0Rgl7MJVmyGThak2v90+6uI5DU57MwdIqoUgxslnedU\r\noT6oh8AELgb/uZBKH09fMSikV17Pw5RcIEltfiP/0IWWgZdom0V+KrjLkbiI\r\n3/Y5pcQ06F/sKXjA3e3ZrQqKoSewQ85rl7kA8e3wjIbaODKJul6TypQ6J+yg\r\nX1D7cklN82wpibMVJ+/HttMj+MJNFMAQA3c+2tPl/7znGGhTU2VgqdF3ZVho\r\nRxpMPMwK7SNxb4esSoYPw2JErFtvTVCDOrInuCjPANI1Gw19lwJsOemIsLSI\r\n84j7XtpND+6WHOCAPS8igNygQMeU3qn1bPZJpRe0GkSTXQCoNza9w4h56+BM\r\n9vBJa7LUyw944x1ad1AqkWGmfAr+QI/rT0xWjSemictUZSIomtNMMIsMbRKp\r\ntNbmgrX82esAklzadW5IuLroMWaG7lrC0esaJPpWtTrJUQtDwq/exbZioWeN\r\n+Q8XJ+4WUDyGYLWQ4nNjlb5KXh9AKWaJ1f1R4JrhgmHOhmgGjid1X/TT6QZG\r\n3hgBFdwNM+eK3uLD9bmWEInoyGVHiGptDaPP0oNPVrXI2tnVkxclJpge32/m\r\n+kKkyKsqFmGZN2Gn63EeuzTnW7uEf+oRm/FsJaEJ/bBucXemV93Nj/VVvPJN\r\nTmLWVqtBwGukjfme48z1TDjxshugiDJ3vBc=\r\n=3e9L\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fabienml","email":"fabienml.dev@gmail.com"},"directories":{},"maintainers":[{"name":"fabienml","email":"fabienml.dev@gmail.com"},{"name":"davedbase","email":"dave.dibiase@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/overlays_0.0.0-snapshot-20220617074250_1655452097870_0.023930036336671456"},"_hasShrinkwrap":false},"0.1.3":{"name":"@solid-aria/overlays","version":"0.1.3","private":false,"description":"Primitives for building accessible overlay components such as dialogs, popovers, and menus.","keywords":["solid","aria","headless","design","system","components"],"homepage":"https://github.com/solidjs-community/solid-aria/tree/main/packages/overlays#readme","bugs":{"url":"https://github.com/solidjs-community/solid-aria/issues"},"repository":{"type":"git","url":"git+https://github.com/solidjs-community/solid-aria.git"},"license":"MIT","author":{"name":"Fabien Marie-Louise","email":"fabienml.dev@gmail.com"},"contributors":[],"sideEffects":false,"type":"module","exports":{".":{"solid":"./dist/source/index.jsx","import":"./dist/esm/index.js","browser":"./dist/esm/index.js","require":"./dist/cjs/index.js","node":"./dist/cjs/index.js"}},"main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/types/index.d.ts","dependencies":{"@solid-aria/button":"^0.1.3","@solid-aria/i18n":"^0.2.0","@solid-aria/interactions":"^0.1.4","@solid-aria/types":"^0.1.2","@solid-aria/utils":"^0.2.0","@solid-aria/visually-hidden":"^0.1.3","@solid-primitives/platform":"^0.0.100","@solid-primitives/props":"^2.1.7","@solid-primitives/utils":"^2.1.0"},"devDependencies":{"solid-js":"^1.4.4"},"peerDependencies":{"solid-js":"^1.4.4"},"publishConfig":{"access":"public"},"primitive":{"name":"overlays","stage":0,"list":[],"category":""},"scripts":{"build":"rollup -c","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","dev":"vite serve dev --host","test":"jest --passWithNoTests","test:watch":"jest --watch --passWithNoTests","typecheck":"tsc --noEmit"},"_id":"@solid-aria/overlays@0.1.3","_integrity":"sha512-M002GH8SFfr9WkA+NfGSkX03Qr+DdksRkfIHG+AVZgKxSBSyqwpU1vcvB1Mn1Nu+KhucQ7/N8cKpoQIa+Yse5g==","_resolved":"/tmp/b408473ecd29dafe7b40028c43eb7a0f/solid-aria-overlays-0.1.3.tgz","_from":"file:solid-aria-overlays-0.1.3.tgz","_nodeVersion":"17.9.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-M002GH8SFfr9WkA+NfGSkX03Qr+DdksRkfIHG+AVZgKxSBSyqwpU1vcvB1Mn1Nu+KhucQ7/N8cKpoQIa+Yse5g==","shasum":"bdc882eccf6a13491e26acc456cb25c29c103fde","tarball":"https://registry.npmjs.org/@solid-aria/overlays/-/overlays-0.1.3.tgz","fileCount":23,"unpackedSize":223514,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqIiFF1Z/xe6qV5RL9xe3zPa5AF9ANxmd9Tqk0loL7UQIhAKNAvcsshval0JVpmMxpDlHXjNaIIUpHQR0kta/SZW+7"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJirtDnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq4XhAAn+nwR3HruyHO197CJm+mENm4ALLZPi0ZkI6nQZvt9w1jchSK\r\nXtJJ2Jt/tMoW9T8K1wDb1ilNVX0JNM/ICs+flnQN94xpJj+a8JUAr4CCWumW\r\npN0lBYwewl/Uip6VKTmsj4SaZ1U7vInpjxXybIy6wJkn6q3uO7j4U7LpTX2i\r\ndoPYv1gjnR3obs4vAgCGkdfw3E82xELPe2HH1NiwTRR3VUg42UoRMqHQwDhs\r\naRyi8vCcYOk8gv1pyjW67sjA2uz+LCn6kI76SeYKA1hD+7blTpD4d8uIi9kX\r\n1HSLJFrEWi0HfPE0ZgF8Vs8WRBwwLVaGGcyXlNe/l09qK+vkw6tOYKKVEafO\r\nsXYuQXV9VvaDxq1ZH0zes7hPid5hGCtoEFvmiRXzmySxmGHplOGC5o5VAX3u\r\njs15sub0AwkAD9HskGGx6q9PZJ2o05+5r0OTBXDb6utd0v7djbX/XslDTzsW\r\namyXQhFy2uUOApKCCBayqDCHcKj39hTLkrjXOfsHtg1PdGShK28OcqrE39GR\r\nePNqzaAGZxoYRhm5eOrkdr58IB5XTLOKsRYurVyQigEnyNG493gpSYRvyUgX\r\nZbDfH3BDM4XnMeZAauwgN8yQr654v3ljOMzjjqZxZUgt2eEtWWeoIxFeQ++n\r\n5DdLnGfq9wPZG3shikCDqANlhGaGId9XBrU=\r\n=Uk+4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fabienml","email":"fabienml.dev@gmail.com"},"directories":{},"maintainers":[{"name":"fabienml","email":"fabienml.dev@gmail.com"},{"name":"davedbase","email":"dave.dibiase@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/overlays_0.1.3_1655623910795_0.8082247840282486"},"_hasShrinkwrap":false}},"time":{"created":"2022-05-20T08:16:52.853Z","0.0.1":"2022-05-20T08:16:53.079Z","modified":"2022-06-19T07:31:51.194Z","0.0.2":"2022-05-21T09:08:54.838Z","0.0.3":"2022-05-22T14:29:25.615Z","0.0.4":"2022-05-28T08:18:16.014Z","0.0.5":"2022-05-28T21:59:48.394Z","0.1.0":"2022-06-13T11:05:05.180Z","0.1.1":"2022-06-16T21:49:19.227Z","0.1.2":"2022-06-17T06:31:29.016Z","0.0.0-snapshot-20220617074250":"2022-06-17T07:48:18.125Z","0.1.3":"2022-06-19T07:31:51.099Z"},"maintainers":[{"name":"fabienml","email":"fabienml.dev@gmail.com"},{"name":"davedbase","email":"dave.dibiase@gmail.com"}],"description":"Primitives for building accessible overlay components such as dialogs, popovers, and menus.","homepage":"https://github.com/solidjs-community/solid-aria/tree/main/packages/overlays#readme","keywords":["solid","aria","headless","design","system","components"],"repository":{"type":"git","url":"git+https://github.com/solidjs-community/solid-aria.git"},"contributors":[],"author":{"name":"Fabien Marie-Louise","email":"fabienml.dev@gmail.com"},"bugs":{"url":"https://github.com/solidjs-community/solid-aria/issues"},"license":"MIT","readme":"<p>\n  <img width=\"100%\" src=\"https://assets.solidjs.com/banner?type=Aria&background=tiles&project=Overlays\" alt=\"Solid Aria - Overlays\">\n</p>\n\n# @solid-aria/overlays\n\n[![pnpm](https://img.shields.io/badge/maintained%20with-pnpm-cc00ff.svg?style=for-the-badge&logo=pnpm)](https://pnpm.io/)\n[![turborepo](https://img.shields.io/badge/built%20with-turborepo-cc00ff.svg?style=for-the-badge&logo=turborepo)](https://turborepo.org/)\n[![size](https://img.shields.io/bundlephobia/minzip/@solid-aria/overlays?style=for-the-badge&label=size)](https://bundlephobia.com/package/@solid-aria/overlays)\n[![version](https://img.shields.io/npm/v/@solid-aria/overlays?style=for-the-badge)](https://www.npmjs.com/package/@solid-aria/overlays)\n[![stage](https://img.shields.io/endpoint?style=for-the-badge&url=https%3A%2F%2Fraw.githubusercontent.com%2Fsolidjs-community%2Fsolid-primitives%2Fmain%2Fassets%2Fbadges%2Fstage-0.json)](https://github.com/solidjs-community/solid-aria#contribution-process)\n\nPrimitives for building accessible overlay components such as dialogs, popovers, and menus.\n\n- [`DismissButton`](#dismissbutton) - A visually hidden button that can be used to allow screen reader users to dismiss a modal or popup when there is no visual affordance to do so.\n- [`createModal`](#createmodal) - Hides content outside the current `<OverlayContainer>` from screen readers on mount and restores it on unmount.\n- [`createOverlay`](#createoverlay) - Provides the behavior for overlays such as dialogs, popovers, and menus.\n- [`createOverlayTrigger`](#createoverlaytrigger) - Handles the behavior and accessibility for an overlay trigger.\n- [`createPreventScroll`](#createpreventscroll) - Prevents scrolling on the document body on mount, and restores it on unmount.\n\n## Installation\n\n```bash\nnpm install @solid-aria/overlays\n# or\nyarn add @solid-aria/overlays\n# or\npnpm add @solid-aria/overlays\n```\n\n## `DismissButton`\n\n`DismissButton` is a visually hidden button that can be used by screen reader users to close an overlay in the absence of a visual dismiss button. This may typically be used with a menu or a popover since they often forgo a visual dismiss button, instead allowing users to use the `Escape` key to dismiss the menu or popover.\n\n### How to use it\n\nSee `createOverlayTrigger` for an example of how to use `DismissButton`.\n\n## `createModal`\n\nHides content outside the current `<OverlayContainer>` from screen readers on mount and restores it on unmount. Typically used by modal dialogs and other types of overlays to ensure that only the top-most modal is accessible at once.\n\n### How to use it\n\nSee [`createDialog`](../dialog/) and `createOverlayTrigger` for examples of using `createModal` to hide external elements from screen readers.\n\n## `createOverlay`\n\nProvides the behavior for overlays such as dialogs, popovers, and menus. Hides the overlay when the user interacts outside it, when the Escape key is pressed, or optionally, on blur. Only the top-most overlay will close at once.\n\n### How to use it\n\nSee [`createDialog`](../dialog/) and `createOverlayTrigger` for examples of using `createOverlay` to provide common overlay behavior to a component.\n\n## `createOverlayTrigger`\n\nHandles the behavior and accessibility for an overlay trigger, e.g. a button that opens a popover, menu, or other overlay that is positioned relative to the trigger.\n\n### Features\n\nThere is no built in way to create popovers or other types of overlays in HTML. `createOverlayTrigger` helps achieve accessible overlays that can be styled as needed.\n\n- Exposes overlay trigger and connects trigger to overlay with ARIA\n- Hides content behind the overlay from screen readers when combined with `createModal`\n- Handles closing the overlay when interacting outside and pressing the `Escape` key, when combined with `createOverlay`\n\n**Note:** `createOverlayTrigger` only handles the overlay itself. It should be combined with `createDialog` to create fully accessible popovers. You will also need a positioning engine like [`@floating-ui/dom`](https://floating-ui.com/) to positions the overlay relative to the trigger.\n\n### How to use it\n\nThis example shows how to build a typical popover overlay that is positioned relative to a trigger button. The content of the popover is a dialog, built with `createDialog`.\n\nThe popover can be closed by clicking or interacting outside the popover, or by pressing the Escape key. This is handled by `createOverlay`. When the popover is closed, focus is restored back to its trigger button by a `<FocusScope>`.\n\nContent outside the popover is hidden from screen readers by `createModal`. This improves the experience for screen reader users by ensuring that they don't navigate out of context. This is especially important when the popover is rendered into a portal at the end of the document, and the content just before it is unrelated to the original trigger.\n\nTo allow screen reader users to more easily dismiss the popover, a visually hidden `<DismissButton>` is added at the end of the dialog.\n\nThe application is contained in an `OverlayProvider`, which is used to hide the content from screen readers with `aria-hidden` while an overlay is open. In addition, each overlay must be contained in an `OverlayContainer`, which uses a SolidJS Portal to render the overlay at the end of the document body. If a nested overlay is opened, then the first overlay will also be set to `aria-hidden`, so that only the top-most overlay is accessible to screen readers.\n\n```tsx\nimport { createButton } from \"@solid-aria/button\";\nimport { createDialog } from \"@solid-aria/dialog\";\nimport { FocusScope } from \"@solid-aria/focus\";\nimport {\n  AriaOverlayProps,\n  createModal,\n  createOverlay,\n  createOverlayTrigger,\n  DismissButton,\n  FocusScope,\n  OverlayContainer,\n  OverlayProvider\n} from \"@solid-aria/overlays\";\nimport { combineProps } from \"@solid-primitives/props\";\nimport { mergeRefs } from \"@solid-primitives/refs\";\nimport { access } from \"@solid-primitives/utils\";\nimport { createMemo, JSX, Ref, splitProps, Show } from \"solid-js\";\n\ninterface PopoverProps extends AriaOverlayProps {\n  ref: Ref<HTMLDivElement | undefined>;\n  title?: JSX.Element;\n  children?: JSX.Element;\n}\n\nfunction Popover(props: PopoverProps) {\n  let ref: HTMLDivElement | undefined;\n\n  const [local, others] = splitProps(props, [\"ref\", \"title\", \"children\", \"isOpen\", \"onClose\"]);\n\n  // Handle interacting outside the dialog and pressing\n  // the Escape key to close the modal.\n  const { overlayProps } = createOverlay(\n    {\n      onClose: local.onClose,\n      isOpen: () => access(local.isOpen),\n      isDismissable: true\n    },\n    () => ref\n  );\n\n  // Hide content outside the modal from screen readers.\n  const { modalProps } = createModal();\n\n  // Get props for the dialog and its title\n  const { dialogProps, titleProps } = createDialog({}, () => ref);\n\n  const rootProps = combineProps(overlayProps, dialogProps, modalProps, others);\n\n  return (\n    <FocusScope restoreFocus>\n      <div\n        {...rootProps}\n        ref={mergeRefs(el => (ref = el), local.ref)}\n        style={{\n          position: \"absolute\",\n          background: \"white\",\n          color: \"black\",\n          padding: \"30px\",\n          \"max-width\": \"300px\"\n        }}\n      >\n        <h3 {...titleProps} style={{ \"margin-top\": 0 }}>\n          {props.title}\n        </h3>\n        {props.children}\n        <DismissButton onDismiss={local.onClose} />\n      </div>\n    </FocusScope>\n  );\n}\n\nfunction Example() {\n  let triggerRef: HTMLButtonElement | undefined;\n  let overlayRef: HTMLDivElement | undefined;\n\n  // Get props for the trigger and overlay.\n  const { triggerProps, overlayProps, state } = createOverlayTrigger({ type: \"dialog\" });\n\n  // createButton ensures that focus management is handled correctly,\n  // across all browsers. Focus is restored to the button once the\n  // popover closes.\n  const { buttonProps } = createButton(\n    {\n      onPress: () => state.open()\n    },\n    () => triggerRef\n  );\n\n  return (\n    <>\n      <button {...buttonProps} {...triggerProps} ref={triggerRef}>\n        Open Popover\n      </button>\n      <Show when={state.isOpen()}>\n        <OverlayContainer>\n          <Popover\n            {...overlayProps}\n            ref={overlayRef}\n            title=\"Popover title\"\n            isOpen={state.isOpen()}\n            onClose={state.close}\n          >\n            This is the content of the popover.\n          </Popover>\n        </OverlayContainer>\n      </Show>\n    </>\n  );\n}\n\nfunction App() {\n  return (\n    // Application must be wrapped in an OverlayProvider so that it can be\n    // hidden from screen readers when an overlay opens.\n    <OverlayProvider>\n      <Example />\n    </OverlayProvider>\n  );\n}\n```\n\n## `createPreventScroll`\n\nPrevents scrolling on the document body on mount, and restores it on unmount. Also ensures that content does not shift due to the scrollbars disappearing.\n\n### How to use it\n\n```tsx\nimport { createPreventScroll } from \"@solid-aria/overlays\";\nimport { createSignal } from \"solid-js\";\n\nfunction App() {\n  const [isDisabled, setDisabled] = createSignal(false);\n\n  createPreventScroll({ isDisabled });\n\n  return (\n    <>\n      <button onClick={() => setDisabled(prev => !prev)}>Toggle scroll lock</button>\n      <p>Very long scrollable content...</p>\n    </>\n  );\n}\n```\n\n## Changelog\n\nAll notable changes are described in the [CHANGELOG.md](./CHANGELOG.md) file.\n","readmeFilename":"README.md"}