{"_id":"@ampproject/amp-accordion","_rev":"110-b691a85d3c102eb353feeff800b93510","name":"@ampproject/amp-accordion","dist-tags":{"latest":"1.2110011758.0","nightly":"1.2110252343.0","test":"1.2105271708.0"},"versions":{"1.2104150129.0":{"name":"@ampproject/amp-accordion","version":"1.2104150129.0","description":"AMP Accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"dist/component.js","module":"dist/component.mjs","exports":{".":"./preact","./preact":{"import":"dist/component-preact.mjs","require":"dist/component-preact.js"},"./react":{"import":"dist/component-react.mjs","require":"dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2104150129.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-TeN/NAb4B0kBpWFNglBVkvP/4kQGnLRaYKwyyYbtyE6Oeowe8v9UnoAR+w8yYmHCCf27DX7HwqmljE1Us3JuXA==","shasum":"fba27ce26d1395f9e97757e597b4641b156b2efa","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2104150129.0.tgz","fileCount":17,"unpackedSize":537831,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgitBqCRA9TVsSAnZWagAA9m0P/Au9Y/Iqmy0QORgvjIvx\nqYjfdTKudUzffYrNLwhIJxcvuxX3jxpcDWZfdumEr7/1pJ/91Sp4Bg0LaM2h\n8jRegpuYVKnz6H3ZKAcAI6r+VQnaI1IDieov//jV36X2ksS5XPpPSCPwJn/H\nfHrpDrdg+vWj/f/6tFsB5SK4s30twmKcI7F86UVnC8eQmqWX3KcqSGTIcvKf\nU0KlyWuY5ZZzz2ef2zNbQ45Wp94eFoZLJeZ3Cvpl1q4Lx6WeT0LU6o/sOezm\n3plW4DgI1Ehs50cReA0+Z1TL6hhJubQmYiiKOB8dy+fcr4P7mJkX3P1PW1ES\nhbfQ32p6Fka9ZBwV1vfmNbz+Q0rOvStOl7ztIE/CNqz474gBeVbm/DsOXAzX\nDlBYPtiLwxAOgEuu/yIOoYUMPO7fAAtkdzdFA7OHweAsGBQGKZv3DK9KblKF\nojwE+P72JyNZP+nWbCEiz+UTzOzEvVF6PVewxm/jwcBwgRTnH98ahunCXhbs\nkrXeKsVkzcfa9R44QiUwCC+Po8V/ucQG0GGVhPpCS7+EfPpMY7CSZCWSYUs1\nGYtea9cX1FRippEzDkEmwYm7Jt6jVp/Ad9ub2XJbgjqm9rX783z1YCaDgADV\nJFVWnce32jqtO4F0Rd6yz1iEgTv82X4VwJA0MJallUXpsJYEph73SNwxrWcA\nexxW\r\n=uBez\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGp7g8x1vocXGT8slHBy698+FXv7WQ6NBsHCYrnA0AlnAiA+Te3/YhST00LDPTL5pSzgPOicmkTF/XNUnBFfMc3Lxg=="}]},"_npmUser":{"name":"kdwan","email":"kdwan@google.com"},"directories":{},"maintainers":[{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2104150129.0_1619710058249_0.13767813642106685"},"_hasShrinkwrap":false},"1.2105242203.0":{"name":"@ampproject/amp-accordion","version":"1.2105242203.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"dist/component.js","module":"dist/component.mjs","exports":{".":"./preact","./preact":{"import":"dist/component-preact.mjs","require":"dist/component-preact.js"},"./react":{"import":"dist/component-react.mjs","require":"dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2105242203.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-h8cVwg53/xb4UggOlH9vfMTRebZP0bWv6D4eCjMzOcMVKqZ4GcfdtfgrSCI8s90i3ucXWRXCqZA08jBKkRAPPg==","shasum":"a229172548a299937f00b4c8fa25c509c36e596f","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2105242203.0.tgz","fileCount":9,"unpackedSize":286678,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrs0wCRA9TVsSAnZWagAAIkAP/iO2QW5Vt8SNkyNtgxR1\njckiCLypGUCjk78h9Jc+qPaQxd7lq1gV/PSIPrYs4Mt8Z6JKZulE2loNA8Tj\nVS0XFrPYcCWYLgj/1dWFf2lVxAXtQPqnMk9PG/gwtrgNFVXNP6OthTmaCsII\nSH+7ccKcU+evKCXKfIpbChSOOzSmky7dts7RR7XK3AUafWVYAwBm07dr9Mwb\n0Z1vVzLJyA3zD12Nzp8O8qD0AczB8oGv5DaYUQkSOKK271vb0cFtHM9pdZB8\nxW6jkoDbg3bWsoZFsnDVJlgk6oH8E5pzRzLyisRzl5yNeT11NIrUHXABf6cf\n3xJg5Bs4NilSUbWCz3oDGiXxbajgDmkatgs+oF3ytu6eMXp6K2C5dXdBxogI\nkDF+1iKzWEtRRboeZHWmkSFOBmrOCMh6lJgmPeMrj1cU1OA9Z0DwbKrx+nVk\n2Y4JCUuiTyK1fUE0Q0BkRB2ONJm2VlVVrOGNXgDixitZuu9ez1edNY33rf56\nght1wltCpdDBiSH1TlUrGpIVlXnQd6RVPMQQFgy6aNxGkA0Rt8PUDowJ9N7E\nIiHDxn4mC8wDM675MKbgfnodA7L1MuaUZBBMyXc+7R8D7p2XGalZsU8CAjk9\nhX9rowJF4a6wcM4HkeY+P+A00p4cuhRAIxBxair1n2iVI2ECBRW/z0H7H/PA\nZvx3\r\n=l0qd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDwfsi+8zfjDgX74he1u3rxcpZ2mmLPU6G9AHHwOO/C7AiEA6TVenQ/Rcm9FjaN9dU/7bfl/sdkN2kOkD+i89zEZPqU="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2105242203.0_1622068527923_0.4599453170534178"},"_hasShrinkwrap":false},"1.2105270452.0":{"name":"@ampproject/amp-accordion","version":"1.2105270452.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"dist/component.js","module":"dist/component.mjs","exports":{".":"./preact","./preact":{"import":"dist/component-preact.mjs","require":"dist/component-preact.js"},"./react":{"import":"dist/component-react.mjs","require":"dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2105270452.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-lQztgdc4aYuXza9bRaYTMV68cdYFaO0CC1qJYFZjMTvDjci9+WGacqzUUTA+ahYqcpSxvhXnfgExuOU4F9Psww==","shasum":"6ab5e9d2ad32dd57b3550e8b0769e5816a3c2faf","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2105270452.0.tgz","fileCount":9,"unpackedSize":286678,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgr4bACRA9TVsSAnZWagAAN1AQAJwnietYQqNPgsvH/Ixp\nuQhSUbXq5tOhDLtrE8rYUWDF5xI7WQufP75JQ1Nd35cHPS1QzpRPg/Yh6lmH\ndHbTmf5y9xrPflmFWbeQA9jh70sQ6fBZ1eeqpuhRU+xXkc/ST/T3FOgRju+0\nRPK0JB9FtlpYZiCGComEfanh9agvbomTzaTxWCuEdxIJZX4KbW36LclWqpjs\n86a6IVeAn8l2yHE5vQhU4mFz5bcDJ0sg9R9pHPOv09qjh1alJaFtSVgbGsj7\nzyT9AuKbkwdVucvTELPnB51zFfYkqqlCcTaeG/BWpEchjUfjeQsO8OxHYb75\nHaGXybanVsdZHJv6oCf3Pno+xrcDXFi4gyMWfqC1WSF9xqkI5pV6/vpnxVcs\nFIXFyAWkvtk3j0kGE7D67mvz/dL5h8wy+UHZUC41UtAx8T5y6ZpfPEwhfHGn\nnRxGsCJryPWOT+FCqoIE3MwzeRhnoWxgwwhNoD3Wf0IKAaGfn96Ldq/mrWBu\nFX8sqJfXSKS8tYP5cTFyl7kWRfXz7D9cS3TrTf5I2zGp/p4aNYL0LTRnjKaf\niJN9ZDPfRyfVAI/3CAJFRzmHvbR6w767Xx1mmzZxN8bZtjoS4LLA9XGIVHfp\nGBsIZoUCQGaw9gBA3JTw7aujdr73qcn5FKtlPjEBZnfwSuitdQS38zwp1XQl\n/tVP\r\n=sf8n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8SnyLo+N3SV24VluHvPk4v7Jk7Sgtx70p9Iqe0wNoxgIgQFqwycal+R4hE96nw8Qb4CSJAP86O5ks5Y+//f09kpE="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2105270452.0_1622116032278_0.10812417137932706"},"_hasShrinkwrap":false},"1.2105271708.0":{"name":"@ampproject/amp-accordion","version":"1.2105271708.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2105271708.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-OeU3UBZLVtIRHBSkFQXc9NGzrqPVicwPwe9jVGA9JzkKoz2FujT8o3xQUHByOmxg2fSEoJsrvf2vkdKNQwc5Og==","shasum":"714eb12b4f416143ccf0c0a5a5935f157ee0212e","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2105271708.0.tgz","fileCount":10,"unpackedSize":286782,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgr+9hCRA9TVsSAnZWagAAB3oP/045PqxH7hUcOh19Tz0r\nBYSh9jSYT5tfry/YkLP/Y4cSDXJiBQvjvtRlXxfoYFZu0Hy0ELFC7Onw+boe\nxNR7tpfN98W0gJP3Zf3AlKnLNFWDpdUroqJXHrRWzA5yTocS0Ggk6TQmJtmp\npELzYy2hMqjMzeP+6RU6gNxkMin+rC7DP3X2KOe100/OBAlWbBfrism7j1yD\nAUuI3b0+t8eK/Mc6TcOrxIH1I6d/LLg2jpDN2AFEA+PZN0LPSImvnhyZdSuJ\nV7UNKnQPzc8Nc3IMx9OwpNxJYoYLZaDSxBW/R2OhCzZX0EqduSZ0x2SJMLu3\nvOBY2HT5A3KEM7NHoniU3kduMgysi2Cr9EcPGuha8j6fh1fQTOWY9pb8BQmE\nxIRHxBRkECnW0WZknBMXxQLCAl07PrWJ+PDNCKMKtqgBEStN7V/TT29JJHIE\n4j9sBck2XKjnsH4vPrHfF2xbTBYfg00j6asFcNkhDilvL5CqphOz3fkHalsf\nt3xOfUImoMsXStj0tzulPUTS1CEV+7xGMA4x5EO1Axbq65vQzE0IKMtu6KtA\nc1pmjnirDFbgXgD+/Gnlr2jQHtM5I/8qA6ld1zGug5iRJPC+f/F6Lf9Uo+FE\nYRbZi8ARQbzkPsgVPlTrF/6yzAf/l5bINI9IrpiHbBAbvSL/t/NT5c2uSLhc\nbFuL\r\n=34yh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbARPosrY4DtmcVr9WW0r19HTBI4Ni1wgf1aebzgylqQIgH+3D/Zb10DU7z+Z9kaz06FNZ29alNfU9rmVHbsbIqjE="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2105271708.0_1622142817387_0.7177216145018235"},"_hasShrinkwrap":false,"deprecated":"this package has been deprecated"},"1.2105280035.0":{"name":"@ampproject/amp-accordion","version":"1.2105280035.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2105280035.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-OVVS61MNoh54uzqJ8JH29JoG4uizr9Ug8hOXJHklM6foWlO3yHbIH8bkiY/Rtm5hl/cHYd5OIZJYo2woqtGUJg==","shasum":"059bcdee72a2bab4743882ab309fc2c65f0459a8","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2105280035.0.tgz","fileCount":10,"unpackedSize":286782,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgsNTRCRA9TVsSAnZWagAA/54P/jBpSpZOH/Tnw1EnGGa4\nj15VrAxxGRtFM11j6kMcF8a4b8JLJQj0WLVb9yc2UkSqsbiRieP5D18Uwodi\n+/hYXpdGDhN8XuGXhNwSfwrNz9LMEPYxasBzwqYoXqCHr9dMEl/i0Wx9f0xq\nO8LGgOPGx9jlGOY/ri301W0pKIcBEktlADWEAByJ0UNm8jUnbvV9IFKWrcmN\n4PVk+l4XZmmO11F0J6alB31KehezNOZVqftDtvFyHXdpp/wR81Sh5FT0DpIV\n2FfEagRP8KIPZk61MgqzlnM4eO76/sz1PJTz09s5fkGAq1bfNpwfR1Fo37rU\n7Jer5pCOsOslc7HskTd05ejxG7u28cbkHfsYjDpznhHCeZsrzigaIEZItw6u\nNz7r4XwJiygrxV81TXjVSVbEJ3YqhOcSz3Lwelt0tStgF6WkY9HFwYvmhkwT\nNhgd/tvXuxhym8p9nuJHTuApqRABSOdI4Ll1iWWfbwjTKHOEo4QOqy8eZ2cO\n81jYcF/UA4Dxn+orh3VnZFCi0Mp1b0KGHJ2aI+G+qKYNSw5d6IX+7DOKQbv6\n6GQD9rfuoFjlZOtt8JntJCbg/H7RemZCmBSkR9YCiJWSwQI39VA9D2kClS/d\n9hVp6g4Hu1ZOUk/sY+8LiymAdPEAK4niMDd1H6bwFlL//vxz9P2hLMlKsVd5\nDt7S\r\n=g5pD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAcdLA7F7psXK6GtuPaQM8mQPJon4c2ONB6SpiupAg63AiEAp66/pdpH+lfc/fBqqBOv995P/Ujpfx8TYFCv3jTtaSQ="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2105280035.0_1622201552782_0.21448160423965623"},"_hasShrinkwrap":false},"1.2105281634.0":{"name":"@ampproject/amp-accordion","version":"1.2105281634.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2105281634.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-X+tm6tmOn8vwt1X0RlsNzIMa8qi6IkRVX7cuabBv5bTTuDG3QcT/LNZvCxOO0dLZO4UhnqozAplcPXKB8CRjXQ==","shasum":"d6f39f0c55c32030e662b9b3b33341caae0ffc47","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2105281634.0.tgz","fileCount":10,"unpackedSize":286782,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgsiSDCRA9TVsSAnZWagAACtkQAIPvs2Or7RhPiHVgDHvE\nqancTp8JMaJuE9yBgLcc6vSUNv1hiQdooFwRsQ5ER/iJYeoqWAFv4HAc+HOA\nwUuftrGM0f86uuSyUUR9oBtmvf5dXcshQbzrdMuFP6ZvsTKcTXQFKvGXMpWQ\nHruVHvoSxTGGpGHINAMjC47+TXGzsdUwXezFtk0PAMzXljBTLSL6CtKSJbuf\nNhvBxi/Cgm/fv/EqJqnJDTPfpAQmYpbeCHmNa0PjM/7VH6whV/LYAj5O0baP\ncQUpn2FRFHse4BokJ2zSaDLZNGhMw3ofcYszRxGkMtB2oJjEVDjJdblILv9B\n/wVBj6ZpTS5r11h3rS4a6TOEA6N6n8PgM522p13d966vDhAdW1ie9a/clumn\n5BhYh6hE88Ek2FoJMs2o1yAaK99NzygGU7r4gZlnMtKJnzeHSbJHEF5D2mvj\n5WFpQYcih/RLTmJTZWrneGGM/Ihg7HPCev07iKa/hmqIdS9hghXHrY0a6x6h\nkTGthaXL1AXDpmDpswkploSj2+8xdBhYNhpuIsgB60uwCV8ooB0u5Tn/BzNk\n/38eFTCn1Yt92UzKABTn1RSYo5v9hv88wsgNp3R1xi6YoQ8lzhYyKcVJN88O\n/W+eGTCENSgIEu4G2XUUyutpm7o751jgVxtt88IqPm1AdhUEhsegUO2X1ulB\nKqvY\r\n=muE8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICIlHcwsXLFPQK3+lC3sbsqUW4QWkk2zjDFSvwBsQF9oAiAHbXQ77jezx3gTdaYMM3KrDYSoILv/rA5shyJvXvVBjw=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2105281634.0_1622287491349_0.5971976438559117"},"_hasShrinkwrap":false},"1.2106012301.0":{"name":"@ampproject/amp-accordion","version":"1.2106012301.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106012301.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-NgljFgJjCwxz2Xfqsw3QasALLSemQqDJ9yGi9nQAScKmMBJhTm8apDN55Gy1A8X2sSGL/CDoq90e8TYltA8OJg==","shasum":"6454dc88a1f4eda2d6f73e4084e73f9e45e6d239","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106012301.0.tgz","fileCount":10,"unpackedSize":286042,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgt24hCRA9TVsSAnZWagAAW/IP/3k176ww+QcN9rsV28JR\nymZP3OXtm9bs9PQ4gr0xJbhWngi+znaZkz2f4Eyd8STe8A7BSAPd5rUeLAXW\n19ZDgFk5eygGmqvJxbqZe3FjMJjlL3Lboz6vXPi1VVp07/YCyzHuznc/zE2m\n0OjCeweir3RQuYgaPgGunYxoSNKq2mcKB4cH2Y/KOd93pIuaEvvDY+FZwUWs\n3r7yOvEcLjXAG/FNBrQnLPsbgm9LD7lGQ85IHEgEO5nkE7yuYtrJdr3LDo/U\nGFgiPIdrSwJ0LchBVCTJFO2WYeVlqskwY7sA3sxGQATujVPgOQChmKtLb0OG\nQih7ix+v+OETHzYqI41/hwO3+EDrsvw5LySEL9nUc8jglHCFK6tJJRsKF0OI\nJcOi1ziv/abgKeB90xzt/LoAgjjSxbKNJ7BVudq42NETohoYrX0tL5mnpXAk\nvELw/n4WsolhifnA8VIg3FQTqscfR97Ac6DBmU1HAMkXwu3itPJjqawRytMo\nFmEYIM6ROev7pcLkBzVeXpsXhLXG8mHt/ZSMu5djXlj7fgo312rbpOpKsJ7p\ngrofq04epALh2/kWioBZ+lE9ZvTPjcxviUSCV6Iv2AyxcYWGXELsMGoDTSWN\nMuo0zSR2UxRiA53mLVzH2HzC9mVUfWbeF9qlIMVpMz9cOXmjohb91po/Juas\nJHZR\r\n=tIpS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGGD23xPZ23CB8aB8kMoATPSD62AbcYQ0sY0hrMr5whBAiEAhrs7gJJ3BP+75kJQzqn/gN4XnpDbvzujZRXLgH+04jE="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106012301.0_1622634017128_0.015052634485166472"},"_hasShrinkwrap":false},"1.2106030132.0":{"name":"@ampproject/amp-accordion","version":"1.2106030132.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2106030132.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-Yh5MqdL57MuhjmZbMLR2TEApOgUBcXjUnnbxHKwDRg1iN/MfbmjnuxMbt+dVNBra1vPAPnauy6fB3aDsxZ6O/g==","shasum":"039902816c36ee8b3255a670999c254d0d462e8c","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106030132.0.tgz","fileCount":10,"unpackedSize":286042,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguLtxCRA9TVsSAnZWagAALn4P/irumLVJzcwB4gmNzAzH\ngekBmiKCbTHH84nLEVao3hBid5h9CSnyigNqT9NoUlqhtvGZcAGNl74PzIjp\nzqIORkzKKKbCVtDRwfpv1bPupX9XXkp1coTc7CeT3SZdx4ojhPZ2ScXukO2v\neZClnKzfcf5wyEVV7q0hWqpgXXT5x4lIDyz9DdIBih4HG3MyLts1Nq+UHwu+\nSMKqBueruWiiZZaLfUc05lA5kgS0X7PCHImZO0yR6xFwf5JPP1jIgKWR0anU\ndBmafo0rX+HuXz4kaHGJrk3aCSKas32J3UDSIBSmcBB3QA5C3EJzKxxIApBN\nw86QffWYxz74a+s0ENinYUZi5D5oRDs3Isz7qFQ5dGz2Pqsv8CcoKoMhBkQa\nXEBe1rKno+YV76eHMdGFQOXA2qL0pmOE6CWhrE6DAs2aoSccJzw3V1Kptc9n\nqXoKnNNpO7Wkvnytd/uHLv9uEKT5szdi6ouMinksnMUxlIFmMWFeZfXetv4i\nkpvIfpkjPfq03nYsdg34HNwaHX9C7Mx2f2vfYwjVsas4LT3dB0AVD0Cqz30b\n9mz5mq5e5NFo+LbTAs92uMPTCbozgkpUCmbPV1ZYJ6pjV4W8wO3zGu/BxjqG\nH874py1LEFP+9SQZLNV/cnKR8CmAVWmxvsqjHj8UFyuBosOTiulbyoJuEWqM\n0QlH\r\n=FS9i\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCONupvM+oMoVO6AQjGS4KoG3s83Fks2Kd5Gz6XYXM1RQIhANRqB9p1hfFOve6vUZd7V/raKnlPMUTryt/RZpoNRqSB"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106030132.0_1622719345276_0.053938944861988025"},"_hasShrinkwrap":false},"1.2106040012.0":{"name":"@ampproject/amp-accordion","version":"1.2106040012.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2106040012.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-kwyhbLoA0xL9qTd8fxQm7e2wsR1ynvfasBRZyXL/BivGaaf842TZwHjoIhRXha8H13XxE1lNeDUL7uPl5GUPjA==","shasum":"89f15615342907ab47ea3cb26e76e93da2ffe7d2","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106040012.0.tgz","fileCount":18,"unpackedSize":540047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgugxBCRA9TVsSAnZWagAAryEP/jOXWBczVB0zutrhk4A2\np5UODjCjTXurWdUpun1HwmpK0lt+L/AeKwlFcDiFpRuaBuD31TpxOQev0yQH\nmLbqMjXt8gvPIkG7nsuF4uCSulgZk4SgyJT+9xlNiVkivViHpG+AHZtm8nfR\nJ2wBzPpn0DlBEvFNlTKbqqOjv8GSNixEKZullAVD8DLxby2pqI0/95RcQ1wf\nReNoUMw2TFBQ9lPRWIr8eoY6nq2K1bcCK6AEejWlSgmklNgQYAE3hVPSlRIZ\nnX6nMibcRA70nNzfMzW6THQ/uhzx0+Zv9SOB+NlYmWsQ8pWwZCNozHV3DLgc\nJF+Rp4Fye+Thf8qM26aRcrqFf8RGKFxfGn5uaa7aH4SKOkO56JkFl6cnnSE4\nftOPi5fkWE1WeXh8hbyHvFZL2yq0zhQl4ry4VssEnT3Lpe82k1w+VE90RLmn\nq/gj63vv+fbCvadTIaFFNg8B/TJCcxwD1cX5RR8EpVdvCFl3GmcqDu2ng42+\nODwzhiTymcUjK+zD629676SrB7zbUOeuTT66yahz6QxgZf9Beu6auZfV+94w\nrnzLSPuPFUoDe0LO1BcfBapcC5sNCMK8Q22M0QNEUpB7qyy0IVM3PCFX04Uh\nsfMYrFy3d8JHYUai8/eQFnZuYk/XI0nlhp3S8hWrZQvk0+RgvIMDbEO9XVt/\n7eVH\r\n=HtP6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDq1yVO2+OOw5/p66UruO3mVfx8px1SSW4cgjD4giTErAIhAPp9HBGX/ZWwU3jsT89/qiSGcg+qKf281JfXxwLntwwy"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106040012.0_1622805569353_0.037131003937776574"},"_hasShrinkwrap":false},"1.2106060839.0":{"name":"@ampproject/amp-accordion","version":"1.2106060839.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106060839.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-Ip1PkuRor+7vvtH0Joz1V9ZOCJ5xsOxRecdlzDWmzJtghvCGvyCEJEV/kGLCaJXDY7TWTgpMnDM2w5MSEsc1Sg==","shasum":"29cea66f25ac589decdf98626ceb59eba5c03d46","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106060839.0.tgz","fileCount":18,"unpackedSize":540047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvj1MCRA9TVsSAnZWagAAeOMP/ikoTYQcS56xVoC4r1Zi\nPIMpqXrToUNKu5Gnkne1L93+jarhPOHGxPcpni3jcDSWBoW68StPLflKezfl\nPJ0Kp6pYKBnZi/vQ85ZNluayeEAmhnvoSGSs22d2QQgHbOEnEsTfIQoeUo13\n3FHCL5MJzyz20NpBhvkOTiq504Y49O8qtVFrcY58eDhfOdYetU0wrWjJNJIH\nw8o3+fiwkUY4cgWl5oJpNufnUwNPcp1hzLhajZRQs8HRlG6cDa5Luh0HXxFt\nlkRVx/1zTrnbX2qX0rBuqqVGgx4h1Zc6Fh/rf25Q6to5EdJyYeVGdEUkDX4M\nLPC+I3xG3UNJ0vi863SHphXDqFasp+2SbH4hvhjh3Xd0hjzuARSYjibC3trc\nzdm7KUOLz29t7dzgr2G2DvGFqaxeNJgCjeOozsJUoq9BvnM3fW1TWrHki7Y3\nqf9ODuBEUs4SfUjnhg6p5xaE0R0CK5qYey37QG6fEsNsaKL8/HxeG1Zpji71\nyBH7pPwfmKqTFT/ugo++jiQ7JJTJUEkkcUfSS8wvk1ChnFsUfv8t88mtU6Pz\n3tC+mCJgWAX7pZ5MTev4vdp0ExRzvIjzfZDdscy0Dg715KvC70FHc3K4bmL4\n6MCUQg0SzNUNk/HTwQjLzxQojBJwNzA2JuSCDsFFtJBxPAt+GwHC23OVI7Jc\np+QF\r\n=va9F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF/DIVwNYMaGltU8kCdIL99Btf6I8lNXNuf8+wTexkSdAiBwFehsgOcUsP7zl5Gr7gS06bQFUieRuNzR6yTc5b3p4A=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106060839.0_1623080268683_0.7219070522681412"},"_hasShrinkwrap":false},"1.2106072053.0":{"name":"@ampproject/amp-accordion","version":"1.2106072053.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106072053.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-4HysLqUm21a0+SxYo5fHz+pSNgV6T3H1izYEbkK4Jk3AvY7V7IGtXsiAJp++RW0jhaZLOyYB+yXK/z5UBLwCmw==","shasum":"aeffef98c402d5bbc31744b5d2075d20153fa0f9","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106072053.0.tgz","fileCount":18,"unpackedSize":540047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgv6fUCRA9TVsSAnZWagAAghQP/2scUzhuwEGr3mPs+cdL\nvqhXCcCKRcI7FL4waBhkJ9l64AkF76JWhzItsZxr7acm7WwzX/aEK4uMmCN8\n2sAikQYXxuoJlUyYp5C5H2mNvu/R1EPoTDMGBQc5GpJEdInHOBNo/uP2s06/\nnydiRI+eEArG3BVkBCNP3Hv0oKSD12PtZrQRTlSveriZ6d7yhS/kRxQHw/3s\nl3GaUKTkx/Fb+KUuk5CPuXT8LQJ9jZIhMiKa1Qk1GnibaFFEFU6OBjyyzrBC\nXwOpZzbGFC5Iq+wJTcB2QDqVtmK3BjWri3LFjgsXlqZhMJt4L4wDoZE8Pm2d\nydhXU4J4ATHTowG7G7pjTe/m9UavQU2eP0LcuI996yX1rKIX6hz5LP5dndvE\nIpX4mvf0hCY8o3yTPMveIi9PzAVrYPxIhLNhTSuZNFBAJ+crsU/+yCm+fnSb\niFstiqDerOS9yoiIiPI38LlHEdMFvnoa7SF2xDUXiuAaKm3mNU4M3gW/xbgD\niqviKRDi9wreYWA5vm4h0vlKERQkshW0sCstlsxbfnD+ySD3bj7z3R6Q60XQ\ngoHH/QLcCeGyVD1xQgreI3r1xzGKK9UaP2s1Q4qm9TQ0kPI8HWzacFZFlWxV\nF7K8AFBIXa+SYNhrLy9MkxQqCjvw+F2yV+JNGcKPzECMDh9uYsfOpWgm2gFf\nLvgV\r\n=QXfA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDtfpneHiWBsgf5li3bHTR9Z2v8R0jPIX/yRxQUOajVTAiEAvimsDUurwD1OyDqTBDJXDoOZuEuQMVX47/Ia4lk19PY="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106072053.0_1623173076064_0.4225903769631114"},"_hasShrinkwrap":false},"1.2106090052.0":{"name":"@ampproject/amp-accordion","version":"1.2106090052.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106090052.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-s4VRSlCFoP+nWwghTmTSmUlLz5cW8qxzGLpMb5poe7rcFJMOK2w5T6/vvxEhKuvEnj6kuArdW8GVhrev8J89xQ==","shasum":"a920d637952eb146153478b76d6f9796676cd3ca","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106090052.0.tgz","fileCount":18,"unpackedSize":540047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwKUMCRA9TVsSAnZWagAA0soP/3mD+t1cly+gWLqeV1NG\nK7DlHdY21C8LauMjZ0CHME5mc0qDqlGZN/82kHdCVClEFt1z9h1WTnBzvaF8\nS7PdsVv2GsTOLJrNRmtx8s5s9ETN3cR0onGZzfCP2O1T1c+uEFA2K4bizNIk\n9dBunoHa4nRdQ0rtB90TfYcTnj+br82XoD2g16OVj9Z8k7hwYPwlWVyj0kji\nKMF76jD7JKTeS8s6ZhNRIMa+UYAd1P570jQXqhjL+jzKoJ09HQxbxQCAE+QA\n5pRdUBSwMrMwda6h4VFSV4xtvuLSZ9hgV4Pc3MAMlLuy4QC6+bW1CsgglJRM\ncNrhdboJ/BKsUUh/AESP2PAREaPvbkIQe9qkk9jnA/MXEwiNbJQ+CIplGwMG\nRdzUeiS3aZSqkA0zOEkx2pDiZRzI1zu8qGUfboSBlKbhBzzgexzeLfXoCJpJ\nwg1kz9m5mt1gbv0f2OPUffNwXdKHDXqFjZUg8nCL4DigQsuRIsImuNwXIiyP\nEycPpUAJf/pm/TLdLTXzQ+lfZSs15TaXSlkbfB7XQluRdmwPUpdnm2oOwpnM\nhIos/kUnvXKh1JG4z+VYe8psYwee3ltfjOfP+vZMMOvj3m9geltsldvZGFL8\nL8FWjfCD52JHR5DuK//uPV7R51SWh3XIj+3p/qPxv6QuDEu9wGoD+6bmbw8x\nQwu0\r\n=lLxR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBs3P9CmNH4bGwlFj8E0xpw4JJb6+KKtyjKNppkhpG0FAiEAsyWtpEGan8o9jox0R+cqwJxdapAOKMvnnu8BtzZ5aHo="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106090052.0_1623237900790_0.13243427644476524"},"_hasShrinkwrap":false},"1.2106092357.0":{"name":"@ampproject/amp-accordion","version":"1.2106092357.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106092357.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-S24T0GKqrFng6zlhSMI0CjBQpsq/iTr8Y/0k33SEUQb/TRpYUzxcA2qOk3c9UXC8sHg8WfVO75muAUHwLm4Aeg==","shasum":"e1534b4e1cd9e1b1433f0cc87bf19116485e83c1","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106092357.0.tgz","fileCount":18,"unpackedSize":406003,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwfcACRA9TVsSAnZWagAAFL8QAJwxYaXjgTRsPF6u7IgB\nOJ5p0gVh2/sfsg796c+BFqPoGkbF5Yrpip2LyKJoDghYGjvnVVbE2CarJN+p\nn7vSzZJcz+3i+SP5Q8eIB9SBFV87L2DQZZKEexpiNiQLx//0uHmcBwHy7I7l\n4Gs7BvI0UvRoVoYA/XTleqcjrRK2Es6iFJPMGwj2Q1NE6VP6eA1aJUmkSoN2\nIaKwTEDZSHyEbh4CruLZdW1T89Qpy8emCNAEQGwWHpylp+vR3Dk/MTukCqac\nAENuHZR3SiRUM2lYkkYiwsepY6Mq+owlNyxLSF4Aoc5lOPNMXtg3bwOnYly6\nsp0TnAUfaV/O/vwLBC6JJcMF/v8uSdZbDQJHGakKXrB+C8lSk9q8ruGL/5ym\nGfvDP6sNCMbOLcCV8gTU/4+imJ6HYFkutiZRGkAxppXWtTPO9CZW7Q7WL8QB\nbM2r7Cs53tTshFKPbfcvQIT+AYzVZrl8ELl1umFMjAeJi0cvVOhBbESKiBdt\nkOhOopdYTKpd+RcaNeVuYUnghereESZL7kXYVxlsN0d+swFkEAIgbXiNlJXG\npl3fEYJiwdRSXiw5KItlPFJ17GYU1RUqUy0aDavmWh+hSDnoe8TU8cs7Pvff\nwslznlCCYue9M8VnVNCY4ezqgnQJL57WUJnOiD6uH/H8t5AopPufKbx6V7Ha\nPwwm\r\n=idv1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIENKinoQz0ZYv407uWoSRBpN5ldflXBZK3I+5hVkBiwNAiEA4z1jqhF9nAJJLCFzexKG9Pw5s4wlXjfliAmfeLp/J6o="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106092357.0_1623324416142_0.5638614789681304"},"_hasShrinkwrap":false},"1.2106102303.0":{"name":"@ampproject/amp-accordion","version":"1.2106102303.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106102303.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-gy6Af1aA0w46buFtkVgVqG8kLQkk2WA9g9mllFbHK6svIstzdAwEBgAgbwql4FaocjKoXVFJL/8zauhcYT6rGQ==","shasum":"5040c444be09fcbdf99d19c88be2a1fde7acf937","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106102303.0.tgz","fileCount":18,"unpackedSize":406003,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgw0i9CRA9TVsSAnZWagAAGigP/ixSkv1bNKapOrVXQyvm\nnplknIeX0sFtuzfKFZMDSO78sXzMv+2D3SGV/LxfrpnuMjZE1DbltSOyT5Gi\ntpbk8pSbdoAjQHgpgQH9gLoYdvN0jXRPpPcaRBee0tb/jJbRqYWaQxDlBimK\nmrSLP0oE7LgXBWsF3ecfFfwXTFlptbGyrssu+sxxV1TNU760tJdptQgNWUtW\n8hwtDtN7z9xq5MHHZr3sCQ3ZcMy8gnqshCqJHaYZvBCzFznAZXaEWc8uLANS\n+UFSxp7yyHBwTQhZe6BR/YWIkS72AR86antlvJgu/i/2rI5FXh7gWz9L+QdT\nzibo/wkclm2sNre2Iu8EHBQhMBxV9dWOpKct0qTsMBTS25EFI+ERfP+p11nt\njmeqTD8LbntKIjUBpJnARwNt9ArUDl1A4ViLmnSYTweC0M7NZ8EDM0q12Yqv\nNuGFoE4doYt43mhEOhuETIl3j+Bw463VOw7bhQuY4hsRArk6gCI576Eza1Sl\nDGgdwEqWcextx3IhDdSvcblMQOBBaXen0VAiNM7BQY5Ez1RJlIaNZ/d20o9k\nMrsTvkHFXEdvh3FvgDw0kZ14O4FX1Dq7z8daR5r49pgCcvQRhkb96zknC9zy\nWFqxePGKq0L63rPMAOPRcPu9E1WRKAggWBqu5eeLiDrJDq71cvSoCPeklTDR\nFtvm\r\n=EIW3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBcDkV7IGwYWQP7giLf/6G8HiCu49usp3/+2E9R2eCyKAiEAw7aUTohxihknD7GWo5Q2xjWTIrw4wsvDTefS87qijuQ="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106102303.0_1623410877329_0.03962103969179087"},"_hasShrinkwrap":false},"1.2106120107.0":{"name":"@ampproject/amp-accordion","version":"1.2106120107.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106120107.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-+4B9I017nf2nR+I5VK48oj9/6+O3tGcnBgY3LqnSAiv+tdpYkvYA7ohhsndXgTCDgTaCcLMcz6+wZay4c2trrg==","shasum":"7502b8c337512c9dd1d8bab53d434860782953b5","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106120107.0.tgz","fileCount":18,"unpackedSize":405683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxJnBCRA9TVsSAnZWagAAOZwP/1LHTplkP20o4nGArC0f\nDegmEIE5VOUntXzUs0x1EGlN5SXgYuR6nPvM2VpBUKKMiKashra+LaMy/xP4\nqAFctlXvgiteQsyarduUpSU1b7REmXs5C9qabwQds4afIsm5W9LBN5S84N3r\n8ntb5FPxVZBkAskGb/rwn2I29BplSjLQ3ms/RuR3XkH1rmWMSPTXFoKsNVxR\nduDxU6WgWld3xR+jtOvSMejGOpNVLrFcFo6bVBQuSs38AJNi/qZ+c8tdSoPC\nvrhUkVdDtoZXnRzWx73u6lKOB6VhhFbKYy50tzqHq3AHezx7fJBUrU8Hfv5o\nqq7UyNu3G7kMZkTq/HjmW17zhd5/HhmaUFup/SSaBbieI1MFJDyMFs6TFIs/\nixOK1ULriD2/HDdWsgL5nmFH+LfyF7ZZLkfMXM60yP3/i/4N9IxfwPdBx3DB\nf3V4Z6ymvlptSMtgEHD1MCqlrfAVGsHNzvO7neNUPvmBz5b/ytY7pH+i2Dim\nOmYtuWnOJF17HiMHcoOJB1hX5+Mx4FYedR/v4dFAjxogAcYKm73shBo2ZNg3\nN1YkaGTnb59zlS/TLnau8/f1Cb6GfDC9Y8Noo1ti2MB2UwBw5uRRpFTZwali\nCE8/EydwggZteiXc9E10h2kSJW0TODg6ywJO4v4ltKyhGk214JNhCTgMY5KY\n+zjw\r\n=FBAb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMXSMxCq6neSpYsE4/nQU1HirIIcbkltmgtAu71iwKDwIgZL0qlfcbyXL2xAR4KTry024DLXomQ5lLtIWK06iDCFk="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106120107.0_1623497152983_0.7505607339000726"},"_hasShrinkwrap":false},"1.2106141722.0":{"name":"@ampproject/amp-accordion","version":"1.2106141722.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106141722.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-ubYWiTrRvFYdWb5j+NEvHvVtCDCnan2PB4twhPYVAIHJSFuxt1p2npTVqNsMSVbnNY4LOjdwnqjNNwwgLTb+Tw==","shasum":"881b33af84c13236be5e6acfb1d043794aa0d5e9","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106141722.0.tgz","fileCount":18,"unpackedSize":405683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyI5fCRA9TVsSAnZWagAAeDgP/1cStggzLaqmtJKH2GI2\n/qewDqWxBEVLiVsv2mY2pNGlbWL+1w/C10NYuUoUTXUpvfi7fne3xXEHW04A\na7DAGcOpMgd7Pw+brJGWJeWXvRumqKITXHP3ehKR8D1dbFIjWCt8MxIuDvuE\n/uzpqfwnXAZNatzsJ+psata6G2qe/KIYYsf0nA708tv9YyAyYtWWm9qA/fJ6\nfrh8JrgpBjN7v8Ujsxw9/El+jp79zrE/hyrFr6nPGk24xLZHVgc+ono5xRzP\nPA0P1kOgrc28X7N8s0dfpbv1ygN5lqdSGVYMFqwpst4s9gYyVbz5+WmOGZNQ\nSGVb3pczh983I1+l/hZNlyCY5vqTa2vGWAtb5eRpaZ370/INrqT8c93/2C4k\n6SPatrQ4bSbZmtLzWIdZB0FVwxAFG7tYkRn1FY6rSCO8sQpfBeJPZzoaNgdI\n3YPfzf+Czm6M5G+QfmxejE88mNg+SZBUKgv87DyXveBg/dfgCUStZeeQdSiD\nS34mc+5CVOMzjWvAJDZQqdakz6LQlJwRSWCks+HAdbxqagQzHGV6xEu/irVW\n171OTZpPtzup9Y/C87babixyv9T3rQwB8/+ysOv6q+CI2dbOuCCT2jXMcTB3\nM1Cx0SVURkXQJKILxpq2vgNhQIqV0QITVRWgDj70jep+fPy0QBtuOjpi7Hgf\n0Oy3\r\n=ZC30\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfIxngKrst6WlvtCs1UREMsSe/4YHY1/63NiNF2/hcBgIgGOBtgaeuofAvFo8B3rPQggxlzu/38DfSDIutUjGoGKI="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106141722.0_1623756383000_0.6695979593128822"},"_hasShrinkwrap":false},"1.2106160500.0":{"name":"@ampproject/amp-accordion","version":"1.2106160500.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106160500.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-3qxtGOlCRBNhRPGGI3Ak4FNpBqFaMIA2V4PJzNRltTRB6TcnLUdWkfNhxwbX4H5zi1WH1atOKhbG6xa1vm+39Q==","shasum":"82a54b2c5e052457f7a88d92b9699b5525a12750","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106160500.0.tgz","fileCount":18,"unpackedSize":405683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyd73CRA9TVsSAnZWagAAeksQAIVNVAJ2GcxOqsC6kFLY\nQOrCYLHKZfRrERABjBKctXper+tXjb+Dpu5ZJnBkMGI7VDIf/wRZECDBao/2\nG+aAu1DvTvc7YzOJC+v0fXvY3u3+mndQbC1SxYc4sYAT49EJUEVEGHZle1Bq\n84uSbUK6H8xKYyjUgSwP+Fz/z43pnzBVTipWjuxRbrm3mxIqRPbNb9uHcZ/l\nFWoE134iMko0Iw9rqEHwDyuPytuDvZqgeOdrxH25lh05IPzz11PNFIPtdK7R\n/pdtcnkg4fhl5hXeTvRdxWmns3xGyrIhqT2iaW4+Gr57LRv0CVoMTutYsbsn\nM5EwhhSYNs2VgOSGVLXoxuIVFGMit7pfdPAMVm4a6I/1eIUgxi7Ngwb+4B0n\nCNJ+TYwCJeBdgo60FWyvEg/x3R2P6jcBxnflaTauDZzUtCbgUiIH1j9YGX6h\nOX6jW355mwKuLtXYv8yiEJMwQmsAeNj3QBCYBn4q1VKiVDFBc2c3n/OAcB6K\n6p8hS8fNysst9M0/Uc3jt0BM4wV+H+1Gm0uK0TJrZWOCw8RPQ4Bv0jOMttBQ\nal1oxnPcTZl4CtR0XJVYK7UmeO0PjMKLRmWqsL9uf03sSZO04OIUcXxm4MzQ\nB2CNNKfxKYteObMrjRABHQ5GTFcGXXG7zUsJvSrFC0WNg7lKxKuNeRkSlosB\njxC+\r\n=jZxm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGQgEPGqSDEbRrEGC8xV5nrYp6/bs60HmNCjjfLIm3qwIhAJHhPEFDe25z3n3QdnmH9g5vd05s/P1mCAFGqql6k4JK"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106160500.0_1623842550994_0.5893490522591083"},"_hasShrinkwrap":false},"1.2106162301.0":{"name":"@ampproject/amp-accordion","version":"1.2106162301.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106162301.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-wA+W/cU72SC5gsWOtki/p89impwNa5JOWTX0N8ihCJIEaVutdS6azlyo4UYeTOxHeh1Nls+Xtj21w/kAElAhxA==","shasum":"77e879167a29c71078aa37df59d394d89590e66c","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106162301.0.tgz","fileCount":18,"unpackedSize":405683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyzCjCRA9TVsSAnZWagAAIsQP/2TXK31ieKnEBUBlUwXW\nww8i7ko0hxr9uBDtgLeNbgDr7NrO0ntDou6I312+TF/47uAEzEDDkmOPTdhK\nezOUNQ9sAATN/sA51cVTatZLCQSlAVnHLox2m/uYI0UxPFQBCaxXnETY7Uem\ntU+6ibojxdrGEChB/2YqIZZhANr5aGbxiNQgc96WEcgrPjS0SFn/ykCXT3SU\nygkxxhN5zZtDAiQ0034nsIBuKPcCEz3XUG76nRNJtWi4TlRHQrqQgqLd/VuK\nxL0K3bcUiHd7fF0K7JVQweBV5RabduMeZm8gxqzTxrg2MrQB+iWokSFxwFF8\nk6dW9+t2RWUZ3+a71ZcjqVGT1Un/M0RARGpqa1hCj65JR/GZKJd5rFQBbpRP\nZ6k8UBmqjfnneSx5V1GKIqhQZCEhWx8vlJ9SXZjecYdzpfkPT0vx8c0GSMfI\nhEuOdkAGJU47PGIWLSH/UznOOyFb6xaR1ZmU80kfC3H+quX49ezIbIc3L5pt\n8eKi9MJGderYRFpVszJPjnjheX1amPVmKC8PICV3GcsIBhGYAIRkKmzZxtYO\nLMIFXD0H2UnVzaYxO80E8QK0Z7/3HJZgRqFasVr3oQx9U8dth78ASjQc2J3i\nxObplrdVOk75dOMRxCijVZsdRG0MC6EhfDk2Dkd7S8h6+JHP89G/P7ODONzY\nd3Q+\r\n=vXZy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/TmA//WMwn0/3iIH4Avgo/+VgbE9iqr2+NfrqFqUdvgIhAIGESkWsXQfDJ2Y5TPJ9e23tHubev5bJ3DwPsWJd72vE"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106162301.0_1623928994921_0.13763909612816794"},"_hasShrinkwrap":false},"1.2106182132.0":{"name":"@ampproject/amp-accordion","version":"1.2106182132.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2106182132.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-/rRPLWGXUJ1yvMU3lTTgP55SeI8CmLRWkdQtBdhR8PXoLiM6GtIZViH2dTM5JAVyokmx3DmdsK7yqROG6EjWDw==","shasum":"848f0354eaa60bb51377de14fafe668b09e5c81b","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106182132.0.tgz","fileCount":18,"unpackedSize":405683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzdYxCRA9TVsSAnZWagAA9FkP/2CngFQyWk7nRjXzcEjX\nAsFF/ZQura0FZYNnrffWhIP1YxRqvL2khUMHFeXv7i4XbiZLOGGdldW4OVUN\n3yBaA+N+Kh/uUBom2EzkCNs3nXlOv6OZCKE9dubxS/lbIucmcN8rchuAIhm6\nEOeT/6UF9M1Lsl3bOHU5RR4kd/5T+AiY0dbtYz8N5LSKbAmdpsracBWIxWKU\nOKlCWdKkZChfvgu2SqQ9dDmQu3z9ufNAr2ro7Bt13foR+dhHSE62m4M+2Uq/\nxrxXDBh/wikue4hSCqUAxiALjX20HDbaOTEqo+3ostjf1UaCaUoKMkzjFLJz\nBW9ZFZOqxgm4iwfT3IxWVmrrQsYZUGAtQEMg63nsCovUy6dv8DNaO5ExGpO6\nHnrQEogKQykxBlzzpm1wTBBQ3+Xr4E0X5bGb4cUJskmJRddP7UQSyurdeqqQ\nOrr+OdjNdlp128HBIxGAlZLeET22fS9EsZoHMsbZNxF4BGusTUzw3GPk5X7u\nGuAKdhLvYjn10t0MqxZSnCk3N+4xWOcbP0eNFTsHhhHMGix6HPUn1jk8tOWZ\n4kLARXTiANN53NmmsYPxXP1Y8rfc2JXiQnrg+xxM/glY7WAjCMDDkUBH4LgY\nQzHkDnJ56hqSRG7yRXP/hsK22XC3HS5ugjQfz5fdAIs5fVvEgBEECSEa7YUG\nZ4CQ\r\n=tnAK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwx/I61U+FiXkGuAPNhWmMljPRcni0q6rAGuTRH9ljpQIge5ax+qQPKgmuUgZa0UOyTFhfzi0U5mdLd5c+dDDwZ6Q="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106182132.0_1624102449283_0.8183126322742285"},"_hasShrinkwrap":false},"1.2106212012.0":{"name":"@ampproject/amp-accordion","version":"1.2106212012.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106212012.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-G+lUvQUYyStOVB89avuLcItwL09E3Bi6SL+Akw+Y6RzdKOrQvlMrsTUVkEMNazZp9IzsKwApfUYowxz3xpvMSA==","shasum":"5195b4a33ffee97e426c17a11e0a6f58e244fabb","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106212012.0.tgz","fileCount":18,"unpackedSize":405673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0cmqCRA9TVsSAnZWagAA8icQAI1r1wuGjJEUAG/w2u8T\nqplBv9jZ1ECNx440d68ozDUE5JwzcM8R2TvtRKBNPoHbspzvA98UBN+rbcL4\nu8HI40UmqnhelCJhoaQRbeiINa6TawVSS9seIsh3LToKfVS/govWi6frub3j\nUwvv5Q+ebmnISooWvlcEl1+HQnOHLDiV8Iq9fK7fTdQsP+euPeqJM0JARFpO\n7+s3UKAy2eRZoJERTZbZGdlZvThyXMw3S+vVbPR5Tvn1IOC8RLCv6dxnCWZU\nyabKO1YeqIIcVdGzOQkq07MY56/DJpeLVqA5/HU/Etl21sOmp2/311ynVo+B\nVGmtkRU8IdZcGGLpyunDyM7t2ArbBWc86H3EdhLW4q1TfjoTgDM4zoE5wDX9\nWRaRO6nc+fiK/UanvX7Su9Im046s9YsnFJfhRX9iwBuStjfhv1ybYJ4S7i3K\nYpW+40P1aUHQIr0I808ft+697A86a8vz794NfAe4kKIm+E4DQoEV4X9aCRn6\npuNfN1BSuQMrtmXCq/5z+bb3VW0zn4jjGsOK/nxfFgIoVN672rhJzU4LngzC\nh9fmkceOkvYaoZHA+z5snHNqSlbJHcAbauG4JNliO/sQw1XIoPRxARw9FqJ7\nsSmB4CDrvUfKZEsmRKgkauinsbynIU2Phnla045jNP6UFaK5tIUYu3/i06Ix\nWkAr\r\n=xm0g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHaWewGahT51syrclknkWLbCiwkeAorZfNuwJghq1B7bAiBVrXUEpfyGtbtTzpKivv6FWnDe2gCCxYKp/jopSHcTpw=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106212012.0_1624361385586_0.52037472639895"},"_hasShrinkwrap":false},"1.2106222237.0":{"name":"@ampproject/amp-accordion","version":"1.2106222237.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106222237.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-gj81TKWwOWYNX1bJknYYk5dnV82EV5MYAnYbFxiZezaQfFZ2hLNxJT0q2dH6ictKiaprPht7d1VvM+iHxzV3MQ==","shasum":"0f6d7072338ede7a8ea0159db70901ee4ba10397","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106222237.0.tgz","fileCount":18,"unpackedSize":405709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0xyOCRA9TVsSAnZWagAAh4MP/1aJ06GCveySWs8CNHqJ\nbfgadp16633l/Ah4C8QTDQKnrVI1ovgikIDheIQW5s7namxNsO9S8OR72HCl\nIxwmUtG+7jhjLYNQ1pIwwwBQu+ci3ucWgbiJGpz0V6bauVUAiCt0Hnh829aK\njY+1KugbKcNj5IMi52CNtS1dYgNgZiDfi4XheXuqqZX4ucByf/MhyodEJejh\nzMbyg2Q9i8uTXPBRQjnBs410pZf45YIfXJ6ClSLGPLioLdwHm4ZaEJzPU1h2\n0S2GkgDVdA4yDAFYm8xysxtQS++rIicBk/OzyjizuBeAGv8NomeJkVZLDBHw\nOeHXCDEAoupjkkAjpUrlsAGjaK8D0cNTUSoYTWP/9tpUA4QpqW4dJZO4Fb97\nhJEKBwjE5L2jJCsK6L3BRFWLFWkH4Iyj7wwqnavmA/+cG7yv6CJQc9FS22oc\nQ9CzTgbU4fNiEazIco86Odh4mn4j7PvruKzmsC48h/PS3U6x0MbzP+Sw83V0\nZ2I2AXJkw9pV0+0DcgXeRGzfV3A8FAdXRFdIjGxe+gT9xktRDvPAeNNivciq\nnTJmXuNrvq5f8OCyo61AypTfocqQZwHMvVj/GhSWQV3En3JpWhhlmLT4cB8H\nFdu5uO9H5PK0I3VqSW9E8RRaYEhPG95IVoAIRkBIW7hYmQqoxdTEspZpQ1yJ\nFaSt\r\n=JkY+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGx7GlHpjMudLHx34xYsDFBLyuG/ZCrMtcSJxsuQPc2wIgIAj4Z2gy9tHLecPcBhxIc9mTdz9/y7uwjeMzQtoCRqY="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106222237.0_1624448141841_0.39011470852500985"},"_hasShrinkwrap":false},"1.2106240350.0":{"name":"@ampproject/amp-accordion","version":"1.2106240350.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106240350.0","_nodeVersion":"14.17.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-48eG1OBgO+K/R8YOAw9QnT6UZdeFHDyqoeQJXXEmH+jFIaeVfo4niLISFgG2/IWc0ITKsJnj2hTN6UHphxSjaA==","shasum":"5302440f5d1332bf616939402198546ea4c239d1","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106240350.0.tgz","fileCount":18,"unpackedSize":405709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1GyyCRA9TVsSAnZWagAAEzgQAJxRy80Xro2B8k2203FK\n+6bFf6XjMJKuyBG02S/BDrqMPPOBFOaR3waAPuYRe8m9UEFmxpK+QriVHvkR\nKiz1MgG/VkIBYs+YoVf+I9OqIoBqlqrJ7ddx2Nh/xkukUMMBvcYMQSiT1rt4\nXpYHEKvfanAQwnvfbfN+p+DXjvMzg7nJ/0WHzOfV4rbUEY7Yz3hFjKiUwcw8\n2FvMBFvYXe3TqSLcHDiI4URo61euoQ7FZMPys/dgi1xb+pHR9/42bDvPax2y\nj5cQlvbfCvTEDXo7iyFSFjZIOle/s2KhEID08mSIwCnBmS9NRtxesSvIqRG5\nhvNR1aYPgrEKb/UtZL5MhXVFYXJ151OIeUhkoJGtZuEA5vjphArlu/5HiVdl\ndJqLomeHn9Ddjgsl7y13PrOVgvGffSbpR2q2dorcHtaERscJS9f2CGTFLWxs\n9WHspp9gSAGJUbDZ2vlagt4XkBwRIt1IP8lNfgVQeJUUHR0hEgS6c0d2J8MH\n6+TFkSrgu3cZ0znAtLDNqOD73QDH//joePNYm06bdQibnowDgt+P0CDUU5Ad\n2exNOH6uFI24r9Q15tyPn+6QKRFn5D3ikhJuwrQ8D54P1RlHSN5teWPKzvq4\nx9O/OC8p1MaZdkuSmpw3FITSf4WmnsKVirv5AE4Xpo2f1y7r51PTSkocidFv\nFEvz\r\n=1S+C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAUxnM0C6/Pmv/nX5n9ba/BySM6UHfjwCSWzSadlKfPwAiEA/ulvd6NHVTsJnRy3HQsmyrM8+kqbxaWlrTAX54lP2NU="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106240350.0_1624534194534_0.27436240042247384"},"_hasShrinkwrap":false},"1.2106260436.0":{"name":"@ampproject/amp-accordion","version":"1.2106260436.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106260436.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-bQAgkZK4ttMlIgwzKY4sccQgTpzmzvYqncgoGeAE1DKzrBrHXHm+3W9gwNfZHi44WVFNadqEYcSgA9FxPp5cZQ==","shasum":"40dd1cb4ff829adfeeeebc227571d50a84faee88","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106260436.0.tgz","fileCount":18,"unpackedSize":405709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1w5jCRA9TVsSAnZWagAAFbYP/jfG9nx/Dfd7qAbFRHi1\nyggPbKuqjGip4Aa/wEvLlFGTwuDQzTTyFcmPEkl7q/vgzd9azXkn0Nm+eTDq\nbuDtZxHLdXcf/FGcXo7FxQyoS+G95H48vi7bqLAbd0cRAQnSx0wXpbyUcQAO\nTaeBtpE6f1925DF0PfQFj3a8MF8opUQL+yEDh/HlHct8kBDhNy+JSZv66CPq\nRmNKGiUw0TOj4+pa0h5vcRZchMNj01QnFj1IsnP2uRnyGrP4HlXI3wG/aElX\nEVjBTxI7tZqfCY12JYm7CSlECWxLJpvxQlXVaMDAKIvRRNhyIRXMqNBSCwis\nJrD9QtZd/tzFqdgCrOjY1Teguvtu/WPwU5v1RsHbamBNQmsSa8asaqSUR/+u\nz58obrLNE9sYRRDSHPZcQAjHMmfnU4Iiunp3niwznMGuhonRqb1fWJ6ceGfC\nXbRzr+QKzWjVczJotZKKxMYAW9i4sIJWuVGSbGs/EbP8Eh+4YRLa8lIkFOJk\n7ZcpL9wHsadHoPV/kOQBEz2Zqnv/KdFB6rHfLgrA9eIrnXQR3zVL8WhXnZpL\ni6ZieRBL5VGKckjsVZgTyfY/fI2JlBcssIJRQ8ftb8MPoHnhSdHOx/mShNS7\npIeH49NSpuAjSBs6QNA9zOSu6SpcmPrrpfGwqET1krOfxRThp/hDwLX5FzXB\n7zxc\r\n=S6fe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrIaqfcCtoYct0msWaN+hZN07InN3hmfG18VADp3g3BAIgF4KWnf+dG9eh1fTkok/BEKf+1VRioz8p21dyBLsmQd4="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106260436.0_1624706659490_0.6816326682418046"},"_hasShrinkwrap":false},"1.2106290147.0":{"name":"@ampproject/amp-accordion","version":"1.2106290147.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106290147.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-OeYcdWLCr9DzkT60Si7ctFgy9UMZMDNDMr5qbXFumGpW52cxqngI5XB/UJhelWDRLDMxWE8gFH2n+BorAMr0dQ==","shasum":"9c9a4ae0dcec775c3e8622f862b3b79ff75b8563","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106290147.0.tgz","fileCount":18,"unpackedSize":405709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2wVHCRA9TVsSAnZWagAAsFAP/iA4VNCbbt2yctI2CdZH\n4Z8nhVeooDzjBBg1Gzyb+im4wLstKLZYN+1pUVWSJsk7CofkmtHFpaayAIkk\nHJGrY5ZoXXr+YPbLIFVmgSnEzcxDF3xuGkcQx4wjRCV9I9lrgx1cZGPVwOem\nf45zxBzewhTNMRUlM4vv3q0w8YaCXzIKtCHcXHbhG3fgkhRp/UkSZAgzTdIS\ngK7HmnMV0QUa+WyGiaueaqERfFoyXTGeu9Fc1WGQHCX39p5JIUahMeRUwg3u\nJIaK/O4PzDSYUjcwlG+FEryWw+U3KzlJ95A/MyrVmm9BsHcjdec/9AfPEZZx\nec4m2obEbY+qTRrHv80rGM64gNVQTJ2zqhSnwUCziFH+zo780r9DJlywaKbF\nlAHpR1rIxV0GuCNG4MwzIyL5U9XTF/3lr8oPgIK0X7lMm43CtWo6AA4IusKc\ntWsKEl855TRxMf7ef3nwuTlFVxa20EgRweyD8dEcZn4jyR7eA4IzRTEgOuxa\n6k8AW2yZowQOSg2Zt80nBmXdyMgjRXRj3GzXx+TXqBhgYRNbYS933OM5FWqh\nEBWomQWZoC+RmS8VVGnwY9BVk7wcKTvuie9cznW9dsF0OozrF3xhuqLuOUk4\n6r5x7EeE+9N6LhysnOFvtMgCzYDULHTMJUoj54QFpB0d+6T+oYen7Eqx+8WF\n8w+M\r\n=jSjf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFNNmSTvci0F8bk8ZErqym7D6YwqMnJIfr9dEDcrvwiIAiAWHxbCM6C7UPjdU2b+ngFvJP0iDU5YMfjUN1AXPoN7zg=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106290147.0_1624966471132_0.5748860424551656"},"_hasShrinkwrap":false},"1.2106292357.0":{"name":"@ampproject/amp-accordion","version":"1.2106292357.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106292357.0","_nodeVersion":"14.17.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-16K+KbQRuHF7qr7h/jF2KIfdI2C/RN6KwnS87eUvHpJa9ZVh5ltNUAc5CBsTtT9SMCv3o4rpnwewBAuAboswCg==","shasum":"ed4ec217da17e96f184942a96816f84f28ff614a","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106292357.0.tgz","fileCount":18,"unpackedSize":406085,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3FVOCRA9TVsSAnZWagAAXy8P/1Bsi9LMZdy6HnbvVHUa\nxb3LmmLiWpFGRAywF1howVJtn2rOnPaOi3L0fxfBnYsxlPvo1BYwmPeICzS1\nTVSbfotZrGDj/pG5ujaHY5VP2praGvoF/OGN9xxv9+vEByNkf32aOszW5t3f\nY/Ns6kDtqlfzCyvGtJGXWg06G3ksaWPvD1fz0CXaYlAKdbGuJQY2Pec4Tp+4\nM5wM9/ljrITiFBH1e0uPLwXOxXK6zOsfgITCGYH/2BS7qjKa117dF3svPuUL\n/HmSykvWjzX8bEjewEiW2zmiFsdql/VVt2ntPH7jYsY50KuxIJPHJDz5r5VS\nCYV8uV8ShPnQTGYCCa2p0kzVXfi+v1M79FC1UllGDRgvI4m1Tjdb0SvANH1D\nVwnBp/LRvQegKetXg84mljs4W2c2yOzzGY1Ax01GB/0fy057qIZNuxRTxigv\nEKrpFjmAMvIDGtWUPQ4OndgYuStwtu+qVYA0TA3Mfx567IKtF69qo9IF6UtI\nwg6YPIhAozr9xdKRToaVNCzNS/+dTh7vcK8ypyJKhd6TFoCoAaEhYPRFg/ge\n81SJooQ3nzPkQZ9gHJIJV/S44NqbhteFIIWY5mKcIUs+sZo9lo7y03kfxXKC\nIeR+Zt9uFOsG+x3K/YlD4OocnMqxU5MTpDuZdFRGbBmQaVyh+g/Fxt61PeVC\nUFtj\r\n=CZci\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICA6E6zybaHwNQq6VDcOTbvSdCK6FJ8O41UK6q0WhpeKAiEAlgNg/ISKR73UFm1idhZA8Lgr/hPvZLNQD6jbZsZcl5A="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106292357.0_1625052493924_0.7247400483373083"},"_hasShrinkwrap":false},"1.2106302324.0":{"name":"@ampproject/amp-accordion","version":"1.2106302324.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2106302324.0","_nodeVersion":"14.17.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-5wgAHbeEcBr03kyIY3TZM1nK/0XQd7M9Ts6wcROjhMi+qo/gxhE31XnmbmponagwDkSc80gOVI0rMLyvUzJNPQ==","shasum":"0193b9cce6fd66beb14620ecac270e28a9b4d295","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2106302324.0.tgz","fileCount":18,"unpackedSize":406085,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3alqCRA9TVsSAnZWagAAyygP/0kfAUV/tZOzHDh6iaqG\nx3ywvBBprArCxNBbDYxxwNeR6bU/5ShIjtJalgd3rRJzMhwFpmuGl96o+Cxe\n924DgHF5xz0shE1+YMCH3ZCG/MPkayX5TnmfVfWGaLKeBcjLl1dJuDZcQ18p\nP6V5dyPPZZ1FViLn8bShjyIU2eHgK40gTnNjF6YYi/1wq72+6OFZQJR+LRed\nCcGuOimdHdH8vt2httjda5xlCHiADJPaRORGAQaaY5X75vZwotgJQMDwkYsA\neASdX9c20Q2lC/hs9W6HBVtP/xZyBW4579d/iPLjEWGSHfJv3CPK170wHPys\nSCSq3laoy96C4KejICv8AeB1naQYldbKZU+0tae/NEJVIsMvo4qdnfCxqYHm\n/G5LBW84Y+mEEk261O+k6Z8GnbRXbemho0T6dlQDhWaJBi5VnYJTrM+euagI\nqCiom2ccyJCffRzzlsuGE8Ggo8oxvTLpbietnuQKOr+D6p1CxNFgieuIo2eO\nDF2RysWgliWe+NwnwWKFt0mRIXD8z8YFgORnxsSAgY6Lr1R7qXheirkD4SuW\n5ob1kNTgwR+traN+Gl5M30yAvE64DY67XHuqYM4w8mwOYI6bxRCTc40sVyrl\nZvuB6luVscjtoSz7K7QTZy8fpGAR5kw84FsgFpuVEVRyaGgHAwAlg/9uOD7g\nREYl\r\n=92ib\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4qXVM7bhq6WVUfNJ5vxgIKx842PKuikfhI1/3MbMl0wIgXqjKuRL0chyjc1N41K551R24fQRLNYWu2SaIAhoCt3o="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2106302324.0_1625139562491_0.020310632175350785"},"_hasShrinkwrap":false},"1.2107012021.0":{"name":"@ampproject/amp-accordion","version":"1.2107012021.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2107012021.0","_nodeVersion":"14.17.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-v3JgakzanJrJjPJ1oipt9zUdg1vLTvTU9SAmDXjmQ9SUxjnasI3A5/J0mzG5WBd31/tA8qvuLRHQwuj5VtNFGA==","shasum":"443bd1a162c0aefa088ac41a569c2a3e918770d2","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107012021.0.tgz","fileCount":18,"unpackedSize":406085,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg307vCRA9TVsSAnZWagAA5toP/Ay+TA4AkJaAXz4ZkWPJ\nB3GVO5Vyg/SvITXETcfVgrX4NE+FZf0HFOOqsaHNWInJ/8f/WC3kV8FL40UQ\neyLmXpaB7MpGHPAhVm1PB66wvV9keLGLNwpkQibR24qRM+11hIpF/+0/0FwJ\nOiMork7y72e75Ro/omloWOyTGM7bUW4iinrfY1rof8GZd5ul1fGfOh0Ay0Qs\nD9PwqbRGwIa+RZ1M4eUX7fkQ6WwrBNGTlq2EsN8qE1czw2q0EBK5jv8I05Pl\nQhi1OJc3OcD45e4w90YfdwlTTPitS5H+1Wdm+JWMTTBliYgmU12OYFBacvaf\neTwyF1seFWdHfNZzUuvRsOK4pZG+hQHVATw0xG+XLmV4YOiPUq97WggCvzun\nC01R7Oy6K/05YWCHRJZDs+YNZ6l9O6UNl4xZK5X+7nbaps+QNalQ4ItLfIu7\ntCWlwmPHmnMuN7a6VoIge0x+BJvosGY+vACVZhsluA8Cq3Go9EzaARnQ9k/8\nBmwFIACmXPcMl/ARcOw6IgQrcrhxbA/xPze6pA3rJQFJMqIkyhq3EyatPatZ\nR3nnAiT2vMBPScEqw4NNXsh2t5uNAj3x0X/OhjADx/LZ89KGWlXYJAU//KrZ\nLbfvFbfGi71ww4XrJgvZII+nrE4Rz0xZpQdxzVlrSTlo++hAI4BeYVSvnqsQ\ne3Mk\r\n=um1x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpXsPV4JBLtVGgHVJpYLWoGzbQs3qtAO9Bf8epC8LyrwIgJVTQ/8Fz64NB9c6SEIrS5iet6FbWxmZUxp2VrPnKWng="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107012021.0_1625247471242_0.08749198918862033"},"_hasShrinkwrap":false},"1.2107030008.0":{"name":"@ampproject/amp-accordion","version":"1.2107030008.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2107030008.0","_nodeVersion":"14.17.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-JFwayiHQsC6FOi6oBrDOJlUPGMeV7dV5fP7Bsno2HGXLVuYQtIO+dA9z0vfc+CAX1RfIThJWUCSXSO1OVjRIjA==","shasum":"7bbbb30266235532fec7e04da8061c5f2557f209","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107030008.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg4EuCCRA9TVsSAnZWagAACuEP/jKyhXLbJsAJc+YB2tYP\nQdDlYT/zy+OxRPvQ7WwDlQwPszZwU//9WwqslI9/tWTNr+/FhRYYJZah9RiT\n7yue4RmIX6dP3zoylNOENdjc8wQDl1JJloLt5VIE2LLk42JJERDy2WZNuDJ9\nSq7Nn6VL4uypGxHIzWbFJjbVu17NuLcU1oWTvJbQfSje9PaCrcUAVy614MHi\nAMuYNZWQwhUmiFy+w8q5fBZhEJcL5SGOz+M6m/QWQTh3iBqWxG7Ohmde7oDc\nWY/ttIF18s0lxT6J/a4AQ5zweB5cOW3yk2yqTUd7IFukcf6f+Y5F/k/WaL0Z\nhxi8rlyy5DPkY8baD7LZM2Lwul67r45WOGB9jHyNV/w4/D3pPuvYwGPZDAsP\neHFtuzkMPQt3tQFYByoQ6gSdip6VOFWfvRHXsuB8ueU9TApChwMnOgdTWwRD\ny+pOvMOvmU5g6trw42u22SVJYMi0qkGoct9XxRzVOVdot4AdJ13LzT7bRvgy\nT9e3L9PJ4dPuz9khA6MnIEN1Sif6BSJrIjTvqHeIvd+gms+VShLqxraHW29K\n2IvY46sBXBUm4CX+yo5Vv3lL6Q9Rq365FpvlHArRH157LlXOSSmVR258wq/T\nUk4dsUCiscqRuv2Nwzwp2wiX2d5c0EluJdFz3kVaZ4MBmI9iivUftjn/jZ1v\nz+K1\r\n=PfVk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGqXNQsIsEULMieM+rwALLrRFlI2JXEVBJ7dOcm8AEMmAiEA7hvdSzQxqU0Pg0GFJg0w1/Un75L61DMZDgEbxtEvkPg="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107030008.0_1625312130251_0.026796573207437557"},"_hasShrinkwrap":false},"1.2107072148.0":{"name":"@ampproject/amp-accordion","version":"1.2107072148.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2107072148.0","_nodeVersion":"14.17.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-Op7K/YpoDl8qWVykMGy3V7oJkiFXPc7xchsW/K2zCPHwEIpbRIlWC+qUdFRJXEeDJkWx/eh/y5YIg6r1RcdfpA==","shasum":"e3e876ca8eea434719fa284755510c93decc7337","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107072148.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5t/1CRA9TVsSAnZWagAARmcP/1tDYeHwmpUqH2soRTey\nExqQydJj7lIvgfCA1UqJhs8hrwN99WsTIHECMOnPU8MFbsoylxrBmZGg/s4U\nEFmNEFz6FQu15pnqvCHI+J0lQFY6TwUL7BHN59XBJHfTQozV4cxPy07t3Uvb\nfgbACUtNft3Pt4+EZIHzwcncCTGROTNat/b6r9nsULITM8l8220wLov6NPVE\nHekJOUCbOWI9ITgzNkkdc6HMk4ed7KfjTRl5rwzbYOobx6bya2cAGVMCGJhK\nYROroyf2VugncMoGfQOnJifPq8bAPzbxqWVvVGcd8KgUeuLvjuvcEVJauWBK\nkMSA6ZKnr0s2GmsigiSuZlkB0igkBJ9ByfubgXTmEDEvIzPOAGwHpwI1Jlr6\nDEwkQO0emqU8aQLPOCUwn0PkCZQYrGRQDfRBdR7xTTBWLNqpSaFdsUUqERLh\nu3Aa1IqUvJtoNSacI6MBx+uVvxGJG2+qBiem90CnZckP7141TVaZ55+8osd8\nM2F5YL1K8B+1qWeQ1mQMXzEdGeoTE8ggksahEjOWGJdBNIoxzVi7wsw/h109\nhzLceSCCAEH29IDjcr6qffaP7Fdmzke1eOF8oRKyYVOsGHwUoaZFn+MOHxJR\nUdtUjVErCwGsNhIr81kxwiKm7aMi4DuMkLNe0T66YHR4GiKvUnXCj8PY5XNq\nWGs4\r\n=s4nZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDXmEvUxuuRaAp2RNgLd/bhcQ7AKI1YrtVGphZKG5VFRAiBBlZ1DcHR/goc+9mnezO9roU9rBtJsJWoxdLWWAPRLfQ=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107072148.0_1625743349151_0.17800507746253613"},"_hasShrinkwrap":false},"1.2107082341.0":{"name":"@ampproject/amp-accordion","version":"1.2107082341.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2107082341.0","_nodeVersion":"14.17.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-fSlo4tFqQDelrnXMYJlg7PHr0CeXVPesvAko3QAe0+kQZxqssgw6vdwkgGgy/4eCgLqyAItjLAjLQgFzrsjS2g==","shasum":"902495d7a6b45ed000b59fef1356a473f464ff2a","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107082341.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6DDyCRA9TVsSAnZWagAAOLgQAKIE63OnccqE5c83ogtY\nyHiTeoGFH48rE903D8xrFp2tGfFPSOTWbdT5JFtlFlN3oQIskhtZNV8DvPWJ\nzORtSjKIEOeBDOB7vBzaG213kwVCUGvX6yGw4d1QQZkX2IMH75F21JHaEHat\nVAkEUugmJN/4OXfb/ucw6WNkNmYjNekGMcP/U6SOD76EeGSfhNqih0IhF0JZ\nc6MYJJmkqFnlphdmZK+l0UcZKGHngXci+Ihc2pUDCYyF0JGb5GTxuziTIYND\nP+LrmO1OQNjRbI4+MwCo1ThoCqydbbGfVypfM69IrzJmVBg/INLR7IfQtN71\nC8NnMiTIL28D4IUs1VpmtSG+J1qusWEg6BS49iYp+eXwAf1+nTfl9tK68IIo\nIrswJkfk/ECiU6+OxKnRnoLpv2KGDE2Mnv8qf5Rd1Vt3iwh/PGW11OvVuyFj\nuD5IP3YP4/9w8PL7TpIitQRkEpXwhwjn7LAxmR9ygvwdDWQjctHbWWq0vrt8\nuki6CnfDpGfMjKSoeC47SVSdQtOAq58SsW057Se2KblsAhQ+s1OlMK1OQ+ir\nXq6QZiU8Talc/EG3I2XbjqxLA4gZPdRpP2oczhIsHF7qMR7MOp20cmZk2tZI\nMRa2mPXUOa9E8rgFJJgAblG8Z/ThvPm6zK3TDHXZv79E5MIdOJqhxMumwo6e\nBYmn\r\n=qo7t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFR24zr2GEWdIPFhAFU4+vAQFICthav+4HJ/xsUMKwCBAiEA7L/eK4qRxGvBQIs5lXOOyRssyaWK5X819QI0JVDgV+A="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107082341.0_1625829618593_0.18364656601308194"},"_hasShrinkwrap":false},"1.2107092322.0":{"name":"@ampproject/amp-accordion","version":"1.2107092322.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2107092322.0","_nodeVersion":"14.17.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-Wl+JWJ0fOMpqhHuTggNm0qeUl+CiZOQJIcXdCkzpcyl9vLnZfz31iUkWiBMq4ar6B9MMFyqI7YPGojixGRr/Nw==","shasum":"60e65bbdfbe44abc331688bab6a175bc0c8871c9","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107092322.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6YRvCRA9TVsSAnZWagAA7HoP/2jCyDE5kZK0Kqq5QFPF\n8S3zXk4OG+A3rZtB4INBv9yDI2dJ4Q72If0L9tVf5kO2IAwC2QslB2zy25n6\nJSrKq3rKbcQ5E1L9MN1G1KpcguFoWrKjr2l/7Pq1LIAXpFxug0MVLoNlXiv+\nU5zGMU1bLaq/WwTdo+7gxIuD2G2eE7iRRH5qgXmTWRskkLDLyEX4Hq2ZBvAH\nv3JtX4X18BTopn+abYLAVR92ZzeBau4n/BiXv/qidUCGHkaJOiXS4XjwTmm6\nfcOLM94X8U97b0BbO2s6BS8fuoZ3IO/mRR73CYlXoQDjT2AzR9YYjHDv/98Z\nEB/D14fsv7I7cM7WOa+/ln4ZaPHQ5lKd8LJth01x3eajypypkirIoJblNUy/\ng0wP5szjMgk2DGpEZJuX7eM/dMKMwX+IRSEP4/Zmmg1uRgRE96Gw+ZmHSZN0\nW5CHj7Iv6g/CMTnYInJxoFjbM0gYU46qqaGDpBFiNAfCVSvbf37bz0gvMsYE\nuO/5jwxNO1rKKP4N6bGkMBCFvwqqS3iI5YvM3toSHLZz8h9L2z00q55MgyI3\ni2+HTzgPLd9Kk5rt5FIjH0c4ZEs0DgO/FYh9bt39UZM8T8K5LESb/toDpCOp\nOs+6/0F40p+qr1Vi5Y9yu/9ZSVv3EJaB3WDY8/aBqelKjZDphESNLGQuydXC\nS1Th\r\n=Nt6o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkTwRLZUJmBgIYFOguZDTm8QzjHeeDQDsXvs+rwWjucgIgYmTxfbiwRShlx7N51IRFmFCJ5GGsavsW3btrdCjgrP4="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107092322.0_1625916527480_0.9191322933107433"},"_hasShrinkwrap":false},"1.2107130206.0":{"name":"@ampproject/amp-accordion","version":"1.2107130206.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2107130206.0","_nodeVersion":"14.17.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-kDnkRkguKZhtlXHflUGtd/bhk9BrnVKO5WbcdlK9eR/fpDQIwqSdUTSZrJsR8QxFxQOUs8nh5zFcMjWTlguW7Q==","shasum":"ea0e6aaa9587ea57311cf914dcc94fbd41af49e8","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107130206.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7Xy9CRA9TVsSAnZWagAA1n4P+gO6XNAXnnyU6jucdUbT\nNYtGlY5EcxNNpwJkyuE5lDKUL9m7iiDk+DoNJL4Tfdlmo4l4UlTBpMduVqQL\nDg1C9DxisenzU14vsd88tC7QuAlhT+DGoeaDS7tOixvwD2Y4ZCkATH2lQREr\n7miqOkFFEyB1LzJdp11hOnY/zqInlBAOKX8ncEJH4VbPOp/uabZ6Vs8059b0\ntVa1dXzsUTv070LERxSCBt9+wfVuxnFirhU/cCf1FPU6uwK2LYICIjnquamO\nOpNy/bC0I7U29CCcQACdtVGf1LgHJkygrpNRFzfJSvqZyapW7TpZANQMf/GX\nfvFt1CpqjQbMbr4gi3l0O+tvlJAxqlntr0u5OlF9wcAO8+zWpih2HcbdeMG7\nnFufGMz4Evxr/egHJFGJBDcZgtFno73Cuowtp7txSZE8tXFAjAHUj24hKAHR\nv2OWqEq17u4URbHcgT1qvTShsHOQVFsjRh443V9I4Rc760JFhGMsctSVv1VI\n+YuuPSnwj7/iv1j7W8MXm3nj36tAbnIidRIRw+NAJjNMuyFhTJJR22w+ATKp\n1WN1MAq4eXApnz1lPfKYjljGPMIL8Z5EnOWhMm3RjNkfhXOlpCnXfMnFPzJR\nbtj4SisugUffJndhYO+ev6Gkpdn0yHHd1hu+qoMEVCRiwOp5wLrHQZCYmPW0\nfcP1\r\n=73L8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFM9s6S1Kciy4AAbnBgAfBLPoIfJFdBqKYVGbSNHJ53AAiBLRn1JWYlAK7hIYZ2GIPE5hqLRAKOM65qDWC+6X226dw=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107130206.0_1626176700569_0.6890890228292346"},"_hasShrinkwrap":false},"1.2107030008.1":{"name":"@ampproject/amp-accordion","version":"1.2107030008.1","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2107030008.1","_nodeVersion":"14.17.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-kfSFmVwjoqaLMNNl3COxGih0spXsAzPWWH4N6tTUNkbTH/SKo0yaxwd/0kKwbUuAiytzfsu1q1+x6IEIbkM6ag==","shasum":"7a902fe08f7aa1268204f5d33a740e6b1a2b7120","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107030008.1.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7e2MCRA9TVsSAnZWagAAFbYP+wTYiOvcFfBsd+Jl6LjE\ntpTnga22+qUiU6TUNoPf8rUQrLbuTM55MB5bq+yYr6TW1SV8Xcfli6bUKU9K\nhy1v3QOFe++Sjlp0YVKNX6+yZt+EBaBDlqJqu5K0oEv4bFjij1fw11Ce1gkk\n9gzaPbrDwPVRTwpQf0ct0YhsQS8J2x+IICHlx4O+bE8ClAZpycoY3qArkVUV\n5sxBTWY0kOo/SJulDEDbYEWyff4TAy6Fgyw5RVcF3gp/iTIYo5ptaKiUK/ge\nLCGbQm9nf8vm0BZsTeZdRAyF+PSbRFwDxbdekPS8/WJx8oYYlqQFvueH3JHS\nlVUqnA3BVShsv/JWaJu+p8y+afAhnm+R/ZOb3vzfdS+c13K18BvXdjXiIgte\n5MLM9yyZXNXmLdNeS2uttH6wUTHFaBkBs7rPaOGTz4szQ3eJTWRSbhrtAr4q\nMCRCE4qsgm6Qv2ldwTP8oXtNjNtGH136chTQe7PQ/LEbhyZjNmAUV5Luywvu\nukt1rCnL/sMH4wzXHE5aPRiFVtSURcriwR3G1Mp2W0MAjE863NDxFR5oOCMq\nsHLI7xZZq42JvOQwMWw0qaNFFdatgs+hoHkB1OseLWEpUWe3jqP96/XjSzC5\n8Rd5oYyjcbmhpzIUznfKPTxAbZPXpRLyVUJF9beHewmEM9G4aUP7GxgJSDZR\nq1JL\r\n=PyH0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYkDXjorBcjLG2DDSyqeL6JIqCNKL0oT7BCTnuD8tMrQIhAPgruU4nad+CWhtm3WfmQHkm0w9TY8/9kEjrMBDUiDPO"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107030008.1_1626205580081_0.2316395043044417"},"_hasShrinkwrap":false},"1.2107140004.0":{"name":"@ampproject/amp-accordion","version":"1.2107140004.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2107140004.0","_nodeVersion":"14.17.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-nzf69QLYLoVBw/8GMaSlJjX3tpCxoXj7w5G7dpYBTRhN6DSgq7norwWSGP4QB00qnZbeB7faLtgIO5B7CvETEw==","shasum":"9af5568a6409283466669590c43d81779e8a187b","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107140004.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7snpCRA9TVsSAnZWagAAAxcP/RGayyvHfUrD1uycxsWd\nnzioXj/1Zp3XMgnE0aUTeSMbq+mCgSkz8jndbfPlR373hDrUakI1iyTJZfrZ\n+zH7b5gtc65IQ0YlFVA/juMY58VXBuyiuNcCnHrriM0X/wdQzbYA7AnPCR+e\n2grID7lgO6FFODuVBFNdv2ViSIPJ5CWJz+TXr9Y8I2Mgw6zTgrPzgvtwh64z\niLHAlRfmyVNPdRTYBpiJQCN8iYlH0daRMvhbd2r/1CYSWG0A2H4jpmCcrg0y\nI7FmEdLZ91JCLt0sa2A+vG7HNfmHcz7lSycF8ygcn6dCv3x4SZar29BpVqbH\nNdVcVnsGUI0eHS5gpS3DrqwygUqKovKavLqoq/RV9B+YkI5oIju0LvNfmG9+\n8DoNlxvg3kp0LwDqKC+nAvTF8323MbVDNKxt9aI7ow1w6oj5OrMRaxIUD+I4\nHU0sRD2v8gWOdvActyJpvJWXafPoZn2lGgCJfC/zh6gqj1WQdd8hgRyiBg2c\nNzTgvi8Qez0cM6kBg+na84zzGIWyQgDwjld9f+XPpAPR0ju1T3wm8YwnXLeF\nVcGfEnMUzG1Gk2lUUEGHYTJGKhO6IEOUWOar6E0QLjyv0iW+A/UzpIr9O+jx\n6T8kLwLWhWQMESyjpfD8dfAvtZqL+9Z1hSbKGPx9K/1RgYoheY4OR5waEno8\ns/nL\r\n=oFrt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAa5hksYZqmkK+kzlN8lz0lkVqoT8Guokv05BuVzLXzFAiEAgQs3CXoVj47vZ4uemfaIXQGcV1dJ1GcQQzm/GbzFv/k="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107140004.0_1626261993197_0.7594558495310892"},"_hasShrinkwrap":false},"1.2107150011.0":{"name":"@ampproject/amp-accordion","version":"1.2107150011.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2107150011.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-vs01Qo81Fx6goJHG8iFrTXq8uLATy1F2ZF8wLRh+bTqdLCEf/dP7o8hBtBW1KhJbYTmvsYg6vwi7XuPnr+EqYQ==","shasum":"799635e47f2c9cbb45814b3f5aa423fd07b22062","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107150011.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8BwuCRA9TVsSAnZWagAAdpQP/0R4zj9j5nmHY38yUA8d\n5YlA/wKkKuAtEYvXvdCI2s+xseNGnbZ/X8lqMl7TDXUlP4p8PxoDSOkvi7L9\nh854LYjl4tzu8vnIFrqLJcPqmb6BW+LG6aMS8PUkE6L67g5swEmE6oDvqCGD\nN1b8XOppV5o2tB8Yh7oRe5twxKJVqOyquW+4T57DKOZM8TAmRXmbXhoqXF9l\ng4B4/ZFGmm82k3pWxrUIfx8QrK3gsh2G6Rge8/cnP1VGbHZL+DuOBUJhgmFF\n8Gv8OR6fG2J0j1RcW0E2Nr2n/PW6IHLrWPO8LSlRMgneqWlS5RoxXIy1hybF\ng+KuH6Lvvw1M55AZ5NT4U3DE3Fb4FOOFfuMHqgmlL6UX3KR6e5tEx8tLoXI0\nE665nEbO5bJmInYqLQIQuGQVMBYCdYSqarMgYB42bEzRtQRxnQRafAN7YMlH\niLDfa5vopSUhJpQSKyaHLQgDwaZ9ziRWiy0pUvj3vUx3iN29KVknsR9Lwv9t\nu+zDLudxCUT3uL0jaYhsnxYY8uibv1zmwn3svwMLYg5lTP84MK0JYoDrWBYE\nvlgH2mDpTEHWO1VQoHJ4HIOAQ4uZ84ANPJtfNxc6LyWax/5D+FDyFtdjPGTK\nHH6q6l09ZFrysLsCFRUsJADWfLQzUr2DZUS1AQltAjdWmRvNTPwI1tZC+wz1\nwR3V\r\n=M5sL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5tFeXedpxuKxZe07Iqvj098mJ3dDvhoBMhGpN2tuDvgIgChWDyYDe+5yy8crTfk4a39Th5D+G4d91EeM+WmhiwpA="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107150011.0_1626348590217_0.3542252798671417"},"_hasShrinkwrap":false},"1.2107152117.0":{"name":"@ampproject/amp-accordion","version":"1.2107152117.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2107152117.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-syCIlnGegLE3Ip13TcLzfYjhIuolh9Hlq8HmAcjfS3MH/u0lEos4GFnYaYF26s4lIoiQZvIoBDagiiRWvpE5vg==","shasum":"8892371a0a69491c96ff18c7f65bece0914749e8","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107152117.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8Wu7CRA9TVsSAnZWagAA9PYQAJzDev8l/dvkveqmFIVr\n2j1YwEL1dWRE2hPDa+b+Os4QPoyQFBghnbZgmbw7GlYqCDelovemEbqQWRZZ\ngDYm6QijabAV86drUTZafMosGg/nVBP41DoGHt02ocDMS+Pe9aCxX0vCU82y\nsHEl8TI1zzNCEEIPD5WnEniCoZtBfRTWUuxd15MrjfhPI6iHNSmKr2rswSZw\nINyz3pbVQEOxkRFlFmCDU8EIpbSgzKJqD5sy982CsehDJF6HBlJhYYf033vN\nelALh3n0IwFf56Yahwu0+z8evuBmkYJ7BBB54MBQ/dt5CXWak0zKRGhZ3ysf\nt5N7Gdg4otzr4xnJeiGl8G2I0tajU5IdjeB3MLzwuY8pLBfFmKMerBjmH1hk\nuwe4VzhJlHConG78GjYJfYauUIMLHH3duWg0FXdCW2l0ltrwCbJXiAbd2CzU\n5PrdD32okI9uzV89sP7b9kZC0L1P5fRau9pWxMJ9wgsw49+WXjc5hGcvv3U0\nDrshEO5Vplr+Y4b7osEO1lsRvQmZoeyinumQ5qcbHYNbDPfetU3y2I78shgO\nTQQm5n6B5N38ARdnBBboUpf/X+iGlJDhzCwK7DTpzJOftS+KMP8XM8nqUMct\n70R5RtiMPXojZhECgoMr2O5FUGucv67SOlIH1Hv0zppHdXORC38/sIMHftL4\nX0o0\r\n=yX5Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH531GmusvYcyZ7qOsRZRaSgJmDUR3mWIhTJA7ctgDpYAiEA5Yv1A61HyavqPCfBi3eyyphin82kSIboQf8yG6sw51w="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107152117.0_1626434491824_0.9377913842998158"},"_hasShrinkwrap":false},"1.2107170150.0":{"name":"@ampproject/amp-accordion","version":"1.2107170150.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2107170150.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-Sb6FBwwglNrvKWC716/wvTKDedPPjQ+/QaROt9QahPco4smlxZHZ1ZBqIR1prGVKzWeDX5XQALKesnPusm9Drw==","shasum":"3a9839ccf107ee04b3e396f56edcae2ef95dbdb9","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107170150.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8sCvCRA9TVsSAnZWagAAXZQP+wbEtxRJ9yjDOKBUHsBE\nbg3FX23zvs55KceW5jZ9GtyNLTxAVaHtdfWufhNOTJBXFAKccIuMZDvY6OsG\nudl7Nt+0AlHPHu6BNXmfCx/K80y5jWaPB36mVaJj8/vE8pfJT47Vg1DfbkJM\nS6XuzNarRhnZ9SLkqfhb8cPYIg5LZPn2jeNdsxwnhc84fPJtgIIUWOJsxyfQ\nTbZRBM7FIdgibc6tAjNOXGGjKmGDmznReTu7UgUXC4hpFZsYDyhHoPbW/m7N\nwCRTQEsBSXp8cTxItbQdP7KWAYX/mwFskBrVWvccveVABjxY+cgGm/Nnqpuy\nNbiO99VdsQa4/x7FL5qqKfYLmlV85B5KU1ZqVJUBmPZQw6jtL9q3G4BYcrfF\nMnk/JUl3hOFv1p6NPZPqJ6P7EqDYTi47khaEc5JEyEwtWaWl7noQ8d/b7H3K\nSetvQ69b4Vs3ESXilyI0LiAlAxkVF3Xigs9TJOQHoGkUFAz/NYEy83SLRVfA\nOlqQj6/rdaDEgkXoKwPDWGRNTaWuwk1OhB/WTmntDi2Xf4vXa5SR8NK5vt+i\nTzJZlXfMC2rOgck9/MeAuk/zzTJgP9tzcz6TY6euEOzfmwQeikK312i2TS7a\nW6IoOW9EPB1ou7qA3k8Eqxysftf9HvVwkDM7XtLCxnb0pV1z7pWiLg6TNgTS\n+DBa\r\n=XBs2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA+3XSavk1Ve4uGvhvXRZ2P5QksbPXGKQGt/7W9q3TspAiAWkWALYoxchB8hv/34iRulyhKcgrhZPjxWC1vTFfnkFA=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"esth","email":"esther@amp.dev"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107170150.0_1626521775659_0.9586381902200933"},"_hasShrinkwrap":false},"1.2107200040.0":{"name":"@ampproject/amp-accordion","version":"1.2107200040.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2107200040.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-3sRbzBRJNocRCZ/2vNS7Neh9TbGfoFwxaxrdhkDk3l01HrNzX93g9zY8qF8dUwVp+/YUna3PEi/wcLlbm2H36g==","shasum":"f66f46a3c7e0970fbc01313047e051af3adcf3e9","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107200040.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9rD9CRA9TVsSAnZWagAAUeIP/2UQPofBiGofn7cIXoJg\nxsbxXESfZcq6hXqplEHqjnijKpfdMUGy2QSP8wv/U4GqAxVVcrvQkD4D3XTZ\n7k0ZZCJIBFfGFWF9fk8SkwXJ9GWyk9nFrq/TQ45REfFPyMRu4i+Bx5Sjj50c\nu6AnN7oOJX7yU3Ide0/sMyJ9Kh4iJ1SL5zCw9NFbczinpBwVs4FcspGy4gt6\n0VxnADjozKphxvUGP82SqN9HhYJ8cEvZlPALpMqU5CESLEzFFhf6Uca28keD\nYnVnbp0YLjtPYu3Js0zJVpsgkqAPSONqVypVFMfQjEY9W1wTjvdl5CCWVyC+\nemypjxr7V16qw3fx4Qnw27pnTMzxlDU+iEVbC6I+irNGAYt/VG1rc1eXP1M9\n0Isn5cjms4jxWkEzHUT6obvWNuszS5/SFBIb4wf0CtKo7Fna96qyFLLkSSF6\nL10WjgG6CdDtXIISOsFb51ISfL3Nthn6hGnelCW+AJ3Llo6nTSclq99rgs9i\nPnxw/C+D0OswVbUmBhgrIFbUO4lfux3GbmE4BKRrvribytdBUWfqSJ55Kuh0\nEdxxq2SSoGE9LF92Ujbfme8FL0oSafTy6AHA6wNkb7GSBhfh1ZmPH/w4Ca1f\nbAA9GjBHBl5HVCGnCG9J/KiuO4qYjNeGTPDZT9QjrH1fnCMk7KNOdeCIr0r0\nUdBj\r\n=FNww\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEm9fJ1izgqJ51qX3g26HW1/Z/fjEjJarFWNCZVWHh/EAiEAhqP7zmPkh6693TL7BCQvn7+uzgxT5J4Cy5YurXbFyN0="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107200040.0_1626779901395_0.5692050352347837"},"_hasShrinkwrap":false},"1.2107202252.0":{"name":"@ampproject/amp-accordion","version":"1.2107202252.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2107202252.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-Ox7m6swpnBVpGN/7s51Uq8rJxUwm9mqWaid+puIl3xPjuz9iEr/nCIIJW3gLJeVRZ0B6M23RhD62waI/kzouXg==","shasum":"61e7481241aab2a9214fb806ab2f94a0a99b7d82","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107202252.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+ARZCRA9TVsSAnZWagAA9wgP/3yBz3OgqkI7xSm+E3ua\nBpakdUBGL/offsx+enn3P1ZjF6NiSe9kZQvnh4wuYxyQWSdDeu8KC+jmP4to\nYKKLMCRPDStS2U7Xs+Qe0B/OFhCN67MRB2d370yjRe6Csuw3clDqY+/txvRF\n6n9Px6edGyMzl6+qjLsDiEG09vvMhpXIrNMZcisYmWOXvfCYKwo3+lI2Hls9\n1suZI/nCCXqVAqNRRrMbfgj1zXBZsYtFA01q0EGe8rYMn9xOhGur7gvFIx1B\nKXeaf4dNj2GPqVPlFqB87qw420N/2QmfvlNunZll+Y61GPQxRPBW7Czg0HIV\n7+HAV2jJ9EisOEm0qi8v+QCaK+sw9E2uqh/xK2ZTsl8oBkmuQaDYQcCRqBF8\ncEe4jgK1omHv7sFRmJbwKBy2dw3euu08YuMIggqEeapZhYruYjOI9BX2yInC\n5jhLX1MTunBx0Ct1wx0G2UAVJNSN8vkqB4HbFtlxFyE2OQB6ShfHxJGsqNSc\nV0GnHRvJk8ipQhmEEAtghQceFGk16XXIcGK2N6+U2GNBY0rEKEUYA6xvY16J\n8AWYwEpPUF1T3RXmvs1GgRHZFYhWDfb/2ULUflmvcsagBdIHJMk/bKjwo5yA\n3CaDDRivaBXMfp9Lchib5SseUfYNppFu60YsbVplGi29JYerAKzMhX8Ny9xX\nWR0Y\r\n=xQWL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFspD/XDCJJJEYNA1g370X2MKUrWhSt2rqBVSmgeJtqXAiBCw9AMoBMWHfwOnP1au9qt3wdWHiHcz+pDL7PexgK5lw=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107202252.0_1626866777241_0.8409984383008537"},"_hasShrinkwrap":false},"1.2107212010.0":{"name":"@ampproject/amp-accordion","version":"1.2107212010.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2107212010.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-3IevCy/hMpQ6BFyYlSOaFGpR8EczDGYWm6WpYDjOwmO3gYAXHtwCy/R6oUi91crpn1cwbJaX3RnvKm/XYZpOcw==","shasum":"f519dafd5fc6dfc7b4f71a5f7c07e2de410b3862","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107212010.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+aGOCRA9TVsSAnZWagAA1tUQAI/fFkOc5aTke/B5PhNh\nlcd9Wnxv2UxCBctSZvvScMnWm1ufkpI2k00PIE/wMOKDGxlxCQX1Ug78Wj2I\nqEq2LZttEoGegtt304ti7V0U5fNNfq0od5If/Y74FMr2wqzSB5ZXZNspuTv0\nvarluO+erKpm5B51biIiRcyzIZ5X5wYjwjPmdfvJUEnyB/rE0YRqu4meNTbI\nc11XbkuTJE371Rz5mBFCdWSiPg/xmi7zJsxUpJ2bxKAk4qt/+mnM25tu2+Eu\nuAU3D8FKXfN1X3uAuE9kx62dp5g0QKLWi38EvbADga67R43qVmt1zkSlSDKX\n1jRJbXmNo9kcAqRvYJXCriO8j7l/GiAVrGV49hnNSNnjlZ71MMQX45nvz1ak\np08dljCpwprlb9NTKG2nJy/36TOMUku7IUh6g/Ys1wvEPFFl29QZhuZLg9T+\nGT0jEQThdkKIAjZ13m2kuwVFUOl9qjppGVdqjj/GStn+12tvOUypGQdp2bNR\nLqOiOQ03dOnzxip0M8EKGzyRZ1Dh0WPZepVLt039ducErbUD239EuWG6e04x\na1MzGkUnsxndOMngDfsPQhv9D5J9lwgKJu2LtB2TSwgXe8GoGc9Wzr9T+miZ\n9ZcPM+b6UYT4N8DGhR7IKqUMMi1yhgchgEhKzfyJrxpCT3mmLcLkktEmHju7\neJPE\r\n=ehpA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH7Ptf0+Z0ZV0McLgq/3gm9yL/RwxCwUvZX75Tj+Yl2NAiEAhSN+UmDx9eLiRAxhprMQP7U77EH7EO6b9GGaupSBc7g="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107212010.0_1626972558687_0.2356588522088643"},"_hasShrinkwrap":false},"1.2107230121.0":{"name":"@ampproject/amp-accordion","version":"1.2107230121.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2107230121.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-7qKbf2SvlRSR8uPWk7jp03NRWuclz4TrbWs56afYEJby6wQFHbLNW5/OUo5b4Md5qPmzcqOAU5VsnPTH4kktig==","shasum":"d476af919cd6d500c41f93d3b0b52eed13245f26","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107230121.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+qkKCRA9TVsSAnZWagAAfXcP/RhUaCQJ91bHCB2IzjV8\nLwz5PeImWZBwsPo9KGPtiOy6BGACCIO0/AJ3XBfSpPOYNzqqw2hTWnWpcTgS\n16rOEUe7yUp54ZTI2N0W/2RRZJf3c9yYmXg6QAZCYrUZ8vBveNy8xPjkPWHD\noDLTzlYhyB9AY+AYyNe2Vsdvu0n4TtBVvbk+LgHeAd0wOykPqfQG4xNrF5kJ\nxWA6i19RL01kol1NwCpB+NmJtSsJGriX75/J6HSvMQHFzEF9yG7WgxPxJzTc\nWKV/IZZnTdsG80XWKKGrp/g+jJwtles7edP0EmSArexWObDd2j9vLFbt0pcw\nZFHcpomLgIti1mcHXlCGdF1bIDtoyu9cKRjQgQGqma6cEav146l5bt2Ehtlw\n+a8f1hqVus6PqfwG5+jrd8r8toQp3umqurPqhTEst7Xfi/FSRIPNfxb0YLgI\nlfCnXBtzMMfN8GjTquc6WfHxRrgVkQy2ktVkkxKldUao/xxP8ExF4cl+0fB0\nNpzXnuef1G24xhVUQeq64t9N0LJd9gUWmaieolNQwpdxsRJkUibh4n7uBck1\nz44qvyWnZoi7V/2i7/gUiIWtDkFLQb74rsUtxk1YjIOv6CeFvIqtfcpdkURO\nP4/bLyqLBPQIQAMo9CJ1abRgWOsNXCaslWQlt1uppbOR/QEz2UakDWcJuVmR\nHYcz\r\n=cqm4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC82UJIa4UnyCe5gFUN0DicL+RYSdeBjz0l45v7hqhhnQIhAIGcPIOgcISKAHddByvXzVpVZfN4odnkDmdEvcHuDFRo"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107230121.0_1627040010282_0.16651506892318912"},"_hasShrinkwrap":false},"1.2107240354.0":{"name":"@ampproject/amp-accordion","version":"1.2107240354.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2107240354.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-kv1Odubt4jAnVo/RivojDQiI2n6wjdnqYVQfHrqN7amYBqbWPshzW4YJLUTZuizpapkZeZ2bo+gUBhKxmn8CWQ==","shasum":"e2341d3509d0a439464ac1620ee355a64ad62ec7","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107240354.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+/gtCRA9TVsSAnZWagAAbKcP/RL5gzEgJElu6d+QtfMX\n0V948rPqoH67+/TNcTDpktfxkTIRMnEwpJuK+LJLtq3VaGGr1C3357L+HLWX\nYekmG3sXJuLYqLTt9c67z2HjtqhLBaJUcA+vEdsvRdssPHkG/9Hvg3pG7N+4\nKvJPZsB05Uu13CKGcnu6YrMl0wR4cuW0H2lPvoL5YvnxrA2vPZTQjo0VDxWx\n7WxI1CTHMmHuCZyON5y1RUc8BWttR38I7MLCX9JHix1bac+qqmBMq6UsdiiE\nG8u8tg5dmpNzh8vWVpX/iNHRgPLcazea6SzmL9p0jTP6+CZc+BeD2udgTiEI\n2vzdJv9G7z0qMDJ2p8XT0wfYB8MjBSpxifhjS08a/Ux3msZXjJaLjpJpHGEI\n+pOqMNYEFlBs38kzyR6WhurpYaXfPhM2efeQTpYsIuP4KyfIai5dmCUhloVk\nFoyK5IqTr6KfZBD75jJ8Xhtf2slkm5kcz43QNw8kccurVm9ATS06kp/21hpp\n6D+jkuRcmm/qOWPWV4FEkTXg7Yz7CgMehh/Ovzn6nuhfoFc5u7cwxFUiqJV0\nezEN3Xgs1+wyEhYkW5DYCyWKdh3xXclUAdsZb/AdrMqDEcbF8TTPCwSbsava\nZJhpPZQiCyBol4MmVEdaT4J7klDZ5ZB6DCsFJtOuhNVGXnUJn5kJWPCCsec9\n6XhP\r\n=KppI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIERJd3vXio4Ime3AuQV8U2NpGk3zlCdzdkitmgBb6uoUAiBpP3TIvrQufSRj4pOGVvw/XfDMukCuixHsFYen4YlURA=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107240354.0_1627125804846_0.5564626454129045"},"_hasShrinkwrap":false},"1.2107280004.0":{"name":"@ampproject/amp-accordion","version":"1.2107280004.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2107280004.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-ZLgffbdSjSTch/3Q64Bu5GzArrMwqFHs9yTNDNDaOpQjOGz4OzX8MxVf04LiaN1OvaRZXQVh/fxHVryyheQrgw==","shasum":"b31ae634a7ea61af199ed63497daff2a190a121d","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107280004.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAafrCRA9TVsSAnZWagAA1ygP+QHE6o9dPXVAXmOgOgze\nvHzWAiHLc5Y+C+Mye40yQZj0mmHCCWlTUP+t/JzJHPs5B8VOkbufPxVgg8Ny\nmAN9IrkJ9UzPdb3Xk4KDKKwfvlGHo9zS89Xxtyzj9T6h6JQ0m8z4QYBKC4LZ\nlAikD1S3SfLKiOLO4HBVk7Sb5MaaonoJ5qVXW6OYmeNVWS/QxQLulz7dlvVe\nBpZfuAAA807xWFuadlZ1fGIlpOYwtNqgJ1dmdEp2YG170nnYO+JZcHZUXRuY\nW0kFX4BnKan0qxNoaPLfczp0rFIR79ICfU4h4aXVPFGWSoFt1h07fzCZi4ol\nwyXHF8TOA9EzqAK7s06KqEz9Uhdux2YF8ci8kpmoWuhc+p6onl0UEyw0s3BL\nM76NBQ11mJrYe5NThKlTnwh4iALvUOFcu/KBcLckUxQZW9v3puq94JiQiO0j\nRZent934sAMTvFCzyjtNgZVg3N1negzL7gwSMLLA/tmTOC95P+ONEbdd+0X+\nXqC2xCT1DTqyslD6s7pu0cFql2J9Inpp+dmteG8ePrpaOqmMh+KwIzsfuuKN\n9SwwXzRIFU4ruhC455PNGcohoOuMT4uuWsXyIdc2QjwljLeKhyNphTiGcThv\nsYUYNGqBBSfmEBZe2FsrNL1trk5+hpe/X9ZfxHnkBMOTdE04niVHyxhbr5lF\nRIl/\r\n=StPK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEjqRo50Rq2vYI30f03lGZfk/Mola2eDprHK9OB3ttpAIgDc2/8ndOW2xIE5F25FioEA6TTSvkp78maX0e1OW7Nnw="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107280004.0_1627498474895_0.9128357050840383"},"_hasShrinkwrap":false},"1.2107282214.0":{"name":"@ampproject/amp-accordion","version":"1.2107282214.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2107282214.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-amSW0h9jd3/wD3XR7lChR4UYNULrYNThqjapU4Jozong3RDXoC/z3JRGF7m2PbaQgSZY0qBdOq1BC8VRfjOToQ==","shasum":"ebf21120aa0d11491415fb863f35f8cd24a9fccd","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107282214.0.tgz","fileCount":18,"unpackedSize":406093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhApRoCRA9TVsSAnZWagAATn8P/RpCZTBXcqlkghDeYM3D\nD7V12Tb24ttvCoICQ/wvRM6HbfYNBPvbOP/+sOgtd4pwFJVX6Fp0QC7SR2/o\nz2bHd1ORnJzBiFIP4Jka8z8hgflfDsW0qke/7dk+WU4LC2mcyljRU/sPt1Nu\nCdAdxLnHTkWb3KwITLi/ugoq/KDttRSI5FPWuIUwOfi/GZ0T7LyVa/H+dxc0\nwkGJOcM3/lbKTszKwI5BxNs1xy3XIZEDVPBUMf9gjnn2OAOiYPPoCJwYvpFP\nOb9TAbfqMdE1XWbhZX6GRE/4udfekPztWAP6iHUT3GmgeSExipcNH4mWbWMH\nx7fGLm+N78M86axCf7dySUwXYzjXLZufOpTbMMYufuUg4fpiJvlgcjkJ67JB\nQNLFRdZh5j+F48udqqEY++JpPMebWTZJtwnk62zp+lXC0LkMkEAl/S2qv2uu\nJMfYfSQw+A6W8AWDB4m6FigJVZ2W3ZfohzhNMSWc+hZm34FsTK4NQNs48iH7\nxLhz2F0ZA9Y1S38wxehGDkE6SnV3Ap3xhae9du/8UiZO0z7pyl5hpNj9F3Qi\nvn+BhN7YkSEn9h2OgIwexRQtitjdxhPHhifLEfmkxpBmSPW7PAumVoAzn6Go\nzwV4CTW8hFKFteW/BycTeDzFQzOzlqs2G0D0g0LMmcVC6tx9p7zYXgKvmPJZ\nfAAi\r\n=Iu6t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+O1MXsIXcOmYPCaK7vZMAPra6XVhm0Tn4xJqRt/qRkgIgLLjVCzpUPtsrYT067c3whX2xGZF+2b6nNSqqRB971AU="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107282214.0_1627559016104_0.14203712742226804"},"_hasShrinkwrap":false},"1.2107300532.0":{"name":"@ampproject/amp-accordion","version":"1.2107300532.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2107300532.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-3tPcBP0qFVIlRPxFXiriT275fcfc+NPYbMRtdcRj8x0sBoo1sYqdM34PGS5AFxX9X1yo96FzB5reKY485Akqww==","shasum":"147e34ea0d661345143e70f584489bbbe58de202","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107300532.0.tgz","fileCount":18,"unpackedSize":406005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhA+UXCRA9TVsSAnZWagAAIQgQAJj/TdQwkv3OIV6jAAbL\nG1q7MxELhllwCMq8aQWHW2/osOvTcl6qlugLjSuRK1XQf8talBmh8fcF+xzT\niM8cJ5cWNK0TUQNCpa6Ogm09fNXTWNzrxvo7mapAYMTUVE9cOub/fGGDXQiL\nuW2gFJCMAEwqH53CYlReRAML/ZTmIT4KMcIkOBMIaW1XmOcU7e+/wKIk1e6C\n1/juGBlZIhWu/yGDDKAyk4ULD/BI9dkr9+RX9PMybMM5p//brue3B4rpN/le\n3uaA65f4iJKXlTNRSlD3UDK119U2qLnZ0K4i3T686q1/6GwDX8kWHV/2oI79\nL3Xp2ARc5LTEAJl4Xmdb7ndSNNcgQjMyiZuDkMghszmJasXLkm/w3D1/W5sy\nsC+MXDgtjSIYAMjK7+AF0EQsksJfxdT+h/DS8dt/qo1yg4J5b1X5DW32fa/l\nb5MEAz47y6AwRvEZuDpZKO4hDQrK5jA3dxxFKiTVo7ynehZBsYpE0J3Y3IDW\n46ifF6PZIruNmHpV+np8Q9KI2KKIfaVtNQdD9cWDp+Mle9UHXTYSRkvu8+1I\nGxIsKeXH4LSY1DSv2RphHtZnU5cJNX1N23cS8l4zfJ3pQbX0vARkbnAaTmPn\neONYGdhdc5fbDR7+n35JUoksHTS5aFh5vaJ5CGHW/eDAOKpJ6WKDWl/GsWhe\n1LIO\r\n=48ph\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkNy/+3hXIVnpZQEHrTXKNQ889LlZcXUOKSlqDf6W0eAIhAK9Yg10eDFZB9Mgfu1dcfx6CHhbFNkxBINBc30PCJ6cQ"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107300532.0_1627645207044_0.9063674903440584"},"_hasShrinkwrap":false},"1.2107302322.0":{"name":"@ampproject/amp-accordion","version":"1.2107302322.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2107302322.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-S/cQ4fTryuLbHsIIRkFCqIBDPCyTbhSGbs3US7Rv/jG/pfgK8ZteRvzJgW6xVUZEUGcnPmow7m+1juI2y5lllg==","shasum":"fb11afef7ed58f73b622b7bcd0676aeeac5b9f96","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107302322.0.tgz","fileCount":18,"unpackedSize":406005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBTOpCRA9TVsSAnZWagAAoCgP/3dpMilSr3zsyMrePYqI\nnyr3GlSelMdC7wdTCGIawlKbVLb5klWboVns+NgAwiASX/ovd/wRSw3a060U\nOPy4vbjXt58pLsim659jIXGU7powlXJthDRnPLKn7TJ/7kcn3LH/Ayr5+Eju\nuQmQl4l1DCUIyJs7MBQudSqZo/EYE/hQlOGBLc0Of2pFMZvnjkVAiGf6VJ9J\negXv0QPuhldT+MoewhrpL4vNsYjurgQDB3TfPR9rKlXooh+vTVi9TtC01oWS\nj9Mu7bzWWZnyN7eO1ijQyy7VBQQ1PvuvqxqEKd1+0ZEP7WzUTjK/3XyvcsL8\nHec3V3L1sdRyNkdVGAMZsDNcVtPPIQXXzuz4Iis8Yw8UdRP7aVp7D74ufpDR\nd5srbqSDQu0RIqalgKUVTQBEXxJ34wOboLZQ9uvORO2DmOtLTSJufn6ksPNk\n32CZCSDcZiHvl40imAbLocex7+ln8xEmN/ql8wm3FLZr8+lFjg9uHOKfeJiK\n/5Ymu4QNzgyK3tcJIhxjM3JA0cIPX96eUXkhS5xdLFkMNPTgEGuikcNRtztg\n3HHOe3s7L/wE/wo5o/BaejP3RK9T1dFKTD186GUKGKmfgLeVIoBOptyFovFt\n3Y7kYidIZ39twocc2hgd6NS91soPq9ylclBSe704B28rcMjuwLXccj+JjkOL\nFyME\r\n=l7EO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqy/ahetPVknrOiIcgTdyIho16OE4J7Y4V6tCIWoRXQgIhAP/MBPawNde13YIT/aVw3sJF4hY2NRH0v8wh/PW1WcAy"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107302322.0_1627730857379_0.747796601378135"},"_hasShrinkwrap":false},"1.2108030112.0":{"name":"@ampproject/amp-accordion","version":"1.2108030112.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108030112.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-1sA+hUj1IlAWgmZQlMJjT0kw0skqNKxhhYkVF9s+gB8FLx3KUnIdVsyxK1NoJ9II9X4vQnFm5mwZHBPSk/sl5Q==","shasum":"3c1908da642d573f677d04dfc88e70284b45d90e","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108030112.0.tgz","fileCount":18,"unpackedSize":660948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCSuMCRA9TVsSAnZWagAAwJoQAJo7di44Pctms49NGcCn\ncWKOi1HroK8HKHH/AQSuejDW94qsmotX+xh3FoqXUCRypcQR5WgDA16EqU81\nrPyDfAlFC+E5oyOjYJUde//O0Uoy6Hty2SRsLGWLJSSSdCjO9Kx80br28+/f\nsA4F3eYpPFrt4FMNy5dXzRYqheay0fvdH+1RHeL7wYMfpvVSnjSMLYvGCkwE\nWvgwEKdpoAagaTbD8YRZha96c5yP5KA6tU0tdjccEOEcr/7XykTn3J4Z6I9b\n/ET4fxHtsoLYNdXE/Xwsnte8hbkjfW4A5hqK1EMDi55FPBn9WO54Id589LqT\nweIydAx1lmFxc6T4LQvgufnysHRxaKivZ7yZp3F15URrfGJfEI2B4ZeUm7bK\n92EEnMJqLh+9mSkBdz4VRojprnbn2KGMSUVCBBXUciiNwqRwMpLrdt3rRxUE\n29TM6csgadRJ+wA6Da4GvYsCtxb2WiGcQXq31DliIQHaRqeGJXGtp0PiBWGe\n6D7o5TBFG8qEDKyzCbJPX2Ay6k6LL+2So1lugqgWw5lC9wRGz0N2ry7GMsKM\n5UC5FWtjFuLnDP/fqyOlGACL2ifdg89eQyl01NVEWeXirf2IdOHO1zcQWiyl\nZYHlAQoTX4TbtqXLIFRaVdY47TCWHT4aGxNIvXB8ASQ/kuYbd8gQw20tDUoG\n7PZ+\r\n=hRbR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyKWzhUkqrIkzZ9Tv3LX+7onPMmDL9V6Sb5EADDsC2rQIgMj8+lwkUQ8KZ7wmBFOEvN34+K0+nOcLrF+aEe34Tvlk="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108030112.0_1627990924395_0.41770877347076985"},"_hasShrinkwrap":false},"1.2108040347.0":{"name":"@ampproject/amp-accordion","version":"1.2108040347.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108040347.0","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-y79SQ404dYHG/dyuHTtuCgUZSucDt5OX7tx20Oi0b4IA5jHgqBM2s9t3qcGXkVGggmq9d/9IVFAbZDZGNs4LYQ==","shasum":"dea495b8fb09d0fb186fc79ecdb6ef624d4ad4a7","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108040347.0.tgz","fileCount":18,"unpackedSize":660948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCnnsCRA9TVsSAnZWagAAarsP+QCfUxKYRRGfi1Y0kWkb\nPyL5o9Q91YyErNJqCY/mLjqK+/0/rjIfH5lkBfKeRM0qVvljeU1m2CMXj8yi\nCQxyzVmuOJqheIk+QpvhagszFdJIlcJ5T1qkcX6Jz846zThYRoSeGlHOvvEs\neQ5U4YMSPicWK9R+pg7xhB5SJrDdK3gBGNvcL7qhtNGvzKcx4Shh3UTecNwY\nvqW06u3+/xqZclCX/7nRDj+4qeNHrlqk8x5IjXaVcjdbyrTdOiCq9zx/UN1l\nGSez1XO+fRG/fSAPy1hAd/M1JrnTvvvuz+zCRAm5vjfHNcLRoqj5qt4GnQYV\nDsIyBJlB/dRz0+lCYra43OybjSpHP3qYTCFeHB22Qoh04jGDUa+BDB6lRkgG\nVnIYNa0IhZSREUaZV6oer0iJnChXJFsxAfdI3podcRxm6kzueugWewO8Jg34\ndB5SO6/MGUt/fIvpCVl1zKQClHbmcmNNpdbE5tfQng9pFywvJXs4Vhq/5d7V\nM76Bm7KPtRXpQOrlaEaomC69FC61BM15QagleIaU4eciqRckmihdPWMH73Cl\n+Cuj3kBdB93WrL8mS3hu0NaJ3paFVOTmIremw7LwsY78dX8AGsKWdcKjU1Rq\nc22gw/xiXP33OsjYO7vkztiZsP7MRjOuF5l+TJBK9GYMo72YeY9mkmpbFJey\nysGu\r\n=60wM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGPVoxXhZA9LvJlhE/KeGQLLYmVgXUBhFFlsb885tW7oAiBxpv+SaFfh1e9deUQNVeyGxG3Oo99dTIoRXZ5c+3+/fw=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108040347.0_1628076524284_0.3944898441948279"},"_hasShrinkwrap":false},"1.2108050645.0":{"name":"@ampproject/amp-accordion","version":"1.2108050645.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108050645.0","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-jI9hbxYirCnWKGMVnoboUCQBHoMocbp1KpdLkOxuBMP4wW59McY0giWNf4KK8PAruNpHy1CSDwX1cCTsZuGgJg==","shasum":"96780d6077110b1efd51ee4e156588d399aaf56c","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108050645.0.tgz","fileCount":18,"unpackedSize":660948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC8lqCRA9TVsSAnZWagAAidAP/AgZq4HOw37PPBl5qWz9\nJ8ObrF0XTrgCSjoSTAFiLWkT+cgFq1XXlF+v1vJsPr+rPMvekQnmWzyn1vWb\neaQM1t1aa+AL0sGma0VQx9fI2PHwhlr9YatG1Aa4oh3awiUjWPcqBpr2FKDj\n0x4fK4qJMZX6Kt1BtjuNbVHp7rKjEh46urx5YEhgWBsZXsgkulaghJNl/gEK\n0cK4GvnPyqwKH5j4yWlikGdTPt1S/PNAHvq/CNG+b7+xmR6F23WgBbOBj79e\nFa6t2WCotsqp3rbxm2GPuWEZ+EF8MCnGOrEmyvAKSKuFIDQuGyEhvw5znoJz\nCSuRLRHGJs7tdf7bCfMqXNJhcW6WXpYBsD5d02s3cmtm9OVvv/PBtvj6D2SC\ned+SJSCCpn7VLjZ19TQGncHCPiAOcpDiMPBGNxZyNGVCgfNVn7evjsThDmOl\nugtdXe7E8S0gZYsLgyB4APUVJ1KMZm7NJfKh7hx2/fzsjuqYTxE5A6lM0qWp\nPQHY2as+bJEdG8d9sMWIkfvFIngDI2K23M00+/wQPdXPB/ssIf/XmUvHDAMK\nw0j4qzRyrje715GEHiHp85vCIgIzAysA3O++l2jie1DKCQnMukljlM5Da224\nOOxHq8BfkEpEf8/gRhPx/M+8F9a5zsfWJ7W8mq57mkhmsVuZCr2MBSnoOtp4\nx0fl\r\n=fFZ+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHifCWI1KA8PLVuulpHRXeBhdSiokW0FaG8S0Ud5bK65AiBHuQofBujX95PnvkQeIPXzdULnahaxL1vPFL2S2C2duQ=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108050645.0_1628162410634_0.7797732416362069"},"_hasShrinkwrap":false},"1.2108052321.0":{"name":"@ampproject/amp-accordion","version":"1.2108052321.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108052321.0","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-kdgXOBo3g8CDimDT5y1hRZfL2Y2Fk56Lv0orJHiH8pEBuBMs14BtHqjX4p4KFCn6N3kFQXlbBQrpriGOUCe7tw==","shasum":"088ef2cbc163956a0ace266bf467c134e411f96d","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108052321.0.tgz","fileCount":18,"unpackedSize":660948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDRzcCRA9TVsSAnZWagAApS8P/3vL7o9P9a1GjIxMQg/+\nyubxxpEe5viKeCi2krnd2RT7RPLs726VxnXRWPZAgZtDy7zIEvpunEY1M0wi\n2Q8seKLvNmD5rdDgUKcGbbdb+BGh0APDX5D+J68VG3zgWLz21uWu6Tjl2vhK\n8KqBMquf0Z/so31Z1q6yhbfqsBzzPAsId7zjFY/3TukyOhaobuX3MkU/OJzO\nC3X5ouky+rrYPpZcTFYZXwOlgYHL78BjDfJ862nBWE9gNaeHZb/nKtpID71E\n4e7BEF6IoXKCczSNPy+24x1CD7QiiJl5X4/PcMHhn/2hx/Zulos0oCOrWr0h\ns4R2b57CiXEtdQirIszNmLEg8YsFefPFUFyETC/V1U4hbmAq7BqfuSrTan+b\nFeuwqWpKthI1rwvkmg3V+22u5eW4zMl17cq8BFbraX27DGKzYG1XyAkHFMVm\n8eQfIV2DPNxE13McTiHUKzynoZRICSfdDrZXd0wO1CcBQF0n7W8bRD8XHNae\neCFl1LdzMSGkuBFcUXmHJduQp4l1rnvTsohFpLAqxmvFz7sFxlIU2LD+xUup\nYwj41Jv/myFbA5pT35amAdVIUlt0G8Zh7O2B8n5sd7W/9YRBnrg6i4EkpMkK\n7SIViHeNmWDmrB45mbflXxh+4vdaZDMO0BQVpQHuva+qUx3fuWpzIx7x1L7Z\nzmrO\r\n=L82+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCA8oOEdPLS9eHzzb1HNfQWtz4HkKjsxVIcra7Sbme16AIgBycVhudule7O7VVwkaxjeWP1xDdoHp8+Minj+nNxPJA="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108052321.0_1628249308208_0.8695864023634323"},"_hasShrinkwrap":false},"1.2108100143.0":{"name":"@ampproject/amp-accordion","version":"1.2108100143.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108100143.0","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-6dlBIxzpgsdoD81c17S//iHGos6Q3nGBdhM2SBz7c1PhnpUQ+ISGumWQL1hL6KG5uShbaNw2dJZH0JJV/TBtDw==","shasum":"32e1b18e6567848c2ae0823847ad5f82cfb01b4e","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108100143.0.tgz","fileCount":18,"unpackedSize":660948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEmRwCRA9TVsSAnZWagAA7ooP/15QPISUAH9+sw7Kpql7\nQ0XLTc18extISuJqBKMOA+vVeXZ/UQcijMlTawDw2ZuozZMy8IA+Lhv7FTee\njthrgo2sHNX5jRHtnFNWRt70BZGw5N7DSxNPxGBYn5ni80AQQpUuLWl1nsIY\nptTc+6seZqdLEBXSfjLPNXkcPctXgkWEg99I5dJwKKPORHPKN59e+OS3KZEP\ns/nTXHL9f8Q7Vhs5KAcn87ROkArIJ6YxYweGj9HIDVghmXjRTn2aiUK+Ya+q\nJNDVKR9aEHgUgu6ILy2N1N/Tz9aBDzc+3TM9EISFE2HvccZXmlnHEcFGUw5r\nCIkzw7JOuqfPuCzosfpbWgJR+IG0PaZZPBZQNmroxofn954JdRKKn8vxyor5\n6Xpp9rAZZOA7ELgDP9C6vL+NBsXoB/5a4qIgJ95Qgy/c4KcVICYWdPH50r0G\nSgY9ss1tDo3pyhPQh5YpbJQHwSHZC7LppVevODHbbNigEN+eLCFbtVoczDVr\nhPv4u/U4i5Nrtxl22YQmalB4FyGtnMgTmQJLE8PKSzrus9G/9uiEMGAxIb30\n4I+az54M5GeanRfXohVQnUdVo7S+6Y4fzFOpvK94CojCTXLzSQ2KJJZuy+Gq\nqXLRP/6Xw+1xFZjlaNZhJWmxpuQVnsL12hec+oXJpyqEzmS5tEVxtNJbKD7k\nHWaS\r\n=SsQX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID6fbWmsWSYwy7PWWLDUA0uhyT53pzjh8EfTJRaW7BMyAiAl9OvWcce1HFyBej4DUYlEyuwPq4W7O73apdTTLUNHyg=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108100143.0_1628595311855_0.24171002893621085"},"_hasShrinkwrap":false},"1.2108101942.0":{"name":"@ampproject/amp-accordion","version":"1.2108101942.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108101942.0","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-UDCUbjisUJ0ss30k/4w7+sabNBKCnO5bxaHOwmlzFL5XqzHZmdjpMktt3OVDFU67+DfPu1MUjUzWGbsanMjwvQ==","shasum":"02d85db11955f00a27f010b2f6eccd3360c7386d","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108101942.0.tgz","fileCount":18,"unpackedSize":660948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhE7nFCRA9TVsSAnZWagAAEb4P/2pQR9VFcMuOnIGE8CQ+\n+PiKkqLXIAGC4LrPizV9AnKXYc0WhVHdOProgLtcT9XERHqZt2ukXyANTLu7\namTr4ouimluAMiagdPi8o5hMBYgGBLouAtFIiy7cIDMSbHE9Z3SS1MmEUrLE\nXjr2Tqjq4dS1gojdf6gG0wzapiD+TUiJ6Wra6ZZ63QUEg18zT4E9MnF6d1cl\nc+NtntQatRRDadGse248PvMjaEWMoPskBzO8VQGG1A6ip4GQ+5Hy98GB4LVH\nA5LfmhkcYrmDx67R01NqHDuMoNVqFC/cf0axX0vbXZ5Vz5rgFTujreLaTNUr\neJwoFA1hl3HhrKOX2AiB/wbbV0sey0yMW5ZEFWSJvQW98EdDQCVHicXt3mnP\nnMsVj8RxzURJytG2Sp7vrSkYOTGuB4js/HH4OpdktRw/WwhEukd95VdiBtq6\nK0NwW0fu8jsGJg54VFulYiATSpSEBTrQsccSsuXfbYSwIUeBDKcpk5/6gsqK\n/Nw9sChGDxH/0X19d2holc3g3UYkvY5S0NOqDXU1YaZsyd3/pxpaoSStVBnl\nuYge1Trc3nS1bXAGzGkfCfnycW5hBLkjamf4xrGU2ZEtsJlB6ZuIlhJqLCLi\nZ/J01lFGc4Ya6ruNilRVoxA7Iw/MNFk9TYQ0WBTXJ8A0TXsu3MKjGZO+uwKR\nuABi\r\n=HK+S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6DLT2XK5QG2CcSl3DHgxzdX42xpUsl7R9RtzY6mBt3AIgKeq5+0qrwMS/4tEeI8Bcn705pYwfLNJPpeW/JkpBWVk="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108101942.0_1628682693254_0.3338993499613261"},"_hasShrinkwrap":false},"1.2108112212.0":{"name":"@ampproject/amp-accordion","version":"1.2108112212.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108112212.0","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-00rcZhuFH5QAO8qVdGIY3yZPUOqrDxezNlnx4wn5gkcgrNXeAwgNOzZxEBHUMExA3z6UZPT2h3rEWw/ntni/fQ==","shasum":"4e63fd46318e0d952e019e603b89719a231f0648","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108112212.0.tgz","fileCount":19,"unpackedSize":661230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFZKSCRA9TVsSAnZWagAAjlsP/jLw2uGhIT81TyadKnwT\nz1pUpccXxH3Nc5wNFVxKo34UA55IBBg5oQluADubaE97e0H7UIW+qt5RzE/t\nQW/lsQGZcU0+e4kf6DGUYQIcaG4Ay2+AnnJwc7ok4Sk+5YTuSlcLCLYXtxxX\nAwnsBEoWUlxia+5ePxZ9nnNssrvG55T7nrf0fR2gv0NgtJuxco7q310CA8Ha\nCxidA8AHBRrhrx0NkMU/6wkXIRzh4vSNAHxgDstXaWdt5u4sw7Of9KIDpZaa\n5hGJZwerz/nDVWG4lBA3fKEtSIQFc97bjXN7qeQSGTS7xiDo6mdwyNld+nVc\nFMxl1tyxnatHUYZHom7olUmM5Dk18ERWUCaOXzn8ynOjeUgpLxBSufEmIb39\na4i5KvekDlSksSIH8BJHhhshtos+LOhCjjEstB2e9/Y6hV+bcwQ5cfXXHpc0\n1G6revbv0O+w5HOqRT/DPumIgktvTfI60B61saGQJ4FRQivsgkZ80tVEigHy\nFCayheY/Pa5bUe5QmU1cS68YkNHg0Ot9IQFHhASKxwz4mgqhUJV/fTr5iwis\niTKh2KMq7i8L/JOoBED2t8+yIR4ksJyLKfgQY2i665tdqle7gMgXbe8oPLwN\nH5kTdaM8q+rTsNwMS6pAOrWR6PMfyTYcw/KjUr5OPTi94I19uZDpMZLimCr/\nsl2E\r\n=2hgg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHIVQ9crDINi91t77ILWluqDy7S33iDrUgTuq082fiv4AiEAu6p/17IbH+bbulbCwMkpiIPg8SaLHBcKa/C3Qg8pETo="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108112212.0_1628803730489_0.523636689632178"},"_hasShrinkwrap":false},"1.2107302322.1":{"name":"@ampproject/amp-accordion","version":"1.2107302322.1","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2107302322.1","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-2kriFBmThZlqXKCOrI0MoiwaTW6focojey0m3HN5muGsknammLa4gfUzVLUnc59aa62xvzvTtg5rVud/5vlNfw==","shasum":"756d7ff3a7a7d7ea498190d150cb0fb59cd6da31","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2107302322.1.tgz","fileCount":19,"unpackedSize":661230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFaRDCRA9TVsSAnZWagAAse4QAJM/x8VOo8Es8YsqBCD4\n+Lb5MG7Y5z+pouh1+zANW55qtk7m9c1mSWj9YTUVsxsCvhII3S+xghKA9cHi\nBPIpM/UFKgy2LuwKX2i/OkYMUb5pJryscT/O0HOeIvFf0+Us+cuMrWwv8y2d\nMTy0RM6m5fSqvgylXOYRp+OvkZNJbCpK5rIzqYjYcsS/qk1mWGODUYMy4pom\n8vlIYSjf6bNGCXNcbnSnW091hnxUrR1A/WZeOPdLrR0kqyie0e/kRV6g+t+s\noAgRi2QBPAR96YzKMgpywCwkC0GdfHlzN3+w0Q0OAi+WnX3ZR+9ECK8wXfWC\nkBpsE2jgZtckUrDNas3NEKSww/hW+gNgqVwVetYLGiLz7DAaD/2ZJJerAoA4\najWVJmAB324UFT+GW/pC17aDkBe0dM22TDfMDOdQUheefB3th9uTgM8djnHj\negihmscAXPF+7o05ViND1+CAj2SDbLaOAvg260G0GafEV0y32v8qh+SHtQcD\nvhB7QwWL+yGXZ1mueFF6NmqdNxPBK0feZaD/riohGipIA4M/a/f6tgenOEh9\nshSQuiO/zo91rftSKMoyt8bKeJke3aDWo36LKTeShRjWb9RcSibUfcK14uDC\n7RR+lOf/M0oHmxz7WPwIqR011qUjd+a5XEMvJ3glTyWk3rq4MdHGZPWhbt3J\n9JLj\r\n=LXrv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGSMyfB0SqSxx8HE24avfwAp4yQmWUkak4397J3H3rZwIhAJSxY0yQFPIhCR3DWzIfsnHC97bf8Nf2rqWSfbKbUlSJ"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2107302322.1_1628808259500_0.8291583443227009"},"_hasShrinkwrap":false},"1.2108130315.0":{"name":"@ampproject/amp-accordion","version":"1.2108130315.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108130315.0","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-5DXO3I2xUD3CTop5SnegkyfD8CWj87ld9TIa1Z7Rn7Tk+0KvjEuXBmIlUAzcfd8mc5MOFKslpCK3TV4tCX1tXg==","shasum":"981a4007bc74137f4ac81346a9d1a54007f60f51","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108130315.0.tgz","fileCount":19,"unpackedSize":661218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFlj8CRA9TVsSAnZWagAARHQP/jSlY58Q6m4shMFOQlxD\nNbvvvmYSACJ+PVXvHyn7UPwoUSuhFHnRBXfIdhkt8/zPDJ88fijqrijy0W6j\nY3ZIMs7Y3Q1lsWIbkklNlppf4QV7UNtYHMK5gW0vLxXClMA5erzKCFGPf/yi\n7MkRBuheFFyykzH/OfNNhTuKzCvo3yhhbikjXnlq/vcRUwOtFdK4LKvg7GRH\nkUhoH0RuOaI5aR8B0WJvWJMYpCXJNMednCfXNU2+lBqeAY4YVu+WAALBbYrf\naN9wHX/xjKMzA2D/A8YZbQ6UNGGI6unVvsBqdqHvQkTUBQIufssDX8Ps6sig\ntADFQgLgvsJZfRusVdIoYKYiI4pSentZ98iXVPS50SzoBa55eq18QGK+YllC\nxlhffbGYoXbZFhLPQ/R9bgg2/sFCHBNBIZYR4joUDdZ4Opmjgx/nVcg1exJV\nvLcSSSknBh9xtxf4cEoiO0IU5Er+KNT9jP8E/rUF7AbusuBmCj90FNKqu7Ay\n4tJJNh3/FKIDjDvqqo+XIdi4B95Q9vrZbS9egHJD2VljlHYHaQBBlTsZHKud\noK7F9kco4FtuLi+u2HeDT9gx/4uWE7SMXAAU02E6z4/1yKeywBiqBHiSNKOK\nDM3y25+T3AX2MDudp5xy7iYsKma0iyh3y2sAAiBkVJbTLYT1Z2gkDBwXcaKT\n9ibw\r\n=XW3C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEvDmJcRie1PXWV1EE01ZCbLU4wGLl2s+NnwypSG0QcDAiEA0dFVfoIpaTID8sgGd5qph/KUy9kEoPXkQrp/3C4/GbM="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108130315.0_1628854524026_0.617979385641914"},"_hasShrinkwrap":false},"1.2108132216.0":{"name":"@ampproject/amp-accordion","version":"1.2108132216.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2108132216.0","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-WaT3Spkv4cF5hWfnJZEZ1jF0Q3ixb9BEIlrV0lTo9ykJgVDFFAN4ajldyesB8Lj2fkJAlFn9Uxx44Nio33hPLA==","shasum":"fa51a646744800adfb850ba8e3ffc8666695d49e","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108132216.0.tgz","fileCount":19,"unpackedSize":661262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhF63/CRA9TVsSAnZWagAAMLAP/RWKFvmscaVrwcO8Knl1\n+WgzbyGft4Kam9aizx8uWYLKNpq+PknMkYrnCyPccF1Htg7HqITJaAzgUpg2\n9r4WdrJii1U5dgATTW/vzisaAjgkmZ7nJEGuVluGGf9HbIPVfVRskbzIUkIX\nUI9dzUbQvPh9NnIkRUN+hMDxIgNhEayL6exoxbJdndJ0E66tBstoM8KXLUQp\nr8tL3uFTcCNGslQ8yBxUdjaKvP9tpXcNMMapK6VbV+PvFzNvNDjqrayKuqpC\nDoUa68I51Vp/B47o5w7mLM7lqR0wi5RrpVxneC8JNJETGouVoOuKgJGkEool\nG07yWiwXdAeCUGh7eBgGLCm71jlc7c7aE0n5k08Dl8D86LkJIbKZHuFMCBR0\nsQZqmoH2edRmXaLBazoZ2sdjkD+X1oUq69pzIEpxQFEMliHQwzIbygyE8S8p\nDX/OFe9U050wSkrD6W+At0hEm37sq95cCDIzJLS02/kW2SB0n1rkURgIhSSF\n1VEydUcJkGIlHCfvTwsdGbF6HQ7Aw0izRb7t3bU74Tp7Apbam9Nr/zdGB/hE\nxw5PGascsRyYv1gSxVaI9CFLjV4nNt8cEFHNeB+NtYXuhwTu58fGPoz8YbjP\n4Hqpw3Rxcq3+TxWBp+GPIbPto9mFEOeeGAyDZQJ17FPTMiVms45AVVTKGEyc\njY2v\r\n=bLxv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtlQalDnTr6biklZimNVB7oVeodJ/pExKIhCsSTvE6qQIhAI5T7coQ/yfB4nxSbYBrCWddwWJ8DNR0W7LMQZbGn5bu"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108132216.0_1628941822824_0.0563938386391869"},"_hasShrinkwrap":false},"1.2108170213.0":{"name":"@ampproject/amp-accordion","version":"1.2108170213.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108170213.0","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-9m75ORzM8rBSGZQTrrEkcvXzjESQA6kIgpIu0RYTxNZ2pxgTXrUVmkBXIVx41spTbyVQFEiDFrDtEUEIPNfS/w==","shasum":"d83528d366fcfdc63cb83b5f1bd259a339907253","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108170213.0.tgz","fileCount":19,"unpackedSize":660950,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG5w/CRA9TVsSAnZWagAAmj8P/20jqLUENbMxY/njbLRh\nEWtWCFX9MAlGUY2hjE9WjG+sKEZf4VVe2hiFYhh4LbrAGAVDjcJbwIc4n/A1\nQ3+yiCWLH+TzUWmbcgJJjH1zcC+caSoSNY45t4kC/um1Q5ut29iLMn3jwlWS\nwnnvtNfpAA050f9e48CGfJTXPxzxJiL3GgwXBrbsJVzl0J6hD7pKo7GnYVxU\nxrAZ6XfdVv9vyB0KZKdCpQe+J6ibODfgL8lRUUt8ERjLW712Jv5P3pw9IMyZ\niPtAvXsKRtpO0GaR9PBJUM6d7SQsR4d4QTErvybdz5w9+LcPVaoDvVlDkEbd\nTi3ZAvkl0ZaZ7xv51MRa6I/E5GbD9/PYU2pIdDvxFSH2cBmhYwhd9g2ehSfU\ngn0PLlRTGPJPzbru/pfw+aEQbc/tHxhsMkR4gjXqsuxUQ2OLbDrRlBEVE/FU\nWdAPwf1ze9mQJhOBRT54MfqBxRbbLYFunLZt2nkEW46tF1z7j1MZBSGqoBre\nH5t5ff5z5lJWOxYEusE9AGYO8DPXEKpY+2++pvrgzYAJO1Z4J3VdOFThnHhM\nvrw92IPpUdu+s7BD2GJep9oIOjk8Fj5bifD3X2Ows8CnGmZka7I/Xwykpj6t\nExOi1e1et3Q/afpaaQfK6nknIomsAbhsTkAFgUj1Rou6AsNzJU6tgC/hI92H\n3U6s\r\n=6USP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCP29+SKe3z1pfDvO0DU2lVoVWJDl3JWZfT/ybJmg76TgIgGJQbIGaNLxTuSdpwRTWrfjZi+I8nRTawFlGLaV9L9Mc="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108170213.0_1629199423629_0.8416775509165817"},"_hasShrinkwrap":false},"1.2108052321.1":{"name":"@ampproject/amp-accordion","version":"1.2108052321.1","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2108052321.1","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-yIG/bTxW+tezBc/f36llYQ0zI/dppg0p6Sqpfk1hwvjW7wI3u/nnbNA48BdBl5z3Q50qlcp7wuqTQD0hXizIaA==","shasum":"300d4c3a7773e26335bb585124a2f89e5624aae5","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108052321.1.tgz","fileCount":19,"unpackedSize":672382,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHCO6CRA9TVsSAnZWagAAmOAP/07AAS9qZHV4eDY6oLQf\nrhAuuj7Wxc+/rW9E3YrzuCsf+9hZYFJwr+FSNF6R9FQDuq5853JQAMHd2eI8\nmprxQQ4FPcI4M3inehSEbzJitqB1B1Tj7EY0zOEyawhut8xwDrioZGAXYr6R\nTClW11q0/Gdx5bUTVEYaXFt4o+ueIwKRJoa/ra/Yj514ult5mZRLWjL7TsOt\nsfJicZZNWnmzKksJ9HWfXTyglDWxiPwsp1/3tPXNC50NkU28YQpFlK7ta/wc\nftcO4LMO0M/jHN2ut9WYm24IKTVtDJ5Fy7IbDy4CVUdFqarr0DlKtYZkaXk4\nA3CmIfQzL+YqWaonuxZkKCtoXgMvb+T9ZZqle54AgWI3TsUSj8r6N/pmYA+q\n8Zr4xyvK2uLdgPH5jR1Bkr3lL+6FgJYs6l3urxxb86VT9rF/h6JeFojTJxJK\neB8QzTnhtbteN/0566m/2+Px7y343BwiVu2tAOiGsifK0LUAbe8PKRPy+op0\nepFNVY4DKqeHceMt88bGx4LJoiXvmGzeTFWZ5scB3Ju3+cggy2vxj9/09bqo\nnqIbLesQemcaEfg1oMtBFIu1PkWbR8zYionCP9pmE26jOGtAm4bw4BO6I+LA\nwnTUnLh1H9Yj3HUp6dod0q9GheSD6HDUgXMzohfYJ+/HQSOQSNXT0BheY6HX\nYkAi\r\n=8BUD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFTfJQK71BsZyEHTwVGNl74PWnnQ4GySHCShTdQuV8nHAiAvH36tDj7TJc8jmBy8YY3tWrUVVzqJ0jJMgm1lLatlMQ=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108052321.1_1629234106550_0.912871363906171"},"_hasShrinkwrap":false},"1.2108190446.0":{"name":"@ampproject/amp-accordion","version":"1.2108190446.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108190446.0","_nodeVersion":"14.17.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-f/3qKpzcZo7n9tAPUnreP1xe6kW0W40LEjIc38thPaTVTpaz6fTj/WQF/NoAgPKDg2tOj/rep5tS7I71Hyfktg==","shasum":"63db676f2113abec3f91d56de9ee18873ca1d1a1","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108190446.0.tgz","fileCount":19,"unpackedSize":672382,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHkDfCRA9TVsSAnZWagAAy0kP/3yHKZa8FTeAzkFjoimY\nv2TgM0TTr44hqN1+kJfGRz7bPcOA37OR8hY7GR7vuLCo067V5cjsH+Bgeuqe\n8q4GgDKRviIlrTzIR/kJCfkFKtV9hFUIXK2/OAmiEysKurdmSSaAecuOIMCR\nykiNv53ow0BitcBTTOaglIkFGEM2OAWHJEy/a7QBC4PMYs4925zDt0eieEzZ\n6B8hUqJ8F6S/t/VpudyqpPo5OzH9g6/Fh8OaVM5LLC9h80v/uGiUxyEJG3cj\n9p8P7ekzTTeW+yuJpk5qHzzK4Tsvmps3/gXf/QUggaoHk/2FERIrfjjAYTzH\n+ZZ1lj7Q8A56iC45moOPWKB0afIFZ4O8we2RiuLWVD6vHUgIhW0INnHZqaV/\nOsc3A5BpwqWUtP0gtb477yz9edbj+2AvX5hpQL7Mx7h4IDGUjYSc1knW1zxy\nYLM3O9Z5MCLJmHa/ATkbXXjSsllmT55cTFoPLepPIocsuSj4UIemlKj36itO\nJT4EYGUCTQnT1ZSJ8C/MkPqPxD9jtjQsi4rpClA6kQWTRt9yS2N3u3nXzNVM\nsyL6BSftlw4kuPGdbt0x2HGAeEQa4FLf3lj4PQwMirsBsmjsjvRPQIkle1gI\nzSnSGW+Dl856SmMcU+qqJ4a9966RgUC14DH4Yz6SLE+apy3GkA6BNC44etZ9\nWlcZ\r\n=l4j9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCszNNcUAU6jLQ6HgKwFDY2CG/vvSASJ2Fx3DrGQW/gDgIhAMY93KCWBGX9GUFv82R+J9HCz6O4H+kzOZ03xg39mHs4"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108190446.0_1629372639528_0.4200150928269166"},"_hasShrinkwrap":false},"1.2108192119.0":{"name":"@ampproject/amp-accordion","version":"1.2108192119.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2108192119.0","_nodeVersion":"14.17.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-6n+M75sfK5t1NNQEwYGPImMr/J/B9KpmIaJY9BuNOqOLAZamvuZ91YJIDC3/8b7wJKYv5B+avik+XCyeM6dWVg==","shasum":"5a93e384cdf1e4d6a1ecd52b15c26eaf2af64e4a","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108192119.0.tgz","fileCount":19,"unpackedSize":615250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhH4/sCRA9TVsSAnZWagAASQIP/0lf+E7aG1+I5pFJgJtM\nm1L7IjeOYtamIQsm662IqhPCmIS/GPMJFRsRbqZ2qnNSj3LvHPB8a1QbQLEM\nATUg6zBX4+KbH4jNC3DSqbQXpM/Tzax73IZHVxycSn4Tf2YdAnCeQF0wJh/Z\nk5FTMnSlPjEZfVFesH55Eytgf8OlzL5R0Ld4ftv5EQpgUWWEbV02FP25a3a2\n7m75l1HoGppdE9wWYGRggwd8bxfscgj0cGPFotILBxKgZYndimpNotNOM0OX\nnYlxamw7ocifdhP9NuXnQqMgwfz5rKJsJBYz0O2rlHaeYEtc22pPca0qDClA\nYZSINVGMUxcQAtbqYtq4HcS0+k1KfhvBMsiu49q4TQ7GO9x6H8Nb+/YChcx3\n9u8jQaQGuHWCdB+qJdWsnQjiKu/RtU/QLqwm+3gB3KL/4PycYSJKwRWgQzwH\n7ICwn9xKLQfvnGLePrDGW5l81SanlddBdHTKeJIsUY6Ru2Ch9bUyoFAiH/Hu\noF1QTaEFAU74AI6wbd6HC/lko3YNSXYWoJT6bPafeNCjrLDJLrdP6O7rzWgq\nrVRMXBeLuTN564IZKZetdFaAnEJeKdafAkbD7VBrJSW/xgZLEBRyS6Tl6KUH\nsL5niJ8q9GN4nAr2h4CQEq7inROtOiYJyDDI1BRYw8Y0kZG18Boh6NSqF53L\nasym\r\n=XA8L\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9boGlcuPul7C1HmCp4loYtxYwS2vVlRv1EeoUMLJv+gIgDH6jPzBuT+J+4FoYuBB+GOLaIiC6YuZyejlBZHIGXeI="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108192119.0_1629458412404_0.35745240807766465"},"_hasShrinkwrap":false},"1.2108221555.0":{"name":"@ampproject/amp-accordion","version":"1.2108221555.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108221555.0","_nodeVersion":"14.17.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-5azMqQA/Zh7uUcppu1U45T5ic8y3ysamD4eE2J7Lmoc3pRDB4gQ9+Lkalz6tEKyVgDXCeQXzfoRkX81VxE+hnQ==","shasum":"121a5ced7e203e2f53221f76cc16fb80a2651b94","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108221555.0.tgz","fileCount":19,"unpackedSize":615250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhI8iFCRA9TVsSAnZWagAAHK8QAJ9keEsEeteD7i5/tCoy\nVE4Mt5nTX0mpz9NTtBQfd2JBrc3gWDUonXZRPbyYFGagOi8LGjOGPWib/XqW\nZzjtozHh1kF86zxJzyUadfSjTkuDbUHMKT81Pew4Xs5jz9ikSZVI1hw+v+jU\nAFKDEQ34zgSj9Yi4kGEw3ivvsQLZCuh/gOfa0N2s+d13BEPmbSyx8NwzPu9F\n4ua2d3pU0VKrVd20pM5gOWyBEeCk7dgfjO6+oLNMNVLUyyYRfWogjhGATcso\nsvOdeqsTJpBOXBdalAD9Kp4qaXKkoOpLaCsIqyyCAsxqMA/xkkPQgeqeNxf9\nRk7erOA1/Fn9qD7PD9ZFDz7SJuH0quwNuXmVi+B371Po7KzYZkjosLQbTgkY\nFOJ4rdoYNJWgJ/3jdWMCmbgDpBNO+Q3iEam5sifG5woggjqaHz9wuZCa1j7Z\nuGcaxSuo4LZOd2IecASaPdSV0cSJ6VKmTaneNc2rk/AJqLflIzaBoIaQkH9/\nwciQ2zMF2PdAxW41YzP8jlG0s/2CI0obhXsyf/rr3R80t9CeN5H/q9LD7D8Z\nnUSlokArG7yJMNInOE/iPoD8VodqmbXnsV00tYJXni8Mg0H5jetTdWPaVs8j\nkg6rRrybz16veOOaAYjCHmif/Z7blZqs1vn1cuFJ6SrFQt8kTYwuvqJQTD9E\n9A/3\r\n=3fpR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDtOycL3WsFii9GPp4JZ/LU75MNctk4UhhPTKOG5BI65AiBF3E2woI6ZVgTeEF8RwX4p2tMGkJuXwEZ/GN2KCGlCKA=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108221555.0_1629735045796_0.9308876749884882"},"_hasShrinkwrap":false},"1.2108232044.0":{"name":"@ampproject/amp-accordion","version":"1.2108232044.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108232044.0","_nodeVersion":"14.17.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-04MvNNEbhhq+k0W6+g3Zv5uUH+Bu+Gq5PtKkrgAskcCC295gO4e3uDj8Ew3Z3eX5Z+e7FvnTOBSsUa90xYkgLw==","shasum":"11937e4a92b3645d796ae07a2486e3497bde8c21","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108232044.0.tgz","fileCount":19,"unpackedSize":615026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJNhRCRA9TVsSAnZWagAAh3gP/2YviexOd64+HhCF4nK+\nm839kLMcSXKDa2P8iqRgqhvptzgurgsKQOWhD7n3UQFQEg1HFa/pnk1Owc2b\nVpptBP7HgUj7HUTpO6autobGk85U3PrjycF5LF7gLG6cA/KfzCRNaJGZGeJT\nnCMJedVkHWN1PdeiMcSYSxtrh1t6qPI5Ix7C421z/8hdSiQiV9SHJ6SbaZY3\nWZGhAS+7HErposRbypDuHtyzPDAfIzuVNogsT3bA0sY19fmVTR3LH4Il0p9S\nLzjTj/nTRJIGPAsGfRSpuGwzOkPfBUlBaj48RHN53gRky32fhW4TDkMIvgFA\nHWfFgKLjBeWAJGHXTnvUmKkNDVAMp/39ghPqiBUjnrnsBrLgEzrwb78m7cxI\nacEEn+B3eih4ucG3rwg6XzPVnhXAoWuNmlEa78+rRJB2jTN9fjmVPicxCXdx\nuz6EhR1MtZGLk7L0nhJ92vqczi2e35cZuQHRRdouitmBIzsGtQJj+KwOnj37\nz7pfNDBbkjQ25Y0nonYFsZ1l8FYgSOa1AW4qv25Eb+qAli5aFjyWA4rWwT8f\nkCb6bJv8+NwIrnKNObFw8n/DqCk857tmYBBEzgiDr9bfsRLsJo66Uj2TbSI4\nK86FmBzO1QzpwwANWZbwY+nk61rMXA8W02AIczxvgEfjWCK7QZnztnVjHFpN\nT85F\r\n=sb68\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHvJCBlO74f9iuV5FgAKixBYn6dehExIYLYWHLRrLTWHAiEAlG+qwRJkcFW7a6g/awchsgE4cQaCettgPKb7+UfoBwE="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108232044.0_1629804625264_0.534479976882102"},"_hasShrinkwrap":false},"1.2108242314.0":{"name":"@ampproject/amp-accordion","version":"1.2108242314.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108242314.0","_nodeVersion":"14.17.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-alJJTDtnwtodkg2zgsCreGPM/QK77qggzoN1wrrGlm0Du+ZGPY8v63Ije8W2D0aonNJzN54i7UJhLxCrczUOqQ==","shasum":"bd5becc474da9a8dd7e2afc5f535438d40036e0d","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108242314.0.tgz","fileCount":19,"unpackedSize":396671,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJieACRA9TVsSAnZWagAAtbUQAJCLcWBltCO9P59hZK5y\n+gJfc+rZlWeNfLQKFWHdt9kZ32vsiaHl0iSeZdLm4sAhN+OiYglvwHtoLw48\nC8D8RF7XiqWkSPbG3zMIN9lePhODoms8+BvIMnmeZtRomZ9vdFZBNiBTOH28\nawe/qOSZ6qQyXSaCWfIuj4vCDjcVCib/Ha4ExjZFg5Qph7rnI999GetS+VPo\n2LMod7JF1ZCS8BxSjIFPJy7uxh+8Xsi06gNArhAHSGmEL8L4DN9ZRzbd5NDg\nVoy7BUb1w9jOZXOugDjZDTKw046IROfRzgJdJNkUqCvafdCynVIrdCRjlUXF\nmUCCo29HzEzL9uFpzmS5W62NLUoZFvkQw5S3u4VXaLf+mMt7uiMiuA1jFjZU\nNxxPhT+ZeBVvlpoMx1YnwGN2bxyjCnx4MWlGq9GNwYjcAQjuvkfiS72FJ8qY\nbPLsucK9/Zfb25F9VG7COsq4JI6II7PFfk2b6T6rCbh9ODofcvYpZ2nVDBT2\nsScuXYl618JWmdjSLYKxGGArpI97BVilhkeHgQHgf5Zy9SRXpsBKDqBXbu4A\nU3Cu4bSKapEPYXlrjwpC06HEtwijCRieNGYM/1pYUmbwXymilnzY0BfnHcre\nuQsyvneS022Wr9hPOLNh2ueZXPHZNwfmYw0FPc9XZKCCqaaMZL8616ze57B1\n2y7B\r\n=qdmn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGOM8qASE2/WE2cZ9C4O3IVkKFapAJtpSMlVc/CHG+JuAiAjzYRFYARcCRAb4rd7bbkOOXig66DG1VEiqGlTTQ4NWg=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108242314.0_1629890432279_0.28272181166343335"},"_hasShrinkwrap":false},"1.2108270538.0":{"name":"@ampproject/amp-accordion","version":"1.2108270538.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108270538.0","_nodeVersion":"14.17.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-KHmhNs6Fo/IPhVyXkUWFgx3IzsYvtCHsqs3uSR/5hYsVS0SA6ExO11jYBoeqEI2zdL5mdbJvoySdOcXKh97KKg==","shasum":"77b38cfd380746705cabf4195a4904fea8b47f19","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108270538.0.tgz","fileCount":19,"unpackedSize":396671,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKM3BCRA9TVsSAnZWagAA2v4P/AgjeyuOyl4oipIyiQmy\nj9Cp8LIKQhkeKXJdqQSIT9UDf1qVflkoq1jCuRiazHs7u3LLcw01rFj3lDbi\nV51kCo9v8md32EPgx1aim2mFqX7qjF5dZWkH/7KPdlpzsuxmjk3D5gymKxaK\njuqZbe6ZpBx7iGldR/T47DleOxf2X43yNtF6k6cwTrbMfXTc9+03qGGK+8Js\nY6o5ONVgHrqX0s803oTV43kU6uMEpkG0TFRMOalBx1AEbJPyEA/K9bSwAdwL\nifhB1po30MeVDe9ib2rpXF4IF4IXlsQJCLSxySGgqCY3SPAQ3KToc5OPCKR0\nRvmEc/QT45o3ojBGIeyqxIzVWFjUhEyGwK7xxCvzuTqvr0Soa6cWRETy8BtF\nHjhtEf94HmPKhiu2P3dJ1IRt62IoSAvhN26My1eDeqwcIoUED34xumv2/m4p\naupdkAw1fDR+T74ErT87dwg97hEqFGvNmk7Y/1P+Ul9vPTuDJa1J2B/8bJhf\nzHgSSd8eTQOZ0uq+0ZsAdVkwt2O9KYErNNwk/4pW7tS9zKKONhAJBwt0qIyY\nCr4Bts1mlc3QTdeiZDBm89fA0IzprJQFgB265rsk/hj+hhX260fsbyaUTF/j\njXLhmDTnzIzoWSsYP6kS03V4P5LKi65uQKOCGcmlKBH+MFEMhlirey+8qWz2\nVV1I\r\n=wGI6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCC6rV8nwRtBATCabiefg55tJvvWSd4c4tDd1YYzPldLgIhANVaGVdPJkEsdngIMAOw7wNqfm2DcQ1lG3KX7VWgxBSP"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108270538.0_1630064065000_0.3515055107721239"},"_hasShrinkwrap":false},"1.2108280007.0":{"name":"@ampproject/amp-accordion","version":"1.2108280007.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108280007.0","_nodeVersion":"14.17.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-kRfjepm796vv2bM2YoSSkRLfwObp/GpRSYMHR+Wv5t0LIMWiEiZrCuulE+am6nTjw3qTTSrgfvWGgG8gi/9u6Q==","shasum":"db61325dbbd35fd699ce93a3a0ae5b938a90df7f","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108280007.0.tgz","fileCount":19,"unpackedSize":396407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKhykCRA9TVsSAnZWagAAwogP/2HNs2ffWMqsKK3uaCpO\n3K+QVj3cDCIg088zxLCOIUD3fu54QcyN38o+iTU7nqOy5IXViP3g+/q0wU6J\nAhtjWr4UxT/TISRzNlWUcYu/NyojWgfnPXztETc4LgqQx6JrYD13S5sMNJ2m\nyxTdeaNSXYNDEIWg0iwmLKU1C3FNujyLzPHDemVEs4T3c6HKRGm/UBLC9Atn\nLA0o8fmHptvQcUgbwyR/LhyewGMPcLUPfQ9iWLeUBvqk28IWMqKfNzPRda+y\nI0asilZzikabhP2+dpQSO+d0KQfd0+w5cx5Xonr0Pe6+yQ4ZLmaRdch7tTJD\n7wxell+X+LyfGdVb86jIKP1Vp4nvOeR893DcBmdQ/dVscQMcRIDrYsSzygeA\npwsdEiAFJvFuzJsvfjOLuL6Ff21rTKx8Qme2wvDLdk87EKWO9ddArw70DXZA\nZARvlJdFG/kNy11efOHuHSsYC2BiZcMSjTmP3BIRxYkaJDXA/y7kW9FldVGf\nkimsSEciyypl/L2MEXWPvmFUBZr2t2FVwWLkt3LS2i60juniG9EH5jC/DTbP\nUg+WEFQGiBZotgvNDnZ1OTZ1gCeu6gXgeXTtOxcsUQOcgysVneBdrN3FRWe1\nDh+lFopg7ftAR9EY2vlBDCtGNxXMfNm2VVIlPBDTEevQDJEbnNedigZKcvQJ\nt0EV\r\n=HcU9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB3ize43+S03FIAucZikWnG5NlOtE2JTgTJGh1bFom3EAiEAuH9wxHkIH52eRmNADNW8m7KGyZ0tqw1xCylOhXysiCo="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108280007.0_1630149796362_0.8831298885605428"},"_hasShrinkwrap":false},"1.2108302037.0":{"name":"@ampproject/amp-accordion","version":"1.2108302037.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2108302037.0","_nodeVersion":"14.17.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-B+B1DlugTNh6SC3KeTezV+XDVtwppEsZbqrmHqe1/5bvVmCrZ1ApvVEFQj+8GN3mkCscLIQbfRJwUpd5//xx8Q==","shasum":"5215c9fdf85b578688a1e9ef87cbf3f98ef51b96","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2108302037.0.tgz","fileCount":19,"unpackedSize":396407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLhEjCRA9TVsSAnZWagAAAyEQAKKBMsZoImEHBv01+LUe\ncB03di5yGlGHN66VXvKvcRMiwCIFZ00C7ztq4XClJHuyQPpXMreOsS9Vyx4z\nWb517bwyIgeuIq1+mYKr9ZpPHrOPa22+R5JaG593hSQlX47zr1YygDkGt6DZ\n5XoeFdb/GPh10qtBNJmWm5BRToCyaFKejd14XWhO5GBJHEH8DbpkWQwiUeNt\n5m7jWpu75ViivBpg+MZ8/y0+QdVhMI0WHj75kHXxZm/rX4vjD6dgm9wr+ZVu\nhdgJsqcP3yx0o2IgjOds6GaonWZQio0qkr83V8b2XI8JM62rTEa7p794LSwP\noNjDIs5vv7cOjqpnHgU8szxx57xQLwSA9pU6/4+oFMJDrcrylX7V3T3rZZ87\nmmCJRRqEIIgsvBrxfqGS0f37ZNNrEbNxjPl7toJfcrcDvGOoJY6Cq0YoAdYy\npwyqbWru6wgL043frJrcWd2JmQuSt8pXwMxz+Vfv32pFaOclRis4EOV3Vpjn\nXdgI/gJ39JL+C9X4vAHFitv5vv7wEbbaD649AzelKZJU7nH+5AZOxlKqJ6K9\nIPWJ9tirbS7YFdY13TRYgVEbW3aN/oZQCH88capDXL4gAwdhWNyHb3AaRbBj\n7UosKVeYFNkX5225Tqcv2Gd7SrcLow5zJkfz0B7nt0hLDnBmgvd9gEL7MSXW\nCSKR\r\n=7yZn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDO6WcWs8EpanIhIj31PVnaYJ/7Xm+yaFsxzw7+voQg2QIhAM8TS2m/AZhSBYhZ3gBdiZjB7AoBt1qdzkj/L5jp3sNv"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2108302037.0_1630408994900_0.051835082016252754"},"_hasShrinkwrap":false},"1.2109010455.0":{"name":"@ampproject/amp-accordion","version":"1.2109010455.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2109010455.0","_nodeVersion":"14.17.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-u4gAhAYik4iu+v6u02EHW6rQWFKEL0eSw8RhqL26kAt5J/5+sxSZrCCFONdIACfTES9/ofN9VLtpYaK+iAJE1Q==","shasum":"0331b64d954cd3e0970c5e59499dda78c360ad52","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2109010455.0.tgz","fileCount":19,"unpackedSize":396407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhL2GRCRA9TVsSAnZWagAAVj0P/AvbNcZGvBKazWaQBHu1\n6O5j8MQZmYXYoBvN3chIs5/walGOMJcKuPTOlA4XvCCIFfCc1cCSRQHFE+xc\nPs5/HhJS/9RY0LxGzgDCiOwtjCdv69kiTl28Ls0DqzhetJS2cRlySIS5LvLe\njEPrxag34KxzEcjybIyQsZheoHeFXeLlSojfEFHWr/c97d4Khx9fPIMoqj28\nLIL+Uq/10yxBHo8gcjg7zCwVWfAL1pCtBI1i9MCp69Nf9b6Yj6Nsa5Anl7QV\nCXCQa2Pa5RCS81lFRPuZAT5aJLmSy5MhNv63bpCoYnfebvSBQjAA5BnbR6Ob\nsNY1nR03q6PJZ8zzMHWLQWvfA9tQEQULwxSpcCUkytb/MDg+BPOYeaPhb81Z\nkgNtb3DQuVmBnxPSVSY9wXGunAMXhn3DsKwM8sNFnx3VZgJxGWfweerd9912\nVQ+PC3kowAz4HiGi3cg0MnpbhlymAv5xg9/OCQ2yDpB/2yHLJK8YMAvYpePK\n62NQD3QXOkc2r8RGfkT02VDP4nC4xObAtBEjBinrmR97PPv5IhpcPQ3Kvkmy\nRqJ5yMMtIwk9G2P7ljKOXPiSqETdrCqspjg7SACufwKwnSHLbOFYPZ4nj6ve\nGaqqaMmHSY2bcJw7/mHsynv2S6bt8Ftmb4139x4QmmfBbTinZW6Euxp6XBkC\n3lB+\r\n=tIxp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCywCAUgTQxRn2E+pqkEQkLdcgG8cE7q7QuxXMBoGJG1QIgaL/zAzY5YXjIdOzh+MU3i6VOOkLBOkLDqQjac8bOM/s="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2109010455.0_1630495121711_0.9367767450669369"},"_hasShrinkwrap":false},"1.2109012253.0":{"name":"@ampproject/amp-accordion","version":"1.2109012253.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2109012253.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Cxa7+tD3MFnp+lDyaAyU2PNAlXss6ua+rwhuWEyu/KPphBvE2g59WUmSx9lX2y/2WcekL9ZfBX7A7Y617rAFGw==","shasum":"a2341abfa29ee267d5cb8e19f4a98c26f7b5fc84","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2109012253.0.tgz","fileCount":19,"unpackedSize":396407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhML1fCRA9TVsSAnZWagAAvs0P/3qcup6AKJAsUFD6xqmE\nEhOMcH05XpAFgjc5z+Pj8oYTZUPz0SeTTIWSYJG5rAt8EOJoDy21NCJNqklA\nh1gC7ATriLZXKb2dDvwEgN0RAUTiSlPA0ZgWfpku42WIQf8hBmGWTnGAgc8u\n/Axx0t8hEbbCzP4E1ErOcamcSomcrzNHEERnA88ply7BI61/E1IBnJop6/HJ\nfoBgGOpsQsZgz2Uw7iIXjD8ct4mjrGkjOZSvRcWwiL6eH9C9n3S4B9fuSBLt\n2BYNthKEqBYzY0V+ZrFGT0Xn+QeaOuj6xPJCqgoUk1nvUrDsJ+mZewHztr6E\nq67UH5JnkkvH5+gKuOXCT7NgsJflRIK65EeYhR89aoFqDIw++Ni5VfDlsp9m\n9h9gU9Z/XSNXYrdP6O2K6kJ5LT1IKF1iSqJhdvzERolTlhH92u49vYncs9HL\nW1NbUShrXm6zSohF+Nrz7XzPhEUqMaXi2G1O5oyXObNf1jpS9fAiFcFudxAD\nSIs1jd3RVm4Wkb8CcIJp3bkHm4NuKF2oIIE+RaFJhBUBdE0AR3c1UtpSr4Rc\njgke0x+Ppt9Wfht9VQFCTdoR9XhHhIdbLMW9tRI8kGwu/qB2yyLSC5qgjlrF\n+VkEvIed8rmukh2efZ48fp0KbWt+n59WN97Vmsh5yak74Pp/Z0DsXIoCrwZc\nFqW7\r\n=moN7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1eoQSFfm9ldlomBG9n2q4tkplunjJb7+6B8chiOqT5gIgdmNTNLGgQSMCRtyL2SLlR+6bTFoToFejLU/K4czEnT0="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2109012253.0_1630584159745_0.48622530063967817"},"_hasShrinkwrap":false},"1.2109022317.0":{"name":"@ampproject/amp-accordion","version":"1.2109022317.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2109022317.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-b0o7+5kHAlY/ePqSucqUKT8BFG5Mq2ngKMo6fVbDWFKr85vEAS2XbFpuh3e2ZkAR0LIFO+ke4ssvDPMIHbc+jw==","shasum":"ec48ce41be1667b4e2fde1d997cba3e701175f1f","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2109022317.0.tgz","fileCount":19,"unpackedSize":396407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMgUrCRA9TVsSAnZWagAARnYP/jKXaUavXzLoQv0ZoiKe\nQCkeRoohVeXTNWnrcyE5taSOAsPgrp+Qn8P+lgq6X28gRX80j7ZfNdlKFPkk\n1+MOeVDdnV/9i+BxCigA5poiMZBl7ohxP/y3kYKOoqKck86z8LS0iaqj4Flx\nCAKE+v88Y+t4oweDOHxdBbSXpPdBuQAdeXOG5XlA0lSto9/1QcrMwev07bV1\n9G0wKOyESWGQhKugbwBQTdEwz3wGfVo44rDSxqdKLny5zrB3Whkn9d/e2Qn8\nFxNAjTCgC2kha5ylS2PMXOGW4Nf3QxN5zdrTPraO4Tzofp2QslaCPnWWkQLK\nQARYo14C448OwWW3SvP0LSJ6nBi7NzqnWgVgjre0j6E5MW0hNTSvW9mUdEcy\nZMtTatspwGJo2AYNzTraod4mJz44Qj8Ltg0xcsxsGGaa9g7z4uLYY3s+g9rH\nbQCT+Tum7TiuG4PHGzUB7syI9nHaqqtY6ShSivDC9HeM/45uwPcqz5qoxrc/\njFZvCR3xa4v1qknYyLN65nxbQ2si6TpGQx1ehNe1eDmgm7OeeyVC9/Kp67tu\n2Lzgu86NSdAmr+FAz/26Zb0OO1I+rPKQ39eew2Mjk0QMRZI52uXQtn9AZaf2\nxVW4EsYKq5S3kGvUhtiBeWRqnyhMwLxcMjRVc8sXwEqwactQg7ex59hC6HzF\nqT99\r\n=C9Eu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG8AEa15VNGKTp87r2rOFLnA+xQbgKkvcFTf7MLUx+YpAiEAtAGCYZdGdPS7EvgSejlT2aOprw9tC109VTBJ90AaxoQ="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2109022317.0_1630668075090_0.9798656783157065"},"_hasShrinkwrap":false},"1.2109032350.0":{"name":"@ampproject/amp-accordion","version":"1.2109032350.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"readme":"ERROR: No README data found!","_id":"@ampproject/amp-accordion@1.2109032350.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-k4DgLweepVgTif3qj+BU4pdFX9W+B4ZpGft4Rb8V6S1Epy+PYbHHn113SwmI8qljqMrNki1J8z3zyjTUraBUbw==","shasum":"32d811becb0c378e0f1e1c28178a6a9042879574","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2109032350.0.tgz","fileCount":19,"unpackedSize":396407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhM1bRCRA9TVsSAnZWagAA5ioP/3fDlxiyfR+dtDbXdu/V\nhWmKUucyD6yCtH4CHDL2+03i1Dzl7Omqe6L3Na0gmyJFXlbQdyabVHgYIPGF\niKD6hu9T1AWSkmVNjOD/xGEECp/ESmXAw18uFUTRG5xkde4MjuQBvuGptvRN\nFLuELUgrVemJHzSEPxZTkfRzVw+toJx2vjkuFPi1//JR5Nz1hn2lMvdl1CDF\nz2RcCKKcHiEMjyNdkkPKQW0w+5bZsiCWanfY07RF+Dp8PK0O9WGgjDI9B0kW\nSCm1pQayeulu5SBDlsjVXYInjO/mY8vmPe0OcjkXaICotnNtUEpfryneV3+A\njAN4h6fp3dO+3q40tZHBM60T3EINOEzP30y1/tztVm4ZSM7rTG8AOneZ5xv7\nEtpJS8v+K+NBxs1gBvnChiuBmiFmblpYdMDy3ANHL7ZsbcXyNOZ6fqk865U3\n07rVRzXv4oP84IW/xxoTWXk4bYfudu1/ugj49Vwu65HkpW+tqKulrHcRCCoh\nLFwfU0zVuIwOJ8PnogvbZRITlnYidOY/uIPzh1LY3qctbtVf3iU58H0Iwsu8\nRX9Ky3pr1F07mUOHh2hN06KUq62OiCJQuCjQgAND0w2Cq7C92YeePh/8pYun\nkFqNQ1dfoIINjlaYCnY7iJmqzodtU2CYRRvLziaH8E8s8IYd3zLGV2tt5rsv\nG7dC\r\n=0QaU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICQ7h8FDGmM4/L5KML6J8MlTJ8yc2Ryz/50kzhqVRIh1AiEAnMz+me6FNcI0cctPLg06b8+Vd+x+aiyCTbv3bhQqF7w="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2109032350.0_1630754513534_0.619163642617107"},"_hasShrinkwrap":false},"1.2109180035.0":{"name":"@ampproject/amp-accordion","version":"1.2109180035.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"---\n$category@: layout\nformats:\n  - websites\nteaser:\n  text: A stacked list of headers that collapse or expand content sections with user interaction.\n---\n\n# Bento Accordion\n\n## Usage\n\nThe Bento Accordion component allows you to display collapsible and expandable\ncontent sections. This component provides a way for viewers to glance at the\ncontent outline and jump to any section. Effective use reduces scrolling needs\non mobile devices.\n\nUse Bento Accordion as a web component ([`<bento-accordion>`](#web-component)), or a Preact/React functional component ([`<BentoAccordion>`](#preact/react-component)).\n\n-   A Bento Accordion accepts one or more `<section>` elements as its direct\n    children.\n-   Each `<section>` must contain exactly two direct children.\n-   The first child in a `<section>` is the heading for that section of the\n    Bento Accordion. It must be a heading element such as `<h1>-<h6>` or\n    `<header>`.\n-   The second child in a `<section>` is the expandable/collapsible content.\n    -   It can be any tag allowed in [AMP HTML](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-html-format.md).\n-   A click or tap on a `<section>` heading expands or collapses the section.\n-   A Bento Accordion with a defined `id` preserves the collapsed or expanded\n    state of each section while the user remains on your domain.\n\n### Web Component\n\nYou must include each Bento component's required CSS library to guarantee proper loading and before adding custom styles. Or use the light-weight pre-upgrade styles available inline. See [Layout and style](#layout-and-style).\n\nThe examples below demonstrate use of the `<bento-accordion>` web component.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport '@ampproject/bento-accordion';\n```\n\n[/example]\n\n#### Example: Include via `<script>`\n\nThe example below contains an `bento-accordion` with three sections. The\n`expanded` attribute on the third section expands it on page load.\n\n[example preview=\"top-frame\" playground=\"false\"]\n\n```html\n<head>\n  <script src=\"https://cdn.ampproject.org/custom-elements-polyfill.js\"></script>\n  <script async src=\"https://cdn.ampproject.org/v0/bento-accordion-1.0.js\"></script>\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n</head>\n<body>\n  <bento-accordion id=\"my-accordion\"{% if not format=='email'%} disable-session-states{% endif %}>\n    <section>\n      <h2>Section 1</h2>\n      <p>Content in section 1.</p>\n    </section>\n    <section>\n      <h2>Section 2</h2>\n      <div>Content in section 2.</div>\n    </section>\n    <section expanded>\n      <h2>Section 3</h2>\n      <div>Content in section 3.</div>\n    </section>\n  </bento-accordion>\n  <script>\n    (async () => {\n      const accordion = document.querySelector('#my-accordion');\n      await customElements.whenDefined('bento-accordion');\n      const api = await accordion.getApi();\n\n      // programatically expand all sections\n      api.expand();\n      // programatically collapse all sections\n      api.collapse();\n    })();\n  </script>\n</body>\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento enabled components in standalone use are highly interactive through their API. The `bento-accordion` component API is accessible by including the following script tag in your document:\n\n```javascript\nawait customElements.whenDefined('bento-accordion');\nconst api = await accordion.getApi();\n```\n\n##### Actions\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```html\n<bento-accordion id=\"myAccordion\">\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n</bento-accordion>\n<button id=\"button1\">Toggle All Sections</button>\n<button id=\"button2\">Toggle Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.toggle();\n    document.querySelector('#button2').onclick = () => api.toggle('section1');\n  })();\n</script>\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Expand All Sections</button>\n<button id=\"button2\">Expand Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.expand();\n    document.querySelector('#button2').onclick = () => api.expand('section1');\n  })();\n</script>\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Collapse All Sections</button>\n<button id=\"button2\">Collapse Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.collapse();\n    document.querySelector('#button2').onclick = () => api.collapse('section1');\n  })();\n</script>\n```\n\n##### Events\n\nThe `bento-accordion` API allows you to register and respond to the following events:\n\n**expand**\nThis event is triggered when an accordion section is expanded and is dispatched from the expanded section.\n\nSee below for example.\n\n**collapse**\nThis event is triggered when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```html\n<bento-accordion id=\"eventsAccordion\" animate='true'>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <div>Puppies are cute.</div>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Kittens are furry.</div>\n  </section>\n</bento-accordion>\n\n<script>\n  (async () => {\n    const accordion = document.querySelector('#eventsAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // when section 1 expands, section 2 also expands\n    // when section 2 collapses, section 1 also collapses\n    const section1 = document.querySelector('#section1');\n    const section2 = document.querySelector('#section2');\n    section1.addEventListener('expand', () => api.expand('section2'));\n    section2.addEventListener('collapse', () => api.collapse('section1'));\n  })();\n</script>\n```\n\n#### Layout and style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style data-bento-boilerplate>\n  amp-accordion {\n    display: block;\n    contain: layout;\n  }\n\n  amp-accordion,\n  amp-accordion > section,\n  amp-accordion > section > :first-child {\n    margin: 0;\n  }\n\n  amp-accordion > section > * {\n    display: block;\n    float: none;\n    overflow: hidden; /* clearfix */\n    position: relative;\n  }\n\n  @media (min-width: 1px) {\n    :where(amp-accordion > section) > :first-child {\n      cursor: pointer;\n      background-color: #efefef;\n      padding-right: 20px;\n      border: 1px solid #dfdfdf;\n    }\n  }\n\n  .i-amphtml-accordion-header {\n    cursor: pointer;\n    background-color: #efefef;\n    padding-right: 20px;\n    border: 1px solid #dfdfdf;\n  }\n\n  amp-accordion > section:not([expanded]) > :last-child:not(.i-amphtml-animating),\n  amp-accordion\n    > section:not([expanded])\n    > :last-child:not(.i-amphtml-animating)\n    * {\n    display: none !important;\n  }\n</style>\n```\n\n#### Attributes\n\n##### animate\n\nInclude the `animate` attribute in `<bento-accordion>` to add a \"roll down\"\nanimation when the content is expanded and \"roll up\" animation when collapsed.\n\nThis attribute can be configured to based on a [media query](./../../../docs/spec/amp-html-responsive-attributes.md).\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion animate>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Content in section 2.</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expanded\n\nApply the `expanded` attribute to a nested `<section>` to expand that section when the page loads.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section id=\"section3\" expanded>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome expanded content</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expand-single-section\n\nAllow only one section to expand at a time by applying the `expand-single-section` attribute to the `<bento-accordion>` element. This means if a user taps on a collapsed `<section>`, it will expand and collapse other expanded `<section>`'s.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion expand-single-section>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <amp-img\n      src=\"{{server_for_email}}/static/inline-examples/images/squirrel.jpg\"\n      width=\"320\"\n      height=\"256\"\n    ></amp-img>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n#### Styling\n\nYou may use the `bento-accordion` element selector to style the accordion\nfreely.\n\nKeep the following points in mind when you style an amp-accordion:\n\n-   `bento-accordion` elements are always `display: block`.\n-   `float` cannot style a `<section>`, heading, nor content elements.\n-   An expanded section applies the `expanded` attribute to the `<section>`\n    element.\n-   The content element is clear-fixed with `overflow: hidden` and hence cannot\n    have scrollbars.\n-   Margins of the `<bento-accordion>`, `<section>`, heading, and content elements\n    are set to `0`, but can be overridden in custom styles.\n-   Both the header and content elements are `position: relative`.\n\n### Preact/React Component\n\nThe examples below demonstrates use of the `<BentoAccordion>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport React from 'react';\nimport { BentoAccordion } from '@ampproject/bento-accordion/react';\nimport '@ampproject/bento-accordion/styles.css';\n\nfunction App() {\n  return (\n    <BentoAccordion>\n      <BentoAccordionSection key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento components are highly interactive through their API. The `BentoAccordion` component API is accessible by passing a `ref`:\n\n```javascript\nimport React, {createRef} from 'react';\nconst ref = createRef();\n\nfunction App() {\n  return (\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection id=\"section1\" key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section2\" key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section3\" key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n##### Actions\n\nThe `BentoAccordion` API allows you to perform the following actions:\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```javascript\nref.current.toggle();\nref.current.toggle('section1');\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.expand();\nref.current.expand('section1');\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.collapse();\nref.current.collapse('section1');\n```\n\n##### Events\n\nThe Bento Accordion API allows you to respond to the following events:\n\n**onExpandStateChange**\n\nThis event is triggered on a section when an accordion section is expanded or collpased and is dispatched from the expanded section.\n\nSee below for example.\n\n**onCollapse**\n\nThis event is triggered on a section when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```jsx\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection\n        id=\"section1\"\n        key={1}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section1 expanded') : alert('section1 collapsed')\n        }>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section2\"\n        key={2}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section2 expanded') : alert('section2 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section3\"\n        key={3}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section3 expanded') : alert('section3 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n```\n\n#### Layout and style\n\n**Container type**\n\nThe `BentoAccordion` component has a defined layout size type. To ensure the component renders correctly, be sure to apply a size to the component and its immediate children via a desired CSS layout (such as one defined with `height`, `width`, `aspect-ratio`, or other such properties). These can be applied inline:\n\n```jsx\n<BentoAccordion style={{width: '300px', height: '100px'}}>\n  ...\n</BentoAccordion>\n```\n\nOr via `className`:\n\n```jsx\n<BentoAccordion className='custom-styles'>\n  ...\n</BentoAccordion>\n```\n\n```css\n.custom-styles {\n  background-color: red;\n}\n```\n\n#### Props\n\n##### BentoAccordion\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse of each section\nDefault: `false`\n\n###### expandSingleSection\n\nIf true, then expanding 1 section will automatically collapse all other sections:\nDefault: `false`\n\n##### BentoAccordionSection\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse the section\nDefault: `false`\n\n###### expanded\n\nIf true, expands the section.\nDefault: `false`\n\n###### onExpandStateChange\n\n```typescript\n(expanded: boolean): void\n```\n\nCallback to listen for expand state changes. Takes a boolean flag as parameter indicating whether the section was just expanded (`false` indicates it was collapsed)\n\n##### BentoAccordionHeader\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionHeader does not yet support any custom props\n\n##### BentoAccordionContent\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionContent does not yet support any custom props\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2109180035.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-p6sTZfbe78VejKU/zMp0wh61tpRdzWD9PhfyAii4Is/vK1e6dSJJssaKgeNt6ouAF5SS5OdqF0nkyOHIJlZSdA==","shasum":"8bc6f0c3b0e6f472c7f759057739b0a68e3a2831","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2109180035.0.tgz","fileCount":20,"unpackedSize":416323,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGmrfUBBOI9b1dRWPEV6lzTtz4wMtrRBqq5SnGelKFqAIgIekX/1VflDa1dEiQdnW3Ajjxp9T4d6OIFIhH4D/Qnjo="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2109180035.0_1631964008900_0.48924740909212194"},"_hasShrinkwrap":false},"1.2109201529.0":{"name":"@ampproject/amp-accordion","version":"1.2109201529.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"---\n$category@: layout\nformats:\n  - websites\nteaser:\n  text: A stacked list of headers that collapse or expand content sections with user interaction.\n---\n\n# Bento Accordion\n\n## Usage\n\nThe Bento Accordion component allows you to display collapsible and expandable\ncontent sections. This component provides a way for viewers to glance at the\ncontent outline and jump to any section. Effective use reduces scrolling needs\non mobile devices.\n\nUse Bento Accordion as a web component ([`<bento-accordion>`](#web-component)), or a Preact/React functional component ([`<BentoAccordion>`](#preact/react-component)).\n\n-   A Bento Accordion accepts one or more `<section>` elements as its direct\n    children.\n-   Each `<section>` must contain exactly two direct children.\n-   The first child in a `<section>` is the heading for that section of the\n    Bento Accordion. It must be a heading element such as `<h1>-<h6>` or\n    `<header>`.\n-   The second child in a `<section>` is the expandable/collapsible content.\n    -   It can be any tag allowed in [AMP HTML](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-html-format.md).\n-   A click or tap on a `<section>` heading expands or collapses the section.\n-   A Bento Accordion with a defined `id` preserves the collapsed or expanded\n    state of each section while the user remains on your domain.\n\n### Web Component\n\nYou must include each Bento component's required CSS library to guarantee proper loading and before adding custom styles. Or use the light-weight pre-upgrade styles available inline. See [Layout and style](#layout-and-style).\n\nThe examples below demonstrate use of the `<bento-accordion>` web component.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport '@ampproject/bento-accordion';\n```\n\n[/example]\n\n#### Example: Include via `<script>`\n\nThe example below contains an `bento-accordion` with three sections. The\n`expanded` attribute on the third section expands it on page load.\n\n[example preview=\"top-frame\" playground=\"false\"]\n\n```html\n<head>\n  <script src=\"https://cdn.ampproject.org/custom-elements-polyfill.js\"></script>\n  <script async src=\"https://cdn.ampproject.org/v0/bento-accordion-1.0.js\"></script>\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n</head>\n<body>\n  <bento-accordion id=\"my-accordion\"{% if not format=='email'%} disable-session-states{% endif %}>\n    <section>\n      <h2>Section 1</h2>\n      <p>Content in section 1.</p>\n    </section>\n    <section>\n      <h2>Section 2</h2>\n      <div>Content in section 2.</div>\n    </section>\n    <section expanded>\n      <h2>Section 3</h2>\n      <div>Content in section 3.</div>\n    </section>\n  </bento-accordion>\n  <script>\n    (async () => {\n      const accordion = document.querySelector('#my-accordion');\n      await customElements.whenDefined('bento-accordion');\n      const api = await accordion.getApi();\n\n      // programatically expand all sections\n      api.expand();\n      // programatically collapse all sections\n      api.collapse();\n    })();\n  </script>\n</body>\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento enabled components in standalone use are highly interactive through their API. The `bento-accordion` component API is accessible by including the following script tag in your document:\n\n```javascript\nawait customElements.whenDefined('bento-accordion');\nconst api = await accordion.getApi();\n```\n\n##### Actions\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```html\n<bento-accordion id=\"myAccordion\">\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n</bento-accordion>\n<button id=\"button1\">Toggle All Sections</button>\n<button id=\"button2\">Toggle Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.toggle();\n    document.querySelector('#button2').onclick = () => api.toggle('section1');\n  })();\n</script>\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Expand All Sections</button>\n<button id=\"button2\">Expand Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.expand();\n    document.querySelector('#button2').onclick = () => api.expand('section1');\n  })();\n</script>\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Collapse All Sections</button>\n<button id=\"button2\">Collapse Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.collapse();\n    document.querySelector('#button2').onclick = () => api.collapse('section1');\n  })();\n</script>\n```\n\n##### Events\n\nThe `bento-accordion` API allows you to register and respond to the following events:\n\n**expand**\nThis event is triggered when an accordion section is expanded and is dispatched from the expanded section.\n\nSee below for example.\n\n**collapse**\nThis event is triggered when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```html\n<bento-accordion id=\"eventsAccordion\" animate='true'>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <div>Puppies are cute.</div>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Kittens are furry.</div>\n  </section>\n</bento-accordion>\n\n<script>\n  (async () => {\n    const accordion = document.querySelector('#eventsAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // when section 1 expands, section 2 also expands\n    // when section 2 collapses, section 1 also collapses\n    const section1 = document.querySelector('#section1');\n    const section2 = document.querySelector('#section2');\n    section1.addEventListener('expand', () => api.expand('section2'));\n    section2.addEventListener('collapse', () => api.collapse('section1'));\n  })();\n</script>\n```\n\n#### Layout and style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style data-bento-boilerplate>\n  amp-accordion {\n    display: block;\n    contain: layout;\n  }\n\n  amp-accordion,\n  amp-accordion > section,\n  amp-accordion > section > :first-child {\n    margin: 0;\n  }\n\n  amp-accordion > section > * {\n    display: block;\n    float: none;\n    overflow: hidden; /* clearfix */\n    position: relative;\n  }\n\n  @media (min-width: 1px) {\n    :where(amp-accordion > section) > :first-child {\n      cursor: pointer;\n      background-color: #efefef;\n      padding-right: 20px;\n      border: 1px solid #dfdfdf;\n    }\n  }\n\n  .i-amphtml-accordion-header {\n    cursor: pointer;\n    background-color: #efefef;\n    padding-right: 20px;\n    border: 1px solid #dfdfdf;\n  }\n\n  amp-accordion > section:not([expanded]) > :last-child:not(.i-amphtml-animating),\n  amp-accordion\n    > section:not([expanded])\n    > :last-child:not(.i-amphtml-animating)\n    * {\n    display: none !important;\n  }\n</style>\n```\n\n#### Attributes\n\n##### animate\n\nInclude the `animate` attribute in `<bento-accordion>` to add a \"roll down\"\nanimation when the content is expanded and \"roll up\" animation when collapsed.\n\nThis attribute can be configured to based on a [media query](./../../../docs/spec/amp-html-responsive-attributes.md).\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion animate>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Content in section 2.</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expanded\n\nApply the `expanded` attribute to a nested `<section>` to expand that section when the page loads.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section id=\"section3\" expanded>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome expanded content</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expand-single-section\n\nAllow only one section to expand at a time by applying the `expand-single-section` attribute to the `<bento-accordion>` element. This means if a user taps on a collapsed `<section>`, it will expand and collapse other expanded `<section>`'s.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion expand-single-section>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <amp-img\n      src=\"{{server_for_email}}/static/inline-examples/images/squirrel.jpg\"\n      width=\"320\"\n      height=\"256\"\n    ></amp-img>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n#### Styling\n\nYou may use the `bento-accordion` element selector to style the accordion\nfreely.\n\nKeep the following points in mind when you style an amp-accordion:\n\n-   `bento-accordion` elements are always `display: block`.\n-   `float` cannot style a `<section>`, heading, nor content elements.\n-   An expanded section applies the `expanded` attribute to the `<section>`\n    element.\n-   The content element is clear-fixed with `overflow: hidden` and hence cannot\n    have scrollbars.\n-   Margins of the `<bento-accordion>`, `<section>`, heading, and content elements\n    are set to `0`, but can be overridden in custom styles.\n-   Both the header and content elements are `position: relative`.\n\n### Preact/React Component\n\nThe examples below demonstrates use of the `<BentoAccordion>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport React from 'react';\nimport { BentoAccordion } from '@ampproject/bento-accordion/react';\nimport '@ampproject/bento-accordion/styles.css';\n\nfunction App() {\n  return (\n    <BentoAccordion>\n      <BentoAccordionSection key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento components are highly interactive through their API. The `BentoAccordion` component API is accessible by passing a `ref`:\n\n```javascript\nimport React, {createRef} from 'react';\nconst ref = createRef();\n\nfunction App() {\n  return (\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection id=\"section1\" key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section2\" key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section3\" key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n##### Actions\n\nThe `BentoAccordion` API allows you to perform the following actions:\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```javascript\nref.current.toggle();\nref.current.toggle('section1');\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.expand();\nref.current.expand('section1');\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.collapse();\nref.current.collapse('section1');\n```\n\n##### Events\n\nThe Bento Accordion API allows you to respond to the following events:\n\n**onExpandStateChange**\n\nThis event is triggered on a section when an accordion section is expanded or collpased and is dispatched from the expanded section.\n\nSee below for example.\n\n**onCollapse**\n\nThis event is triggered on a section when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```jsx\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection\n        id=\"section1\"\n        key={1}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section1 expanded') : alert('section1 collapsed')\n        }>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section2\"\n        key={2}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section2 expanded') : alert('section2 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section3\"\n        key={3}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section3 expanded') : alert('section3 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n```\n\n#### Layout and style\n\n**Container type**\n\nThe `BentoAccordion` component has a defined layout size type. To ensure the component renders correctly, be sure to apply a size to the component and its immediate children via a desired CSS layout (such as one defined with `height`, `width`, `aspect-ratio`, or other such properties). These can be applied inline:\n\n```jsx\n<BentoAccordion style={{width: '300px', height: '100px'}}>\n  ...\n</BentoAccordion>\n```\n\nOr via `className`:\n\n```jsx\n<BentoAccordion className='custom-styles'>\n  ...\n</BentoAccordion>\n```\n\n```css\n.custom-styles {\n  background-color: red;\n}\n```\n\n#### Props\n\n##### BentoAccordion\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse of each section\nDefault: `false`\n\n###### expandSingleSection\n\nIf true, then expanding 1 section will automatically collapse all other sections:\nDefault: `false`\n\n##### BentoAccordionSection\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse the section\nDefault: `false`\n\n###### expanded\n\nIf true, expands the section.\nDefault: `false`\n\n###### onExpandStateChange\n\n```typescript\n(expanded: boolean): void\n```\n\nCallback to listen for expand state changes. Takes a boolean flag as parameter indicating whether the section was just expanded (`false` indicates it was collapsed)\n\n##### BentoAccordionHeader\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionHeader does not yet support any custom props\n\n##### BentoAccordionContent\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionContent does not yet support any custom props\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2109201529.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-wM08chxZxA0PB9+CPXPD0HLN8qNSCjasfwhgww5IuLYo92Y5GzRq+hitrXA/d+tqKFxRJ2dfGmtlBv2RANt2IQ==","shasum":"697e71272928af3923b69bd2fb505ba106e46415","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2109201529.0.tgz","fileCount":20,"unpackedSize":416323,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICjN1/4xhq6DbkrYTeY6bNn9X6EaNvdYemeBGk/Yc4TUAiAqDCX1qSz0GfIwsFIVR2GX7DihnEnLv37Tzz+SvmAO6Q=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2109201529.0_1632223060708_0.9626770420814568"},"_hasShrinkwrap":false},"1.2109102127.0":{"name":"@ampproject/amp-accordion","version":"1.2109102127.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2109102127.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-94AT1ME2jPtXQhOdknIReJEJo69lbMNzdAkFD3BrmD+4pEXB3+VFIa0bk5tXfEiH6HdtDIXruSDqn6QJNNgirQ==","shasum":"58e908faba0d046fc72a31564a12bade21792a33","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2109102127.0.tgz","fileCount":20,"unpackedSize":416323,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTAqwIkkcos7jQBMylzCGxCq0l8VKHvS3rksO1INCSSwIhAKfO4k4ErcLqja7nW6EDHX1L+lI/lQsTi1CvkjLwsrQ6"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2109102127.0_1632249972726_0.747962009309689"},"_hasShrinkwrap":false},"1.2109212005.0":{"name":"@ampproject/amp-accordion","version":"1.2109212005.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"---\n$category@: layout\nformats:\n  - websites\nteaser:\n  text: A stacked list of headers that collapse or expand content sections with user interaction.\n---\n\n# Bento Accordion\n\n## Usage\n\nThe Bento Accordion component allows you to display collapsible and expandable\ncontent sections. This component provides a way for viewers to glance at the\ncontent outline and jump to any section. Effective use reduces scrolling needs\non mobile devices.\n\nUse Bento Accordion as a web component ([`<bento-accordion>`](#web-component)), or a Preact/React functional component ([`<BentoAccordion>`](#preact/react-component)).\n\n-   A Bento Accordion accepts one or more `<section>` elements as its direct\n    children.\n-   Each `<section>` must contain exactly two direct children.\n-   The first child in a `<section>` is the heading for that section of the\n    Bento Accordion. It must be a heading element such as `<h1>-<h6>` or\n    `<header>`.\n-   The second child in a `<section>` is the expandable/collapsible content.\n    -   It can be any tag allowed in [AMP HTML](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-html-format.md).\n-   A click or tap on a `<section>` heading expands or collapses the section.\n-   A Bento Accordion with a defined `id` preserves the collapsed or expanded\n    state of each section while the user remains on your domain.\n\n### Web Component\n\nYou must include each Bento component's required CSS library to guarantee proper loading and before adding custom styles. Or use the light-weight pre-upgrade styles available inline. See [Layout and style](#layout-and-style).\n\nThe examples below demonstrate use of the `<bento-accordion>` web component.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport '@ampproject/bento-accordion';\n```\n\n[/example]\n\n#### Example: Include via `<script>`\n\nThe example below contains an `bento-accordion` with three sections. The\n`expanded` attribute on the third section expands it on page load.\n\n[example preview=\"top-frame\" playground=\"false\"]\n\n```html\n<head>\n  <script src=\"https://cdn.ampproject.org/custom-elements-polyfill.js\"></script>\n  <script async src=\"https://cdn.ampproject.org/v0/bento-accordion-1.0.js\"></script>\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n</head>\n<body>\n  <bento-accordion id=\"my-accordion\"{% if not format=='email'%} disable-session-states{% endif %}>\n    <section>\n      <h2>Section 1</h2>\n      <p>Content in section 1.</p>\n    </section>\n    <section>\n      <h2>Section 2</h2>\n      <div>Content in section 2.</div>\n    </section>\n    <section expanded>\n      <h2>Section 3</h2>\n      <div>Content in section 3.</div>\n    </section>\n  </bento-accordion>\n  <script>\n    (async () => {\n      const accordion = document.querySelector('#my-accordion');\n      await customElements.whenDefined('bento-accordion');\n      const api = await accordion.getApi();\n\n      // programatically expand all sections\n      api.expand();\n      // programatically collapse all sections\n      api.collapse();\n    })();\n  </script>\n</body>\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento enabled components in standalone use are highly interactive through their API. The `bento-accordion` component API is accessible by including the following script tag in your document:\n\n```javascript\nawait customElements.whenDefined('bento-accordion');\nconst api = await accordion.getApi();\n```\n\n##### Actions\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```html\n<bento-accordion id=\"myAccordion\">\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n</bento-accordion>\n<button id=\"button1\">Toggle All Sections</button>\n<button id=\"button2\">Toggle Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.toggle();\n    document.querySelector('#button2').onclick = () => api.toggle('section1');\n  })();\n</script>\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Expand All Sections</button>\n<button id=\"button2\">Expand Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.expand();\n    document.querySelector('#button2').onclick = () => api.expand('section1');\n  })();\n</script>\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Collapse All Sections</button>\n<button id=\"button2\">Collapse Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.collapse();\n    document.querySelector('#button2').onclick = () => api.collapse('section1');\n  })();\n</script>\n```\n\n##### Events\n\nThe `bento-accordion` API allows you to register and respond to the following events:\n\n**expand**\nThis event is triggered when an accordion section is expanded and is dispatched from the expanded section.\n\nSee below for example.\n\n**collapse**\nThis event is triggered when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```html\n<bento-accordion id=\"eventsAccordion\" animate='true'>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <div>Puppies are cute.</div>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Kittens are furry.</div>\n  </section>\n</bento-accordion>\n\n<script>\n  (async () => {\n    const accordion = document.querySelector('#eventsAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // when section 1 expands, section 2 also expands\n    // when section 2 collapses, section 1 also collapses\n    const section1 = document.querySelector('#section1');\n    const section2 = document.querySelector('#section2');\n    section1.addEventListener('expand', () => api.expand('section2'));\n    section2.addEventListener('collapse', () => api.collapse('section1'));\n  })();\n</script>\n```\n\n#### Layout and style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style data-bento-boilerplate>\n  amp-accordion {\n    display: block;\n    contain: layout;\n  }\n\n  amp-accordion,\n  amp-accordion > section,\n  amp-accordion > section > :first-child {\n    margin: 0;\n  }\n\n  amp-accordion > section > * {\n    display: block;\n    float: none;\n    overflow: hidden; /* clearfix */\n    position: relative;\n  }\n\n  @media (min-width: 1px) {\n    :where(amp-accordion > section) > :first-child {\n      cursor: pointer;\n      background-color: #efefef;\n      padding-right: 20px;\n      border: 1px solid #dfdfdf;\n    }\n  }\n\n  .i-amphtml-accordion-header {\n    cursor: pointer;\n    background-color: #efefef;\n    padding-right: 20px;\n    border: 1px solid #dfdfdf;\n  }\n\n  amp-accordion > section:not([expanded]) > :last-child:not(.i-amphtml-animating),\n  amp-accordion\n    > section:not([expanded])\n    > :last-child:not(.i-amphtml-animating)\n    * {\n    display: none !important;\n  }\n</style>\n```\n\n#### Attributes\n\n##### animate\n\nInclude the `animate` attribute in `<bento-accordion>` to add a \"roll down\"\nanimation when the content is expanded and \"roll up\" animation when collapsed.\n\nThis attribute can be configured to based on a [media query](./../../../docs/spec/amp-html-responsive-attributes.md).\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion animate>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Content in section 2.</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expanded\n\nApply the `expanded` attribute to a nested `<section>` to expand that section when the page loads.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section id=\"section3\" expanded>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome expanded content</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expand-single-section\n\nAllow only one section to expand at a time by applying the `expand-single-section` attribute to the `<bento-accordion>` element. This means if a user taps on a collapsed `<section>`, it will expand and collapse other expanded `<section>`'s.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion expand-single-section>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <amp-img\n      src=\"{{server_for_email}}/static/inline-examples/images/squirrel.jpg\"\n      width=\"320\"\n      height=\"256\"\n    ></amp-img>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n#### Styling\n\nYou may use the `bento-accordion` element selector to style the accordion\nfreely.\n\nKeep the following points in mind when you style an amp-accordion:\n\n-   `bento-accordion` elements are always `display: block`.\n-   `float` cannot style a `<section>`, heading, nor content elements.\n-   An expanded section applies the `expanded` attribute to the `<section>`\n    element.\n-   The content element is clear-fixed with `overflow: hidden` and hence cannot\n    have scrollbars.\n-   Margins of the `<bento-accordion>`, `<section>`, heading, and content elements\n    are set to `0`, but can be overridden in custom styles.\n-   Both the header and content elements are `position: relative`.\n\n### Preact/React Component\n\nThe examples below demonstrates use of the `<BentoAccordion>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport React from 'react';\nimport { BentoAccordion } from '@ampproject/bento-accordion/react';\nimport '@ampproject/bento-accordion/styles.css';\n\nfunction App() {\n  return (\n    <BentoAccordion>\n      <BentoAccordionSection key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento components are highly interactive through their API. The `BentoAccordion` component API is accessible by passing a `ref`:\n\n```javascript\nimport React, {createRef} from 'react';\nconst ref = createRef();\n\nfunction App() {\n  return (\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection id=\"section1\" key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section2\" key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section3\" key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n##### Actions\n\nThe `BentoAccordion` API allows you to perform the following actions:\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```javascript\nref.current.toggle();\nref.current.toggle('section1');\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.expand();\nref.current.expand('section1');\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.collapse();\nref.current.collapse('section1');\n```\n\n##### Events\n\nThe Bento Accordion API allows you to respond to the following events:\n\n**onExpandStateChange**\n\nThis event is triggered on a section when an accordion section is expanded or collpased and is dispatched from the expanded section.\n\nSee below for example.\n\n**onCollapse**\n\nThis event is triggered on a section when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```jsx\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection\n        id=\"section1\"\n        key={1}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section1 expanded') : alert('section1 collapsed')\n        }>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section2\"\n        key={2}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section2 expanded') : alert('section2 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section3\"\n        key={3}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section3 expanded') : alert('section3 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n```\n\n#### Layout and style\n\n**Container type**\n\nThe `BentoAccordion` component has a defined layout size type. To ensure the component renders correctly, be sure to apply a size to the component and its immediate children via a desired CSS layout (such as one defined with `height`, `width`, `aspect-ratio`, or other such properties). These can be applied inline:\n\n```jsx\n<BentoAccordion style={{width: '300px', height: '100px'}}>\n  ...\n</BentoAccordion>\n```\n\nOr via `className`:\n\n```jsx\n<BentoAccordion className='custom-styles'>\n  ...\n</BentoAccordion>\n```\n\n```css\n.custom-styles {\n  background-color: red;\n}\n```\n\n#### Props\n\n##### BentoAccordion\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse of each section\nDefault: `false`\n\n###### expandSingleSection\n\nIf true, then expanding 1 section will automatically collapse all other sections:\nDefault: `false`\n\n##### BentoAccordionSection\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse the section\nDefault: `false`\n\n###### expanded\n\nIf true, expands the section.\nDefault: `false`\n\n###### onExpandStateChange\n\n```typescript\n(expanded: boolean): void\n```\n\nCallback to listen for expand state changes. Takes a boolean flag as parameter indicating whether the section was just expanded (`false` indicates it was collapsed)\n\n##### BentoAccordionHeader\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionHeader does not yet support any custom props\n\n##### BentoAccordionContent\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionContent does not yet support any custom props\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2109212005.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-TvU+RHUJ0O7J2BqPVFtiIv2lWRBkKrl0vGqFPO9PWTDIBxJ1qRoXomeh27EVJPmz2NITbK94bh8HSrRPEDa4Fw==","shasum":"a68c005ecf553d57c7da51b3a14b422815c8b277","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2109212005.0.tgz","fileCount":20,"unpackedSize":416323,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDBJf1LVxMBuJ1EM0cMWX6NOkbhbkDu6F0ZPSLKanSlPAiAsOxhKN1yt96cB+YKg6d0bOsOCkH3k9uN95S93dNjzBA=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2109212005.0_1632311141083_0.5963550520684311"},"_hasShrinkwrap":false},"1.2109222204.0":{"name":"@ampproject/amp-accordion","version":"1.2109222204.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"}},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Accordion\n\n## Usage\n\nThe Bento Accordion component allows you to display collapsible and expandable\ncontent sections. This component provides a way for viewers to glance at the\ncontent outline and jump to any section. Effective use reduces scrolling needs\non mobile devices.\n\nUse Bento Accordion as a web component ([`<bento-accordion>`](#web-component)), or a Preact/React functional component ([`<BentoAccordion>`](#preact/react-component)).\n\n-   A Bento Accordion accepts one or more `<section>` elements as its direct\n    children.\n-   Each `<section>` must contain exactly two direct children.\n-   The first child in a `<section>` is the heading for that section of the\n    Bento Accordion. It must be a heading element such as `<h1>-<h6>` or\n    `<header>`.\n-   The second child in a `<section>` is the expandable/collapsible content.\n    -   It can be any tag allowed in [AMP HTML](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-html-format.md).\n-   A click or tap on a `<section>` heading expands or collapses the section.\n-   A Bento Accordion with a defined `id` preserves the collapsed or expanded\n    state of each section while the user remains on your domain.\n\n### Web Component\n\nYou must include each Bento component's required CSS library to guarantee proper loading and before adding custom styles. Or use the light-weight pre-upgrade styles available inline. See [Layout and style](#layout-and-style).\n\nThe examples below demonstrate use of the `<bento-accordion>` web component.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport '@ampproject/bento-accordion';\n```\n\n[/example]\n\n#### Example: Include via `<script>`\n\nThe example below contains an `bento-accordion` with three sections. The\n`expanded` attribute on the third section expands it on page load.\n\n[example preview=\"top-frame\" playground=\"false\"]\n\n```html\n<head>\n  <script src=\"https://cdn.ampproject.org/custom-elements-polyfill.js\"></script>\n  <script async src=\"https://cdn.ampproject.org/v0/bento-accordion-1.0.js\"></script>\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n</head>\n<body>\n  <bento-accordion id=\"my-accordion\"{% if not format=='email'%} disable-session-states{% endif %}>\n    <section>\n      <h2>Section 1</h2>\n      <p>Content in section 1.</p>\n    </section>\n    <section>\n      <h2>Section 2</h2>\n      <div>Content in section 2.</div>\n    </section>\n    <section expanded>\n      <h2>Section 3</h2>\n      <div>Content in section 3.</div>\n    </section>\n  </bento-accordion>\n  <script>\n    (async () => {\n      const accordion = document.querySelector('#my-accordion');\n      await customElements.whenDefined('bento-accordion');\n      const api = await accordion.getApi();\n\n      // programatically expand all sections\n      api.expand();\n      // programatically collapse all sections\n      api.collapse();\n    })();\n  </script>\n</body>\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento enabled components in standalone use are highly interactive through their API. The `bento-accordion` component API is accessible by including the following script tag in your document:\n\n```javascript\nawait customElements.whenDefined('bento-accordion');\nconst api = await accordion.getApi();\n```\n\n##### Actions\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```html\n<bento-accordion id=\"myAccordion\">\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n</bento-accordion>\n<button id=\"button1\">Toggle All Sections</button>\n<button id=\"button2\">Toggle Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.toggle();\n    document.querySelector('#button2').onclick = () => api.toggle('section1');\n  })();\n</script>\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Expand All Sections</button>\n<button id=\"button2\">Expand Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.expand();\n    document.querySelector('#button2').onclick = () => api.expand('section1');\n  })();\n</script>\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Collapse All Sections</button>\n<button id=\"button2\">Collapse Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.collapse();\n    document.querySelector('#button2').onclick = () => api.collapse('section1');\n  })();\n</script>\n```\n\n##### Events\n\nThe `bento-accordion` API allows you to register and respond to the following events:\n\n**expand**\nThis event is triggered when an accordion section is expanded and is dispatched from the expanded section.\n\nSee below for example.\n\n**collapse**\nThis event is triggered when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```html\n<bento-accordion id=\"eventsAccordion\" animate='true'>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <div>Puppies are cute.</div>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Kittens are furry.</div>\n  </section>\n</bento-accordion>\n\n<script>\n  (async () => {\n    const accordion = document.querySelector('#eventsAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // when section 1 expands, section 2 also expands\n    // when section 2 collapses, section 1 also collapses\n    const section1 = document.querySelector('#section1');\n    const section2 = document.querySelector('#section2');\n    section1.addEventListener('expand', () => api.expand('section2'));\n    section2.addEventListener('collapse', () => api.collapse('section1'));\n  })();\n</script>\n```\n\n#### Layout and style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style data-bento-boilerplate>\n  amp-accordion {\n    display: block;\n    contain: layout;\n  }\n\n  amp-accordion,\n  amp-accordion > section,\n  amp-accordion > section > :first-child {\n    margin: 0;\n  }\n\n  amp-accordion > section > * {\n    display: block;\n    float: none;\n    overflow: hidden; /* clearfix */\n    position: relative;\n  }\n\n  @media (min-width: 1px) {\n    :where(amp-accordion > section) > :first-child {\n      cursor: pointer;\n      background-color: #efefef;\n      padding-right: 20px;\n      border: 1px solid #dfdfdf;\n    }\n  }\n\n  .i-amphtml-accordion-header {\n    cursor: pointer;\n    background-color: #efefef;\n    padding-right: 20px;\n    border: 1px solid #dfdfdf;\n  }\n\n  amp-accordion > section:not([expanded]) > :last-child:not(.i-amphtml-animating),\n  amp-accordion\n    > section:not([expanded])\n    > :last-child:not(.i-amphtml-animating)\n    * {\n    display: none !important;\n  }\n</style>\n```\n\n#### Attributes\n\n##### animate\n\nInclude the `animate` attribute in `<bento-accordion>` to add a \"roll down\"\nanimation when the content is expanded and \"roll up\" animation when collapsed.\n\nThis attribute can be configured to based on a [media query](./../../../docs/spec/amp-html-responsive-attributes.md).\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion animate>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Content in section 2.</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expanded\n\nApply the `expanded` attribute to a nested `<section>` to expand that section when the page loads.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section id=\"section3\" expanded>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome expanded content</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expand-single-section\n\nAllow only one section to expand at a time by applying the `expand-single-section` attribute to the `<bento-accordion>` element. This means if a user taps on a collapsed `<section>`, it will expand and collapse other expanded `<section>`'s.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion expand-single-section>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <amp-img\n      src=\"{{server_for_email}}/static/inline-examples/images/squirrel.jpg\"\n      width=\"320\"\n      height=\"256\"\n    ></amp-img>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n#### Styling\n\nYou may use the `bento-accordion` element selector to style the accordion\nfreely.\n\nKeep the following points in mind when you style an amp-accordion:\n\n-   `bento-accordion` elements are always `display: block`.\n-   `float` cannot style a `<section>`, heading, nor content elements.\n-   An expanded section applies the `expanded` attribute to the `<section>`\n    element.\n-   The content element is clear-fixed with `overflow: hidden` and hence cannot\n    have scrollbars.\n-   Margins of the `<bento-accordion>`, `<section>`, heading, and content elements\n    are set to `0`, but can be overridden in custom styles.\n-   Both the header and content elements are `position: relative`.\n\n### Preact/React Component\n\nThe examples below demonstrates use of the `<BentoAccordion>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport React from 'react';\nimport { BentoAccordion } from '@ampproject/bento-accordion/react';\nimport '@ampproject/bento-accordion/styles.css';\n\nfunction App() {\n  return (\n    <BentoAccordion>\n      <BentoAccordionSection key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento components are highly interactive through their API. The `BentoAccordion` component API is accessible by passing a `ref`:\n\n```javascript\nimport React, {createRef} from 'react';\nconst ref = createRef();\n\nfunction App() {\n  return (\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection id=\"section1\" key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section2\" key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section3\" key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n##### Actions\n\nThe `BentoAccordion` API allows you to perform the following actions:\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```javascript\nref.current.toggle();\nref.current.toggle('section1');\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.expand();\nref.current.expand('section1');\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.collapse();\nref.current.collapse('section1');\n```\n\n##### Events\n\nThe Bento Accordion API allows you to respond to the following events:\n\n**onExpandStateChange**\n\nThis event is triggered on a section when an accordion section is expanded or collpased and is dispatched from the expanded section.\n\nSee below for example.\n\n**onCollapse**\n\nThis event is triggered on a section when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```jsx\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection\n        id=\"section1\"\n        key={1}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section1 expanded') : alert('section1 collapsed')\n        }>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section2\"\n        key={2}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section2 expanded') : alert('section2 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section3\"\n        key={3}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section3 expanded') : alert('section3 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n```\n\n#### Layout and style\n\n**Container type**\n\nThe `BentoAccordion` component has a defined layout size type. To ensure the component renders correctly, be sure to apply a size to the component and its immediate children via a desired CSS layout (such as one defined with `height`, `width`, `aspect-ratio`, or other such properties). These can be applied inline:\n\n```jsx\n<BentoAccordion style={{width: '300px', height: '100px'}}>\n  ...\n</BentoAccordion>\n```\n\nOr via `className`:\n\n```jsx\n<BentoAccordion className='custom-styles'>\n  ...\n</BentoAccordion>\n```\n\n```css\n.custom-styles {\n  background-color: red;\n}\n```\n\n#### Props\n\n##### BentoAccordion\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse of each section\nDefault: `false`\n\n###### expandSingleSection\n\nIf true, then expanding 1 section will automatically collapse all other sections:\nDefault: `false`\n\n##### BentoAccordionSection\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse the section\nDefault: `false`\n\n###### expanded\n\nIf true, expands the section.\nDefault: `false`\n\n###### onExpandStateChange\n\n```typescript\n(expanded: boolean): void\n```\n\nCallback to listen for expand state changes. Takes a boolean flag as parameter indicating whether the section was just expanded (`false` indicates it was collapsed)\n\n##### BentoAccordionHeader\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionHeader does not yet support any custom props\n\n##### BentoAccordionContent\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionContent does not yet support any custom props\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2109222204.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Z61egf0g6zKhBRYiwa97NmZ67qoG9rqtcF9qXdW/Z+StjGqoNLrdPyJNNgewqfvH61BQhml0f3SrHskIYpS3JQ==","shasum":"230d4964a1708afa0c9e6b4b54545d29f593a9e8","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2109222204.0.tgz","fileCount":20,"unpackedSize":416167,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSDsAHGaz3qrifpJmjHXEabVowSlCpAvDbaPR3xSNkDAIhAKXKZr/JniaFz4Ja+HTLMu7KWZEfYhr/MRFcmwEQBqb+"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2109222204.0_1632397275008_0.07132865137782773"},"_hasShrinkwrap":false},"1.2110112305.0":{"name":"@ampproject/amp-accordion","version":"1.2110112305.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./styles.css":"./dist/styles.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Accordion\n\n## Usage\n\nThe Bento Accordion component allows you to display collapsible and expandable\ncontent sections. This component provides a way for viewers to glance at the\ncontent outline and jump to any section. Effective use reduces scrolling needs\non mobile devices.\n\nUse Bento Accordion as a web component ([`<bento-accordion>`](#web-component)), or a Preact/React functional component ([`<BentoAccordion>`](#preactreact-component)).\n\n-   A Bento Accordion accepts one or more `<section>` elements as its direct\n    children.\n-   Each `<section>` must contain exactly two direct children.\n-   The first child in a `<section>` is the heading for that section of the\n    Bento Accordion. It must be a heading element such as `<h1>-<h6>` or\n    `<header>`.\n-   The second child in a `<section>` is the expandable/collapsible content.\n    -   It can be any tag allowed in [AMP HTML](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-html-format.md).\n-   A click or tap on a `<section>` heading expands or collapses the section.\n-   A Bento Accordion with a defined `id` preserves the collapsed or expanded\n    state of each section while the user remains on your domain.\n\n### Web Component\n\nYou must include each Bento component's required CSS library to guarantee proper loading and before adding custom styles. Or use the light-weight pre-upgrade styles available inline. See [Layout and style](#layout-and-style).\n\nThe examples below demonstrate use of the `<bento-accordion>` web component.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport '@ampproject/bento-accordion';\n```\n\n[/example]\n\n#### Example: Include via `<script>`\n\nThe example below contains an `bento-accordion` with three sections. The\n`expanded` attribute on the third section expands it on page load.\n\n[example preview=\"top-frame\" playground=\"false\"]\n\n```html\n<head>\n  <script src=\"https://cdn.ampproject.org/custom-elements-polyfill.js\"></script>\n  <script async src=\"https://cdn.ampproject.org/v0/bento-accordion-1.0.js\"></script>\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n</head>\n<body>\n  <bento-accordion id=\"my-accordion\"{% if not format=='email'%} disable-session-states{% endif %}>\n    <section>\n      <h2>Section 1</h2>\n      <p>Content in section 1.</p>\n    </section>\n    <section>\n      <h2>Section 2</h2>\n      <div>Content in section 2.</div>\n    </section>\n    <section expanded>\n      <h2>Section 3</h2>\n      <div>Content in section 3.</div>\n    </section>\n  </bento-accordion>\n  <script>\n    (async () => {\n      const accordion = document.querySelector('#my-accordion');\n      await customElements.whenDefined('bento-accordion');\n      const api = await accordion.getApi();\n\n      // programatically expand all sections\n      api.expand();\n      // programatically collapse all sections\n      api.collapse();\n    })();\n  </script>\n</body>\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento enabled components in standalone use are highly interactive through their API. The `bento-accordion` component API is accessible by including the following script tag in your document:\n\n```javascript\nawait customElements.whenDefined('bento-accordion');\nconst api = await accordion.getApi();\n```\n\n##### Actions\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```html\n<bento-accordion id=\"myAccordion\">\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n</bento-accordion>\n<button id=\"button1\">Toggle All Sections</button>\n<button id=\"button2\">Toggle Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.toggle();\n    document.querySelector('#button2').onclick = () => api.toggle('section1');\n  })();\n</script>\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Expand All Sections</button>\n<button id=\"button2\">Expand Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.expand();\n    document.querySelector('#button2').onclick = () => api.expand('section1');\n  })();\n</script>\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Collapse All Sections</button>\n<button id=\"button2\">Collapse Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.collapse();\n    document.querySelector('#button2').onclick = () => api.collapse('section1');\n  })();\n</script>\n```\n\n##### Events\n\nThe `bento-accordion` API allows you to register and respond to the following events:\n\n**expand**\nThis event is triggered when an accordion section is expanded and is dispatched from the expanded section.\n\nSee below for example.\n\n**collapse**\nThis event is triggered when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```html\n<bento-accordion id=\"eventsAccordion\" animate='true'>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <div>Puppies are cute.</div>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Kittens are furry.</div>\n  </section>\n</bento-accordion>\n\n<script>\n  (async () => {\n    const accordion = document.querySelector('#eventsAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // when section 1 expands, section 2 also expands\n    // when section 2 collapses, section 1 also collapses\n    const section1 = document.querySelector('#section1');\n    const section2 = document.querySelector('#section2');\n    section1.addEventListener('expand', () => api.expand('section2'));\n    section2.addEventListener('collapse', () => api.collapse('section1'));\n  })();\n</script>\n```\n\n#### Layout and style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style data-bento-boilerplate>\n  amp-accordion {\n    display: block;\n    contain: layout;\n  }\n\n  amp-accordion,\n  amp-accordion > section,\n  amp-accordion > section > :first-child {\n    margin: 0;\n  }\n\n  amp-accordion > section > * {\n    display: block;\n    float: none;\n    overflow: hidden; /* clearfix */\n    position: relative;\n  }\n\n  @media (min-width: 1px) {\n    :where(amp-accordion > section) > :first-child {\n      cursor: pointer;\n      background-color: #efefef;\n      padding-right: 20px;\n      border: 1px solid #dfdfdf;\n    }\n  }\n\n  .i-amphtml-accordion-header {\n    cursor: pointer;\n    background-color: #efefef;\n    padding-right: 20px;\n    border: 1px solid #dfdfdf;\n  }\n\n  amp-accordion > section:not([expanded]) > :last-child:not(.i-amphtml-animating),\n  amp-accordion\n    > section:not([expanded])\n    > :last-child:not(.i-amphtml-animating)\n    * {\n    display: none !important;\n  }\n</style>\n```\n\n#### Attributes\n\n##### animate\n\nInclude the `animate` attribute in `<bento-accordion>` to add a \"roll down\"\nanimation when the content is expanded and \"roll up\" animation when collapsed.\n\nThis attribute can be configured to based on a [media query](./../../../docs/spec/amp-html-responsive-attributes.md).\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion animate>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Content in section 2.</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expanded\n\nApply the `expanded` attribute to a nested `<section>` to expand that section when the page loads.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section id=\"section3\" expanded>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome expanded content</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expand-single-section\n\nAllow only one section to expand at a time by applying the `expand-single-section` attribute to the `<bento-accordion>` element. This means if a user taps on a collapsed `<section>`, it will expand and collapse other expanded `<section>`'s.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion expand-single-section>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <amp-img\n      src=\"{{server_for_email}}/static/inline-examples/images/squirrel.jpg\"\n      width=\"320\"\n      height=\"256\"\n    ></amp-img>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n#### Styling\n\nYou may use the `bento-accordion` element selector to style the accordion\nfreely.\n\nKeep the following points in mind when you style an amp-accordion:\n\n-   `bento-accordion` elements are always `display: block`.\n-   `float` cannot style a `<section>`, heading, nor content elements.\n-   An expanded section applies the `expanded` attribute to the `<section>`\n    element.\n-   The content element is clear-fixed with `overflow: hidden` and hence cannot\n    have scrollbars.\n-   Margins of the `<bento-accordion>`, `<section>`, heading, and content elements\n    are set to `0`, but can be overridden in custom styles.\n-   Both the header and content elements are `position: relative`.\n\n### Preact/React Component\n\nThe examples below demonstrates use of the `<BentoAccordion>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport React from 'react';\nimport { BentoAccordion } from '@ampproject/bento-accordion/react';\nimport '@ampproject/bento-accordion/styles.css';\n\nfunction App() {\n  return (\n    <BentoAccordion>\n      <BentoAccordionSection key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento components are highly interactive through their API. The `BentoAccordion` component API is accessible by passing a `ref`:\n\n```javascript\nimport React, {createRef} from 'react';\nconst ref = createRef();\n\nfunction App() {\n  return (\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection id=\"section1\" key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section2\" key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section3\" key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n##### Actions\n\nThe `BentoAccordion` API allows you to perform the following actions:\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```javascript\nref.current.toggle();\nref.current.toggle('section1');\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.expand();\nref.current.expand('section1');\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.collapse();\nref.current.collapse('section1');\n```\n\n##### Events\n\nThe Bento Accordion API allows you to respond to the following events:\n\n**onExpandStateChange**\n\nThis event is triggered on a section when an accordion section is expanded or collpased and is dispatched from the expanded section.\n\nSee below for example.\n\n**onCollapse**\n\nThis event is triggered on a section when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```jsx\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection\n        id=\"section1\"\n        key={1}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section1 expanded') : alert('section1 collapsed')\n        }>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section2\"\n        key={2}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section2 expanded') : alert('section2 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section3\"\n        key={3}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section3 expanded') : alert('section3 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n```\n\n#### Layout and style\n\n**Container type**\n\nThe `BentoAccordion` component has a defined layout size type. To ensure the component renders correctly, be sure to apply a size to the component and its immediate children via a desired CSS layout (such as one defined with `height`, `width`, `aspect-ratio`, or other such properties). These can be applied inline:\n\n```jsx\n<BentoAccordion style={{width: '300px', height: '100px'}}>\n  ...\n</BentoAccordion>\n```\n\nOr via `className`:\n\n```jsx\n<BentoAccordion className='custom-styles'>\n  ...\n</BentoAccordion>\n```\n\n```css\n.custom-styles {\n  background-color: red;\n}\n```\n\n#### Props\n\n##### BentoAccordion\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse of each section\nDefault: `false`\n\n###### expandSingleSection\n\nIf true, then expanding 1 section will automatically collapse all other sections:\nDefault: `false`\n\n##### BentoAccordionSection\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse the section\nDefault: `false`\n\n###### expanded\n\nIf true, expands the section.\nDefault: `false`\n\n###### onExpandStateChange\n\n```typescript\n(expanded: boolean): void\n```\n\nCallback to listen for expand state changes. Takes a boolean flag as parameter indicating whether the section was just expanded (`false` indicates it was collapsed)\n\n##### BentoAccordionHeader\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionHeader does not yet support any custom props\n\n##### BentoAccordionContent\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionContent does not yet support any custom props\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2110112305.0","_nodeVersion":"14.18.0","_npmVersion":"6.14.15","dist":{"integrity":"sha512-fhfrbB/ElxmSvYu/MfO1uGbOmD+f0k5gl0jsfZnN+pgeN/DDKV/tzlTh0AUtNjYK4xM5LpD10YZGi0kMcxKNXg==","shasum":"b9a522a40589ba8ccf2eee3de7e8713921e59f54","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2110112305.0.tgz","fileCount":20,"unpackedSize":415785,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCB0G9fCM8rX16EvwawNSp+1+YUBdehbuoDP8Ef44V6qgIgG5uPtw0kBqOJZ8yjFa0Jkc3eQyjgVSEeWzfn7bE+hIQ="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2110112305.0_1634038829088_0.0453209484899304"},"_hasShrinkwrap":false},"1.2110121825.0":{"name":"@ampproject/amp-accordion","version":"1.2110121825.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./styles.css":"./dist/styles.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Accordion\n\n## Usage\n\nThe Bento Accordion component allows you to display collapsible and expandable\ncontent sections. This component provides a way for viewers to glance at the\ncontent outline and jump to any section. Effective use reduces scrolling needs\non mobile devices.\n\nUse Bento Accordion as a web component ([`<bento-accordion>`](#web-component)), or a Preact/React functional component ([`<BentoAccordion>`](#preactreact-component)).\n\n-   A Bento Accordion accepts one or more `<section>` elements as its direct\n    children.\n-   Each `<section>` must contain exactly two direct children.\n-   The first child in a `<section>` is the heading for that section of the\n    Bento Accordion. It must be a heading element such as `<h1>-<h6>` or\n    `<header>`.\n-   The second child in a `<section>` is the expandable/collapsible content.\n    -   It can be any tag allowed in [AMP HTML](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-html-format.md).\n-   A click or tap on a `<section>` heading expands or collapses the section.\n-   A Bento Accordion with a defined `id` preserves the collapsed or expanded\n    state of each section while the user remains on your domain.\n\n### Web Component\n\nYou must include each Bento component's required CSS library to guarantee proper loading and before adding custom styles. Or use the light-weight pre-upgrade styles available inline. See [Layout and style](#layout-and-style).\n\nThe examples below demonstrate use of the `<bento-accordion>` web component.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport '@ampproject/bento-accordion';\n```\n\n[/example]\n\n#### Example: Include via `<script>`\n\nThe example below contains an `bento-accordion` with three sections. The\n`expanded` attribute on the third section expands it on page load.\n\n[example preview=\"top-frame\" playground=\"false\"]\n\n```html\n<head>\n  <script src=\"https://cdn.ampproject.org/custom-elements-polyfill.js\"></script>\n  <script async src=\"https://cdn.ampproject.org/v0/bento-accordion-1.0.js\"></script>\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n</head>\n<body>\n  <bento-accordion id=\"my-accordion\"{% if not format=='email'%} disable-session-states{% endif %}>\n    <section>\n      <h2>Section 1</h2>\n      <p>Content in section 1.</p>\n    </section>\n    <section>\n      <h2>Section 2</h2>\n      <div>Content in section 2.</div>\n    </section>\n    <section expanded>\n      <h2>Section 3</h2>\n      <div>Content in section 3.</div>\n    </section>\n  </bento-accordion>\n  <script>\n    (async () => {\n      const accordion = document.querySelector('#my-accordion');\n      await customElements.whenDefined('bento-accordion');\n      const api = await accordion.getApi();\n\n      // programatically expand all sections\n      api.expand();\n      // programatically collapse all sections\n      api.collapse();\n    })();\n  </script>\n</body>\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento enabled components in standalone use are highly interactive through their API. The `bento-accordion` component API is accessible by including the following script tag in your document:\n\n```javascript\nawait customElements.whenDefined('bento-accordion');\nconst api = await accordion.getApi();\n```\n\n##### Actions\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```html\n<bento-accordion id=\"myAccordion\">\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n</bento-accordion>\n<button id=\"button1\">Toggle All Sections</button>\n<button id=\"button2\">Toggle Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.toggle();\n    document.querySelector('#button2').onclick = () => api.toggle('section1');\n  })();\n</script>\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Expand All Sections</button>\n<button id=\"button2\">Expand Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.expand();\n    document.querySelector('#button2').onclick = () => api.expand('section1');\n  })();\n</script>\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Collapse All Sections</button>\n<button id=\"button2\">Collapse Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.collapse();\n    document.querySelector('#button2').onclick = () => api.collapse('section1');\n  })();\n</script>\n```\n\n##### Events\n\nThe `bento-accordion` API allows you to register and respond to the following events:\n\n**expand**\nThis event is triggered when an accordion section is expanded and is dispatched from the expanded section.\n\nSee below for example.\n\n**collapse**\nThis event is triggered when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```html\n<bento-accordion id=\"eventsAccordion\" animate='true'>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <div>Puppies are cute.</div>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Kittens are furry.</div>\n  </section>\n</bento-accordion>\n\n<script>\n  (async () => {\n    const accordion = document.querySelector('#eventsAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // when section 1 expands, section 2 also expands\n    // when section 2 collapses, section 1 also collapses\n    const section1 = document.querySelector('#section1');\n    const section2 = document.querySelector('#section2');\n    section1.addEventListener('expand', () => api.expand('section2'));\n    section2.addEventListener('collapse', () => api.collapse('section1'));\n  })();\n</script>\n```\n\n#### Layout and style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style data-bento-boilerplate>\n  amp-accordion {\n    display: block;\n    contain: layout;\n  }\n\n  amp-accordion,\n  amp-accordion > section,\n  amp-accordion > section > :first-child {\n    margin: 0;\n  }\n\n  amp-accordion > section > * {\n    display: block;\n    float: none;\n    overflow: hidden; /* clearfix */\n    position: relative;\n  }\n\n  @media (min-width: 1px) {\n    :where(amp-accordion > section) > :first-child {\n      cursor: pointer;\n      background-color: #efefef;\n      padding-right: 20px;\n      border: 1px solid #dfdfdf;\n    }\n  }\n\n  .i-amphtml-accordion-header {\n    cursor: pointer;\n    background-color: #efefef;\n    padding-right: 20px;\n    border: 1px solid #dfdfdf;\n  }\n\n  amp-accordion > section:not([expanded]) > :last-child:not(.i-amphtml-animating),\n  amp-accordion\n    > section:not([expanded])\n    > :last-child:not(.i-amphtml-animating)\n    * {\n    display: none !important;\n  }\n</style>\n```\n\n#### Attributes\n\n##### animate\n\nInclude the `animate` attribute in `<bento-accordion>` to add a \"roll down\"\nanimation when the content is expanded and \"roll up\" animation when collapsed.\n\nThis attribute can be configured to based on a [media query](./../../../docs/spec/amp-html-responsive-attributes.md).\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion animate>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Content in section 2.</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expanded\n\nApply the `expanded` attribute to a nested `<section>` to expand that section when the page loads.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section id=\"section3\" expanded>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome expanded content</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expand-single-section\n\nAllow only one section to expand at a time by applying the `expand-single-section` attribute to the `<bento-accordion>` element. This means if a user taps on a collapsed `<section>`, it will expand and collapse other expanded `<section>`'s.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion expand-single-section>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <amp-img\n      src=\"{{server_for_email}}/static/inline-examples/images/squirrel.jpg\"\n      width=\"320\"\n      height=\"256\"\n    ></amp-img>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n#### Styling\n\nYou may use the `bento-accordion` element selector to style the accordion\nfreely.\n\nKeep the following points in mind when you style an amp-accordion:\n\n-   `bento-accordion` elements are always `display: block`.\n-   `float` cannot style a `<section>`, heading, nor content elements.\n-   An expanded section applies the `expanded` attribute to the `<section>`\n    element.\n-   The content element is clear-fixed with `overflow: hidden` and hence cannot\n    have scrollbars.\n-   Margins of the `<bento-accordion>`, `<section>`, heading, and content elements\n    are set to `0`, but can be overridden in custom styles.\n-   Both the header and content elements are `position: relative`.\n\n### Preact/React Component\n\nThe examples below demonstrates use of the `<BentoAccordion>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport React from 'react';\nimport { BentoAccordion } from '@ampproject/bento-accordion/react';\nimport '@ampproject/bento-accordion/styles.css';\n\nfunction App() {\n  return (\n    <BentoAccordion>\n      <BentoAccordionSection key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento components are highly interactive through their API. The `BentoAccordion` component API is accessible by passing a `ref`:\n\n```javascript\nimport React, {createRef} from 'react';\nconst ref = createRef();\n\nfunction App() {\n  return (\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection id=\"section1\" key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section2\" key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section3\" key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n##### Actions\n\nThe `BentoAccordion` API allows you to perform the following actions:\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```javascript\nref.current.toggle();\nref.current.toggle('section1');\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.expand();\nref.current.expand('section1');\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.collapse();\nref.current.collapse('section1');\n```\n\n##### Events\n\nThe Bento Accordion API allows you to respond to the following events:\n\n**onExpandStateChange**\n\nThis event is triggered on a section when an accordion section is expanded or collpased and is dispatched from the expanded section.\n\nSee below for example.\n\n**onCollapse**\n\nThis event is triggered on a section when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```jsx\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection\n        id=\"section1\"\n        key={1}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section1 expanded') : alert('section1 collapsed')\n        }>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section2\"\n        key={2}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section2 expanded') : alert('section2 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section3\"\n        key={3}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section3 expanded') : alert('section3 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n```\n\n#### Layout and style\n\n**Container type**\n\nThe `BentoAccordion` component has a defined layout size type. To ensure the component renders correctly, be sure to apply a size to the component and its immediate children via a desired CSS layout (such as one defined with `height`, `width`, `aspect-ratio`, or other such properties). These can be applied inline:\n\n```jsx\n<BentoAccordion style={{width: '300px', height: '100px'}}>\n  ...\n</BentoAccordion>\n```\n\nOr via `className`:\n\n```jsx\n<BentoAccordion className='custom-styles'>\n  ...\n</BentoAccordion>\n```\n\n```css\n.custom-styles {\n  background-color: red;\n}\n```\n\n#### Props\n\n##### BentoAccordion\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse of each section\nDefault: `false`\n\n###### expandSingleSection\n\nIf true, then expanding 1 section will automatically collapse all other sections:\nDefault: `false`\n\n##### BentoAccordionSection\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse the section\nDefault: `false`\n\n###### expanded\n\nIf true, expands the section.\nDefault: `false`\n\n###### onExpandStateChange\n\n```typescript\n(expanded: boolean): void\n```\n\nCallback to listen for expand state changes. Takes a boolean flag as parameter indicating whether the section was just expanded (`false` indicates it was collapsed)\n\n##### BentoAccordionHeader\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionHeader does not yet support any custom props\n\n##### BentoAccordionContent\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionContent does not yet support any custom props\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2110121825.0","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-4RcA87OjY4IaS0WHhb2jbCTXYQJfvjrMb8IYsT0OKiJSm6ywmnDviC0g/O4oE9U7N1a7ji815aiEjcwFix0ucQ==","shasum":"71f7aee7506d1de33483cc167541aa6b2a9ecf87","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2110121825.0.tgz","fileCount":20,"unpackedSize":415785,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcqeRStHbCUraJrx7EJ1n/SfrGI8QOzU+NRMIIDIadcgIhAKhHA15PfR2m4gvfAgJO2gWbynZfRT2FKQ3/cA/D3IC0"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2110121825.0_1634124386181_0.024459488144943142"},"_hasShrinkwrap":false},"1.2110011758.0":{"name":"@ampproject/amp-accordion","version":"1.2110011758.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./styles.css":"./dist/styles.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2110011758.0","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-qaE5DqIUCM2fRDwGNgY8As+nYrJ0FE4Qh9k2K1120eqwEAFk3hndXhYnKcdRAgxoyajQVvqpr6CwN445CnABeg==","shasum":"54a4f2cce6c462a044cb4210af83946c2ffc7ff1","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2110011758.0.tgz","fileCount":20,"unpackedSize":415785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzFQkCRA9TVsSAnZWagAAPeEQAIlLXDzbM43H9SPA7s4Y\ndxyWb2miSOdm3uoassf9hB5DV7b+uqnIWzvj4Yuwl5xr7vOLiIa+ncxqsZVd\n2NP/cZkFBRB3FC18KpIL8wg3sryAtTCleAyBHL0pdj5dOtDnCfMtEGwnZWj0\nKylsXhnKy0EaLgya1IXZ6EWvbnhIfDwDNM7v8eOuAR9BMjXO1e4vAtPh7yJH\nyFNbYNk8NygzdNHjpKeiKu1bfKn/1RgaDKGTU6s9RTRWNzAuJlT2ucnpNQU1\noPk1/VTU/DMU1RdAPCQjOtOk7Y0VPyKiULqdKnxSy5Zs1xS1sGAEFBDELU1n\nfTmneNocHX59tc4M7ipZIVpZnnkpYXVpdyns2fbyp2FA5DdJXGdoz/BTOtzM\nKvqz0T5oGhezDC8sU7H9JcWZ/+DYpJqcqytCd4VTzcuw8kiHGG3CUM0YAkn7\nIjviXhQTwpM7Td6dMynSBW7Hcq/PGx+BOCQYfHePuPomoD+msNJIvnbTbCa1\nnHxIVYDOMqgDy6HV9p6J0GMQ7kyJ3SU2xTxhAcYob45RKnQITtMs0d1dZyHa\nzpIBsCNWlou4ug2OTaQ+KTok14Bg7sQASBMEIlBd8fV3lDq3w7qVsFV+1PhG\nFgsKM0xefgLKalsfTRbqSCfie29D8pXW0Okb4+X+GbLXSX/hDm1Tng2Zccgh\nvIKv\r\n=OsVz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBzCPzNpgg0sTgPlbbbr6XkdLqF6tJ7GSFYqVpUbMG5QIhAOnTNFoM6xkzIWeKXmcHunOMOD9WUAwB44OLOCJ4p4zS"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2110011758.0_1634221213171_0.8846779711549935"},"_hasShrinkwrap":false,"deprecated":"See @bentoproject/accordion"},"1.2110142235.0":{"name":"@ampproject/amp-accordion","version":"1.2110142235.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./styles.css":"./dist/styles.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Accordion\n\n## Usage\n\nThe Bento Accordion component allows you to display collapsible and expandable\ncontent sections. This component provides a way for viewers to glance at the\ncontent outline and jump to any section. Effective use reduces scrolling needs\non mobile devices.\n\nUse Bento Accordion as a web component ([`<bento-accordion>`](#web-component)), or a Preact/React functional component ([`<BentoAccordion>`](#preactreact-component)).\n\n-   A Bento Accordion accepts one or more `<section>` elements as its direct\n    children.\n-   Each `<section>` must contain exactly two direct children.\n-   The first child in a `<section>` is the heading for that section of the\n    Bento Accordion. It must be a heading element such as `<h1>-<h6>` or\n    `<header>`.\n-   The second child in a `<section>` is the expandable/collapsible content.\n    -   It can be any tag allowed in [AMP HTML](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-html-format.md).\n-   A click or tap on a `<section>` heading expands or collapses the section.\n-   A Bento Accordion with a defined `id` preserves the collapsed or expanded\n    state of each section while the user remains on your domain.\n\n### Web Component\n\nYou must include each Bento component's required CSS library to guarantee proper loading and before adding custom styles. Or use the light-weight pre-upgrade styles available inline. See [Layout and style](#layout-and-style).\n\nThe examples below demonstrate use of the `<bento-accordion>` web component.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport '@ampproject/bento-accordion';\n```\n\n[/example]\n\n#### Example: Include via `<script>`\n\nThe example below contains an `bento-accordion` with three sections. The\n`expanded` attribute on the third section expands it on page load.\n\n[example preview=\"top-frame\" playground=\"false\"]\n\n```html\n<head>\n  <script src=\"https://cdn.ampproject.org/custom-elements-polyfill.js\"></script>\n  <script async src=\"https://cdn.ampproject.org/v0/bento-accordion-1.0.js\"></script>\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n</head>\n<body>\n  <bento-accordion id=\"my-accordion\"{% if not format=='email'%} disable-session-states{% endif %}>\n    <section>\n      <h2>Section 1</h2>\n      <p>Content in section 1.</p>\n    </section>\n    <section>\n      <h2>Section 2</h2>\n      <div>Content in section 2.</div>\n    </section>\n    <section expanded>\n      <h2>Section 3</h2>\n      <div>Content in section 3.</div>\n    </section>\n  </bento-accordion>\n  <script>\n    (async () => {\n      const accordion = document.querySelector('#my-accordion');\n      await customElements.whenDefined('bento-accordion');\n      const api = await accordion.getApi();\n\n      // programatically expand all sections\n      api.expand();\n      // programatically collapse all sections\n      api.collapse();\n    })();\n  </script>\n</body>\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento enabled components in standalone use are highly interactive through their API. The `bento-accordion` component API is accessible by including the following script tag in your document:\n\n```javascript\nawait customElements.whenDefined('bento-accordion');\nconst api = await accordion.getApi();\n```\n\n##### Actions\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```html\n<bento-accordion id=\"myAccordion\">\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n</bento-accordion>\n<button id=\"button1\">Toggle All Sections</button>\n<button id=\"button2\">Toggle Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.toggle();\n    document.querySelector('#button2').onclick = () => api.toggle('section1');\n  })();\n</script>\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Expand All Sections</button>\n<button id=\"button2\">Expand Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.expand();\n    document.querySelector('#button2').onclick = () => api.expand('section1');\n  })();\n</script>\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Collapse All Sections</button>\n<button id=\"button2\">Collapse Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.collapse();\n    document.querySelector('#button2').onclick = () => api.collapse('section1');\n  })();\n</script>\n```\n\n##### Events\n\nThe `bento-accordion` API allows you to register and respond to the following events:\n\n**expand**\nThis event is triggered when an accordion section is expanded and is dispatched from the expanded section.\n\nSee below for example.\n\n**collapse**\nThis event is triggered when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```html\n<bento-accordion id=\"eventsAccordion\" animate='true'>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <div>Puppies are cute.</div>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Kittens are furry.</div>\n  </section>\n</bento-accordion>\n\n<script>\n  (async () => {\n    const accordion = document.querySelector('#eventsAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // when section 1 expands, section 2 also expands\n    // when section 2 collapses, section 1 also collapses\n    const section1 = document.querySelector('#section1');\n    const section2 = document.querySelector('#section2');\n    section1.addEventListener('expand', () => api.expand('section2'));\n    section2.addEventListener('collapse', () => api.collapse('section1'));\n  })();\n</script>\n```\n\n#### Layout and style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style data-bento-boilerplate>\n  amp-accordion {\n    display: block;\n    contain: layout;\n  }\n\n  amp-accordion,\n  amp-accordion > section,\n  amp-accordion > section > :first-child {\n    margin: 0;\n  }\n\n  amp-accordion > section > * {\n    display: block;\n    float: none;\n    overflow: hidden; /* clearfix */\n    position: relative;\n  }\n\n  @media (min-width: 1px) {\n    :where(amp-accordion > section) > :first-child {\n      cursor: pointer;\n      background-color: #efefef;\n      padding-right: 20px;\n      border: 1px solid #dfdfdf;\n    }\n  }\n\n  .i-amphtml-accordion-header {\n    cursor: pointer;\n    background-color: #efefef;\n    padding-right: 20px;\n    border: 1px solid #dfdfdf;\n  }\n\n  amp-accordion > section:not([expanded]) > :last-child:not(.i-amphtml-animating),\n  amp-accordion\n    > section:not([expanded])\n    > :last-child:not(.i-amphtml-animating)\n    * {\n    display: none !important;\n  }\n</style>\n```\n\n#### Attributes\n\n##### animate\n\nInclude the `animate` attribute in `<bento-accordion>` to add a \"roll down\"\nanimation when the content is expanded and \"roll up\" animation when collapsed.\n\nThis attribute can be configured to based on a [media query](./../../../docs/spec/amp-html-responsive-attributes.md).\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion animate>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Content in section 2.</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expanded\n\nApply the `expanded` attribute to a nested `<section>` to expand that section when the page loads.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section id=\"section3\" expanded>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome expanded content</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expand-single-section\n\nAllow only one section to expand at a time by applying the `expand-single-section` attribute to the `<bento-accordion>` element. This means if a user taps on a collapsed `<section>`, it will expand and collapse other expanded `<section>`'s.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion expand-single-section>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <amp-img\n      src=\"{{server_for_email}}/static/inline-examples/images/squirrel.jpg\"\n      width=\"320\"\n      height=\"256\"\n    ></amp-img>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n#### Styling\n\nYou may use the `bento-accordion` element selector to style the accordion\nfreely.\n\nKeep the following points in mind when you style an amp-accordion:\n\n-   `bento-accordion` elements are always `display: block`.\n-   `float` cannot style a `<section>`, heading, nor content elements.\n-   An expanded section applies the `expanded` attribute to the `<section>`\n    element.\n-   The content element is clear-fixed with `overflow: hidden` and hence cannot\n    have scrollbars.\n-   Margins of the `<bento-accordion>`, `<section>`, heading, and content elements\n    are set to `0`, but can be overridden in custom styles.\n-   Both the header and content elements are `position: relative`.\n\n### Preact/React Component\n\nThe examples below demonstrates use of the `<BentoAccordion>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport React from 'react';\nimport { BentoAccordion } from '@ampproject/bento-accordion/react';\nimport '@ampproject/bento-accordion/styles.css';\n\nfunction App() {\n  return (\n    <BentoAccordion>\n      <BentoAccordionSection key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento components are highly interactive through their API. The `BentoAccordion` component API is accessible by passing a `ref`:\n\n```javascript\nimport React, {createRef} from 'react';\nconst ref = createRef();\n\nfunction App() {\n  return (\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection id=\"section1\" key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section2\" key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section3\" key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n##### Actions\n\nThe `BentoAccordion` API allows you to perform the following actions:\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```javascript\nref.current.toggle();\nref.current.toggle('section1');\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.expand();\nref.current.expand('section1');\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.collapse();\nref.current.collapse('section1');\n```\n\n##### Events\n\nThe Bento Accordion API allows you to respond to the following events:\n\n**onExpandStateChange**\n\nThis event is triggered on a section when an accordion section is expanded or collpased and is dispatched from the expanded section.\n\nSee below for example.\n\n**onCollapse**\n\nThis event is triggered on a section when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```jsx\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection\n        id=\"section1\"\n        key={1}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section1 expanded') : alert('section1 collapsed')\n        }>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section2\"\n        key={2}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section2 expanded') : alert('section2 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section3\"\n        key={3}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section3 expanded') : alert('section3 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n```\n\n#### Layout and style\n\n**Container type**\n\nThe `BentoAccordion` component has a defined layout size type. To ensure the component renders correctly, be sure to apply a size to the component and its immediate children via a desired CSS layout (such as one defined with `height`, `width`, `aspect-ratio`, or other such properties). These can be applied inline:\n\n```jsx\n<BentoAccordion style={{width: '300px', height: '100px'}}>\n  ...\n</BentoAccordion>\n```\n\nOr via `className`:\n\n```jsx\n<BentoAccordion className='custom-styles'>\n  ...\n</BentoAccordion>\n```\n\n```css\n.custom-styles {\n  background-color: red;\n}\n```\n\n#### Props\n\n##### BentoAccordion\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse of each section\nDefault: `false`\n\n###### expandSingleSection\n\nIf true, then expanding 1 section will automatically collapse all other sections:\nDefault: `false`\n\n##### BentoAccordionSection\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse the section\nDefault: `false`\n\n###### expanded\n\nIf true, expands the section.\nDefault: `false`\n\n###### onExpandStateChange\n\n```typescript\n(expanded: boolean): void\n```\n\nCallback to listen for expand state changes. Takes a boolean flag as parameter indicating whether the section was just expanded (`false` indicates it was collapsed)\n\n##### BentoAccordionHeader\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionHeader does not yet support any custom props\n\n##### BentoAccordionContent\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionContent does not yet support any custom props\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2110142235.0","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-8fUUcPTxnUQS72AoKAi5MQOhJZqA+mZaIPvV04kNzHFFoHvunHAy2LhjgI4e4DknfIkp0EitztZbgDwQoIG5fg==","shasum":"71512c7cc25ab4ffd724c928e99a48f74684d0c2","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2110142235.0.tgz","fileCount":20,"unpackedSize":415785,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0in6bdec+jtzVfYwJuE059s+YNmaGBYMHdtMUr3IbegIgFVftKiEMDL8ln2knAJKzCWu2Mw/f1N+IrTZsCZ50Vt4="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2110142235.0_1634297845281_0.42746111309220236"},"_hasShrinkwrap":false},"1.2110152252.0":{"name":"@ampproject/amp-accordion","version":"1.2110152252.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./styles.css":"./dist/styles.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Accordion\n\n## Usage\n\nThe Bento Accordion component allows you to display collapsible and expandable\ncontent sections. This component provides a way for viewers to glance at the\ncontent outline and jump to any section. Effective use reduces scrolling needs\non mobile devices.\n\nUse Bento Accordion as a web component ([`<bento-accordion>`](#web-component)), or a Preact/React functional component ([`<BentoAccordion>`](#preactreact-component)).\n\n-   A Bento Accordion accepts one or more `<section>` elements as its direct\n    children.\n-   Each `<section>` must contain exactly two direct children.\n-   The first child in a `<section>` is the heading for that section of the\n    Bento Accordion. It must be a heading element such as `<h1>-<h6>` or\n    `<header>`.\n-   The second child in a `<section>` is the expandable/collapsible content.\n    -   It can be any tag allowed in [AMP HTML](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-html-format.md).\n-   A click or tap on a `<section>` heading expands or collapses the section.\n-   A Bento Accordion with a defined `id` preserves the collapsed or expanded\n    state of each section while the user remains on your domain.\n\n### Web Component\n\nYou must include each Bento component's required CSS library to guarantee proper loading and before adding custom styles. Or use the light-weight pre-upgrade styles available inline. See [Layout and style](#layout-and-style).\n\nThe examples below demonstrate use of the `<bento-accordion>` web component.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport '@ampproject/bento-accordion';\n```\n\n[/example]\n\n#### Example: Include via `<script>`\n\nThe example below contains an `bento-accordion` with three sections. The\n`expanded` attribute on the third section expands it on page load.\n\n[example preview=\"top-frame\" playground=\"false\"]\n\n```html\n<head>\n  <script src=\"https://cdn.ampproject.org/custom-elements-polyfill.js\"></script>\n  <script async src=\"https://cdn.ampproject.org/v0/bento-accordion-1.0.js\"></script>\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n</head>\n<body>\n  <bento-accordion id=\"my-accordion\"{% if not format=='email'%} disable-session-states{% endif %}>\n    <section>\n      <h2>Section 1</h2>\n      <p>Content in section 1.</p>\n    </section>\n    <section>\n      <h2>Section 2</h2>\n      <div>Content in section 2.</div>\n    </section>\n    <section expanded>\n      <h2>Section 3</h2>\n      <div>Content in section 3.</div>\n    </section>\n  </bento-accordion>\n  <script>\n    (async () => {\n      const accordion = document.querySelector('#my-accordion');\n      await customElements.whenDefined('bento-accordion');\n      const api = await accordion.getApi();\n\n      // programatically expand all sections\n      api.expand();\n      // programatically collapse all sections\n      api.collapse();\n    })();\n  </script>\n</body>\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento enabled components in standalone use are highly interactive through their API. The `bento-accordion` component API is accessible by including the following script tag in your document:\n\n```javascript\nawait customElements.whenDefined('bento-accordion');\nconst api = await accordion.getApi();\n```\n\n##### Actions\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```html\n<bento-accordion id=\"myAccordion\">\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n</bento-accordion>\n<button id=\"button1\">Toggle All Sections</button>\n<button id=\"button2\">Toggle Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.toggle();\n    document.querySelector('#button2').onclick = () => api.toggle('section1');\n  })();\n</script>\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Expand All Sections</button>\n<button id=\"button2\">Expand Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.expand();\n    document.querySelector('#button2').onclick = () => api.expand('section1');\n  })();\n</script>\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Collapse All Sections</button>\n<button id=\"button2\">Collapse Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.collapse();\n    document.querySelector('#button2').onclick = () => api.collapse('section1');\n  })();\n</script>\n```\n\n##### Events\n\nThe `bento-accordion` API allows you to register and respond to the following events:\n\n**expand**\nThis event is triggered when an accordion section is expanded and is dispatched from the expanded section.\n\nSee below for example.\n\n**collapse**\nThis event is triggered when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```html\n<bento-accordion id=\"eventsAccordion\" animate='true'>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <div>Puppies are cute.</div>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Kittens are furry.</div>\n  </section>\n</bento-accordion>\n\n<script>\n  (async () => {\n    const accordion = document.querySelector('#eventsAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // when section 1 expands, section 2 also expands\n    // when section 2 collapses, section 1 also collapses\n    const section1 = document.querySelector('#section1');\n    const section2 = document.querySelector('#section2');\n    section1.addEventListener('expand', () => api.expand('section2'));\n    section2.addEventListener('collapse', () => api.collapse('section1'));\n  })();\n</script>\n```\n\n#### Layout and style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style data-bento-boilerplate>\n  amp-accordion {\n    display: block;\n    contain: layout;\n  }\n\n  amp-accordion,\n  amp-accordion > section,\n  amp-accordion > section > :first-child {\n    margin: 0;\n  }\n\n  amp-accordion > section > * {\n    display: block;\n    float: none;\n    overflow: hidden; /* clearfix */\n    position: relative;\n  }\n\n  @media (min-width: 1px) {\n    :where(amp-accordion > section) > :first-child {\n      cursor: pointer;\n      background-color: #efefef;\n      padding-right: 20px;\n      border: 1px solid #dfdfdf;\n    }\n  }\n\n  .i-amphtml-accordion-header {\n    cursor: pointer;\n    background-color: #efefef;\n    padding-right: 20px;\n    border: 1px solid #dfdfdf;\n  }\n\n  amp-accordion > section:not([expanded]) > :last-child:not(.i-amphtml-animating),\n  amp-accordion\n    > section:not([expanded])\n    > :last-child:not(.i-amphtml-animating)\n    * {\n    display: none !important;\n  }\n</style>\n```\n\n#### Attributes\n\n##### animate\n\nInclude the `animate` attribute in `<bento-accordion>` to add a \"roll down\"\nanimation when the content is expanded and \"roll up\" animation when collapsed.\n\nThis attribute can be configured to based on a [media query](./../../../docs/spec/amp-html-responsive-attributes.md).\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion animate>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Content in section 2.</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expanded\n\nApply the `expanded` attribute to a nested `<section>` to expand that section when the page loads.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section id=\"section3\" expanded>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome expanded content</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expand-single-section\n\nAllow only one section to expand at a time by applying the `expand-single-section` attribute to the `<bento-accordion>` element. This means if a user taps on a collapsed `<section>`, it will expand and collapse other expanded `<section>`'s.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion expand-single-section>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <amp-img\n      src=\"{{server_for_email}}/static/inline-examples/images/squirrel.jpg\"\n      width=\"320\"\n      height=\"256\"\n    ></amp-img>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n#### Styling\n\nYou may use the `bento-accordion` element selector to style the accordion\nfreely.\n\nKeep the following points in mind when you style an amp-accordion:\n\n-   `bento-accordion` elements are always `display: block`.\n-   `float` cannot style a `<section>`, heading, nor content elements.\n-   An expanded section applies the `expanded` attribute to the `<section>`\n    element.\n-   The content element is clear-fixed with `overflow: hidden` and hence cannot\n    have scrollbars.\n-   Margins of the `<bento-accordion>`, `<section>`, heading, and content elements\n    are set to `0`, but can be overridden in custom styles.\n-   Both the header and content elements are `position: relative`.\n\n### Preact/React Component\n\nThe examples below demonstrates use of the `<BentoAccordion>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport React from 'react';\nimport { BentoAccordion } from '@ampproject/bento-accordion/react';\nimport '@ampproject/bento-accordion/styles.css';\n\nfunction App() {\n  return (\n    <BentoAccordion>\n      <BentoAccordionSection key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento components are highly interactive through their API. The `BentoAccordion` component API is accessible by passing a `ref`:\n\n```javascript\nimport React, {createRef} from 'react';\nconst ref = createRef();\n\nfunction App() {\n  return (\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection id=\"section1\" key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section2\" key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section3\" key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n##### Actions\n\nThe `BentoAccordion` API allows you to perform the following actions:\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```javascript\nref.current.toggle();\nref.current.toggle('section1');\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.expand();\nref.current.expand('section1');\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.collapse();\nref.current.collapse('section1');\n```\n\n##### Events\n\nThe Bento Accordion API allows you to respond to the following events:\n\n**onExpandStateChange**\n\nThis event is triggered on a section when an accordion section is expanded or collpased and is dispatched from the expanded section.\n\nSee below for example.\n\n**onCollapse**\n\nThis event is triggered on a section when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```jsx\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection\n        id=\"section1\"\n        key={1}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section1 expanded') : alert('section1 collapsed')\n        }>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section2\"\n        key={2}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section2 expanded') : alert('section2 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section3\"\n        key={3}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section3 expanded') : alert('section3 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n```\n\n#### Layout and style\n\n**Container type**\n\nThe `BentoAccordion` component has a defined layout size type. To ensure the component renders correctly, be sure to apply a size to the component and its immediate children via a desired CSS layout (such as one defined with `height`, `width`, `aspect-ratio`, or other such properties). These can be applied inline:\n\n```jsx\n<BentoAccordion style={{width: '300px', height: '100px'}}>\n  ...\n</BentoAccordion>\n```\n\nOr via `className`:\n\n```jsx\n<BentoAccordion className='custom-styles'>\n  ...\n</BentoAccordion>\n```\n\n```css\n.custom-styles {\n  background-color: red;\n}\n```\n\n#### Props\n\n##### BentoAccordion\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse of each section\nDefault: `false`\n\n###### expandSingleSection\n\nIf true, then expanding 1 section will automatically collapse all other sections:\nDefault: `false`\n\n##### BentoAccordionSection\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse the section\nDefault: `false`\n\n###### expanded\n\nIf true, expands the section.\nDefault: `false`\n\n###### onExpandStateChange\n\n```typescript\n(expanded: boolean): void\n```\n\nCallback to listen for expand state changes. Takes a boolean flag as parameter indicating whether the section was just expanded (`false` indicates it was collapsed)\n\n##### BentoAccordionHeader\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionHeader does not yet support any custom props\n\n##### BentoAccordionContent\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionContent does not yet support any custom props\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2110152252.0","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-KM/Yk9b4L5lz/WDaqTuwVPegeDlF1ZDmxPnGTXTd8fE1ho1YQEe8Mh82DZSocSUyxkEwdgaEaJIyGMVm01H6yg==","shasum":"f396e8322dc3d804dc1868384df364da3c7f3c9b","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2110152252.0.tgz","fileCount":20,"unpackedSize":415785,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqstqiHPk2CWl8gS9AruMUyncWviyawgYynfdqZ1RypQIhAKJt5Ul8N4W2e3gdL50Q1dSUSJKP8rN2xbQsy6FU44qv"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2110152252.0_1634384397291_0.982390197014458"},"_hasShrinkwrap":false},"1.2110181554.0":{"name":"@ampproject/amp-accordion","version":"1.2110181554.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./styles.css":"./dist/styles.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Accordion\n\n## Usage\n\nThe Bento Accordion component allows you to display collapsible and expandable\ncontent sections. This component provides a way for viewers to glance at the\ncontent outline and jump to any section. Effective use reduces scrolling needs\non mobile devices.\n\nUse Bento Accordion as a web component ([`<bento-accordion>`](#web-component)), or a Preact/React functional component ([`<BentoAccordion>`](#preactreact-component)).\n\n-   A Bento Accordion accepts one or more `<section>` elements as its direct\n    children.\n-   Each `<section>` must contain exactly two direct children.\n-   The first child in a `<section>` is the heading for that section of the\n    Bento Accordion. It must be a heading element such as `<h1>-<h6>` or\n    `<header>`.\n-   The second child in a `<section>` is the expandable/collapsible content.\n    -   It can be any tag allowed in [AMP HTML](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-html-format.md).\n-   A click or tap on a `<section>` heading expands or collapses the section.\n-   A Bento Accordion with a defined `id` preserves the collapsed or expanded\n    state of each section while the user remains on your domain.\n\n### Web Component\n\nYou must include each Bento component's required CSS library to guarantee proper loading and before adding custom styles. Or use the light-weight pre-upgrade styles available inline. See [Layout and style](#layout-and-style).\n\nThe examples below demonstrate use of the `<bento-accordion>` web component.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport '@ampproject/bento-accordion';\n```\n\n[/example]\n\n#### Example: Include via `<script>`\n\nThe example below contains an `bento-accordion` with three sections. The\n`expanded` attribute on the third section expands it on page load.\n\n[example preview=\"top-frame\" playground=\"false\"]\n\n```html\n<head>\n  <script src=\"https://cdn.ampproject.org/custom-elements-polyfill.js\"></script>\n  <script async src=\"https://cdn.ampproject.org/v0/bento-accordion-1.0.js\"></script>\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n</head>\n<body>\n  <bento-accordion id=\"my-accordion\"{% if not format=='email'%} disable-session-states{% endif %}>\n    <section>\n      <h2>Section 1</h2>\n      <p>Content in section 1.</p>\n    </section>\n    <section>\n      <h2>Section 2</h2>\n      <div>Content in section 2.</div>\n    </section>\n    <section expanded>\n      <h2>Section 3</h2>\n      <div>Content in section 3.</div>\n    </section>\n  </bento-accordion>\n  <script>\n    (async () => {\n      const accordion = document.querySelector('#my-accordion');\n      await customElements.whenDefined('bento-accordion');\n      const api = await accordion.getApi();\n\n      // programatically expand all sections\n      api.expand();\n      // programatically collapse all sections\n      api.collapse();\n    })();\n  </script>\n</body>\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento enabled components in standalone use are highly interactive through their API. The `bento-accordion` component API is accessible by including the following script tag in your document:\n\n```javascript\nawait customElements.whenDefined('bento-accordion');\nconst api = await accordion.getApi();\n```\n\n##### Actions\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```html\n<bento-accordion id=\"myAccordion\">\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n</bento-accordion>\n<button id=\"button1\">Toggle All Sections</button>\n<button id=\"button2\">Toggle Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.toggle();\n    document.querySelector('#button2').onclick = () => api.toggle('section1');\n  })();\n</script>\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Expand All Sections</button>\n<button id=\"button2\">Expand Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.expand();\n    document.querySelector('#button2').onclick = () => api.expand('section1');\n  })();\n</script>\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Collapse All Sections</button>\n<button id=\"button2\">Collapse Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.collapse();\n    document.querySelector('#button2').onclick = () => api.collapse('section1');\n  })();\n</script>\n```\n\n##### Events\n\nThe `bento-accordion` API allows you to register and respond to the following events:\n\n**expand**\nThis event is triggered when an accordion section is expanded and is dispatched from the expanded section.\n\nSee below for example.\n\n**collapse**\nThis event is triggered when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```html\n<bento-accordion id=\"eventsAccordion\" animate='true'>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <div>Puppies are cute.</div>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Kittens are furry.</div>\n  </section>\n</bento-accordion>\n\n<script>\n  (async () => {\n    const accordion = document.querySelector('#eventsAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // when section 1 expands, section 2 also expands\n    // when section 2 collapses, section 1 also collapses\n    const section1 = document.querySelector('#section1');\n    const section2 = document.querySelector('#section2');\n    section1.addEventListener('expand', () => api.expand('section2'));\n    section2.addEventListener('collapse', () => api.collapse('section1'));\n  })();\n</script>\n```\n\n#### Layout and style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style data-bento-boilerplate>\n  amp-accordion {\n    display: block;\n    contain: layout;\n  }\n\n  amp-accordion,\n  amp-accordion > section,\n  amp-accordion > section > :first-child {\n    margin: 0;\n  }\n\n  amp-accordion > section > * {\n    display: block;\n    float: none;\n    overflow: hidden; /* clearfix */\n    position: relative;\n  }\n\n  @media (min-width: 1px) {\n    :where(amp-accordion > section) > :first-child {\n      cursor: pointer;\n      background-color: #efefef;\n      padding-right: 20px;\n      border: 1px solid #dfdfdf;\n    }\n  }\n\n  .i-amphtml-accordion-header {\n    cursor: pointer;\n    background-color: #efefef;\n    padding-right: 20px;\n    border: 1px solid #dfdfdf;\n  }\n\n  amp-accordion > section:not([expanded]) > :last-child:not(.i-amphtml-animating),\n  amp-accordion\n    > section:not([expanded])\n    > :last-child:not(.i-amphtml-animating)\n    * {\n    display: none !important;\n  }\n</style>\n```\n\n#### Attributes\n\n##### animate\n\nInclude the `animate` attribute in `<bento-accordion>` to add a \"roll down\"\nanimation when the content is expanded and \"roll up\" animation when collapsed.\n\nThis attribute can be configured to based on a [media query](./../../../docs/spec/amp-html-responsive-attributes.md).\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion animate>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Content in section 2.</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expanded\n\nApply the `expanded` attribute to a nested `<section>` to expand that section when the page loads.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section id=\"section3\" expanded>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome expanded content</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expand-single-section\n\nAllow only one section to expand at a time by applying the `expand-single-section` attribute to the `<bento-accordion>` element. This means if a user taps on a collapsed `<section>`, it will expand and collapse other expanded `<section>`'s.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion expand-single-section>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <amp-img\n      src=\"{{server_for_email}}/static/inline-examples/images/squirrel.jpg\"\n      width=\"320\"\n      height=\"256\"\n    ></amp-img>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n#### Styling\n\nYou may use the `bento-accordion` element selector to style the accordion\nfreely.\n\nKeep the following points in mind when you style an amp-accordion:\n\n-   `bento-accordion` elements are always `display: block`.\n-   `float` cannot style a `<section>`, heading, nor content elements.\n-   An expanded section applies the `expanded` attribute to the `<section>`\n    element.\n-   The content element is clear-fixed with `overflow: hidden` and hence cannot\n    have scrollbars.\n-   Margins of the `<bento-accordion>`, `<section>`, heading, and content elements\n    are set to `0`, but can be overridden in custom styles.\n-   Both the header and content elements are `position: relative`.\n\n### Preact/React Component\n\nThe examples below demonstrates use of the `<BentoAccordion>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport React from 'react';\nimport { BentoAccordion } from '@ampproject/bento-accordion/react';\nimport '@ampproject/bento-accordion/styles.css';\n\nfunction App() {\n  return (\n    <BentoAccordion>\n      <BentoAccordionSection key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento components are highly interactive through their API. The `BentoAccordion` component API is accessible by passing a `ref`:\n\n```javascript\nimport React, {createRef} from 'react';\nconst ref = createRef();\n\nfunction App() {\n  return (\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection id=\"section1\" key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section2\" key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section3\" key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n##### Actions\n\nThe `BentoAccordion` API allows you to perform the following actions:\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```javascript\nref.current.toggle();\nref.current.toggle('section1');\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.expand();\nref.current.expand('section1');\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.collapse();\nref.current.collapse('section1');\n```\n\n##### Events\n\nThe Bento Accordion API allows you to respond to the following events:\n\n**onExpandStateChange**\n\nThis event is triggered on a section when an accordion section is expanded or collpased and is dispatched from the expanded section.\n\nSee below for example.\n\n**onCollapse**\n\nThis event is triggered on a section when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```jsx\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection\n        id=\"section1\"\n        key={1}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section1 expanded') : alert('section1 collapsed')\n        }>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section2\"\n        key={2}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section2 expanded') : alert('section2 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section3\"\n        key={3}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section3 expanded') : alert('section3 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n```\n\n#### Layout and style\n\n**Container type**\n\nThe `BentoAccordion` component has a defined layout size type. To ensure the component renders correctly, be sure to apply a size to the component and its immediate children via a desired CSS layout (such as one defined with `height`, `width`, `aspect-ratio`, or other such properties). These can be applied inline:\n\n```jsx\n<BentoAccordion style={{width: '300px', height: '100px'}}>\n  ...\n</BentoAccordion>\n```\n\nOr via `className`:\n\n```jsx\n<BentoAccordion className='custom-styles'>\n  ...\n</BentoAccordion>\n```\n\n```css\n.custom-styles {\n  background-color: red;\n}\n```\n\n#### Props\n\n##### BentoAccordion\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse of each section\nDefault: `false`\n\n###### expandSingleSection\n\nIf true, then expanding 1 section will automatically collapse all other sections:\nDefault: `false`\n\n##### BentoAccordionSection\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse the section\nDefault: `false`\n\n###### expanded\n\nIf true, expands the section.\nDefault: `false`\n\n###### onExpandStateChange\n\n```typescript\n(expanded: boolean): void\n```\n\nCallback to listen for expand state changes. Takes a boolean flag as parameter indicating whether the section was just expanded (`false` indicates it was collapsed)\n\n##### BentoAccordionHeader\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionHeader does not yet support any custom props\n\n##### BentoAccordionContent\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionContent does not yet support any custom props\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2110181554.0","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-ZJlJF8Ai0yNfkeNtwQvHGpTtGNkV9kxJSzabNB6Rto8gjO25/mpJLn+Dxl8sF/7wx3NPkpI2aIwUvL+oSGOHmg==","shasum":"fdc0fe9fae86d5818d2dc464e79d5c4e476e632f","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2110181554.0.tgz","fileCount":20,"unpackedSize":415785,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXydSfUCGdINV3NVv0jVOSlAXnXMzHhmTxOFx6tP7kFgIhANYrmZzb8vxl3xybyFfkATcqJhkh7Wzm2UfjORS0NFd6"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2110181554.0_1634644423670_0.08471092506999267"},"_hasShrinkwrap":false},"1.2110082201.1":{"name":"@ampproject/amp-accordion","version":"1.2110082201.1","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./styles.css":"./dist/styles.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2110082201.1","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-2HdfNMmtbgNScekQaslgLLbkwvUHaYV4iT342RXHSIXMnjGBD9y0zr1eBv337zmCzmKIqSsB6XHlFmnsZ9fYYQ==","shasum":"d9540cc8dfe050ce8b1c12f8101c75b418cbce8f","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2110082201.1.tgz","fileCount":20,"unpackedSize":415785,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEw+4J2CscvemBCd0xb5/6EoZPe50LcNyibGs6Na+FRMAiEArNMkcsYR06DCT1MFkLjYSA7emcbZ/qK2BZr/sdhCPYI="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2110082201.1_1634664057355_0.4493786957945003"},"_hasShrinkwrap":false},"1.2110192227.0":{"name":"@ampproject/amp-accordion","version":"1.2110192227.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./styles.css":"./dist/styles.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Accordion\n\n## Usage\n\nThe Bento Accordion component allows you to display collapsible and expandable\ncontent sections. This component provides a way for viewers to glance at the\ncontent outline and jump to any section. Effective use reduces scrolling needs\non mobile devices.\n\nUse Bento Accordion as a web component ([`<bento-accordion>`](#web-component)), or a Preact/React functional component ([`<BentoAccordion>`](#preactreact-component)).\n\n-   A Bento Accordion accepts one or more `<section>` elements as its direct\n    children.\n-   Each `<section>` must contain exactly two direct children.\n-   The first child in a `<section>` is the heading for that section of the\n    Bento Accordion. It must be a heading element such as `<h1>-<h6>` or\n    `<header>`.\n-   The second child in a `<section>` is the expandable/collapsible content.\n    -   It can be any tag allowed in [AMP HTML](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-html-format.md).\n-   A click or tap on a `<section>` heading expands or collapses the section.\n-   A Bento Accordion with a defined `id` preserves the collapsed or expanded\n    state of each section while the user remains on your domain.\n\n### Web Component\n\nYou must include each Bento component's required CSS library to guarantee proper loading and before adding custom styles. Or use the light-weight pre-upgrade styles available inline. See [Layout and style](#layout-and-style).\n\nThe examples below demonstrate use of the `<bento-accordion>` web component.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport '@ampproject/bento-accordion';\n```\n\n[/example]\n\n#### Example: Include via `<script>`\n\nThe example below contains an `bento-accordion` with three sections. The\n`expanded` attribute on the third section expands it on page load.\n\n[example preview=\"top-frame\" playground=\"false\"]\n\n```html\n<head>\n  <script src=\"https://cdn.ampproject.org/custom-elements-polyfill.js\"></script>\n  <script async src=\"https://cdn.ampproject.org/v0/bento-accordion-1.0.js\"></script>\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n</head>\n<body>\n  <bento-accordion id=\"my-accordion\"{% if not format=='email'%} disable-session-states{% endif %}>\n    <section>\n      <h2>Section 1</h2>\n      <p>Content in section 1.</p>\n    </section>\n    <section>\n      <h2>Section 2</h2>\n      <div>Content in section 2.</div>\n    </section>\n    <section expanded>\n      <h2>Section 3</h2>\n      <div>Content in section 3.</div>\n    </section>\n  </bento-accordion>\n  <script>\n    (async () => {\n      const accordion = document.querySelector('#my-accordion');\n      await customElements.whenDefined('bento-accordion');\n      const api = await accordion.getApi();\n\n      // programatically expand all sections\n      api.expand();\n      // programatically collapse all sections\n      api.collapse();\n    })();\n  </script>\n</body>\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento enabled components in standalone use are highly interactive through their API. The `bento-accordion` component API is accessible by including the following script tag in your document:\n\n```javascript\nawait customElements.whenDefined('bento-accordion');\nconst api = await accordion.getApi();\n```\n\n##### Actions\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```html\n<bento-accordion id=\"myAccordion\">\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n</bento-accordion>\n<button id=\"button1\">Toggle All Sections</button>\n<button id=\"button2\">Toggle Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.toggle();\n    document.querySelector('#button2').onclick = () => api.toggle('section1');\n  })();\n</script>\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Expand All Sections</button>\n<button id=\"button2\">Expand Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.expand();\n    document.querySelector('#button2').onclick = () => api.expand('section1');\n  })();\n</script>\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Collapse All Sections</button>\n<button id=\"button2\">Collapse Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.collapse();\n    document.querySelector('#button2').onclick = () => api.collapse('section1');\n  })();\n</script>\n```\n\n##### Events\n\nThe `bento-accordion` API allows you to register and respond to the following events:\n\n**expand**\nThis event is triggered when an accordion section is expanded and is dispatched from the expanded section.\n\nSee below for example.\n\n**collapse**\nThis event is triggered when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```html\n<bento-accordion id=\"eventsAccordion\" animate='true'>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <div>Puppies are cute.</div>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Kittens are furry.</div>\n  </section>\n</bento-accordion>\n\n<script>\n  (async () => {\n    const accordion = document.querySelector('#eventsAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // when section 1 expands, section 2 also expands\n    // when section 2 collapses, section 1 also collapses\n    const section1 = document.querySelector('#section1');\n    const section2 = document.querySelector('#section2');\n    section1.addEventListener('expand', () => api.expand('section2'));\n    section2.addEventListener('collapse', () => api.collapse('section1'));\n  })();\n</script>\n```\n\n#### Layout and style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style data-bento-boilerplate>\n  amp-accordion {\n    display: block;\n    contain: layout;\n  }\n\n  amp-accordion,\n  amp-accordion > section,\n  amp-accordion > section > :first-child {\n    margin: 0;\n  }\n\n  amp-accordion > section > * {\n    display: block;\n    float: none;\n    overflow: hidden; /* clearfix */\n    position: relative;\n  }\n\n  @media (min-width: 1px) {\n    :where(amp-accordion > section) > :first-child {\n      cursor: pointer;\n      background-color: #efefef;\n      padding-right: 20px;\n      border: 1px solid #dfdfdf;\n    }\n  }\n\n  .i-amphtml-accordion-header {\n    cursor: pointer;\n    background-color: #efefef;\n    padding-right: 20px;\n    border: 1px solid #dfdfdf;\n  }\n\n  amp-accordion > section:not([expanded]) > :last-child:not(.i-amphtml-animating),\n  amp-accordion\n    > section:not([expanded])\n    > :last-child:not(.i-amphtml-animating)\n    * {\n    display: none !important;\n  }\n</style>\n```\n\n#### Attributes\n\n##### animate\n\nInclude the `animate` attribute in `<bento-accordion>` to add a \"roll down\"\nanimation when the content is expanded and \"roll up\" animation when collapsed.\n\nThis attribute can be configured to based on a [media query](./../../../docs/spec/amp-html-responsive-attributes.md).\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion animate>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Content in section 2.</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expanded\n\nApply the `expanded` attribute to a nested `<section>` to expand that section when the page loads.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section id=\"section3\" expanded>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome expanded content</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expand-single-section\n\nAllow only one section to expand at a time by applying the `expand-single-section` attribute to the `<bento-accordion>` element. This means if a user taps on a collapsed `<section>`, it will expand and collapse other expanded `<section>`'s.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion expand-single-section>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <amp-img\n      src=\"{{server_for_email}}/static/inline-examples/images/squirrel.jpg\"\n      width=\"320\"\n      height=\"256\"\n    ></amp-img>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n#### Styling\n\nYou may use the `bento-accordion` element selector to style the accordion\nfreely.\n\nKeep the following points in mind when you style an amp-accordion:\n\n-   `bento-accordion` elements are always `display: block`.\n-   `float` cannot style a `<section>`, heading, nor content elements.\n-   An expanded section applies the `expanded` attribute to the `<section>`\n    element.\n-   The content element is clear-fixed with `overflow: hidden` and hence cannot\n    have scrollbars.\n-   Margins of the `<bento-accordion>`, `<section>`, heading, and content elements\n    are set to `0`, but can be overridden in custom styles.\n-   Both the header and content elements are `position: relative`.\n\n### Preact/React Component\n\nThe examples below demonstrates use of the `<BentoAccordion>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport React from 'react';\nimport { BentoAccordion } from '@ampproject/bento-accordion/react';\nimport '@ampproject/bento-accordion/styles.css';\n\nfunction App() {\n  return (\n    <BentoAccordion>\n      <BentoAccordionSection key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento components are highly interactive through their API. The `BentoAccordion` component API is accessible by passing a `ref`:\n\n```javascript\nimport React, {createRef} from 'react';\nconst ref = createRef();\n\nfunction App() {\n  return (\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection id=\"section1\" key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section2\" key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section3\" key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n##### Actions\n\nThe `BentoAccordion` API allows you to perform the following actions:\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```javascript\nref.current.toggle();\nref.current.toggle('section1');\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.expand();\nref.current.expand('section1');\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.collapse();\nref.current.collapse('section1');\n```\n\n##### Events\n\nThe Bento Accordion API allows you to respond to the following events:\n\n**onExpandStateChange**\n\nThis event is triggered on a section when an accordion section is expanded or collpased and is dispatched from the expanded section.\n\nSee below for example.\n\n**onCollapse**\n\nThis event is triggered on a section when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```jsx\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection\n        id=\"section1\"\n        key={1}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section1 expanded') : alert('section1 collapsed')\n        }>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section2\"\n        key={2}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section2 expanded') : alert('section2 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section3\"\n        key={3}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section3 expanded') : alert('section3 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n```\n\n#### Layout and style\n\n**Container type**\n\nThe `BentoAccordion` component has a defined layout size type. To ensure the component renders correctly, be sure to apply a size to the component and its immediate children via a desired CSS layout (such as one defined with `height`, `width`, `aspect-ratio`, or other such properties). These can be applied inline:\n\n```jsx\n<BentoAccordion style={{width: '300px', height: '100px'}}>\n  ...\n</BentoAccordion>\n```\n\nOr via `className`:\n\n```jsx\n<BentoAccordion className='custom-styles'>\n  ...\n</BentoAccordion>\n```\n\n```css\n.custom-styles {\n  background-color: red;\n}\n```\n\n#### Props\n\n##### BentoAccordion\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse of each section\nDefault: `false`\n\n###### expandSingleSection\n\nIf true, then expanding 1 section will automatically collapse all other sections:\nDefault: `false`\n\n##### BentoAccordionSection\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse the section\nDefault: `false`\n\n###### expanded\n\nIf true, expands the section.\nDefault: `false`\n\n###### onExpandStateChange\n\n```typescript\n(expanded: boolean): void\n```\n\nCallback to listen for expand state changes. Takes a boolean flag as parameter indicating whether the section was just expanded (`false` indicates it was collapsed)\n\n##### BentoAccordionHeader\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionHeader does not yet support any custom props\n\n##### BentoAccordionContent\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionContent does not yet support any custom props\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2110192227.0","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-HDOF5dpVHOmv47BjcN2KC/Z6KKPpv6d2gZwuOO/dkeAZCb7tqy5puIhpN7QwYyHbBvrbAKtlDgYc63UQhrw9qQ==","shasum":"b625cae41b066df10ff218c21fc9898f1cedb3c9","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2110192227.0.tgz","fileCount":20,"unpackedSize":415785,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCM7zcL+hmx0G5FR8fM0cCLoPh9zLuX0Ba4HKziQ0cisgIhAIEsoqLXRaRp9+SP1D5zsniVdlosUhqtBWdU8T7+xpuW"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2110192227.0_1634729974176_0.7475534973266835"},"_hasShrinkwrap":false},"1.2110082201.2":{"name":"@ampproject/amp-accordion","version":"1.2110082201.2","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./styles.css":"./dist/styles.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2110082201.2","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-0b1m6BBT5epaVFh48uzan3frnTPKKN1DYY9PRnN5eNYy9OF880zd26qeJeYkVzqLPGvey4SQ1NdyMrFZFj2JRQ==","shasum":"8420a770fd26793b4a4c1de62baee604388986e9","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2110082201.2.tgz","fileCount":20,"unpackedSize":415785,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrG48Lt4tJHxdXm+0VJuW4EyUD6GNJxFRlitTSjPHevwIhAOX7BXjoE/Tz+DyB8IP64dJA3TO7AgLWmJX5Ls8HvB2t"}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2110082201.2_1634768113930_0.6858414529571735"},"_hasShrinkwrap":false},"1.2110202310.0":{"name":"@ampproject/amp-accordion","version":"1.2110202310.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./styles.css":"./dist/styles.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Accordion\n\n## Usage\n\nThe Bento Accordion component allows you to display collapsible and expandable\ncontent sections. This component provides a way for viewers to glance at the\ncontent outline and jump to any section. Effective use reduces scrolling needs\non mobile devices.\n\nUse Bento Accordion as a web component ([`<bento-accordion>`](#web-component)), or a Preact/React functional component ([`<BentoAccordion>`](#preactreact-component)).\n\n-   A Bento Accordion accepts one or more `<section>` elements as its direct\n    children.\n-   Each `<section>` must contain exactly two direct children.\n-   The first child in a `<section>` is the heading for that section of the\n    Bento Accordion. It must be a heading element such as `<h1>-<h6>` or\n    `<header>`.\n-   The second child in a `<section>` is the expandable/collapsible content.\n    -   It can be any tag allowed in [AMP HTML](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-html-format.md).\n-   A click or tap on a `<section>` heading expands or collapses the section.\n-   A Bento Accordion with a defined `id` preserves the collapsed or expanded\n    state of each section while the user remains on your domain.\n\n### Web Component\n\nYou must include each Bento component's required CSS library to guarantee proper loading and before adding custom styles. Or use the light-weight pre-upgrade styles available inline. See [Layout and style](#layout-and-style).\n\nThe examples below demonstrate use of the `<bento-accordion>` web component.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport '@ampproject/bento-accordion';\n```\n\n[/example]\n\n#### Example: Include via `<script>`\n\nThe example below contains an `bento-accordion` with three sections. The\n`expanded` attribute on the third section expands it on page load.\n\n[example preview=\"top-frame\" playground=\"false\"]\n\n```html\n<head>\n  <script async src=\"https://cdn.ampproject.org/bento.js\"></script>\n  <script async src=\"https://cdn.ampproject.org/v0/bento-accordion-1.0.js\"></script>\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n</head>\n<body>\n  <bento-accordion id=\"my-accordion\"{% if not format=='email'%} disable-session-states{% endif %}>\n    <section>\n      <h2>Section 1</h2>\n      <p>Content in section 1.</p>\n    </section>\n    <section>\n      <h2>Section 2</h2>\n      <div>Content in section 2.</div>\n    </section>\n    <section expanded>\n      <h2>Section 3</h2>\n      <div>Content in section 3.</div>\n    </section>\n  </bento-accordion>\n  <script>\n    (async () => {\n      const accordion = document.querySelector('#my-accordion');\n      await customElements.whenDefined('bento-accordion');\n      const api = await accordion.getApi();\n\n      // programatically expand all sections\n      api.expand();\n      // programatically collapse all sections\n      api.collapse();\n    })();\n  </script>\n</body>\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento enabled components in standalone use are highly interactive through their API. The `bento-accordion` component API is accessible by including the following script tag in your document:\n\n```javascript\nawait customElements.whenDefined('bento-accordion');\nconst api = await accordion.getApi();\n```\n\n##### Actions\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```html\n<bento-accordion id=\"myAccordion\">\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n</bento-accordion>\n<button id=\"button1\">Toggle All Sections</button>\n<button id=\"button2\">Toggle Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.toggle();\n    document.querySelector('#button2').onclick = () => api.toggle('section1');\n  })();\n</script>\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Expand All Sections</button>\n<button id=\"button2\">Expand Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.expand();\n    document.querySelector('#button2').onclick = () => api.expand('section1');\n  })();\n</script>\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Collapse All Sections</button>\n<button id=\"button2\">Collapse Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.collapse();\n    document.querySelector('#button2').onclick = () => api.collapse('section1');\n  })();\n</script>\n```\n\n##### Events\n\nThe `bento-accordion` API allows you to register and respond to the following events:\n\n**expand**\nThis event is triggered when an accordion section is expanded and is dispatched from the expanded section.\n\nSee below for example.\n\n**collapse**\nThis event is triggered when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```html\n<bento-accordion id=\"eventsAccordion\" animate='true'>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <div>Puppies are cute.</div>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Kittens are furry.</div>\n  </section>\n</bento-accordion>\n\n<script>\n  (async () => {\n    const accordion = document.querySelector('#eventsAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // when section 1 expands, section 2 also expands\n    // when section 2 collapses, section 1 also collapses\n    const section1 = document.querySelector('#section1');\n    const section2 = document.querySelector('#section2');\n    section1.addEventListener('expand', () => api.expand('section2'));\n    section2.addEventListener('collapse', () => api.collapse('section1'));\n  })();\n</script>\n```\n\n#### Layout and style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style data-bento-boilerplate>\n  amp-accordion {\n    display: block;\n    contain: layout;\n  }\n\n  amp-accordion,\n  amp-accordion > section,\n  amp-accordion > section > :first-child {\n    margin: 0;\n  }\n\n  amp-accordion > section > * {\n    display: block;\n    float: none;\n    overflow: hidden; /* clearfix */\n    position: relative;\n  }\n\n  @media (min-width: 1px) {\n    :where(amp-accordion > section) > :first-child {\n      cursor: pointer;\n      background-color: #efefef;\n      padding-right: 20px;\n      border: 1px solid #dfdfdf;\n    }\n  }\n\n  .i-amphtml-accordion-header {\n    cursor: pointer;\n    background-color: #efefef;\n    padding-right: 20px;\n    border: 1px solid #dfdfdf;\n  }\n\n  amp-accordion > section:not([expanded]) > :last-child:not(.i-amphtml-animating),\n  amp-accordion\n    > section:not([expanded])\n    > :last-child:not(.i-amphtml-animating)\n    * {\n    display: none !important;\n  }\n</style>\n```\n\n#### Attributes\n\n##### animate\n\nInclude the `animate` attribute in `<bento-accordion>` to add a \"roll down\"\nanimation when the content is expanded and \"roll up\" animation when collapsed.\n\nThis attribute can be configured to based on a [media query](./../../../docs/spec/amp-html-responsive-attributes.md).\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion animate>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Content in section 2.</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expanded\n\nApply the `expanded` attribute to a nested `<section>` to expand that section when the page loads.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section id=\"section3\" expanded>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome expanded content</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expand-single-section\n\nAllow only one section to expand at a time by applying the `expand-single-section` attribute to the `<bento-accordion>` element. This means if a user taps on a collapsed `<section>`, it will expand and collapse other expanded `<section>`'s.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion expand-single-section>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <amp-img\n      src=\"{{server_for_email}}/static/inline-examples/images/squirrel.jpg\"\n      width=\"320\"\n      height=\"256\"\n    ></amp-img>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n#### Styling\n\nYou may use the `bento-accordion` element selector to style the accordion\nfreely.\n\nKeep the following points in mind when you style an amp-accordion:\n\n-   `bento-accordion` elements are always `display: block`.\n-   `float` cannot style a `<section>`, heading, nor content elements.\n-   An expanded section applies the `expanded` attribute to the `<section>`\n    element.\n-   The content element is clear-fixed with `overflow: hidden` and hence cannot\n    have scrollbars.\n-   Margins of the `<bento-accordion>`, `<section>`, heading, and content elements\n    are set to `0`, but can be overridden in custom styles.\n-   Both the header and content elements are `position: relative`.\n\n### Preact/React Component\n\nThe examples below demonstrates use of the `<BentoAccordion>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport React from 'react';\nimport { BentoAccordion } from '@ampproject/bento-accordion/react';\nimport '@ampproject/bento-accordion/styles.css';\n\nfunction App() {\n  return (\n    <BentoAccordion>\n      <BentoAccordionSection key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento components are highly interactive through their API. The `BentoAccordion` component API is accessible by passing a `ref`:\n\n```javascript\nimport React, {createRef} from 'react';\nconst ref = createRef();\n\nfunction App() {\n  return (\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection id=\"section1\" key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section2\" key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section3\" key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n##### Actions\n\nThe `BentoAccordion` API allows you to perform the following actions:\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```javascript\nref.current.toggle();\nref.current.toggle('section1');\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.expand();\nref.current.expand('section1');\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.collapse();\nref.current.collapse('section1');\n```\n\n##### Events\n\nThe Bento Accordion API allows you to respond to the following events:\n\n**onExpandStateChange**\n\nThis event is triggered on a section when an accordion section is expanded or collpased and is dispatched from the expanded section.\n\nSee below for example.\n\n**onCollapse**\n\nThis event is triggered on a section when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```jsx\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection\n        id=\"section1\"\n        key={1}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section1 expanded') : alert('section1 collapsed')\n        }>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section2\"\n        key={2}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section2 expanded') : alert('section2 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section3\"\n        key={3}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section3 expanded') : alert('section3 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n```\n\n#### Layout and style\n\n**Container type**\n\nThe `BentoAccordion` component has a defined layout size type. To ensure the component renders correctly, be sure to apply a size to the component and its immediate children via a desired CSS layout (such as one defined with `height`, `width`, `aspect-ratio`, or other such properties). These can be applied inline:\n\n```jsx\n<BentoAccordion style={{width: '300px', height: '100px'}}>\n  ...\n</BentoAccordion>\n```\n\nOr via `className`:\n\n```jsx\n<BentoAccordion className='custom-styles'>\n  ...\n</BentoAccordion>\n```\n\n```css\n.custom-styles {\n  background-color: red;\n}\n```\n\n#### Props\n\n##### BentoAccordion\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse of each section\nDefault: `false`\n\n###### expandSingleSection\n\nIf true, then expanding 1 section will automatically collapse all other sections:\nDefault: `false`\n\n##### BentoAccordionSection\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse the section\nDefault: `false`\n\n###### expanded\n\nIf true, expands the section.\nDefault: `false`\n\n###### onExpandStateChange\n\n```typescript\n(expanded: boolean): void\n```\n\nCallback to listen for expand state changes. Takes a boolean flag as parameter indicating whether the section was just expanded (`false` indicates it was collapsed)\n\n##### BentoAccordionHeader\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionHeader does not yet support any custom props\n\n##### BentoAccordionContent\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionContent does not yet support any custom props\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2110202310.0","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-eM1zPAdhkPzE/QACltUxYTXf4+H8sQUoBkibURWUiyYp/u/LkFMDZv4Lwg659sTybG4kNVSdVoznewjPMPB26w==","shasum":"659f9d41e190b0d2ef88a357f32b75dded1a0ab3","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2110202310.0.tgz","fileCount":20,"unpackedSize":415772,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICGSxme7EhlintatBujB/HVvGKVRkf1YT0kjviSS1DdWAiEAmsNM5H7ez9qAvseMj9KNCGNyXY85zIeFJOUsnEt0Srs="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2110202310.0_1634815495678_0.4785604769992906"},"_hasShrinkwrap":false},"1.2110212130.0":{"name":"@ampproject/amp-accordion","version":"1.2110212130.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/component-preact.js","module":"./dist/component-preact.module.js","exports":{".":"./preact","./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./styles.css":"./dist/styles.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Accordion\n\n## Usage\n\nThe Bento Accordion component allows you to display collapsible and expandable\ncontent sections. This component provides a way for viewers to glance at the\ncontent outline and jump to any section. Effective use reduces scrolling needs\non mobile devices.\n\nUse Bento Accordion as a web component ([`<bento-accordion>`](#web-component)), or a Preact/React functional component ([`<BentoAccordion>`](#preactreact-component)).\n\n-   A Bento Accordion accepts one or more `<section>` elements as its direct\n    children.\n-   Each `<section>` must contain exactly two direct children.\n-   The first child in a `<section>` is the heading for that section of the\n    Bento Accordion. It must be a heading element such as `<h1>-<h6>` or\n    `<header>`.\n-   The second child in a `<section>` is the expandable/collapsible content.\n    -   It can be any tag allowed in [AMP HTML](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-html-format.md).\n-   A click or tap on a `<section>` heading expands or collapses the section.\n-   A Bento Accordion with a defined `id` preserves the collapsed or expanded\n    state of each section while the user remains on your domain.\n\n### Web Component\n\nYou must include each Bento component's required CSS library to guarantee proper loading and before adding custom styles. Or use the light-weight pre-upgrade styles available inline. See [Layout and style](#layout-and-style).\n\nThe examples below demonstrate use of the `<bento-accordion>` web component.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport '@ampproject/bento-accordion';\n```\n\n[/example]\n\n#### Example: Include via `<script>`\n\nThe example below contains an `bento-accordion` with three sections. The\n`expanded` attribute on the third section expands it on page load.\n\n[example preview=\"top-frame\" playground=\"false\"]\n\n```html\n<head>\n  <script async src=\"https://cdn.ampproject.org/bento.js\"></script>\n  <script async src=\"https://cdn.ampproject.org/v0/bento-accordion-1.0.js\"></script>\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n</head>\n<body>\n  <bento-accordion id=\"my-accordion\"{% if not format=='email'%} disable-session-states{% endif %}>\n    <section>\n      <h2>Section 1</h2>\n      <p>Content in section 1.</p>\n    </section>\n    <section>\n      <h2>Section 2</h2>\n      <div>Content in section 2.</div>\n    </section>\n    <section expanded>\n      <h2>Section 3</h2>\n      <div>Content in section 3.</div>\n    </section>\n  </bento-accordion>\n  <script>\n    (async () => {\n      const accordion = document.querySelector('#my-accordion');\n      await customElements.whenDefined('bento-accordion');\n      const api = await accordion.getApi();\n\n      // programatically expand all sections\n      api.expand();\n      // programatically collapse all sections\n      api.collapse();\n    })();\n  </script>\n</body>\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento enabled components in standalone use are highly interactive through their API. The `bento-accordion` component API is accessible by including the following script tag in your document:\n\n```javascript\nawait customElements.whenDefined('bento-accordion');\nconst api = await accordion.getApi();\n```\n\n##### Actions\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```html\n<bento-accordion id=\"myAccordion\">\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n</bento-accordion>\n<button id=\"button1\">Toggle All Sections</button>\n<button id=\"button2\">Toggle Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.toggle();\n    document.querySelector('#button2').onclick = () => api.toggle('section1');\n  })();\n</script>\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Expand All Sections</button>\n<button id=\"button2\">Expand Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.expand();\n    document.querySelector('#button2').onclick = () => api.expand('section1');\n  })();\n</script>\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Collapse All Sections</button>\n<button id=\"button2\">Collapse Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.collapse();\n    document.querySelector('#button2').onclick = () => api.collapse('section1');\n  })();\n</script>\n```\n\n##### Events\n\nThe `bento-accordion` API allows you to register and respond to the following events:\n\n**expand**\nThis event is triggered when an accordion section is expanded and is dispatched from the expanded section.\n\nSee below for example.\n\n**collapse**\nThis event is triggered when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```html\n<bento-accordion id=\"eventsAccordion\" animate='true'>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <div>Puppies are cute.</div>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Kittens are furry.</div>\n  </section>\n</bento-accordion>\n\n<script>\n  (async () => {\n    const accordion = document.querySelector('#eventsAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // when section 1 expands, section 2 also expands\n    // when section 2 collapses, section 1 also collapses\n    const section1 = document.querySelector('#section1');\n    const section2 = document.querySelector('#section2');\n    section1.addEventListener('expand', () => api.expand('section2'));\n    section2.addEventListener('collapse', () => api.collapse('section1'));\n  })();\n</script>\n```\n\n#### Layout and style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style data-bento-boilerplate>\n  amp-accordion {\n    display: block;\n    contain: layout;\n  }\n\n  amp-accordion,\n  amp-accordion > section,\n  amp-accordion > section > :first-child {\n    margin: 0;\n  }\n\n  amp-accordion > section > * {\n    display: block;\n    float: none;\n    overflow: hidden; /* clearfix */\n    position: relative;\n  }\n\n  @media (min-width: 1px) {\n    :where(amp-accordion > section) > :first-child {\n      cursor: pointer;\n      background-color: #efefef;\n      padding-right: 20px;\n      border: 1px solid #dfdfdf;\n    }\n  }\n\n  .i-amphtml-accordion-header {\n    cursor: pointer;\n    background-color: #efefef;\n    padding-right: 20px;\n    border: 1px solid #dfdfdf;\n  }\n\n  amp-accordion > section:not([expanded]) > :last-child:not(.i-amphtml-animating),\n  amp-accordion\n    > section:not([expanded])\n    > :last-child:not(.i-amphtml-animating)\n    * {\n    display: none !important;\n  }\n</style>\n```\n\n#### Attributes\n\n##### animate\n\nInclude the `animate` attribute in `<bento-accordion>` to add a \"roll down\"\nanimation when the content is expanded and \"roll up\" animation when collapsed.\n\nThis attribute can be configured to based on a [media query](./../../../docs/spec/amp-html-responsive-attributes.md).\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion animate>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Content in section 2.</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expanded\n\nApply the `expanded` attribute to a nested `<section>` to expand that section when the page loads.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section id=\"section3\" expanded>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome expanded content</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expand-single-section\n\nAllow only one section to expand at a time by applying the `expand-single-section` attribute to the `<bento-accordion>` element. This means if a user taps on a collapsed `<section>`, it will expand and collapse other expanded `<section>`'s.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion expand-single-section>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <amp-img\n      src=\"{{server_for_email}}/static/inline-examples/images/squirrel.jpg\"\n      width=\"320\"\n      height=\"256\"\n    ></amp-img>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n#### Styling\n\nYou may use the `bento-accordion` element selector to style the accordion\nfreely.\n\nKeep the following points in mind when you style an amp-accordion:\n\n-   `bento-accordion` elements are always `display: block`.\n-   `float` cannot style a `<section>`, heading, nor content elements.\n-   An expanded section applies the `expanded` attribute to the `<section>`\n    element.\n-   The content element is clear-fixed with `overflow: hidden` and hence cannot\n    have scrollbars.\n-   Margins of the `<bento-accordion>`, `<section>`, heading, and content elements\n    are set to `0`, but can be overridden in custom styles.\n-   Both the header and content elements are `position: relative`.\n\n### Preact/React Component\n\nThe examples below demonstrates use of the `<BentoAccordion>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport React from 'react';\nimport { BentoAccordion } from '@ampproject/bento-accordion/react';\nimport '@ampproject/bento-accordion/styles.css';\n\nfunction App() {\n  return (\n    <BentoAccordion>\n      <BentoAccordionSection key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento components are highly interactive through their API. The `BentoAccordion` component API is accessible by passing a `ref`:\n\n```javascript\nimport React, {createRef} from 'react';\nconst ref = createRef();\n\nfunction App() {\n  return (\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection id=\"section1\" key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section2\" key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section3\" key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n##### Actions\n\nThe `BentoAccordion` API allows you to perform the following actions:\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```javascript\nref.current.toggle();\nref.current.toggle('section1');\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.expand();\nref.current.expand('section1');\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.collapse();\nref.current.collapse('section1');\n```\n\n##### Events\n\nThe Bento Accordion API allows you to respond to the following events:\n\n**onExpandStateChange**\n\nThis event is triggered on a section when an accordion section is expanded or collpased and is dispatched from the expanded section.\n\nSee below for example.\n\n**onCollapse**\n\nThis event is triggered on a section when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```jsx\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection\n        id=\"section1\"\n        key={1}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section1 expanded') : alert('section1 collapsed')\n        }>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section2\"\n        key={2}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section2 expanded') : alert('section2 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section3\"\n        key={3}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section3 expanded') : alert('section3 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n```\n\n#### Layout and style\n\n**Container type**\n\nThe `BentoAccordion` component has a defined layout size type. To ensure the component renders correctly, be sure to apply a size to the component and its immediate children via a desired CSS layout (such as one defined with `height`, `width`, `aspect-ratio`, or other such properties). These can be applied inline:\n\n```jsx\n<BentoAccordion style={{width: '300px', height: '100px'}}>\n  ...\n</BentoAccordion>\n```\n\nOr via `className`:\n\n```jsx\n<BentoAccordion className='custom-styles'>\n  ...\n</BentoAccordion>\n```\n\n```css\n.custom-styles {\n  background-color: red;\n}\n```\n\n#### Props\n\n##### BentoAccordion\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse of each section\nDefault: `false`\n\n###### expandSingleSection\n\nIf true, then expanding 1 section will automatically collapse all other sections:\nDefault: `false`\n\n##### BentoAccordionSection\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse the section\nDefault: `false`\n\n###### expanded\n\nIf true, expands the section.\nDefault: `false`\n\n###### onExpandStateChange\n\n```typescript\n(expanded: boolean): void\n```\n\nCallback to listen for expand state changes. Takes a boolean flag as parameter indicating whether the section was just expanded (`false` indicates it was collapsed)\n\n##### BentoAccordionHeader\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionHeader does not yet support any custom props\n\n##### BentoAccordionContent\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionContent does not yet support any custom props\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2110212130.0","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-KXjppzs16EDd3iw5J2ohTcHyN/bfcoYVatswVAZvzDRAX//BTR9rn8jfkOFroWr9SXuGUVKnTOXwApIxotYoHw==","shasum":"c8243bef2987ffe15db414d339a7a5a602d206a3","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2110212130.0.tgz","fileCount":28,"unpackedSize":2021843,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGlZJfLKNxAmFEzloM7PupQNGH6ZNDKz5hsMUZeb2v9gIgbGpPSffSEnVsuwVMC/z6uHWa+0isxDSvp4eHBfKnv28="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2110212130.0_1634902291788_0.5206180622720071"},"_hasShrinkwrap":false},"1.2110252343.0":{"name":"@ampproject/amp-accordion","version":"1.2110252343.0","description":"AMP HTML amp-accordion Component","author":{"name":"The AMP HTML Authors"},"license":"Apache-2.0","main":"./dist/web-component.js","module":"./dist/web-component.module.js","exports":{".":"./web-component","./web-component":{"import":"./dist/web-component.module.js","require":"./dist/web-component.js"},"./preact":{"import":"./dist/component-preact.module.js","require":"./dist/component-preact.js"},"./react":{"import":"./dist/component-react.module.js","require":"./dist/component-react.js"},"./styles.css":"./dist/styles.css"},"repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","peerDependencies":{"preact":"^10.2.1","react":"^17.0.0"},"readme":"# Bento Accordion\n\n## Usage\n\nThe Bento Accordion component allows you to display collapsible and expandable\ncontent sections. This component provides a way for viewers to glance at the\ncontent outline and jump to any section. Effective use reduces scrolling needs\non mobile devices.\n\nUse Bento Accordion as a web component ([`<bento-accordion>`](#web-component)), or a Preact/React functional component ([`<BentoAccordion>`](#preactreact-component)).\n\n-   A Bento Accordion accepts one or more `<section>` elements as its direct\n    children.\n-   Each `<section>` must contain exactly two direct children.\n-   The first child in a `<section>` is the heading for that section of the\n    Bento Accordion. It must be a heading element such as `<h1>-<h6>` or\n    `<header>`.\n-   The second child in a `<section>` is the expandable/collapsible content.\n    -   It can be any tag allowed in [AMP HTML](https://github.com/ampproject/amphtml/blob/main/docs/spec/amp-html-format.md).\n-   A click or tap on a `<section>` heading expands or collapses the section.\n-   A Bento Accordion with a defined `id` preserves the collapsed or expanded\n    state of each section while the user remains on your domain.\n\n### Web Component\n\nYou must include each Bento component's required CSS library to guarantee proper loading and before adding custom styles. Or use the light-weight pre-upgrade styles available inline. See [Layout and style](#layout-and-style).\n\nThe examples below demonstrate use of the `<bento-accordion>` web component.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport '@ampproject/bento-accordion';\n```\n\n[/example]\n\n#### Example: Include via `<script>`\n\nThe example below contains an `bento-accordion` with three sections. The\n`expanded` attribute on the third section expands it on page load.\n\n[example preview=\"top-frame\" playground=\"false\"]\n\n```html\n<head>\n  <script async src=\"https://cdn.ampproject.org/bento.js\"></script>\n  <script async src=\"https://cdn.ampproject.org/v0/bento-accordion-1.0.js\"></script>\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n</head>\n<body>\n  <bento-accordion id=\"my-accordion\"{% if not format=='email'%} disable-session-states{% endif %}>\n    <section>\n      <h2>Section 1</h2>\n      <p>Content in section 1.</p>\n    </section>\n    <section>\n      <h2>Section 2</h2>\n      <div>Content in section 2.</div>\n    </section>\n    <section expanded>\n      <h2>Section 3</h2>\n      <div>Content in section 3.</div>\n    </section>\n  </bento-accordion>\n  <script>\n    (async () => {\n      const accordion = document.querySelector('#my-accordion');\n      await customElements.whenDefined('bento-accordion');\n      const api = await accordion.getApi();\n\n      // programatically expand all sections\n      api.expand();\n      // programatically collapse all sections\n      api.collapse();\n    })();\n  </script>\n</body>\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento enabled components in standalone use are highly interactive through their API. The `bento-accordion` component API is accessible by including the following script tag in your document:\n\n```javascript\nawait customElements.whenDefined('bento-accordion');\nconst api = await accordion.getApi();\n```\n\n##### Actions\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```html\n<bento-accordion id=\"myAccordion\">\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n</bento-accordion>\n<button id=\"button1\">Toggle All Sections</button>\n<button id=\"button2\">Toggle Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.toggle();\n    document.querySelector('#button2').onclick = () => api.toggle('section1');\n  })();\n</script>\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Expand All Sections</button>\n<button id=\"button2\">Expand Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.expand();\n    document.querySelector('#button2').onclick = () => api.expand('section1');\n  })();\n</script>\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```html\n<button id=\"button1\">Collapse All Sections</button>\n<button id=\"button2\">Collapse Section 1</button>\n<script>\n  (async () => {\n    const accordion = document.querySelector('#myAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // set up button actions\n    document.querySelector('#button1').onclick = () => api.collapse();\n    document.querySelector('#button2').onclick = () => api.collapse('section1');\n  })();\n</script>\n```\n\n##### Events\n\nThe `bento-accordion` API allows you to register and respond to the following events:\n\n**expand**\nThis event is triggered when an accordion section is expanded and is dispatched from the expanded section.\n\nSee below for example.\n\n**collapse**\nThis event is triggered when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```html\n<bento-accordion id=\"eventsAccordion\" animate='true'>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <div>Puppies are cute.</div>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Kittens are furry.</div>\n  </section>\n</bento-accordion>\n\n<script>\n  (async () => {\n    const accordion = document.querySelector('#eventsAccordion');\n    await customElements.whenDefined('bento-accordion');\n    const api = await accordion.getApi();\n\n    // when section 1 expands, section 2 also expands\n    // when section 2 collapses, section 1 also collapses\n    const section1 = document.querySelector('#section1');\n    const section2 = document.querySelector('#section2');\n    section1.addEventListener('expand', () => api.expand('section2'));\n    section2.addEventListener('collapse', () => api.collapse('section1'));\n  })();\n</script>\n```\n\n#### Layout and style\n\nEach Bento component has a small CSS library you must include to guarantee proper loading without [content shifts](https://web.dev/cls/). Because of order-based specificity, you must manually ensure that stylesheets are included before any custom styles.\n\n```html\n<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.ampproject.org/v0/amp-accordion-1.0.css\">\n```\n\nAlternatively, you may also make the light-weight pre-upgrade styles available inline:\n\n```html\n<style data-bento-boilerplate>\n  amp-accordion {\n    display: block;\n    contain: layout;\n  }\n\n  amp-accordion,\n  amp-accordion > section,\n  amp-accordion > section > :first-child {\n    margin: 0;\n  }\n\n  amp-accordion > section > * {\n    display: block;\n    float: none;\n    overflow: hidden; /* clearfix */\n    position: relative;\n  }\n\n  @media (min-width: 1px) {\n    :where(amp-accordion > section) > :first-child {\n      cursor: pointer;\n      background-color: #efefef;\n      padding-right: 20px;\n      border: 1px solid #dfdfdf;\n    }\n  }\n\n  .i-amphtml-accordion-header {\n    cursor: pointer;\n    background-color: #efefef;\n    padding-right: 20px;\n    border: 1px solid #dfdfdf;\n  }\n\n  amp-accordion > section:not([expanded]) > :last-child:not(.i-amphtml-animating),\n  amp-accordion\n    > section:not([expanded])\n    > :last-child:not(.i-amphtml-animating)\n    * {\n    display: none !important;\n  }\n</style>\n```\n\n#### Attributes\n\n##### animate\n\nInclude the `animate` attribute in `<bento-accordion>` to add a \"roll down\"\nanimation when the content is expanded and \"roll up\" animation when collapsed.\n\nThis attribute can be configured to based on a [media query](./../../../docs/spec/amp-html-responsive-attributes.md).\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion animate>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <div>Content in section 2.</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expanded\n\nApply the `expanded` attribute to a nested `<section>` to expand that section when the page loads.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion>\n  <section id=\"section1\">\n    <h2>Section 1</h2>\n    <p>Bunch of awesome content</p>\n  </section>\n  <section id=\"section2\">\n    <h2>Section 2</h2>\n    <div>Bunch of awesome content</div>\n  </section>\n  <section id=\"section3\" expanded>\n    <h2>Section 3</h2>\n    <div>Bunch of awesome expanded content</div>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n##### expand-single-section\n\nAllow only one section to expand at a time by applying the `expand-single-section` attribute to the `<bento-accordion>` element. This means if a user taps on a collapsed `<section>`, it will expand and collapse other expanded `<section>`'s.\n\n[example preview=\"top-frame\" playground=\"true\" imports=\"bento-accordion:1.0\"]\n\n```html\n<bento-accordion expand-single-section>\n  <section>\n    <h2>Section 1</h2>\n    <p>Content in section 1.</p>\n  </section>\n  <section>\n    <h2>Section 2</h2>\n    <div>Content in section 2.</div>\n  </section>\n  <section>\n    <h2>Section 3</h2>\n    <amp-img\n      src=\"{{server_for_email}}/static/inline-examples/images/squirrel.jpg\"\n      width=\"320\"\n      height=\"256\"\n    ></amp-img>\n  </section>\n</bento-accordion>\n```\n\n[/example]\n\n#### Styling\n\nYou may use the `bento-accordion` element selector to style the accordion\nfreely.\n\nKeep the following points in mind when you style an amp-accordion:\n\n-   `bento-accordion` elements are always `display: block`.\n-   `float` cannot style a `<section>`, heading, nor content elements.\n-   An expanded section applies the `expanded` attribute to the `<section>`\n    element.\n-   The content element is clear-fixed with `overflow: hidden` and hence cannot\n    have scrollbars.\n-   Margins of the `<bento-accordion>`, `<section>`, heading, and content elements\n    are set to `0`, but can be overridden in custom styles.\n-   Both the header and content elements are `position: relative`.\n\n### Preact/React Component\n\nThe examples below demonstrates use of the `<BentoAccordion>` as a functional component usable with the Preact or React libraries.\n\n#### Example: Import via npm\n\n[example preview=\"top-frame\" playground=\"false\"]\n\nInstall via npm:\n\n```sh\nnpm install @ampproject/bento-accordion\n```\n\n```javascript\nimport React from 'react';\nimport { BentoAccordion } from '@ampproject/bento-accordion/react';\nimport '@ampproject/bento-accordion/styles.css';\n\nfunction App() {\n  return (\n    <BentoAccordion>\n      <BentoAccordionSection key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n[/example]\n\n#### Interactivity and API usage\n\nBento components are highly interactive through their API. The `BentoAccordion` component API is accessible by passing a `ref`:\n\n```javascript\nimport React, {createRef} from 'react';\nconst ref = createRef();\n\nfunction App() {\n  return (\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection id=\"section1\" key={1}>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section2\" key={2}>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection id=\"section3\" key={3}>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n  );\n}\n```\n\n##### Actions\n\nThe `BentoAccordion` API allows you to perform the following actions:\n\n**toggle()**\nThe `toggle` action switches the `expanded` and `collapsed` states of\n`bento-accordion` sections. When called with no arguments, it toggles all sections\nof the accordion. To specify a specific section, add the `section` argument and\nuse its corresponding `id` as the value.\n\n```javascript\nref.current.toggle();\nref.current.toggle('section1');\n```\n\n**expand()**\nThe `expand` action expands the sections of the `bento-accordion`. If a section\nis already expanded, it stays expanded. When called with no arguments, it\nexpands all sections of the accordion. To specify a section, add the `section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.expand();\nref.current.expand('section1');\n```\n\n**collapse()**\nThe `collapse` action collapses the sections of the `bento-accordion`. If a\nsection is already collapsed, it stays collapsed. When called with no arguments,\nit collapses all sections of the accordion. To specify a section, add the\n`section` argument, and use its corresponding `id` as the value.\n\n```javascript\nref.current.collapse();\nref.current.collapse('section1');\n```\n\n##### Events\n\nThe Bento Accordion API allows you to respond to the following events:\n\n**onExpandStateChange**\n\nThis event is triggered on a section when an accordion section is expanded or collpased and is dispatched from the expanded section.\n\nSee below for example.\n\n**onCollapse**\n\nThis event is triggered on a section when an accordion section is collapsed and is dispatched from the collapsed section.\n\nIn the example below, `section 1` listens for the `expand` event and expands `section 2` when it is expanded. `section 2` listens for the `collapse` event and collapses `section 1` when it is collapsed.\n\nSee below for example.\n\n```jsx\n    <BentoAccordion ref={ref}>\n      <BentoAccordionSection\n        id=\"section1\"\n        key={1}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section1 expanded') : alert('section1 collapsed')\n        }>\n        <BentoAccordionHeader><h1>Section 1</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 1</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section2\"\n        key={2}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section2 expanded') : alert('section2 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 2</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 2</BentoAccordionContent>\n      </BentoAccordionSection>\n\n      <BentoAccordionSection\n        id=\"section3\"\n        key={3}\n        onExpandStateChange={\n          (expanded) => expanded ? alert('section3 expanded') : alert('section3 collapsed'}\n        }>\n        <BentoAccordionHeader><h1>Section 3</h1></BentoAccordionHeader>\n        <BentoAccordionContent>Content 3</BentoAccordionContent>\n      </BentoAccordionSection>\n    </BentoAccordion>\n```\n\n#### Layout and style\n\n**Container type**\n\nThe `BentoAccordion` component has a defined layout size type. To ensure the component renders correctly, be sure to apply a size to the component and its immediate children via a desired CSS layout (such as one defined with `height`, `width`, `aspect-ratio`, or other such properties). These can be applied inline:\n\n```jsx\n<BentoAccordion style={{width: '300px', height: '100px'}}>\n  ...\n</BentoAccordion>\n```\n\nOr via `className`:\n\n```jsx\n<BentoAccordion className='custom-styles'>\n  ...\n</BentoAccordion>\n```\n\n```css\n.custom-styles {\n  background-color: red;\n}\n```\n\n#### Props\n\n##### BentoAccordion\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse of each section\nDefault: `false`\n\n###### expandSingleSection\n\nIf true, then expanding 1 section will automatically collapse all other sections:\nDefault: `false`\n\n##### BentoAccordionSection\n\n###### animate\n\nIf true, then uses \"roll-down\" / \"roll-up\" animation during the expansion and collapse the section\nDefault: `false`\n\n###### expanded\n\nIf true, expands the section.\nDefault: `false`\n\n###### onExpandStateChange\n\n```typescript\n(expanded: boolean): void\n```\n\nCallback to listen for expand state changes. Takes a boolean flag as parameter indicating whether the section was just expanded (`false` indicates it was collapsed)\n\n##### BentoAccordionHeader\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionHeader does not yet support any custom props\n\n##### BentoAccordionContent\n\n##### Common props\n\nThis component supports the [common props](../../../docs/spec/bento-common-props.md) for React and Preact components.\n\nBentoAccordionContent does not yet support any custom props\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"_id":"@ampproject/amp-accordion@1.2110252343.0","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-SsDrwtQVskUBNJahROwiOiAZVZnDvywwiz6SzDYM7foUaX/zrz9/84/jpA9XL3Zf968C1c39N224mwUkJ8ZUCQ==","shasum":"34d0ec9b6879b9da60f786b074197dce19e6e406","tarball":"https://registry.npmjs.org/@ampproject/amp-accordion/-/amp-accordion-1.2110252343.0.tgz","fileCount":28,"unpackedSize":2022040,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICW4gn+VJIQ/QLOQadLwnxM5OZQqodedYCLTP+ivwe5cAiAK0oPNaPPEHYTPcJOIis+Nhs+02vB5QHzG1Z8VqSprkQ=="}]},"_npmUser":{"name":"ampprojectbot","email":"bot@amp.dev"},"directories":{},"maintainers":[{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"choumx","email":"willchou@google.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"samouri","email":"jzfisgreat@gmail.com"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"esth","email":"esther@amp.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amp-accordion_1.2110252343.0_1635247210528_0.6203683082836162"},"_hasShrinkwrap":false}},"time":{"created":"2021-04-29T15:27:37.895Z","1.2104150129.0":"2021-04-29T15:27:38.395Z","modified":"2022-04-04T13:52:31.942Z","1.2105191214.2":"2021-05-19T16:30:04.592Z","1.2105242203.0":"2021-05-26T22:35:28.104Z","1.2105270452.0":"2021-05-27T11:47:12.428Z","1.2105271708.0":"2021-05-27T19:13:37.558Z","1.2105280035.0":"2021-05-28T11:32:32.882Z","1.2105281634.0":"2021-05-29T11:24:51.467Z","1.2106012301.0":"2021-06-02T11:40:17.294Z","1.2106012301.1":"2021-06-02T16:13:40.691Z","1.2106030132.0":"2021-06-03T11:22:25.475Z","1.2105210438.3":"2021-06-03T19:00:16.944Z","1.2106040012.0":"2021-06-04T11:19:29.521Z","1.2106060839.0":"2021-06-07T15:37:48.847Z","1.2106072053.0":"2021-06-08T17:24:36.269Z","1.2106090052.0":"2021-06-09T11:25:00.974Z","1.2106092357.0":"2021-06-10T11:26:56.381Z","1.2106102303.0":"2021-06-11T11:27:57.685Z","1.2106120107.0":"2021-06-12T11:25:53.138Z","1.2106141722.0":"2021-06-15T11:26:23.149Z","1.2106160500.0":"2021-06-16T11:22:31.111Z","1.2106162301.0":"2021-06-17T11:23:15.091Z","1.2106182132.0":"2021-06-19T11:34:09.439Z","1.2106212012.0":"2021-06-22T11:29:45.849Z","1.2106222237.0":"2021-06-23T11:35:41.981Z","1.2106240350.0":"2021-06-24T11:29:54.661Z","1.2106260436.0":"2021-06-26T11:24:19.616Z","1.2106290147.0":"2021-06-29T11:34:31.260Z","1.2106292357.0":"2021-06-30T11:28:14.160Z","1.2106302324.0":"2021-07-01T11:39:22.643Z","1.2107012021.0":"2021-07-02T17:37:51.367Z","1.2107030008.0":"2021-07-03T11:35:30.539Z","1.2107072148.0":"2021-07-08T11:22:29.279Z","1.2107082341.0":"2021-07-09T11:20:18.707Z","1.2107092322.0":"2021-07-10T11:28:47.643Z","1.2107130206.0":"2021-07-13T11:45:00.683Z","1.2107030008.1":"2021-07-13T19:46:20.295Z","1.2107140004.0":"2021-07-14T11:26:33.325Z","1.2107150011.0":"2021-07-15T11:29:50.371Z","1.2107152117.0":"2021-07-16T11:21:31.959Z","1.2107170150.0":"2021-07-17T11:36:15.824Z","1.2107200040.0":"2021-07-20T11:18:21.606Z","1.2107202252.0":"2021-07-21T11:26:17.379Z","1.2107212010.0":"2021-07-22T16:49:18.863Z","1.2107230121.0":"2021-07-23T11:33:30.455Z","1.2107240354.0":"2021-07-24T11:23:25.014Z","1.2107280004.0":"2021-07-28T18:54:35.044Z","1.2107282214.0":"2021-07-29T11:43:36.247Z","1.2107300532.0":"2021-07-30T11:40:07.191Z","1.2107302322.0":"2021-07-31T11:27:37.548Z","1.2108030112.0":"2021-08-03T11:42:04.617Z","1.2108040347.0":"2021-08-04T11:28:44.387Z","1.2108050645.0":"2021-08-05T11:20:10.774Z","1.2108052321.0":"2021-08-06T11:28:28.390Z","1.2108100143.0":"2021-08-10T11:35:12.045Z","1.2108101942.0":"2021-08-11T11:51:33.435Z","1.2108112212.0":"2021-08-12T21:28:50.709Z","1.2107302322.1":"2021-08-12T22:44:19.668Z","1.2108130315.0":"2021-08-13T11:35:24.222Z","1.2108132216.0":"2021-08-14T11:50:23.084Z","1.2108170213.0":"2021-08-17T11:23:43.851Z","1.2108052321.1":"2021-08-17T21:01:46.934Z","1.2108190446.0":"2021-08-19T11:30:39.813Z","1.2108192119.0":"2021-08-20T11:20:12.599Z","1.2108221555.0":"2021-08-23T16:10:45.955Z","1.2108232044.0":"2021-08-24T11:30:25.469Z","1.2108242314.0":"2021-08-25T11:20:32.409Z","1.2108270538.0":"2021-08-27T11:34:25.120Z","1.2108280007.0":"2021-08-28T11:23:16.541Z","1.2108302037.0":"2021-08-31T11:23:15.067Z","1.2109010455.0":"2021-09-01T11:18:41.910Z","1.2109012253.0":"2021-09-02T12:02:39.892Z","1.2109022317.0":"2021-09-03T11:21:15.238Z","1.2109032350.0":"2021-09-04T11:21:53.667Z","1.2109180035.0":"2021-09-18T11:20:09.239Z","1.2109201529.0":"2021-09-21T11:17:40.848Z","1.2109102127.0":"2021-09-21T18:46:13.090Z","1.2109212005.0":"2021-09-22T11:45:41.226Z","1.2109222204.0":"2021-09-23T11:41:15.186Z","1.2110112305.0":"2021-10-12T11:40:29.242Z","1.2110121825.0":"2021-10-13T11:26:26.316Z","1.2110011758.0":"2021-10-14T14:20:13.376Z","1.2110142235.0":"2021-10-15T11:37:25.441Z","1.2110152252.0":"2021-10-16T11:39:57.446Z","1.2110181554.0":"2021-10-19T11:53:43.849Z","1.2110082201.1":"2021-10-19T17:20:57.501Z","1.2110192227.0":"2021-10-20T11:39:34.327Z","1.2110082201.2":"2021-10-20T22:15:14.312Z","1.2110202310.0":"2021-10-21T11:24:56.086Z","1.2110212130.0":"2021-10-22T11:31:31.991Z","1.2110252343.0":"2021-10-26T11:20:10.692Z"},"maintainers":[{"name":"alanorozco","email":"orozcoalan@gmail.com"},{"name":"amp-toolbox","email":"amp-toolbox-eng@google.com"},{"name":"ampproject-admin","email":"admin@ampproject.org"},{"name":"ampprojectbot","email":"bot@amp.dev"},{"name":"caroqliu","email":"carolineliu@google.com"},{"name":"choumx","email":"willchou@google.com"},{"name":"dvoytenko","email":"dvoytenko@gmail.com"},{"name":"erwinmombay","email":"erwin.mombay@gmail.com"},{"name":"esth","email":"esther@amp.dev"},{"name":"fstanis","email":"filip@stanis.me"},{"name":"jridgewell","email":"justin+npm@ridgewell.name"},{"name":"kdwan","email":"kdwan@google.com"},{"name":"kristoferbaxter","email":"kbax@me.com"},{"name":"patrickkettner","email":"patrickkettner@gmail.com"},{"name":"rsimha","email":"rsimha@amp.dev"},{"name":"samouri","email":"jzfisgreat@gmail.com"}],"description":"AMP HTML amp-accordion Component","homepage":"https://github.com/ampproject/amphtml/tree/main/extensions/amp-accordion/1.0","repository":{"type":"git","url":"git+https://github.com/ampproject/amphtml.git","directory":"extensions/amp-accordion/1.0"},"author":{"name":"The AMP HTML Authors"},"bugs":{"url":"https://github.com/ampproject/amphtml/issues"},"license":"Apache-2.0","readme":"","readmeFilename":""}