{"_id":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin","_rev":"8-13d77876596e2fdf7b930198fccb902c","name":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.1":{"name":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin","version":"0.0.1","license":"MIT","_id":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin@0.0.1","maintainers":[{"name":"raldea","email":"ricky@abovethefray.io"}],"homepage":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin#readme","bugs":{"url":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/issues"},"dist":{"shasum":"2b49ab478da370d3cf1642fed556d8e6c6e33296","tarball":"https://registry.npmjs.org/@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/-/klaviyo-adobe-commerce-app-checkout-consent-dropin-0.0.1.tgz","fileCount":214,"integrity":"sha512-nGOn5sf44b1Kn1l1UuEg65UItNg89ThLtMXcziAmYqbZ02r7k/P2HheDiZYdDNRO8YIUeOe1L36wdo7JCILfBw==","signatures":[{"sig":"MEQCICcurnGbCRXOG0MsZL6tE++042ngYSgnVnSRspnk7RbQAiAJ9NNiyD5QitupWCcpcTJoBKV5PAqNc4O5srSnGeWfsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":518608},"engines":{"node":"^20.0.0 || ^22.0.0"},"gitHead":"94d304e1d4839ce9d15e7012e4e9eb2698c4993c","scripts":{"dev":"concurrently 'npm run storybook' 'npm run serve'","lint":"elsie lint --max-warnings=0","test":"elsie test","build":"elsie build","serve":"concurrently 'elsie serve' 'wait-on tcp:${PORT:=3002} && alive-server ./examples/html-host --port=3000 --watch=../../dist/reload'","analyze":"ANALYZE=true elsie build","storybook":"elsie storybook"},"_npmUser":{"name":"raldea","email":"ricky@abovethefray.io"},"repository":{"url":"git+https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin.git","type":"git"},"_npmVersion":"11.1.0","description":"Klaviyo Checkout Consent drop-in is an extension drop-in of Klaviyo Adobe Commerce app builder app.","directories":{},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"preact":"~10.22.1","@dropins/build-tools":"~1.0.1","@adobe-commerce/elsie":"^1.4.1","jest-environment-jsdom":"^30.1.1","@adobe-commerce/event-bus":"~1.0.0","@adobe-commerce/fetch-graphql":"~1.0.1","@adobe-commerce/storefront-design":"~1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.3","wait-on":"^8.0.3","alive-server":"^1.3.0","concurrently":"^9.2.0"},"_npmOperationalInternal":{"tmp":"tmp/klaviyo-adobe-commerce-app-checkout-consent-dropin_0.0.1_1756714180011_0.6247765262307101","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin","version":"0.0.2","license":"MIT","_id":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin@0.0.2","maintainers":[{"name":"raldea","email":"ricky@abovethefray.io"}],"homepage":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin#readme","bugs":{"url":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/issues"},"dist":{"shasum":"8736d946dca24e5f74f50c1ab5c044304e5235c3","tarball":"https://registry.npmjs.org/@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/-/klaviyo-adobe-commerce-app-checkout-consent-dropin-0.0.2.tgz","fileCount":214,"integrity":"sha512-/zbPDP6TimZps71mICA4s8D6EuNziLjecO9GgKndeKZuyjdODYQ3eMbbkVRDIhJIS4wjGvpMep5N2eyy+94YQw==","signatures":[{"sig":"MEQCICQEkZoOKdbdlkv+p8THNudDdzfVkPgILAh+DjN2X2IEAiBNch0uyfzc2IG7g5KKmYsB+JiFfI1l8TP3oVjK0hKfDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":517998},"engines":{"node":"^20.0.0 || ^22.0.0"},"gitHead":"d876121c41caebf78cbecadd35d46c3e8386cd13","scripts":{"dev":"concurrently 'npm run storybook' 'npm run serve'","lint":"elsie lint --max-warnings=0","test":"elsie test","build":"elsie build","serve":"concurrently 'elsie serve' 'wait-on tcp:${PORT:=3002} && alive-server ./examples/html-host --port=3000 --watch=../../dist/reload'","analyze":"ANALYZE=true elsie build","storybook":"elsie storybook"},"_npmUser":{"name":"raldea","email":"ricky@abovethefray.io"},"repository":{"url":"git+https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin.git","type":"git"},"_npmVersion":"11.1.0","description":"Klaviyo Checkout Consent drop-in is an extension drop-in of Klaviyo Adobe Commerce app builder app.","directories":{},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"preact":"~10.22.1","@dropins/build-tools":"~1.0.1","@adobe-commerce/elsie":"^1.4.1","jest-environment-jsdom":"^30.1.1","@adobe-commerce/event-bus":"~1.0.0","@adobe-commerce/fetch-graphql":"~1.0.1","@adobe-commerce/storefront-design":"~1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.3","wait-on":"^8.0.3","alive-server":"^1.3.0","concurrently":"^9.2.0"},"_npmOperationalInternal":{"tmp":"tmp/klaviyo-adobe-commerce-app-checkout-consent-dropin_0.0.2_1756715635607_0.5622390132057451","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin","version":"0.0.3","license":"MIT","_id":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin@0.0.3","maintainers":[{"name":"raldea","email":"ricky@abovethefray.io"}],"homepage":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin#readme","bugs":{"url":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/issues"},"dist":{"shasum":"41fda294ab2e878eaa778558e10fb9c42264db0d","tarball":"https://registry.npmjs.org/@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/-/klaviyo-adobe-commerce-app-checkout-consent-dropin-0.0.3.tgz","fileCount":214,"integrity":"sha512-LjD7G9QKaIWjrRwVCnMA4AfaKpXnoulDcVVhDoL8eJnrv4PuxiNsw2SskMRYqQm5Yy38lX4X1VIKafAVpnw4Fw==","signatures":[{"sig":"MEUCIQDDrBq8/Z1nS7LHnHiR7WhP6aYbsELpWTc8QdNuwj2IRgIgCvy1mLeas0H+yzXo7vRY/XI4EuOdNL83hDVXzTFZfYA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519470},"engines":{"node":"^20.0.0 || ^22.0.0"},"gitHead":"92fd9761654ae52c34549d0b71f52eef5faed668","scripts":{"dev":"concurrently 'npm run storybook' 'npm run serve'","lint":"elsie lint --max-warnings=0","test":"elsie test","build":"elsie build","serve":"concurrently 'elsie serve' 'wait-on tcp:${PORT:=3002} && alive-server ./examples/html-host --port=3000 --watch=../../dist/reload'","analyze":"ANALYZE=true elsie build","storybook":"elsie storybook"},"_npmUser":{"name":"raldea","email":"ricky@abovethefray.io"},"repository":{"url":"git+https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin.git","type":"git"},"_npmVersion":"11.1.0","description":"Klaviyo Checkout Consent drop-in is an extension drop-in of Klaviyo Adobe Commerce app builder app.","directories":{},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"preact":"~10.22.1","@dropins/build-tools":"~1.0.1","@adobe-commerce/elsie":"^1.4.1","jest-environment-jsdom":"^30.1.1","@adobe-commerce/event-bus":"~1.0.0","@adobe-commerce/fetch-graphql":"~1.0.1","@adobe-commerce/storefront-design":"~1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.3","wait-on":"^8.0.3","alive-server":"^1.3.0","concurrently":"^9.2.0"},"_npmOperationalInternal":{"tmp":"tmp/klaviyo-adobe-commerce-app-checkout-consent-dropin_0.0.3_1756723269895_0.44033971913621306","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin","version":"0.0.4","license":"MIT","_id":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin@0.0.4","maintainers":[{"name":"raldea","email":"ricky@abovethefray.io"}],"homepage":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin#readme","bugs":{"url":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/issues"},"dist":{"shasum":"2d4f538453454816290e79920c9116ebacfdd9b9","tarball":"https://registry.npmjs.org/@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/-/klaviyo-adobe-commerce-app-checkout-consent-dropin-0.0.4.tgz","fileCount":215,"integrity":"sha512-/4l7Tan6qof+e40/SU8qKwEjf2T+qgO+SFDAT7kNQyDwM0J7c+ZBjFN3ivr8BP7BN7CEnxEW4Y6Z5P5MnhQW+w==","signatures":[{"sig":"MEYCIQCv6HEF2MAlZPvXwqrmGJ44eQpyqYhUuFyf2ndzPiY5UgIhAKDufHZiqdDdtdoA9s+FH0tKI6NAJqk+C3GUsx6pnWSP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":529779},"engines":{"node":"^20.0.0 || ^22.0.0"},"gitHead":"85a2c83f26a1fd50cb72d828279d79d1f43bae5a","scripts":{"dev":"concurrently 'npm run storybook' 'npm run serve'","lint":"elsie lint --max-warnings=0","test":"elsie test","build":"elsie build","serve":"concurrently 'elsie serve' 'wait-on tcp:${PORT:=3002} && alive-server ./examples/html-host --port=3000 --watch=../../dist/reload'","analyze":"ANALYZE=true elsie build","storybook":"elsie storybook"},"_npmUser":{"name":"raldea","email":"ricky@abovethefray.io"},"repository":{"url":"git+https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin.git","type":"git"},"_npmVersion":"11.1.0","description":"Klaviyo Checkout Consent drop-in is an extension drop-in of Klaviyo Adobe Commerce app builder app.","directories":{},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"preact":"~10.22.1","@dropins/build-tools":"~1.0.1","@adobe-commerce/elsie":"^1.4.1","jest-environment-jsdom":"^30.1.1","@adobe-commerce/event-bus":"~1.0.0","@adobe-commerce/fetch-graphql":"~1.0.1","@adobe-commerce/storefront-design":"~1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.3","wait-on":"^8.0.3","alive-server":"^1.3.0","concurrently":"^9.2.0"},"_npmOperationalInternal":{"tmp":"tmp/klaviyo-adobe-commerce-app-checkout-consent-dropin_0.0.4_1757413157048_0.2110208970044396","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin","version":"0.0.5","license":"MIT","_id":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin@0.0.5","maintainers":[{"name":"raldea","email":"ricky@abovethefray.io"}],"homepage":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin#readme","bugs":{"url":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/issues"},"dist":{"shasum":"54869517fdc0eb056df83feb1cd9cae8a59ff059","tarball":"https://registry.npmjs.org/@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/-/klaviyo-adobe-commerce-app-checkout-consent-dropin-0.0.5.tgz","fileCount":214,"integrity":"sha512-H7MDUBVdOedheeG7xU5st4f4K8/2Q1VuOz070BhckK8rgT+GYfRYtQJHETa9Z0l8tnbcbo3OldO1q/TktfOP8A==","signatures":[{"sig":"MEYCIQDyndxC7m33xtYUj2G0ZVgSUKuWPQOtbshY0/Vi1a54/gIhALs+YXOsr6F/Sc9YwPDQDO2ZTCEobigm2aScqOItOVTV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519484},"engines":{"node":"^20.0.0 || ^22.0.0"},"gitHead":"640bddfb485e1f595519045870e3af846faa8eef","scripts":{"dev":"concurrently 'npm run storybook' 'npm run serve'","lint":"elsie lint --max-warnings=0","test":"elsie test","build":"elsie build","serve":"concurrently 'elsie serve' 'wait-on tcp:${PORT:=3002} && alive-server ./examples/html-host --port=3000 --watch=../../dist/reload'","analyze":"ANALYZE=true elsie build","storybook":"elsie storybook"},"_npmUser":{"name":"raldea","email":"ricky@abovethefray.io"},"repository":{"url":"git+https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin.git","type":"git"},"_npmVersion":"11.1.0","description":"Klaviyo Checkout Consent drop-in is an extension drop-in of Klaviyo Adobe Commerce app builder app.","directories":{},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"preact":"~10.22.1","@dropins/build-tools":"~1.0.1","@adobe-commerce/elsie":"^1.4.1","jest-environment-jsdom":"^30.1.1","@adobe-commerce/event-bus":"~1.0.0","@adobe-commerce/fetch-graphql":"~1.0.1","@adobe-commerce/storefront-design":"~1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.3","wait-on":"^8.0.3","alive-server":"^1.3.0","concurrently":"^9.2.0"},"_npmOperationalInternal":{"tmp":"tmp/klaviyo-adobe-commerce-app-checkout-consent-dropin_0.0.5_1757416068106_0.38581431353631723","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin","version":"0.0.6","license":"MIT","_id":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin@0.0.6","maintainers":[{"name":"raldea","email":"ricky@abovethefray.io"}],"homepage":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin#readme","bugs":{"url":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/issues"},"dist":{"shasum":"617b6473b699e704d897eb37704454b19cc00e7f","tarball":"https://registry.npmjs.org/@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/-/klaviyo-adobe-commerce-app-checkout-consent-dropin-0.0.6.tgz","fileCount":214,"integrity":"sha512-2qmdrFn+t6qB1B7V9FmNAowJ//Cjn1Xq8mijQFfvNKsGMopqNjjqiNjRxH/UmCUoyCEnUx6+yfXhxVsex50NGg==","signatures":[{"sig":"MEQCIDYde9J7pTMVhlTcvoDZbiTpS/aUWrusRzPXVGbIWClIAiBB/Q5Dqw7yGAy4tKBKybz4M4/L58pKmPARWVdSKJDCIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519606},"engines":{"node":"^20.0.0 || ^22.0.0"},"gitHead":"30339287aea3a300d08735ce6cb47652ba30e54e","scripts":{"dev":"concurrently 'npm run storybook' 'npm run serve'","lint":"elsie lint --max-warnings=0","test":"elsie test","build":"elsie build","serve":"concurrently 'elsie serve' 'wait-on tcp:${PORT:=3002} && alive-server ./examples/html-host --port=3000 --watch=../../dist/reload'","analyze":"ANALYZE=true elsie build","storybook":"elsie storybook"},"_npmUser":{"name":"raldea","email":"ricky@abovethefray.io"},"repository":{"url":"git+https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin.git","type":"git"},"_npmVersion":"11.1.0","description":"Klaviyo Checkout Consent drop-in is an extension drop-in of Klaviyo Adobe Commerce app builder app.","directories":{},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"preact":"~10.22.1","@dropins/build-tools":"~1.0.1","@adobe-commerce/elsie":"^1.4.1","jest-environment-jsdom":"^30.1.1","@adobe-commerce/event-bus":"~1.0.0","@adobe-commerce/fetch-graphql":"~1.0.1","@adobe-commerce/storefront-design":"~1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.3","wait-on":"^8.0.3","alive-server":"^1.3.0","concurrently":"^9.2.0"},"_npmOperationalInternal":{"tmp":"tmp/klaviyo-adobe-commerce-app-checkout-consent-dropin_0.0.6_1757498806005_0.1110803784160539","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin","version":"0.0.7","license":"MIT","_id":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin@0.0.7","maintainers":[{"name":"raldea","email":"ricky@abovethefray.io"}],"homepage":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin#readme","bugs":{"url":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/issues"},"dist":{"shasum":"cb0fc3f500c21fc29e758705b851364cdbb9fd4b","tarball":"https://registry.npmjs.org/@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/-/klaviyo-adobe-commerce-app-checkout-consent-dropin-0.0.7.tgz","fileCount":214,"integrity":"sha512-My3uNbB12P49Din9Ayzo14wDPsN0lZUphazAdmPJw2sA6IY0muxdAvXh2JPJbh19WF1GHedmHH5umAdGokBUSA==","signatures":[{"sig":"MEYCIQDvFlFQsg2C4SMNDl06eVNYVW5E+Psh+ifLF8IZIFhGswIhAKM/g9ZQ3GJ1JO08V9PhDGO5jUbyY0KcnXVbAU2NW+gg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519650},"engines":{"node":"^20.0.0 || ^22.0.0"},"gitHead":"120aed6904b1d63d06a2ecea237f71359c37ddb4","scripts":{"dev":"concurrently 'npm run storybook' 'npm run serve'","lint":"elsie lint --max-warnings=0","test":"elsie test","build":"elsie build","serve":"concurrently 'elsie serve' 'wait-on tcp:${PORT:=3002} && alive-server ./examples/html-host --port=3000 --watch=../../dist/reload'","analyze":"ANALYZE=true elsie build","storybook":"elsie storybook"},"_npmUser":{"name":"raldea","email":"ricky@abovethefray.io"},"repository":{"url":"git+https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin.git","type":"git"},"_npmVersion":"11.1.0","description":"Klaviyo Checkout Consent drop-in is an extension drop-in of Klaviyo Adobe Commerce app builder app.","directories":{},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"preact":"~10.22.1","@dropins/build-tools":"~1.0.1","@adobe-commerce/elsie":"^1.4.1","jest-environment-jsdom":"^30.1.1","@adobe-commerce/event-bus":"~1.0.0","@adobe-commerce/fetch-graphql":"~1.0.1","@adobe-commerce/storefront-design":"~1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.3","wait-on":"^8.0.3","alive-server":"^1.3.0","concurrently":"^9.2.0"},"_npmOperationalInternal":{"tmp":"tmp/klaviyo-adobe-commerce-app-checkout-consent-dropin_0.0.7_1757681764355_0.2149930818950474","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin","version":"1.0.0","license":"MIT","engines":{"node":"^20.0.0 || ^22.0.0"},"repository":{"type":"git","url":"git+https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin.git"},"sideEffects":false,"scripts":{"dev":"concurrently 'npm run storybook' 'npm run serve'","storybook":"elsie storybook","serve":"concurrently 'elsie serve' 'wait-on tcp:${PORT:=3002} && alive-server ./examples/html-host --port=3000 --watch=../../dist/reload'","lint":"elsie lint --max-warnings=0","test":"elsie test","build":"elsie build","analyze":"ANALYZE=true elsie build"},"dependencies":{"@adobe-commerce/elsie":"^1.4.1","@adobe-commerce/event-bus":"~1.0.0","@adobe-commerce/fetch-graphql":"~1.0.1","@adobe-commerce/storefront-design":"~1.0.0","@dropins/build-tools":"~1.0.1","jest-environment-jsdom":"^30.1.1","preact":"~10.22.1"},"devDependencies":{"alive-server":"^1.3.0","concurrently":"^9.2.0","jest":"^30.0.3","wait-on":"^8.0.3"},"_id":"@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin@1.0.0","gitHead":"499b549ee05c38377f276758f568ac8c55cf4911","description":"Klaviyo Checkout Consent drop-in is an extension drop-in of Klaviyo Adobe Commerce app builder app.","bugs":{"url":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/issues"},"homepage":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin#readme","_nodeVersion":"20.18.2","_npmVersion":"11.1.0","dist":{"integrity":"sha512-8crvhT5Hkbcz2WrgXExUImsAHsWurnagsiOVK51GVXhdeGGNewv3z+IwRKaWlVwLDpVxZ7K4QlpLOT2z9JxEXQ==","shasum":"8d6291a8fe19ccaadb636454d531acbf89966c43","tarball":"https://registry.npmjs.org/@abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/-/klaviyo-adobe-commerce-app-checkout-consent-dropin-1.0.0.tgz","fileCount":214,"unpackedSize":515939,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCTcx8sjJ9aDXZWSi9LVu+/1zec/hm+1LaM6UrjWzDrrwIgIEUe5MGpahqZ9Ub1THdO92ovmMCA32JE8a5fgTbak9g="}]},"_npmUser":{"name":"raldea","email":"ricky@abovethefray.io"},"directories":{},"maintainers":[{"name":"raldea","email":"ricky@abovethefray.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/klaviyo-adobe-commerce-app-checkout-consent-dropin_1.0.0_1760680036977_0.33876568599341317"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-01T08:09:39.904Z","modified":"2025-10-17T05:47:17.363Z","0.0.1":"2025-09-01T08:09:40.271Z","0.0.2":"2025-09-01T08:33:55.797Z","0.0.3":"2025-09-01T10:41:10.057Z","0.0.4":"2025-09-09T10:19:17.241Z","0.0.5":"2025-09-09T11:07:48.305Z","0.0.6":"2025-09-10T10:06:46.190Z","0.0.7":"2025-09-12T12:56:04.574Z","1.0.0":"2025-10-17T05:47:17.191Z"},"bugs":{"url":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/issues"},"license":"MIT","homepage":"https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin#readme","repository":{"type":"git","url":"git+https://github.com/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin.git"},"description":"Klaviyo Checkout Consent drop-in is an extension drop-in of Klaviyo Adobe Commerce app builder app.","maintainers":[{"name":"raldea","email":"ricky@abovethefray.io"}],"readme":"# Klaviyo Checkout Consent Drop-in\n\nKlaviyo Checkout Consent drop-in is an extension drop-in of Klaviyo Adobe Commerce app builder app.\n\nThis drop-in adds 2 consent checkboxes (email and sms) in the checkout page which will then submit an API call to Klaviyo for profile update/create. This drop-in requires the Klaviyo Adobe Commerce app builder app as this drop-in utilizes the apps API mesh integration.\n\n---\n\n## Requirements\n\n- Adobe Commerce Storefront - built from [Adobe Commerce Storefront Boilerplate](https://github.com/hlxsites/aem-boilerplate-commerce)\n- Klaviyo Adobe Commerce App Builder app\n- Klaviyo Account\n\n> [!NOTE]\n> Make sure that your Klaviyo app builder is set up and working properly before installing this drop-in (e.g. API mesh and Klaviyo credentials re working properly). Refer to the app builder installation instructions.\n\n## Workflow\n\n1. After proceeding to checkout, the user can opt-in to check the consent boxes; email or sms.\n2. After placing order, the drop-in will check if the email currently has an existing profile, if none, it will create the profile based on your email and billing address details.\n3. After profile creation, the drop-in will subscribe the profile based on the consent checkboxes the user filled in. \n\n> [!NOTE]\n> The workflow doesn’t interrupt the place order process. If one Klaviyo related API call fails, the order will still be processed.\n\n## Installation Steps\n\n### Follow these steps to set up the drop-in in your Adobe Commerce Storefront\n\n### 1. Update config.json\n\nIn your Adobe Commerce Storefront boilerplate repo, locate config.json and add the following values under <b>default</b>.\n\n```json\n\"api-mesh-endpoint\": \"https://edge-sandbox-graph.adobe.io/api/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/graphql\",\n\"klaviyo\": {\n   \"profileList\": {\n      \"sms\": \"XXXXXX\",\n      \"email\": \"YYYYYY\"\n   },\n   \"consent\": {\n      \"checked\": false,\n      \"enable_sms_consent\": true,\n      \"enable_email_consent\": true,\n      \"sms_consent_label\": \"Subscribe for SMS updates \",\n      \"email_consent_label\": \"Subscribe for email updates\",\n      \"sms_consent_name\": \"klaviyo_sms_consent\",\n      \"email_consent_name\": \"klaviyo_email_consent\",\n      \"sms_disclosure\": \"* By checking this box and entering your phone number above, you consent to receive marketing text messages (e.g. promos, cart reminders).\"\n   }\n}\n```\n\n1. **api-mesh-endpoint**: The endpoint URL provided by the Klaviyo Adobe Commerce App Builder app.\n   - In the App builder side, there will be another instructions on how to setup the Klaviyo credentials \n2. **klaviyo.profileList.sms** & **klaviyo.profileList.email**: identifier of SMS and email list in the Klaviyo admin. **Admin** > **List & segments** > *Select SMS or email list > *See the URL for the identifier ```https://www.klaviyo.com/list/XXXXXX```.\n3. **klaviyo.consent.enable_sms_consent** & **klaviyo.consent.enable_email_consent**: disables either email or SMS checkbox based on the value provided.\n\n### 2. Update package.json\n\nDue to the current deployment structure, you cannot directly import files from the node_modules as it will fail in live site (Will work in local). Because of this, we need to create a custom command to sync our drop-in package in the ```scripts/__dropins__``` folder. Update this code:\n\n```json\n\"postinstall\": \"npm run install:dropins\",\n\"postupdate\": \"npm run install:dropins\"\n```\nto this:\n\n```json\n\"dropins:sync\": \"mkdir -p scripts/__dropins__/abovethefray && rsync -a --delete node_modules/@abovethefray/ scripts/__dropins__/abovethefray\",\n\"postinstall\": \"npm run install:dropins && npm run dropins:sync\",\n\"postupdate\": \"npm run install:dropins && npm run dropins:sync\"\n```\n\n### 3. Install the Drop-in\n\nThe drop-in package is currently registered to npmjs. You can directly run npm install to download the package.\n\n```bash\n   npm install @abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin\n```\n\n> [!NOTE]\n> Make sure the @abovethefray scope is pointing to npmjs. (This is by default)\n\n### 4. Run postinstall Command\n\nAs what have mentioned above, you need to sync the drop-in package into the ```scripts/__dropins__``` folder. In order to do so, you need to run:\n\n```bash\nnpm run postinstall\n```\n\nThis will create a new folder under ```scripts/__dropins__```. This will be the files that we will be importing on the JS blocks.\n\n> [!NOTE]\n> As of this moment, the automated deployer cannot seem to write the files generated from automated deploy command (npm ci). This probably have something to do with security risk. As of now, same with other drop-ins, we need to commit the files locally generated in scripts/__dropin\\_\\_/abovethefray.\n\n### 4. Update Commerce Checkout Block JS File from the Boilerplate\n\nCurrently, there is no other way to install the drop-in without updating the file where you want the drop-in to display. You have to manually import and configure the file. Locate the file ```blocks/commerce-checkout/commerce-checkout.js```.\n\n1. Import the drop-in container. Find the ```import { getUserTokenCookie } from '../../scripts/initializers/index.js';``` and insert this code above it.\n   - ```js\n     // Klaviyo\n     import { KlaviyoCheckoutConsentContainer, KlaviyoApiCreateUpdate } from '../../scripts/__dropins__/abovethefray/klaviyo-adobe-commerce-app-checkout-consent-dropin/dist/containers/KlaviyoCheckoutConsentContainer.js';\n     import { getUserTokenCookie } from '../../scripts/initializers/index.js'; //native import declaration\n     ```\n2. Add an element to hook the container into. In **line 148** you will see the element structure. Insert the code below between **checkout__billing-form** & **checkout__terms-and-conditions**\n   - ```html\n     <div class=\"checkout__block checkout__billing-form\"></div> // native element\n     <div class=\"checkout__block checkout__checkout-consent\"></div>\n     <div class=\"checkout__block checkout__terms-and-conditions\"></div> // native element\n     ``` \n3. Declare a variable that targets the created element. You can add this line below **line 213**\n   - ```js\n     const $termsAndConditions = checkoutFragment.querySelector('.checkout__terms-and-conditions'); //native code\n     const $checkoutConsent = checkoutFragment.querySelector('.checkout__checkout-consent');\n     ```\n4. Declare a variable that targets the config updates from ```config.json```. You can add below **line 232**.\n   - ```js\n     // Klaviyo endpoint\n     const klaviyoVariables = await getConfigValue('klaviyo');\n     ```\n5. Add the drop-in renderer. You can add this above the **TermsAndConditions** render / below **line 459**\n   - ```js\n     CheckoutProvider.render(KlaviyoCheckoutConsentContainer, {\n       checked: klaviyoVariables.consent.checked,\n       enable_sms_consent: klaviyoVariables.consent.enable_sms_consent,\n       enable_email_consent: klaviyoVariables.consent.enable_email_consent,\n       sms_consent_label: klaviyoVariables.consent.sms_consent_label,\n       email_consent_label: klaviyoVariables.consent.email_consent_label,\n       sms_consent_name: klaviyoVariables.consent.sms_consent_name,\n       email_consent_name: klaviyoVariables.consent.email_consent_name,\n       sms_disclosure: klaviyoVariables.consent.sms_disclosure,\n     })($checkoutConsent),\n     \n     CheckoutProvider.render(TermsAndConditions, { // native line of code\n     ```\n6. Add the function to be included on the native ```handlePlaceOrder()```. You can declare this function after the renderers.\n   - ```js\n     async function initKlaviyo() {\n       const klaviyoList = klaviyoVariables;\n       const apiMeshEndpoint = await getConfigValue('api-mesh-endpoint');\n       const klaviyoEmailConsent = document.querySelector('[name=\"klaviyo_email_consent\"]');\n       const klaviyoSmsConsent = document.querySelector('[name=\"klaviyo_sms_consent\"]');\n       let klaviyoEmailConsentStatus = false;\n       let klaviyoSmsConsentStatus = false;\n\n       if (klaviyoEmailConsent?.checked) {\n         klaviyoEmailConsentStatus = true;\n       }\n\n       if (klaviyoSmsConsent?.checked) {\n         klaviyoSmsConsentStatus = true;\n       }\n\n       await KlaviyoApiCreateUpdate(\n         events.lastPayload('checkout/values'),\n         events.lastPayload('checkout/addresses/shipping'),\n         klaviyoEmailConsentStatus,\n         klaviyoList.profileList.email,\n         klaviyoSmsConsentStatus,\n         klaviyoList.profileList.sms,\n         apiMeshEndpoint,\n       );\n     }\n     ```\n7. Declare the function inside ```handlePlaceOrder()```. Insert the code after the **displayOverlaySpinner()** function.\n   - ```js\n     try {\n       await initKlaviyo();\n     } catch (error) {\n       console.error('Error executing Klaviyo API:', error);\n     }\n     ```\n\n### 4. Update commerce checkout block CSS file from the boilerplate\n\nYou need to add the following styles in order to fix some of the display behavior like no item in checkout / error in checkout. Add the code at the top of the file.\n\n```css\n.checkout__content--empty .checkout__checkout-consent,\n.checkout__content--error .checkout__checkout-consent {\n   display: none !important;\n}\n```\n\n### 4. Test Changes Localally\n   ```bash\n   npm start\n   ```\n\n\n## SMS Consent\n\nFor the SMS consent subscription to work, you need to configure the SMS settings in the Klaviyo admin. Head to **Klaviyo Admin** > **Settings** > **SMS**\n\nKlaviyo is strick regarding the format/syntax of the number provided in the sms subscribe API call. You might need to add additional validations on the telephone input in the billing form and add address. Sample accepted syntax: ```+12345678900```, ```+12-345-678-900```, ```(+1234) 567 8900```. See https://help.klaviyo.com/hc/en-us/articles/360046055671 for more details.\n\nWrong format/syntax will result to API call fail of SMS subscribe.\n\nSMS subscribe will only accept countries assigned from the SMS settings in Klaviyo Admin. Wrong country code in the phone number will result to API call fail. \n","readmeFilename":"README.md"}