{"_id":"alpinejs-component","_rev":"28-4fe96d289731858a055d05e2e27b9192","name":"alpinejs-component","dist-tags":{"latest":"3.0.1"},"versions":{"1.0.0":{"name":"alpinejs-component","version":"1.0.0","keywords":["Alpine","Alpine JS","Alpine JS Plugins"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.0.0","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"13e5170fa78d4e2c1c71666fc7f2cc443fe879c5","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.0.0.tgz","fileCount":10,"integrity":"sha512-vLkOjhVbqR5THqSFdXnKRmbElytBQUervEgui/gmBc2taEAB7eqD0CuvGXkbmh684t0cSOJhZ6JU4/sIebgOuA==","signatures":[{"sig":"MEUCIQDlttHLg5q8p2y4Hg4jU1GbGwu+ZX8JRvzEwckiGMeYZwIgG/hRSbHTIws84kZljcu2GC/gwn92SOVDKCq6JfvMXE4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8873,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhyu2GCRA9TVsSAnZWagAAKHYP/jrOx22/Dv603fpVbaOj\n7h6vZDCFVyVkYTmy0+Hoygzan2kokuvo0SA9DlXFeYYYGm+PorAzThZKCksf\nZQmL1b6Tqym5UWw+X7Xq3IVzGiDbRKtyK2AtfQU4xFSwIwwvV3OXDIA/Qq3c\nWBxHYIfknzJ2i1XOn0nflspYpdPbtnZ4Cm9XOeV1Gtw37HIo2XS99mIuIZqX\nlFHvOmioSlVUKO+1CyuRyyKAsMMyI7OCCCMLAYJ5I+BifIURAjM7830wQmd0\nF9HG4qz//TsGLAzBOL6UKSCB3Z/x/2Y7e5bDRGc42/A1d7n9zcxa/gBI5gAD\nwI025iRL+vbNUbu2R5yDMhMQw3cCw/S5XVLKsiJSJ6odAPFTqM0jLGT/3ElB\nIEwz44ChpsXJ0+96eXwnoS7j7fR/MFYoqrkN2EBknpeJvRjbjX6JsJJBdHbu\nW/t33qPbpOws7tvqO/5B848JoSq0+sfACzjooweaMxRjyWcO+9g1AtGmLTRw\nlDW5ThGXxAWrcV3FCltCOqjkr9+jPRFKobMVkNcZvDyeHmXNSnZkac5Jzta8\nWbpNENqrzB+4b0cZuhvBaBMh4rO27Axys9qPnPKLfh/Tl3rTMa0GMUzY/HaY\nSCXaW5OiYiBqV8uwVaU0agrNIyHeYitePJh1y3UDNxE2jcE1Wmcg6gFwa6x8\n84FN\r\n=I7W+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/component.cjs.js","unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"291ce7e3e1a60108b03271eef57f2ad7a580ed9a","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"8.3.0","description":"Create components with Alpine JS","directories":{},"_nodeVersion":"17.1.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.12.22"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.0.0_1640689030124_0.44062475856315775","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"alpinejs-component","version":"1.1.0","keywords":["Alpine","Alpine JS","Alpine JS Plugins","Alpine JS Components","Alpine JS Component","HTML Components"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.1.0","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"915a03ea3319016b54890c653997c735cbb3a02b","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.1.0.tgz","fileCount":10,"integrity":"sha512-ndYRPTr7/y1qIO5+8kwy95smRH73DOKlflbCVFlTtyoaiBrOAnDYKiv+OAyobj87Y+JKJTfpAwadBkxztKJj0Q==","signatures":[{"sig":"MEUCIQDrDPzxhN1JhPSbz9TDj75xaqxexTL5S4Niut8wCq/tfwIgHNw1vVLZ1h2XSQRVhEm5Ms35iB7rjB+l7OrcQoG+efM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzgRSCRA9TVsSAnZWagAAoncP/2edj3R4n502B9mZZZeV\nGQ7mFSWj9T16Cu8mQp4fI3AYguNIZiinHe43dl3uMAHfBHuzbCBARodspiYn\noGpVKDRYVWOq7xH1S9Gvx26WW6t7318+jR+8+2vEBI+CwEhXrSVtk5t2Xbfh\nPpWIHOIp35HTfsEHRbtGRjGPNTS7NpfU9Zvkn4FKb8YbFChKWrU+6pvBcx82\nI/5FdfrVn4sPwNpWhEsL4N3jamqHGJ3gAOkKdqWh2bQqFMqdJuwV52r8BETb\ncYCCPTjvplJPEO4hGP83Ngt//mSnKi4S8b0izzcUydw6hw7dvD9QofXC8Wkm\npDfHeNmQ7pnqlqpA9ojMsBKrAqq4FINiySb7pCokLRnVUIH6/gQ79SPHWYoA\nrWcCbNCCTWdS5jxPvuPedIlHUumXPhqOSaROmrsa4+RhQUO2IzgFoEaBETHM\n2rFeREILufJqnqK88KdQr/rLDMiMuKGbuXs9//4OrdCeMoVmUkKdB9bV+9nc\nVyP7va8Hl62ckbe1OCtSrEApADipg15mZPtoNlD2yUBIbfruDKbhzOVcKy60\nTQgjXb2zG1cR7cUVzkv4cX5HSzy4UQWU8r2WQNp/yhhiuPfSI74eTaeL+oRL\nMv33qFRqeh3TMAvsXQIvnToDL6DpTrYICdjnxUnS2L5UCWB5uNjYl9Pl9BjU\n3tBS\r\n=/Ef/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/component.cjs.js","unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"0733aff391038daa5b071d58801c1cc2c6b59e13","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"8.3.0","description":"Create components with Alpine JS and HTML","directories":{},"_nodeVersion":"17.1.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.12.22"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.1.0_1640891474076_0.617930047057732","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"alpinejs-component","version":"1.1.1","keywords":["Alpine","Alpine JS","Alpine JS Plugins","Alpine JS Components","Alpine JS Component","HTML Components"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.1.1","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"ed0e019c221111c3941ec92893ac16f6fcec98c0","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.1.1.tgz","fileCount":10,"integrity":"sha512-CovhtJ4TH8AyKzjm+PCa47UisCvbYuTBI0/b4jZT2j5p5ydC723wahx6wrZljLXd8xkTcVGAftzIwMQdlw9Hlg==","signatures":[{"sig":"MEQCIDToe9wcxY5Bxa4TMcgXyHAe5MEKMup0Az/xv//ySE9ZAiBOSwcRfXC9sToNdHS0Q8AihhT0is/BuE1NvGYCf+1BBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8733,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzgUTCRA9TVsSAnZWagAADfMP/2LI6p3o8WlninrfBAtB\nQ82A1d6pP7OYVmp7qf/tbaQokOK3TJoodkUwHsQf9Mbzmdbqw9bouQnDMprZ\nrWPZ0ckJRqbaoT5XClUa/vVQKdOvu6fYQCUe9Ynopd4qDIQIqsuKMqlzfaVA\nTuJjq5LhRBOJpx50hCupnKWzCvToeQgRMolPs4d6QAeAAXMbNA1m+7vAc378\nrIgca23y9Q8rfCGyNnVRdqTx6ilQykG4H4BLki/x6ybtUhsnRSalqdOrgBEZ\nlZwbS0iP3/gkj36mrEE1CvSGYtfTZIfcxY9qdUTmnG+B1LHZPCmGHjFqpipJ\nUVZsCF5fXiVLa051qzx7wuZ5j3cQfqJq6aTssoTNDyiGCon5BKolvZaa0JG+\nSS6kZNfw5/Zur8FAEsVZ/g9y8ytoM1IQc88uV9LS6g+rPkVG/8lC2sdxrjIY\nGoogvKMKK80ApQ0Ds8DdB4tYBzafomkf1i2RHShY+U8cD1D6eMBu9E3ELRwB\nyo3xCJ2gv/rsYrMw9PhVNkp4qAT/tYT9BCjFOUnTYa5iQFF8DcSDNS/9kv8m\n9MH+hJDxGAZJiK3XWoqSZQHzAICQzlE59iYeDwICf9CULQzXeGRpQe9JqVGT\nCx0UNxT4PH32t2QjFGfATWaZMpLjAic8jWxuGvjyLfxZlIYg6frz92pEdF5A\nkzCn\r\n=rclz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/component.cjs.js","unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"319ee8d38f8855ee8c48505a4ae571bc84f9941a","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"8.3.0","description":"Create components with Alpine JS and HTML","directories":{},"_nodeVersion":"17.1.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.12.22"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.1.1_1640891666885_0.7761082455812096","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"alpinejs-component","version":"1.1.2","keywords":["Alpine","Alpine JS","Alpine JS Plugins","Alpine JS Components","Alpine JS Component","HTML Components"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.1.2","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"31339edcd3eb3f9c9bb5cedb775cd33a141efaed","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.1.2.tgz","fileCount":10,"integrity":"sha512-kpk2RXzY97Dc3v9Jt754gg4oiEjs+E29EUwdaFvnU5zyGY1ZLhEeFkhvjCtuxdYp/gbDLP1TFxcaKpqMm2Dj4Q==","signatures":[{"sig":"MEUCIQCXOpnwxPtDUPHEuNh/8BptjTKBPd6KsE0PzKf5hvnLzwIgBSwGg2TRIsIk6JogoP6N2ANaW1egE0s2Ej4wMMZhqw8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiLLs5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq7sg//Y1GOO0h/vMSid9BN3+HaEDuX2Zgn0PuU7zo3n7lPfcpjlMi+\r\nVBLzZ9FD4ar4cTS+TtzxCwPgAcnt0KW0hy/8rBXzCAWvrTe3HcXHoqqvz0wk\r\nFVg9LkgWCDVV7cXiDtsQL5AHFYVVnIbd9RPw8w/7B5uJ1lWRgzJmi5tJ38HR\r\nU8iGs8n154w45rDMJ6KT3I3tNfhyEP4g0i0fjAGMmEwgC1HYNEjjk5JlmGG7\r\n1lfwso+QtCbRggU5xdPArQ5YPm36YQyk8YqJr5baBMqoQZCVPvAcdZ/XjbiU\r\nj/otNktJt/mqM3Ac8E8W/RfRLVhNkgN2PhZOHMqEOtVqKP1tpBWeM3KZJi7Q\r\ni3+/MTSeF0hpntEDbpC5jMmM2KrbhJXqo1Spm+JH8YhAs1X3e9BnJeVVlJAo\r\nqgiPJEBvfy53v8iFwAC90znoWFkJpLEF2gf49NUwM3DO9WKG+a8mi597hJpH\r\nmlujD0HWm3ziMUvAUA7w+ZHY1G8xeyGc8rtG5Y12OPGD/z6x0hcc36kWlWLq\r\nDVYMywnW4ApIaQfmBlqAuEjUcQ2yz+QESVuZaZmyg7P+2MX/VWtwl/e9ET7u\r\n1RAGFJzcX5626jym3+mb+BmX3nK8QRuSTeYtavRCWMbPcYe4v7mUZ46YIrub\r\nEaWeXkPUrz9cfZL7kdNoArhQLgQiOSARERY=\r\n=n5WK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/component.cjs.js","unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"86614f665bf55f9440ddd674c03f5cc04e527c2c","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"8.4.1","description":"Create components with Alpine JS and HTML","directories":{},"_nodeVersion":"17.1.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.12.22"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.1.2_1647098681118_0.7113769605714937","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"alpinejs-component","version":"1.1.3","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components","HTML React"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.1.3","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"b62be183a200c60504e393d289ccc95a605ca6f5","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.1.3.tgz","fileCount":9,"integrity":"sha512-BE4XYUlJqSrlGilWoUE5pLIutmt46rqs9+LhhOQrC2kLgQp/hcfJTS0wRik2Oc5QfApJW+jfRmZQiKzet7yiOQ==","signatures":[{"sig":"MEQCICXdIIC88QqX5Sf8YRtq51ndvGJcoj1yViqiiHqErIx1AiA/OrahtkuSnZ10It9BtMZysQC1FJHOlSYtUT9jq58KJA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6qDnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq4SA//SY955epahZP2Ps6NRuvHJ4n0rSz7x6lTBasx288ZDwaFMsBn\r\nFgCw+OYA6m4vskPtwQVddlcGjG88e6sL1n8993SNRTZuVbFW2dPmvZcQiYh1\r\napXtG41p/+TIJ32cApeGvYXJa9iIPfqnqkUFSfkflk0Xnzw3OKkySzKRTNuB\r\n6U0uePZED8MS8uqLL/+9GUkXwSTh0hU+RVau18+TmRUHP0VBj6dcDza+yaW4\r\nrQQ4c7bzXhv7pVjliBRP6fa4rB0f0UJXfVSq/euVrDRDsn5ggcFUowr/o6EZ\r\npwqIy6+bPqJ8lTq9uutaoEeTYpPU4eyq8JT9xlW85iP6MmCgP81VKRO4xbuw\r\ntvqNvhsEzK1kKYzZxOyk4av6uQ5th3iEfBnEAm935V59GNjfnhnUMfXm6wfN\r\nzcIPqBEmX+M7CXfFHgSrtuwCcfZcynqKfNqTaRkXLzBGkgZyShz4ToqaW0Hh\r\nEq0tcO8QRi3aoxBxYMNi9cLHVQg+b11Frq1+rsvgKB/3ogKtklw9AjTy4ukd\r\nUvnQZ8kKVU/pvWV9Op6W0Sj0IGib5gxF/fPFx2yGqKW2X2nEwlH/CgaehdGy\r\nvABGK/HPVaeKoOFWXzi2P1Fg5e2jOWdKu0GQ3q37r6yvProy/u56EVmRvcV8\r\nkENKibS12A6tntoAzV12VibcpiswaTIOBLs=\r\n=a9m/\r\n-----END PGP SIGNATURE-----\r\n"},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"6049c183985bba0861f0afabe876bb67d1856265","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"8.14.0","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"17.1.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.14.53"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.1.3_1659543783234_0.5076241309634033","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"alpinejs-component","version":"1.1.4","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components","HTML React"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.1.4","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"edfad9987ad6d057849a7ea9d68e6eb4608384a7","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.1.4.tgz","fileCount":9,"integrity":"sha512-VjCJaOUUG+xyAd+4RRtpQtJSAUHNFf/N6tV2YAbJjs22jLqdPOzV8vVMVXx9VieOtdR8diN/SrD8YXHwV0jjQw==","signatures":[{"sig":"MEQCIGILMB09Sb0HIEN5u3FOtICTFehIVOxqArDtFDEmf3lvAiBLaqPf850VxVIQykZ2FH8AhzvUiWgbuNrnO5MNo7HgHQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjky3sACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp2+xAAnWDIhBgccX3/1MNuxAPDJGUZseAxpg74NWr15Dmc1Mt+eWu/\r\n817h6CWoLcpTahkIPlgA+chBvoLbXRB+7OpJO5cliAr/wHPDF2vA3xWoZFgd\r\nxf4aBL+8TGEPQHMaG4OdTl/2u6mOgWtFzZo3KJxeKUaa4AR0TONTTfhPeKGC\r\nK9hOUWvQTWIOpR5rXjtCiFg/Eafz7746S+ZjKlVGA4MP1sWvD0baoibbPmjp\r\nyHW06n7y4ee0FGwdcZVgcIWPq8ESaXXzblGfhqsz8MOfdmj9mZFHzfj1t85y\r\nco6GORNf2D9YHLxQFLHCYBsZVSKSLFohKU1d36LGSJ5sGPniGkgQU5npDLz9\r\nlsc81Buh0kCmlcnlS4efS+xBfKmb2d9dUnpB0XwqKzn5oEdsqxGBKfGc7bPc\r\n8vWCNmLZGLUl7TIbic/gjCU6aOVi4+N2n45e0tOAXOZjz7pCmm9YGbxurtMY\r\n+IJOEn/2df3Prv+hoihZn2UDsR/etalVZZdbp61RRDlRBNVP7E1JWtmg/tAG\r\ngLWYs0WDYg7xAAZxdiAOsfq1S9U36THDmASd0GuWTSHiXCyKx7SJWXodsWum\r\nC1ugChrCNuBOHu80vjzlp/ic1HVI71j/wilANZhmkI1g16O6xqcJbvecrHU7\r\neSHddjqcBMMFWaZVxi83neQo3+hC+ry7q6w=\r\n=VZuw\r\n-----END PGP SIGNATURE-----\r\n"},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"2f1a8d34a45a969a47ee6953b48ae37595b81084","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"8.19.2","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"18.12.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.16.2"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.1.4_1670589932026_0.9776722371480802","host":"s3://npm-registry-packages"}},"1.1.5":{"name":"alpinejs-component","version":"1.1.5","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components","HTML React"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.1.5","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"4a6d5501945238f2c8af03919213b71359354d72","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.1.5.tgz","fileCount":9,"integrity":"sha512-sZUYXz7yeEywyCv5OuVfWxkMw1qctKUf3crVBL2ZYSumr/Kwhqp6RYBYuGFchBDBVn+aSmcuYuncLDqqpcQq8A==","signatures":[{"sig":"MEQCIBbBgoOVOdfAjWd/JqxQnjR/lu8Nfk/Iaegn9lvEakqOAiBXTL49hV7j15iMSCt9COL8UGeoBE+jPpwZMEFB9ZNghA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7949},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"e610e57c788d992b3fe945807f582abe6c3db0af","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"9.6.7","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"20.3.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.16.2"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.1.5_1690475327889_0.03450505848524865","host":"s3://npm-registry-packages"}},"1.1.6":{"name":"alpinejs-component","version":"1.1.6","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components","HTML React"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.1.6","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"9b141b6096cd94b22b65a68bf54aba6066e664e7","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.1.6.tgz","fileCount":9,"integrity":"sha512-EMvPkmQIGWRYtWCeRj8DDmcaPw3uOF4IxNpDL+JLPV2q/4j+WSqB2fu2JtzzWWDXXaJUIdUF1w4UqnToL9T2eg==","signatures":[{"sig":"MEUCIQCEmVMVmCgQwQri1j6P5i/IyP+BN2dRQm51rbgA4nibHgIgY7fzolwHbAzU/7Au+0i+iWvdotpOVzo64KPKMs40ER8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8874},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"8d727ad72affe51363a606663cc1e79d794390d3","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"9.6.7","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"20.3.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.18.17"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.1.6_1690654423407_0.10231570869069606","host":"s3://npm-registry-packages"}},"1.1.7":{"name":"alpinejs-component","version":"1.1.7","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components","HTML React"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.1.7","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"6b1e2237e6a387b9e4f955ef076f0be61a2954c7","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.1.7.tgz","fileCount":9,"integrity":"sha512-ojeaIoKbu5tSbX0zx5LjUBPJaN+3z4GdTft3d4qgTyvppH9Ij0quB90EhPC8amVTlacN5iA/xtXPWsWKAQbBwA==","signatures":[{"sig":"MEQCIFatG/kzhgWH6J10oXv2UWZ281AwY9Pd54GhXCplL6qhAiAl2Y6QCxTsgM/pTbV1YKYHMc16eVckHMbocv0ifd/TwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9118},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"b01a16aa6546e98997bbc70d816c12167fc431a4","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"9.8.1","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"20.3.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.18.17"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.1.7_1692788917362_0.47005583283987895","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"alpinejs-component","version":"1.2.0","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components","HTML React"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.2.0","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"1ea042438de81341e3cd49855e36255cadf0b34b","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.2.0.tgz","fileCount":9,"integrity":"sha512-Qf5qKWBciLl8WktEAMQAa7FWzBqhn0X3RPuqF4wWUj2tFGPg1q9P5OoRxgKt8doydCX+EBmDUn1pKIUOYCMd2g==","signatures":[{"sig":"MEUCIQC857E9vE6Sf/QZmrE0gHDbQ7ETrrfl/zrFnf8Enc9ruQIgZ9xPOhNy+Q9IRMUngLOkzeyFFKHoRe+FD6s4GbGju3U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9025},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"ef0f9aa55e4511d25288dce58bba4ae5dc2948da","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"9.8.1","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"20.3.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.18.17"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.2.0_1695142303629_0.3967628471886768","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"alpinejs-component","version":"1.2.1","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components","HTML React"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.2.1","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"d789f0cc588eca01319a2810c16b843a5e5d97aa","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.2.1.tgz","fileCount":9,"integrity":"sha512-rdUM/z8eurb+jNqdtFTU68yBYTbE5fQdszlNKe2ZGGQxGVcILj1WXHzuuARx5EFhn3C9HldiZu6FvmT003nEMg==","signatures":[{"sig":"MEYCIQChvyhcx4zchS4s18oKC9wJU3wicjQwXzv6iTyf7EJFRgIhAP+qMw0OSvRrDoy45eyo25lKAKmvJ5Wj7aDkOvyb6Kww","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8808},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"fd24cc0dedb720dcb740a9d8f2c83b419e9ad2fe","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"9.8.1","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"20.3.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.18.17"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.2.1_1695193685030_0.5554376967143875","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"alpinejs-component","version":"1.2.2","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.2.2","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"e7f0f77e33bf83516b825d9238615fcb7c462709","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.2.2.tgz","fileCount":11,"integrity":"sha512-c+PZx5YA52HUce7KIGk+Mch5D5grDcbMR5pJsjJDvEys2Asy32LuTuDNDnbOUueshuKrj44IBYRYFk39qoQvaA==","signatures":[{"sig":"MEQCIChmiFD1ZmFY5j7nW5JNojo+usnHaOwSB8Gb3GjvgUe1AiBQ+1a8TmXPONUr+R3QMmmB0w6gXp76yKHuoN14vVfUEA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10711},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"a80050f08eca6a0d18b0081e70d608946e91c826","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"9.8.1","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"20.3.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.18.17"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.2.2_1695828151973_0.8909905675297514","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"alpinejs-component","version":"1.2.3","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.2.3","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"31812c36d38d8256cbe6f0e0001ab338a4a44554","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.2.3.tgz","fileCount":11,"integrity":"sha512-rUqKyzBptAXp1cBdxbT3j08ZDz22MplIYC7EriIowAY8auyO598z3RaScz0SnoSnAdc5mqE71xx0BD3lay5+gQ==","signatures":[{"sig":"MEUCIQDS20hROd7uCEjiPkO7tXve0TGV2l6FPeDG4zia2bN/ggIgfLwvk6J7aHLd6M80bGt/M8ob5pZ8nVViIdZiAjg0frE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10687},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"79c5fcad51df6b7d593b8acbe4e71ff8a3d5de08","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"9.8.1","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"20.3.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.18.17"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.2.3_1695893155027_0.20930185048569405","host":"s3://npm-registry-packages"}},"1.2.4":{"name":"alpinejs-component","version":"1.2.4","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.2.4","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"f75f04defe47050f4e0928cceae3d21f62b7d66b","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.2.4.tgz","fileCount":11,"integrity":"sha512-2Gs9qpwAN19qUmY036Zm1VgOzH34TSZr2OrRqxeCwZi41IJATm0bxpHiCL7ekipRm8ZR62EOu94wBxWxZ2lmWA==","signatures":[{"sig":"MEYCIQDBMFAej+J/+90waHivQB+/fRC3udxRCeK3J3nXQ4POjAIhAJMZIqZf90g14ZdvHCt3kJOxGIwHRpvBw3m9CZgGhs2z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11479},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"77eea38f4ab4fa309d58750618d8bbd78099702f","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"9.8.1","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"20.3.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.18.17"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.2.4_1695913717776_0.35437769822217313","host":"s3://npm-registry-packages"}},"1.2.5":{"name":"alpinejs-component","version":"1.2.5","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.2.5","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"a60fa60c95e3816beffc4cbf82be6b07e0f3c5da","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.2.5.tgz","fileCount":11,"integrity":"sha512-Jo5LHA7mUaAoiESEoh0lZEdWh9lOio/82G0EfAoykXxjMCqjq0m2P46PxBoYEEq82u3GXd7iBriYisWInublqQ==","signatures":[{"sig":"MEUCIQDgJnfD2MbUgKhZXAoTSZfBgIH38LMKxT7vg8/ZE7367wIgNYLyihMlrjFzmMic83veZsjbJoSMqtsRyd3C0I01dS4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11665},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"7d5ba8b48a628dd172f057a7f71ffa680f18fe03","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"10.4.0","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"20.5.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.18.17"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.2.5_1709390157923_0.8505882158523108","host":"s3://npm-registry-packages"}},"1.2.6":{"name":"alpinejs-component","version":"1.2.6","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.2.6","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"f2125cb7b5b4bb2ae84f08bf8e898b0cbdd84b1e","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.2.6.tgz","fileCount":11,"integrity":"sha512-eFu0ME3gBjxuo/htwksGH3hapeCReZ/6XhKvIMPMGURZ1kJ78YZYmhOlHS+GjYZLFgQMpzo7/yJXQik8wT889g==","signatures":[{"sig":"MEQCIG4BF15hRERw4fnJMZ4D/VD0ybm+nuQTJrjNI0LBvOxBAiB5Usu8tWYIUgsydCl5AzCBRkTU5juE2PNHtsjKV4Xdlg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11664},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"972aa65427c44b48f22f543e2b299beb1529a0ea","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"10.4.0","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"20.5.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.20.2"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.2.6_1712226619864_0.9003286670150314","host":"s3://npm-registry-packages"}},"1.2.7":{"name":"alpinejs-component","version":"1.2.7","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.2.7","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"b67e57c48f5dcd0847d29b6e56067f0f87ea7b84","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.2.7.tgz","fileCount":11,"integrity":"sha512-xti3V1rAvn3MqBgztU6S5wf56k0DRr2qYO5/N1xm7Xg2CGmR0S96HeYLxGn3YmZvsI7RILMoYGyl68ls5DsXFA==","signatures":[{"sig":"MEQCIGXEb/0CEovkqtDFonZB7mxZxGCTcZm3mhqdWXx5PCDeAiAHCz4F0oJGaEI6heM++iBmRgCsQqkdNmkS0WvtgdJ93w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12501},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"be7c6b08ab96ff1b835ecf9b7df5eeb7eb766e28","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"10.5.2","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"20.5.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.20.2"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.2.7_1714312855995_0.3378483793463112","host":"s3://npm-registry-packages"}},"1.2.8":{"name":"alpinejs-component","version":"1.2.8","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.2.8","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"0f3eccd99a337d40619c0c1a3b518bd3084982f3","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.2.8.tgz","fileCount":11,"integrity":"sha512-wp/E7RyJgqDxWTrB5SxH3yYWQhWAAPI01pP8+ptZ/eeJg83g5WRNUIdfxvWvJToJSoJQfhincFNbKE7nWpurDw==","signatures":[{"sig":"MEQCIBa6xHmbyh743kY5HYaZPgZtgkTsc2l7eddL/hPdgG4gAiAxvkqFsQOAgqS/B0tpL2jHSCkWfq23ln2peh05kKtA0A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12501},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"9f3225797aa7d2be8a36f796cadcbc9a13f301cf","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"10.9.0","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"22.10.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.2.8_1733922616151_0.26981527848208686","host":"s3://npm-registry-packages-npm-production"}},"1.2.10":{"name":"alpinejs-component","version":"1.2.10","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.2.10","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"d7de4298e7cafb38f29d3fab43aab9fc63027c71","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.2.10.tgz","fileCount":11,"integrity":"sha512-dDB6Nzr1v655xOWXPHU0qtoNaracvKmSclnkdQYi2LzKBoqidwtFDw/Kv97SIOiCG3h1dCy+auWD4PwV8sqThQ==","signatures":[{"sig":"MEQCIC+W3qAU6RB1Dknof9wma8ONaKSq4g4jOotC019ygXwBAiB2Fw7VufSFl1mrLGZDbr6r7XgJrMQiNnfTUCgLmqISCg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12924},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"ce3cd608628cb4cc458b43083755491e9473c41c","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"11.0.0","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"22.10.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.2"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.2.10_1735295291418_0.3628256597549038","host":"s3://npm-registry-packages-npm-production"}},"1.2.11":{"name":"alpinejs-component","version":"1.2.11","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.2.11","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"f87bda6a51bb13e5c1dedd7c55a7d963bdb199a1","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.2.11.tgz","fileCount":11,"integrity":"sha512-Ay1jxwUhdBvoh2tBCBQYvduOFV77nzNiDhD01+GK70TAybNUTfQuAEq9y4WbkowSFFresURQjwamlys9OZ7L0g==","signatures":[{"sig":"MEQCIA/wbK3JK5fw/znYHGW5yC5wy0zoX+C8fwdQ6ZPvnli8AiBgIzzeSZA4Ps8+I1VQ9eimEmfpKiYAZX8gbxqJhwv3iA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12967},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"a028297e1ba31804f541d3ebff3a8e089c2e79b3","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"11.4.1","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"23.6.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.2.11_1752846870470_0.6972685762945687","host":"s3://npm-registry-packages-npm-production"}},"1.2.12":{"name":"alpinejs-component","version":"1.2.12","keywords":["Alpine","Alpine JS","Alpine JS Plugin","Alpine JS Plugins","Alpine JS Component","Alpine JS Components","HTML Components"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@1.2.12","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"dist":{"shasum":"2cc5e8b3882a4a43fff9bbe09ca2783bdc1762ba","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-1.2.12.tgz","fileCount":11,"integrity":"sha512-xt9rNEo+MsJUhi1bYXoaXreQy2ird+h+oxdVayN26+IDciAKqV9KWkWJ14+h+dKyixLfUgd/h0VJ0oWi1SnR0A==","signatures":[{"sig":"MEUCIQDjVd7DXBdf7fp5sUAFByypMmmpUQL9zXY/gvlm4wvYMQIgfbhQ7h2GLM9dCdcA1nMsfrYnkQsU7Vxqa4VDNrwciZk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12967},"unpkg":"dist/component.min.js","module":"dist/component.esm.js","gitHead":"232b712f700e5420a4b221f00e2cb0370b748e58","scripts":{"build":"node scripts/build.js"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"_npmVersion":"11.4.1","description":"Reusable HTML components powered by Alpine JS reactivity 🛸","directories":{},"_nodeVersion":"23.6.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_1.2.12_1752846915635_0.47536534857845636","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"alpinejs-component","version":"2.0.0","keywords":["alpinejs","alpinejs-component","shadow-dom","web-components","template-rendering","html-components","slots"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@2.0.0","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"homepage":"https://github.com/markmead/alpinejs-component#readme","bugs":{"url":"https://github.com/markmead/alpinejs-component/issues"},"dist":{"shasum":"0f2197b49c2918566c9391ce43c333bff70d96b6","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-2.0.0.tgz","fileCount":13,"integrity":"sha512-7M2OcxR8NTdA+mGaP80ElQkDTkZ0aaqugZPvl1mZWJCX8/W2i7DcFEv+tyvHczh21MGBzMucmmofRNqqkHgOjw==","signatures":[{"sig":"MEUCIQDtZIm9zCTwE5bcIoyE/6eliPIrUGqOyvf62tx/hT3d1AIgO1D1wtmzznsq0bKtk3RKvhUcEh5wKZKlivlPv4CBGW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32420},"main":"dist/component.esm.js","type":"module","unpkg":"dist/component.min.js","module":"dist/component.esm.js","exports":{".":{"import":"./dist/component.esm.js","default":"./dist/component.esm.js"}},"gitHead":"f225456fcf692e8c3f94ee6541fa866a02b9074d","scripts":{"lint":"eslint . --fix","build":"node scripts/build.js","prebuild":"npm run lint"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"repository":{"url":"git+https://github.com/markmead/alpinejs-component.git","type":"git"},"_npmVersion":"11.10.1","description":"Directive-based Alpine.js components with Shadow DOM encapsulation, slots, and cached template rendering","directories":{},"_nodeVersion":"25.7.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","esbuild":"^0.27.3","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_2.0.0_1773332965909_0.13665016380873363","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"alpinejs-component","version":"2.0.1","keywords":["alpinejs","alpinejs-component","shadow-dom","web-components","template-rendering","html-components","slots"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@2.0.1","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"homepage":"https://github.com/markmead/alpinejs-component#readme","bugs":{"url":"https://github.com/markmead/alpinejs-component/issues"},"dist":{"shasum":"283d4e6274743df573bedd31e42c723ce36105f6","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-2.0.1.tgz","fileCount":13,"integrity":"sha512-/23jgjJ30Cp/N+9m6ASfHahECG1UUXIaWcDythwGiA+2a9WxWEUF1xq65Yct/L8FTQbT/Cj6wRAjC0wGRGdEqA==","signatures":[{"sig":"MEUCIQCZyuGcAGgbI6zxjhhq/WF4Al+b+8SmsnqdldSyiHQYXwIgarMzctIOZj1G3CN85J7xMqwvyGJSi17obKfLHXx0/x4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32393},"main":"dist/component.esm.js","type":"module","unpkg":"dist/component.min.js","module":"dist/component.esm.js","exports":{".":{"import":"./dist/component.esm.js","default":"./dist/component.esm.js"}},"gitHead":"40f47674dbfa1e34c644e4520b712a420d1547b4","scripts":{"lint":"eslint . --fix","build":"node scripts/build.js","prebuild":"npm run lint"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"repository":{"url":"git+https://github.com/markmead/alpinejs-component.git","type":"git"},"_npmVersion":"11.12.1","description":"Directive-based Alpine.js components with Shadow DOM encapsulation, slots, and cached template rendering","directories":{},"_nodeVersion":"25.7.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","esbuild":"^0.27.4","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_2.0.1_1774794920387_0.5800555365841737","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"alpinejs-component","version":"2.0.2","keywords":["alpinejs","alpinejs-component","shadow-dom","web-components","template-rendering","html-components","slots"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@2.0.2","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"homepage":"https://github.com/markmead/alpinejs-component#readme","bugs":{"url":"https://github.com/markmead/alpinejs-component/issues"},"dist":{"shasum":"d032839ef115f273c2d8d8ec44215afca8cfc774","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-2.0.2.tgz","fileCount":13,"integrity":"sha512-Z4yt2244Pq9y1Ol4BZYn2XLMuhPLZ5XyJR7eqx5yFtw6NboQRO7bryq8z8xADMcGNY12ZWCikxDaw0j35W/pwg==","signatures":[{"sig":"MEUCIHpwgJSHHPrW/ROWpjY+aNKiwu4Q2Zti5CCuS9vtiiDgAiEAoM83V61Orrb7y+dP6ntesdMmbf2n3HzbGNZvW8FgMlY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32497},"main":"dist/component.esm.js","type":"module","unpkg":"dist/component.min.js","module":"dist/component.esm.js","exports":{".":{"import":"./dist/component.esm.js","default":"./dist/component.esm.js"}},"gitHead":"9027d991786819f27308e29d7405ae3e644dce98","scripts":{"lint":"eslint . --fix","build":"node scripts/build.js","prebuild":"npm run lint"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"repository":{"url":"git+https://github.com/markmead/alpinejs-component.git","type":"git"},"_npmVersion":"11.12.1","description":"Directive-based Alpine.js components with Shadow DOM encapsulation, slots, and cached template rendering","directories":{},"_nodeVersion":"25.7.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","esbuild":"^0.27.4","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_2.0.2_1776086698447_0.17064679030957808","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"alpinejs-component","version":"2.0.3","keywords":["alpinejs","alpinejs-component","shadow-dom","web-components","template-rendering","html-components","slots"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@2.0.3","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"homepage":"https://github.com/markmead/alpinejs-component#readme","bugs":{"url":"https://github.com/markmead/alpinejs-component/issues"},"dist":{"shasum":"52ffdb7494760c1f705e8404d98a2ca45a482fb2","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-2.0.3.tgz","fileCount":11,"integrity":"sha512-3RVzQQQazQxsq6Yt8C6JinlBPWNIxNhrUiNQxuwrCEqV9XvppzciVHcU+mUfX1lWHn5Vxr2S3Rfv0Ov5+oiFSQ==","signatures":[{"sig":"MEUCIQD+xXFMWCVTkeNh8VYr3Nk22n1urnRzYbIhkGGDKIcndAIgGWah/mIVcI3pnOCzPd6zrIjy0xq9p6UCJ/4wVb+hrjI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31346},"main":"dist/component.esm.js","type":"module","unpkg":"dist/component.min.js","module":"dist/component.esm.js","exports":{".":{"import":"./dist/component.esm.js","default":"./dist/component.esm.js"}},"gitHead":"d1963d5129707c9272654db76ed07a3797a704ae","scripts":{"lint":"eslint . --fix","build":"node scripts/build.js","format":"prettier --write .","prebuild":"pnpm run lint"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"repository":{"url":"git+https://github.com/markmead/alpinejs-component.git","type":"git"},"_npmVersion":"11.14.1","description":"Directive-based Alpine.js components with Shadow DOM encapsulation, slots, and cached template rendering","directories":{},"_nodeVersion":"25.7.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","esbuild":"^0.27.7","prettier":"^3.9.6","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_2.0.3_1785053817405_0.410397102005587","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"alpinejs-component","version":"3.0.0","keywords":["alpinejs","alpinejs-component","template-rendering","html-components","slots"],"author":{"name":"Mark Mead"},"license":"MIT","_id":"alpinejs-component@3.0.0","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"homepage":"https://github.com/markmead/alpinejs-component#readme","bugs":{"url":"https://github.com/markmead/alpinejs-component/issues"},"dist":{"shasum":"333c2fa9fbbffc44f41463cf13da8954fba563be","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-3.0.0.tgz","fileCount":14,"integrity":"sha512-j6iPdezoijcB0lvEbr3TnzEWw2SXbvkEsuOwZkSvx5C2UcPoPMX3uu+vqbkyG5xmcSvs75s4dHKHnathflIfDQ==","signatures":[{"sig":"MEUCIQCEhMAWC0SddVdrY0MS8m+q8NiIhMzsC2Zo22w7N+PGfAIgf8QLzHXaZVdQJLuQC28LGBLG3c//nMyQId5C4KkubnQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38450},"main":"dist/component.esm.js","type":"module","unpkg":"dist/component.min.js","module":"dist/component.esm.js","exports":{".":{"import":"./dist/component.esm.js","default":"./dist/component.esm.js"}},"gitHead":"bd673715f148da137ecd4f7390f52e49bc4b15c6","scripts":{"lint":"eslint . --fix","test":"pnpm run build && playwright test","build":"node scripts/build.js","format":"prettier --write .","test:ui":"pnpm run build && playwright test --ui","prebuild":"pnpm run lint","build:css":"tailwindcss --input tests/fixtures/app.css --output tests/fixtures/tailwind.css","lint:check":"eslint .","test:serve":"pnpm run build:css && serve . --config tests/serve.json --listen 3210 --listen 3211 --cors --no-clipboard --no-request-logging","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"repository":{"url":"git+https://github.com/markmead/alpinejs-component.git","type":"git"},"_npmVersion":"11.14.1","description":"Directive-based Alpine.js components with slots and cached template rendering","directories":{},"_nodeVersion":"25.7.0","_hasShrinkwrap":false,"packageManager":"pnpm@11.1.3","devDependencies":{"serve":"^14.2.6","eslint":"^10.8.0","esbuild":"^0.28.1","alpinejs":"^3.15.12","prettier":"^3.9.6","@eslint/js":"^10.0.1","tailwindcss":"^4.3.3","@alpinejs/csp":"^3.15.12","@playwright/test":"^1.62.1","@tailwindcss/cli":"^4.3.3"},"_npmOperationalInternal":{"tmp":"tmp/alpinejs-component_3.0.0_1785656763541_0.02953214832044515","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"alpinejs-component","version":"3.0.1","description":"Directive-based Alpine.js components with slots and cached template rendering","keywords":["alpinejs","alpinejs-component","template-rendering","html-components","slots"],"author":{"name":"Mark Mead"},"license":"MIT","homepage":"https://github.com/markmead/alpinejs-component#readme","repository":{"type":"git","url":"git+https://github.com/markmead/alpinejs-component.git"},"bugs":{"url":"https://github.com/markmead/alpinejs-component/issues"},"type":"module","packageManager":"pnpm@11.1.3","main":"dist/component.esm.js","module":"dist/component.esm.js","unpkg":"dist/component.min.js","exports":{".":{"import":"./dist/component.esm.js","default":"./dist/component.esm.js"}},"scripts":{"build":"node scripts/build.js","build:css":"tailwindcss --input tests/fixtures/app.css --output tests/fixtures/tailwind.css","format":"prettier --write .","lint":"eslint . --fix","lint:check":"eslint .","prebuild":"pnpm run lint","prepublishOnly":"pnpm run build","test":"pnpm run build && playwright test","test:serve":"pnpm run build:css && serve . --config tests/serve.json --listen 3210 --listen 3211 --cors --no-clipboard --no-request-logging","test:ui":"pnpm run build && playwright test --ui"},"devDependencies":{"@alpinejs/csp":"^3.15.12","@eslint/js":"^10.0.1","@playwright/test":"^1.62.1","@tailwindcss/cli":"^4.3.3","alpinejs":"^3.15.12","esbuild":"^0.28.1","eslint":"^10.8.0","prettier":"^3.9.6","serve":"^14.2.6","tailwindcss":"^4.3.3"},"gitHead":"b4d5abace1fa8a1549045e9af8f750777cad6b31","_id":"alpinejs-component@3.0.1","_nodeVersion":"25.7.0","_npmVersion":"11.14.1","dist":{"integrity":"sha512-QnJzw0/HcE4bL1jrnSaYY7Yhbloe/r6lnaHb1Ltt+8aoV6f3HGYtHyRyCzVE9LK4KbN7KLkmI+Ku+lBhxdTaAQ==","shasum":"a52fe5ac665918558bbaf3ff1886e493f6d3cc56","tarball":"https://registry.npmjs.org/alpinejs-component/-/alpinejs-component-3.0.1.tgz","fileCount":14,"unpackedSize":38532,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDpfiDutqf4KtB4fmVkMKQoCzYX1g4WW/k0y05RJfyWUAIgEUWft6RnJwJ+qXo+XAwJQWZFzdycA37cRncSMrvseqY="}]},"_npmUser":{"name":"markmead","email":"itsmarkmead@gmail.com"},"directories":{},"maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/alpinejs-component_3.0.1_1786263558348_0.6477422133318773"},"_hasShrinkwrap":false}},"time":{"created":"2021-12-28T10:57:10.123Z","modified":"2026-08-09T08:19:18.624Z","1.0.0":"2021-12-28T10:57:10.300Z","1.1.0":"2021-12-30T19:11:14.246Z","1.1.1":"2021-12-30T19:14:27.023Z","1.1.2":"2022-03-12T15:24:41.260Z","1.1.3":"2022-08-03T16:23:03.381Z","1.1.4":"2022-12-09T12:45:32.170Z","1.1.5":"2023-07-27T16:28:48.056Z","1.1.6":"2023-07-29T18:13:43.549Z","1.1.7":"2023-08-23T11:08:37.537Z","1.2.0":"2023-09-19T16:51:43.864Z","1.2.1":"2023-09-20T07:08:05.210Z","1.2.2":"2023-09-27T15:22:32.315Z","1.2.3":"2023-09-28T09:25:55.210Z","1.2.4":"2023-09-28T15:08:37.996Z","1.2.5":"2024-03-02T14:35:58.065Z","1.2.6":"2024-04-04T10:30:20.047Z","1.2.7":"2024-04-28T14:00:56.141Z","1.2.8":"2024-12-11T13:10:16.332Z","1.2.10":"2024-12-27T10:28:11.594Z","1.2.11":"2025-07-18T13:54:30.666Z","1.2.12":"2025-07-18T13:55:15.812Z","2.0.0":"2026-03-12T16:29:26.053Z","2.0.1":"2026-03-29T14:35:20.543Z","2.0.2":"2026-04-13T13:24:58.597Z","2.0.3":"2026-07-26T08:16:57.543Z","3.0.0":"2026-08-02T07:46:03.666Z","3.0.1":"2026-08-09T08:19:18.481Z"},"bugs":{"url":"https://github.com/markmead/alpinejs-component/issues"},"author":{"name":"Mark Mead"},"license":"MIT","homepage":"https://github.com/markmead/alpinejs-component#readme","keywords":["alpinejs","alpinejs-component","template-rendering","html-components","slots"],"repository":{"type":"git","url":"git+https://github.com/markmead/alpinejs-component.git"},"description":"Directive-based Alpine.js components with slots and cached template rendering","maintainers":[{"name":"markmead","email":"itsmarkmead@gmail.com"}],"readme":"# Alpine JS Component\n\n![](https://img.shields.io/npm/v/alpinejs-component)\n![](https://img.shields.io/npm/dt/alpinejs-component)\n![](https://img.shields.io/github/license/markmead/alpinejs-component)\n\nDirective-based Alpine.js components with slots and cached template rendering.\n\n**[Demo: v3](https://codepen.io/editor/markmead/pen/019fc173-5225-776f-88d3-cf12cea8ce23?orientation=left&show=preview)**\n**[Demo: v2](https://codepen.io/editor/markmead/pen/019d86f8-ed3f-7342-b0c1-b890dec04c9c?orientation=left&show=preview)**\n\n## V3 Overview\n\nv3 is directive-based and built around `x-component`.\n\n- No custom element registration required\n- Supports on-page templates and remote templates\n- Renders into the light DOM, so your page's CSS applies as-is\n- Supports default and named slots from host templates\n- Emits lifecycle events for loading, loaded, and error states\n- Uses bounded caches for on-page and remote templates\n\n## Install\n\n### With a CDN\n\n```html\n<script\n  defer\n  src=\"https://unpkg.com/alpinejs-component@3.0.0/dist/component.min.js\"\n></script>\n\n<script defer src=\"https://unpkg.com/alpinejs@3.15.12/dist/cdn.min.js\"></script>\n```\n\nPin an exact version rather than using `@latest`. A pinned URL is immutable, so you\ncan add Subresource Integrity and know the file can't change under you:\n\n```html\n<script\n  defer\n  src=\"https://unpkg.com/alpinejs-component@3.0.0/dist/component.min.js\"\n  integrity=\"sha384-...\"\n  crossorigin=\"anonymous\"\n></script>\n```\n\nDon't use `integrity` with a floating tag like `@latest` or `@3` — the file changes\nand the hash stops matching, which blocks the script entirely.\n\n### With a Package Manager\n\n```shell\nnpm install alpinejs-component\nyarn add alpinejs-component\npnpm add alpinejs-component\n```\n\n```js\nimport Alpine from 'alpinejs'\nimport component from 'alpinejs-component'\n\nAlpine.plugin(component)\nAlpine.start()\n```\n\n## Usage\n\nv3 uses an Alpine directive: `x-component`.\n\n## Directive Reference\n\n- `x-component=\"expression\"`: render from an on-page `<template id=\"...\">`\n- `x-component.url=\"expression\"`: render from a URL\n- `x-component.url.external=\"expression\"`: allow cross-origin `http(s)` URLs\n\nThe directive expression can be static or dynamic. Values are normalized as:\n\n- `string`: trimmed and used directly\n- `number` / `boolean` / any other value: converted with `String(...)`, then trimmed\n- `null` / `undefined` / empty string: treated as empty source\n\nWhen the resolved source is empty, the mounted component is unmounted/cleared.\n\n### Render From an On-Page Template\n\n```html\n<div\n  x-data=\"{\n    people: [\n      { name: 'John', age: '25', skills: ['JavaScript', 'CSS'] },\n      { name: 'Jane', age: '30', skills: ['Laravel', 'MySQL', 'jQuery'] }\n    ]\n  }\"\n>\n  <ul>\n    <template x-for=\"person in people\" :key=\"person.name\">\n      <li>\n        <div x-data=\"{ item: person }\" x-component=\"'person-card'\"></div>\n      </li>\n    </template>\n  </ul>\n</div>\n\n<template id=\"person-card\">\n  <article>\n    <h2 x-text=\"item.name\"></h2>\n    <p x-text=\"item.age\"></p>\n\n    <ul>\n      <template x-for=\"skill in item.skills\" :key=\"skill\">\n        <li x-text=\"skill\"></li>\n      </template>\n    </ul>\n  </article>\n</template>\n```\n\n### Render From a URL\n\nUse the `.url` modifier when the expression resolves to a URL.\n\nBy default, `.url` only allows `http(s)` URLs on the current origin. Add the\n`.external` modifier to allow cross-origin `http(s)` URLs.\n\n```html\n<div\n  x-data=\"{\n    people: [\n      { name: 'John', age: '25', skills: ['JavaScript', 'CSS'] },\n      { name: 'Jane', age: '30', skills: ['Laravel', 'MySQL', 'jQuery'] }\n    ]\n  }\"\n>\n  <ul>\n    <template x-for=\"person in people\" :key=\"person.name\">\n      <li>\n        <div\n          x-data=\"{ item: person }\"\n          x-component.url=\"'/public/person-card.html'\"\n        ></div>\n      </li>\n    </template>\n  </ul>\n</div>\n```\n\n### Dynamic Template Values\n\n`x-component` and `x-component.url` support dynamic expressions.\n\n```html\n<div\n  x-data=\"{\n    view: 'person-card',\n    remoteView: '/public/person-card.html'\n  }\"\n>\n  <section x-component=\"view\"></section>\n  <section x-component.url=\"remoteView\"></section>\n</div>\n```\n\n## Styles\n\nRendered content is mounted in the light DOM, so your stylesheets apply to it\nwith no extra setup. Style components the same way you style the rest of the\npage.\n\n```html\n<style>\n  .person-card {\n    border: 1px solid #ddd;\n  }\n</style>\n\n<div x-component=\"'person-card'\"></div>\n```\n\nIf you want styles scoped to one component, reach for `@scope` or a class\nconvention rather than the plugin:\n\n```html\n<style>\n  @scope (.person-card) {\n    h2 {\n      font-size: 1.25rem;\n    }\n  }\n</style>\n```\n\n## Slots\n\nSlot templates can be declared on the host element with `x-slot`.\n\nEach `<slot>` in the component is replaced with the matching `x-slot` content.\nA `<slot>` with no matching content keeps its own children as fallback.\n\nSlot content is authored on the host, so it evaluates against the host's Alpine\nscope, not the scope of the component it is rendered into.\n\n```html\n<div x-component=\"'card-with-slot'\">\n  <template x-slot>\n    <p>Default slot content</p>\n  </template>\n\n  <template x-slot=\"actions\">\n    <button>Save</button>\n  </template>\n</div>\n\n<template id=\"card-with-slot\">\n  <article>\n    <slot></slot>\n    <footer>\n      <slot name=\"actions\"></slot>\n    </footer>\n  </article>\n</template>\n```\n\n### Slots inside `x-for` and `x-if`\n\nA `<slot>` nested in an `x-for` or `x-if` template is filled, and its content is\nrepeated for every iteration.\n\nIt is the one place where slot content does **not** evaluate against the host's\nscope. Alpine clones those templates at render time, and the marker that binds\nprojected content to the host does not survive the clone, so the content sees the\nsurrounding component scope instead:\n\n```html\n<div x-data=\"{ label: 'host' }\">\n  <div x-component=\"'row-list'\">\n    <template x-slot=\"cell\">\n      <!-- Renders \"component\", not \"host\". -->\n      <span x-text=\"label\"></span>\n    </template>\n  </div>\n</div>\n\n<template id=\"row-list\">\n  <ul x-data=\"{ label: 'component', rows: [1, 2] }\">\n    <template x-for=\"row in rows\">\n      <li><slot name=\"cell\"></slot></li>\n    </template>\n  </ul>\n</template>\n```\n\nKeep slots out of `x-for` and `x-if` if you need host scope inside them.\n\n## Lifecycle Events\n\nThe host element emits lifecycle events:\n\n- `x-component:loading` when URL loading starts\n- `x-component:loaded` when render completes\n- `x-component:error` when loading or rendering fails\n\nEvent detail payloads:\n\n- `x-component:loading`: `{ source }`\n- `x-component:loaded`: `{ source }`\n- `x-component:error`: `{ source, error }`\n\n`source` is the resolved template id/URL.\n\nAttach listeners to an ancestor rather than the host element itself.\n`x-component:loading` is dispatched while the host's own directives are still\nbeing processed, so an `x-on` binding on the host can miss it. The events\nbubble, so an ancestor always sees them.\n\nIf the directive expression itself throws, Alpine reports the error through its\nown handler and the component source is treated as empty, so any mounted\ncontent is cleared. No `x-component:error` is emitted in that case.\n\n```html\n<div\n  x-component.url=\"'/public/person-card.html'\"\n  x-on:x-component:loaded=\"console.log('component ready', $event.detail)\"\n  x-on:x-component:error=\"console.error('component failed', $event.detail)\"\n></div>\n```\n\n## Security\n\n**Important:** Only load templates from trusted sources. This plugin:\n\n- Renders HTML content directly (no sanitization)\n- Performs minimal URL validation (only `http(s)` and same-origin by default)\n- Is designed for developer-controlled content\n\n**Your responsibility:**\n\n- Don't use user input directly in `x-component` or `x-component.url`\n- Only load templates from your own trusted servers\n- Validate/sanitize any dynamic template selection\n- Use CSP headers for additional protection\n- `x-component.url` accepts only `http(s)` URLs\n- `x-component.url` blocks cross-origin requests by default\n- Use `x-component.url.external` to opt into cross-origin `http(s)` requests\n\n### Content Security Policy\n\n**Alpine's default build needs `'unsafe-eval'`.** It compiles every directive\nexpression with `new Function`, so this is about Alpine itself, not just this plugin.\nIf your CSP can't allow `'unsafe-eval'`, use Alpine's\n[CSP build](https://alpinejs.dev/advanced/csp) (`@alpinejs/csp`). This plugin works\nwith it — `x-component`, `.url`, slots, and dynamic expressions all behave the same.\n\n**Trusted Types needs both pieces.** Templates are parsed by assigning to\n`innerHTML`, which is a Trusted Types sink, so under\n`require-trusted-types-for 'script'` the plugin registers a pass-through policy named\n`alpinejs-component`. Allow that name:\n\n```http\nContent-Security-Policy: trusted-types alpinejs-component; require-trusted-types-for 'script'\n```\n\nIf the name isn't allowed, the plugin logs a warning and rendering fails on that page.\n\nThat header alone is not enough, though. `require-trusted-types-for 'script'` also\nblocks `new Function`, so Alpine's default build can't evaluate any expression and\nnothing renders at all. Trusted Types therefore requires the CSP build **and** the\npolicy name above. That combination is what's verified to work.\n\nThe policy does **not** sanitize; it exists so the plugin works under enforcement,\nnot to make untrusted templates safe — the trust model above still applies.\nSanitizing here isn't an option: `setHTML()` and the Sanitizer API strip unknown\nattributes, which removes `x-text`, `x-for`, `@click`, and every other Alpine\ndirective, leaving inert markup.\n\n## Browser Support\n\nThis plugin targets modern browsers with support for:\n\n- `template.content`\n- `Element.replaceChildren`\n\nThe suite runs against Chromium, Firefox and WebKit on every change, so that\nsupport is tested rather than assumed.\n\n## Caching\n\nThe plugin maintains bounded in-memory caches:\n\n- Template fragments by template id (limit: 200)\n- Remote template fetch promises by normalized URL (limit: 200)\n\nEach cache has its own limit, both 200 today, and when one fills the least recently\nread entry is evicted.\n\nThe on-page cache holds parsed fragments and the remote cache holds promises that\nresolve to them, so a template is parsed once however many times it renders, and\noverlapping renders of the same URL share one request. That trades memory for the\nparse: a page cycling through many large remote templates keeps up to 200 parsed\ntrees for the document's lifetime.\n\nFor URL mode, failed fetches are removed from cache so retries can succeed.\n\n## Development\n\nWorking on the plugin needs pnpm. The published package installs fine with npm\nor yarn, but this repo has no npm lockfile, and `npm install` would add one that\ndrifts from `pnpm-lock.yaml`.\n\n```shell\npnpm install\npnpm build\n```\n\nAvailable scripts:\n\n- `pnpm build`: lint then build minified CDN + ESM outputs in `dist/`\n- `pnpm lint`: run ESLint with `--fix`\n- `pnpm lint:check`: run ESLint without fixing, which is what CI runs\n- `pnpm format`: run Prettier over the repo\n- `pnpm test`: run the Playwright suite against `dist/`\n- `pnpm test:ui`: run the suite in Playwright's UI mode\n- `pnpm test:serve`: serve the repo so you can open the fixture by hand\n\n`dist/` is committed, so rebuild with `pnpm build` and include the result in the\nsame commit whenever `src/` or `builds/` changes. CI rebuilds and fails if the\ncommitted output differs from what the source produces.\n\n## Testing\n\nTests run in real browsers with Playwright, against the built `dist/` output\nrather than `src/`, so they cover what consumers actually install. The suite runs\non Chromium, Firefox and WebKit, and CI runs all three.\n\n```shell\npnpm exec playwright install chromium firefox webkit\npnpm test\n```\n\n`tests/fixtures/index.html` is a single page exercising every feature, wired up\nwith `data-testid` hooks and buttons. The specs drive it, and you can open it\nyourself:\n\n```shell\npnpm test:serve\n# then visit http://localhost:3210/tests/fixtures/index.html\n```\n\nThe page is served on ports 3210 and 3211 so the cross-origin `.url` behaviour\nis testable against a real second origin.\n\nTwo scenarios cannot share that page, because they need a different Alpine build\nand a policy the page itself cannot carry: `csp.html` covers the `@alpinejs/csp`\nbuild under an enforced `script-src 'self'`, and `trusted-types.html` covers\n`require-trusted-types-for 'script'`.\n\n## Notes\n\n- Missing templates and failed URL requests are handled with console\n  warnings/errors and lifecycle error events.\n- A throwing directive expression is reported by Alpine's own error handler, not\n  as `x-component:error`. The host's mounted content is cleared.\n- Fetched templates are cached as parsed fragments, keyed by URL.\n- Template fragments are cached by template id.\n\n## Migration From v2\n\nv3 renders into the light DOM instead of a Shadow DOM root.\n\nRemove `x-component-styles` and `styles`. They no longer exist, because document\nstyles now reach component content on their own.\n\n```html\n<!-- v2 -->\n<div x-component=\"'person-card'\" x-component-styles=\"person-card\"></div>\n\n<!-- v3 -->\n<div x-component=\"'person-card'\"></div>\n```\n\nIf you relied on Shadow DOM to keep page styles _out_ of a component, scope your\nCSS with `@scope` or a class convention instead.\n\nEverything else carries over. Templates, `.url`, `.external`, `x-slot`, and the\nlifecycle events are unchanged.\n\nWhat you gain by dropping the shadow boundary:\n\n- Page styles apply to component content with no configuration\n- `$refs` and `$root` resolve across the host boundary\n- `label[for]`, `aria-describedby`, and friends can reference component content\n- Form controls inside a component submit with an ancestor `<form>`\n- `document.querySelector` finds component content\n\n## Migration From v1\n\nv1:\n\n```html\n<x-component template=\"person\"></x-component>\n<x-component url=\"/public/person.html\"></x-component>\n```\n\nv2 and v3:\n\n```html\n<div x-component=\"'person'\"></div>\n<div x-component.url=\"'/public/person.html'\"></div>\n```\n\n`window.xComponent.name` custom-element renaming is no longer used because v2\nand v3 are directive-based.\n","readmeFilename":"README.md"}