{"_id":"@astralweb/nova-social-login","_rev":"28-c82307c84700a69c21a1f4114f78f4a8","name":"@astralweb/nova-social-login","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0-rc.1":{"name":"@astralweb/nova-social-login","version":"1.0.0-rc.1","keywords":["social-login","oauth","authentication","magento","vue"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@1.0.0-rc.1","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"9787414a687f31da59e3596093d7a4d6e5707486","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-1.0.0-rc.1.tgz","fileCount":103,"integrity":"sha512-rUr/r9LXX39MjItzPuy2DYCpZ0Fv9a6zrMML7g0vS/GkzgvLjF4d8YU4DqEeoROeA6QuC5WFrkuui0kOl4ZcUw==","signatures":[{"sig":"MEUCIQCeE7Kt3AKga72K2bgHLy02f02hntbY60Hj/iDZpGCQrQIgLPLsUgYrTH7W2PzLjbinnd4Vhz+xNyCGrV1s6GtBTog=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1210649},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api.js","require":"./dist/api.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components.js","require":"./dist/components.cjs"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables.js","require":"./dist/composables.cjs"}},"gitHead":"2b74df9a8df030890675fcbd7d42b840280a26cf","scripts":{"ci":"pnpm typecheck && pnpm lint && pnpm test && pnpm build","dev":"vite build --watch","lint":"eslint src/","test":"vitest run","build":"vite build","test:ui":"vitest --ui","lint:fix":"eslint src/ --fix","typecheck":"tsc --noEmit","lint:types":"tsc --noEmit && eslint .","test:watch":"vitest","test:coverage":"vitest run --coverage","test:typecheck":"vitest typecheck","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"astralweb-darren","email":"darren@astralwebinc.com"},"repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform - (Internal Use Only)","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vite":"^7.1.1","eslint":"^9.22.0","terser":"^5.43.1","vitest":"^3.0.9","consola":"^3.0.0","vue-tsc":"^2.2.12","happy-dom":"^18.0.1","stylelint":"^16.23.1","typescript":"^5.8.2","@types/node":"^22.13.10","sass-embedded":"^1.90.0","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.3.0","@vitejs/plugin-vue":"^6.0.1","@vitest/coverage-v8":"^3.2.4","@astralweb/eslint-config":"workspace:*","@astralweb/nova-magento-types":"workspace:*","vite-plugin-css-injected-by-js":"^3.5.2"},"peerDependencies":{"nuxt":"^3.12.4","tailwindcss":"^3.4.17","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_1.0.0-rc.1_1756959239065_0.9674484909387879","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.2":{"name":"@astralweb/nova-social-login","version":"1.0.0-rc.2","keywords":["social-login","oauth","authentication","magento","vue"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@1.0.0-rc.2","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"3dd268ba77772431f155cceee1cdec1924f598de","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-1.0.0-rc.2.tgz","fileCount":103,"integrity":"sha512-cR9NfI8o1Fhp26C9Ux9FwCTF95a6EdhUpZ0cEctITEXW00PXhqAgEVSrhLCzp7qWtbb1K/9MugJ+h4kUPcmOWw==","signatures":[{"sig":"MEQCIGqUJ7HMLY7QylzIHfQDBoAPF7dBfk4hJ8wCz+pIr1wkAiBQtAdnMrUgxC3sm72Ldc5DAQTjSFQu/ML/W71IfgHBZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1210685},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api.js","require":"./dist/api.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components.js","require":"./dist/components.cjs"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables.js","require":"./dist/composables.cjs"}},"gitHead":"2b74df9a8df030890675fcbd7d42b840280a26cf","scripts":{"ci":"pnpm typecheck && pnpm lint && pnpm test && pnpm build","dev":"vite build --watch","lint":"eslint src/","test":"vitest run","build":"vite build","test:ui":"vitest --ui","lint:fix":"eslint src/ --fix","typecheck":"tsc --noEmit","lint:types":"tsc --noEmit && eslint .","test:watch":"vitest","test:coverage":"vitest run --coverage","test:typecheck":"vitest typecheck","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"astralweb-darren","email":"darren@astralwebinc.com"},"repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform - (Internal Use Only)","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vite":"^7.1.1","eslint":"^9.22.0","terser":"^5.43.1","vitest":"^3.0.9","consola":"^3.0.0","vue-tsc":"^2.2.12","happy-dom":"^18.0.1","stylelint":"^16.23.1","typescript":"^5.8.2","@types/node":"^22.13.10","sass-embedded":"^1.90.0","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.3.0","@vitejs/plugin-vue":"^6.0.1","@vitest/coverage-v8":"^3.2.4","@astralweb/eslint-config":"workspace:*","@astralweb/nova-magento-types":"workspace:*","vite-plugin-css-injected-by-js":"^3.5.2"},"peerDependencies":{"nuxt":"^3.12.4","tailwindcss":"^3.4.17","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_1.0.0-rc.2_1756967969196_0.14301720208996072","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.3":{"name":"@astralweb/nova-social-login","version":"1.0.0-rc.3","keywords":["social-login","oauth","authentication","magento","vue"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@1.0.0-rc.3","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"9db7a5ad8cc9544a51635cc1a556d37f7ef2114f","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-1.0.0-rc.3.tgz","fileCount":103,"integrity":"sha512-rMcDXQmQgbPFhZz3Qs9oIgMQrMM9A6j+FsfClUsRLdAwU/cD2pCGuG7NMvJi7rqw/xyHKQjgOBoi1VLPzJk94g==","signatures":[{"sig":"MEYCIQD97gifjp+XMyF10pe33gQceUFewvhpFl4MHmr+TiClygIhAI+xjwb9to/GWXpunzav4PP1++HPYWVhvvdh4a1tryzr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1210492},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api.js","require":"./dist/api.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components.js","require":"./dist/components.cjs"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables.js","require":"./dist/composables.cjs"}},"gitHead":"cb34a7dc6a66ac11fd56041389cc3464e4a8897f","scripts":{"ci":"pnpm typecheck && pnpm lint && pnpm test && pnpm build","dev":"vite build --watch","lint":"eslint src/","test":"vitest run","build":"vite build","test:ui":"vitest --ui","lint:fix":"eslint src/ --fix","typecheck":"tsc --noEmit","lint:types":"tsc --noEmit && eslint .","test:watch":"vitest","test:coverage":"vitest run --coverage","test:typecheck":"vitest typecheck","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"astralweb-darren","email":"darren@astralwebinc.com"},"repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform - (Internal Use Only)","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vite":"^7.1.1","eslint":"^9.22.0","terser":"^5.43.1","vitest":"^3.0.9","consola":"^3.0.0","vue-tsc":"^2.2.12","happy-dom":"^18.0.1","stylelint":"^16.23.1","typescript":"^5.8.2","@types/node":"^22.13.10","sass-embedded":"^1.90.0","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.3.0","@vitejs/plugin-vue":"^6.0.1","@vitest/coverage-v8":"^3.2.4","@astralweb/eslint-config":"workspace:*","@astralweb/nova-magento-types":"workspace:*","vite-plugin-css-injected-by-js":"^3.5.2"},"peerDependencies":{"nuxt":"^3.12.4","tailwindcss":"^3.4.17","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_1.0.0-rc.3_1756976492885_0.2979434977975084","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.4":{"name":"@astralweb/nova-social-login","version":"1.0.0-rc.4","keywords":["social-login","oauth","authentication","magento","vue"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@1.0.0-rc.4","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"ce17d254faa69620518d0e82518ab2464ff6e777","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-1.0.0-rc.4.tgz","fileCount":83,"integrity":"sha512-CvkjWRP7kx8w/CDLEC1wmG2GD4Pino+pOlI3n3vAnKCTTEiD5IHDCyaC1c092pQ+rh4D3cQ7FdTRCDg3iqF0vg==","signatures":[{"sig":"MEUCIDUa+ctXGBWs7O9gk+jL/2EW0UZWydeFYU83MDLo5X9IAiEAvS0jlHRf+cZVTL5JbLPN+El+LdVH2RMnfEbO/bSV/AA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134120},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api.js","require":"./dist/api.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components.js","require":"./dist/components.cjs"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables.js","require":"./dist/composables.cjs"}},"gitHead":"7a4d215de93709fcbb1ce59b5d0b9d1597f91982","scripts":{"ci":"pnpm typecheck && pnpm lint && pnpm test && pnpm build","dev":"vite build --watch","lint":"eslint src/","test":"vitest run","build":"vite build","test:ui":"vitest --ui","lint:fix":"eslint src/ --fix","typecheck":"tsc --noEmit","lint:types":"tsc --noEmit && eslint .","test:watch":"vitest","test:coverage":"vitest run --coverage","test:typecheck":"vitest typecheck","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"astralweb-darren","email":"darren@astralwebinc.com"},"repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform - (Internal Use Only)","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vite":"^7.1.1","eslint":"^9.22.0","terser":"^5.43.1","vitest":"^3.0.9","consola":"^3.0.0","vue-tsc":"^2.2.12","happy-dom":"^18.0.1","stylelint":"^16.23.1","typescript":"^5.8.2","@types/node":"^22.13.10","sass-embedded":"^1.90.0","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.3.0","@vitejs/plugin-vue":"^6.0.1","@vitest/coverage-v8":"^3.2.4","@astralweb/eslint-config":"workspace:*","@astralweb/nova-magento-types":"workspace:*","vite-plugin-css-injected-by-js":"^3.5.2"},"peerDependencies":{"nuxt":"^3.12.4","tailwindcss":"^3.4.17","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_1.0.0-rc.4_1757577613664_0.5056360981082462","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.5":{"name":"@astralweb/nova-social-login","version":"1.0.0-rc.5","keywords":["social-login","oauth","authentication","magento","vue"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@1.0.0-rc.5","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"6be0c7f186d26689f515cd05692102743ca49e90","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-1.0.0-rc.5.tgz","fileCount":83,"integrity":"sha512-ikvgaYfbvp+5zNLlUI97A4cr1AAr9j3gb1dk42q2fMzGlVwrPgUR+knkqA2tSbnSfBDK2RHQ6bUI/O82obhoow==","signatures":[{"sig":"MEQCICsuW9pBn9DT2NEx5IeBh/pyP8PEFIdvxXCealcB8kTqAiABN+Qd7CYbRQJVP7FtJbzZKFRgI2jnTpeKwIZR2TpmIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134233},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api.js","require":"./dist/api.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components.js","require":"./dist/components.cjs"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables.js","require":"./dist/composables.cjs"}},"gitHead":"7a4d215de93709fcbb1ce59b5d0b9d1597f91982","scripts":{"ci":"pnpm typecheck && pnpm lint && pnpm test && pnpm build","dev":"vite build --watch","lint":"eslint src/","test":"vitest run","build":"vite build","test:ui":"vitest --ui","lint:fix":"eslint src/ --fix","typecheck":"tsc --noEmit","lint:types":"tsc --noEmit && eslint .","test:watch":"vitest","test:coverage":"vitest run --coverage","test:typecheck":"vitest typecheck","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"astralweb-darren","email":"darren@astralwebinc.com"},"repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform - (Internal Use Only)","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vite":"^7.1.1","eslint":"^9.22.0","terser":"^5.43.1","vitest":"^3.0.9","consola":"^3.0.0","vue-tsc":"^2.2.12","happy-dom":"^18.0.1","stylelint":"^16.23.1","typescript":"^5.8.2","@types/node":"^22.13.10","sass-embedded":"^1.90.0","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.3.0","@vitejs/plugin-vue":"^6.0.1","@vitest/coverage-v8":"^3.2.4","@astralweb/eslint-config":"workspace:*","@astralweb/nova-magento-types":"workspace:*","vite-plugin-css-injected-by-js":"^3.5.2"},"peerDependencies":{"nuxt":"^3.12.4","tailwindcss":"^3.4.17","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_1.0.0-rc.5_1757579765152_0.21030715359335428","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.6":{"name":"@astralweb/nova-social-login","version":"1.0.0-rc.6","keywords":["social-login","oauth","authentication","magento","vue"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@1.0.0-rc.6","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"613e7c63e67c31d579e6d71316fb83af7589edd1","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-1.0.0-rc.6.tgz","fileCount":83,"integrity":"sha512-hlAFc8WjMZdS1PSXzhA7/qrGJkpS1NuNc93px+vmdYxVJ36ixvg9EUt8hVrFoXqpRiqskL+95hmwBrvwgLyerg==","signatures":[{"sig":"MEYCIQCG8obso4Y2tfaL0h9+kWK8297Yi5npb9Pw40+uJTcvAQIhAOkE5fOWin2gqxqvp3dWiqUn9vecOKf9q9xWfa4SuyjK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134233},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api.js","require":"./dist/api.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components.js","require":"./dist/components.cjs"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables.js","require":"./dist/composables.cjs"}},"gitHead":"7a4d215de93709fcbb1ce59b5d0b9d1597f91982","scripts":{"ci":"pnpm typecheck && pnpm lint && pnpm test && pnpm build","dev":"vite build --watch","lint":"eslint src/","test":"vitest run","build":"vite build","test:ui":"vitest --ui","lint:fix":"eslint src/ --fix","typecheck":"tsc --noEmit","lint:types":"tsc --noEmit && eslint .","test:watch":"vitest","test:coverage":"vitest run --coverage","test:typecheck":"vitest typecheck","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"astralweb-darren","email":"darren@astralwebinc.com"},"repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform - (Internal Use Only)","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vite":"^7.1.1","eslint":"^9.22.0","terser":"^5.43.1","vitest":"^3.0.9","consola":"^3.0.0","vue-tsc":"^2.2.12","happy-dom":"^18.0.1","stylelint":"^16.23.1","typescript":"^5.8.2","@types/node":"^22.13.10","sass-embedded":"^1.90.0","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.3.0","@vitejs/plugin-vue":"^6.0.1","@vitest/coverage-v8":"^3.2.4","@astralweb/eslint-config":"workspace:*","@astralweb/nova-magento-types":"workspace:*","vite-plugin-css-injected-by-js":"^3.5.2"},"peerDependencies":{"nuxt":"^3.12.4","tailwindcss":"^3.4.17","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_1.0.0-rc.6_1757584122504_0.06819497701644406","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.7":{"name":"@astralweb/nova-social-login","version":"1.0.0-rc.7","keywords":["social-login","oauth","authentication","magento","vue"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@1.0.0-rc.7","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"e0f45b1624df1c451ff8a533d4dbd9508d9b98e1","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-1.0.0-rc.7.tgz","fileCount":83,"integrity":"sha512-zhXO2euIaWwIMHzo39soAqrsyZYVjPJeKtAyf3j1L6ee6R1gi2bkJ1ySIutkrI7ebAaLKBFX0BIuNivYGD7dyA==","signatures":[{"sig":"MEUCIQDIBYuA42GEulC8FHNPeGTRZ30z6d7iurWEc3Khdu/HCwIgF8FF1+OglHGqobthm71gQfnF4HuIEEPEf9tRWlCjITY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134920},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api.js","require":"./dist/api.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components.js","require":"./dist/components.cjs"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables.js","require":"./dist/composables.cjs"}},"gitHead":"7a4d215de93709fcbb1ce59b5d0b9d1597f91982","scripts":{"ci":"pnpm typecheck && pnpm lint && pnpm test && pnpm build","dev":"vite build --watch","lint":"eslint src/","test":"vitest run","build":"vite build","test:ui":"vitest --ui","lint:fix":"eslint src/ --fix","typecheck":"tsc --noEmit","lint:types":"tsc --noEmit && eslint .","test:watch":"vitest","test:coverage":"vitest run --coverage","test:typecheck":"vitest typecheck","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"astralweb-darren","email":"darren@astralwebinc.com"},"repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform - (Internal Use Only)","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vite":"^7.1.1","eslint":"^9.22.0","terser":"^5.43.1","vitest":"^3.0.9","consola":"^3.0.0","vue-tsc":"^2.2.12","happy-dom":"^18.0.1","stylelint":"^16.23.1","typescript":"^5.8.2","@types/node":"^22.13.10","sass-embedded":"^1.90.0","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.3.0","@vitejs/plugin-vue":"^6.0.1","@vitest/coverage-v8":"^3.2.4","@astralweb/eslint-config":"workspace:*","@astralweb/nova-magento-types":"workspace:*","vite-plugin-css-injected-by-js":"^3.5.2"},"peerDependencies":{"nuxt":"^3.12.4","tailwindcss":"^3.4.17","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_1.0.0-rc.7_1757642845833_0.36829483042880584","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.8":{"name":"@astralweb/nova-social-login","version":"1.0.0-rc.8","keywords":["social-login","oauth","authentication","magento","vue"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@1.0.0-rc.8","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"561c17e7f07379700dd3a7a5af3ce1887728db89","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-1.0.0-rc.8.tgz","fileCount":83,"integrity":"sha512-7TwpRxqUvkiaP8CZqd32jRv+WuXmqMPo3f2oaKqmLXNBi/F09+qx8OJl4TUgY8eKKgSFfKfnX/wBgH/9D8Mw9g==","signatures":[{"sig":"MEQCIAK4kUxYvcYOa65VAqkyNq+7Q7Nk+UG+wNdMVuUWaK1DAiAEaHIqa5LsiaJRq+fBIHSm1cde0QIKSfA+3h13zQPSxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134233},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api.js","require":"./dist/api.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components.js","require":"./dist/components.cjs"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables.js","require":"./dist/composables.cjs"}},"gitHead":"7a4d215de93709fcbb1ce59b5d0b9d1597f91982","scripts":{"ci":"pnpm typecheck && pnpm lint && pnpm test && pnpm build","dev":"vite build --watch","lint":"eslint src/","test":"vitest run","build":"vite build","test:ui":"vitest --ui","lint:fix":"eslint src/ --fix","typecheck":"tsc --noEmit","lint:types":"tsc --noEmit && eslint .","test:watch":"vitest","test:coverage":"vitest run --coverage","test:typecheck":"vitest typecheck","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"astralweb-darren","email":"darren@astralwebinc.com"},"repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform - (Internal Use Only)","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vite":"^7.1.1","eslint":"^9.22.0","terser":"^5.43.1","vitest":"^3.0.9","consola":"^3.0.0","vue-tsc":"^2.2.12","happy-dom":"^18.0.1","stylelint":"^16.23.1","typescript":"^5.8.2","@types/node":"^22.13.10","sass-embedded":"^1.90.0","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.3.0","@vitejs/plugin-vue":"^6.0.1","@vitest/coverage-v8":"^3.2.4","@astralweb/eslint-config":"workspace:*","@astralweb/nova-magento-types":"workspace:*","vite-plugin-css-injected-by-js":"^3.5.2"},"peerDependencies":{"nuxt":"^3.12.4","tailwindcss":"^3.4.17","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_1.0.0-rc.8_1757647169894_0.28446704305205683","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.9":{"name":"@astralweb/nova-social-login","version":"1.0.0-rc.9","keywords":["social-login","oauth","authentication","magento","vue"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@1.0.0-rc.9","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"f3c29718e5ba9226e40a2af2eb36db093ad3d313","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-1.0.0-rc.9.tgz","fileCount":41,"integrity":"sha512-zvMMiwM9l+20nm3rl87g6EY68Wgk8/zKWFRMi3Qin2wi1hCNPwdL7DxV9oKYRuKZP3PVGq6WojYx9WRA82tqwA==","signatures":[{"sig":"MEYCIQD/r1BkH8+Eio3PCZhc3fnWdVo0bmEKxfeq9T58r4omoAIhAPszLWEE1nNBt6hHicanNFBcNQA0QcE2dcrXXqcw9XH+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105157},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./src/index.ts","import":"./src/index.ts","require":"./src/index.ts"},"./api":{"types":"./src/api/index.ts","import":"./src/api/index.ts","require":"./src/api/index.ts"},"./types":{"types":"./src/types/index.ts","import":"./src/types/index.ts","require":"./src/types/index.ts"},"./config":{"types":"./src/config/index.ts","import":"./src/config/index.ts","require":"./src/config/index.ts"},"./server":{"types":"./src/server/index.ts","import":"./src/server/index.ts","require":"./src/server/index.ts"},"./components":{"types":"./src/components/index.ts","import":"./src/components/index.ts","require":"./src/components/index.ts"},"./composables":{"types":"./src/composables/index.ts","import":"./src/composables/index.ts","require":"./src/composables/index.ts"}},"gitHead":"7a4d215de93709fcbb1ce59b5d0b9d1597f91982","scripts":{"ci":"pnpm typecheck && pnpm lint && pnpm test","lint":"eslint src/","test":"vitest run","test:ui":"vitest --ui","lint:fix":"eslint src/ --fix","typecheck":"tsc --noEmit","lint:types":"tsc --noEmit && eslint .","test:watch":"vitest","test:coverage":"vitest run --coverage","test:typecheck":"vitest typecheck","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"astralweb-darren","email":"darren@astralwebinc.com"},"repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform - (Internal Use Only)","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.22.0","vitest":"^3.0.9","consola":"^3.0.0","vue-tsc":"^2.2.12","happy-dom":"^18.0.1","stylelint":"^16.23.1","typescript":"^5.8.2","@types/node":"^22.13.10","sass-embedded":"^1.90.0","@vue/test-utils":"^2.4.6","@astralweb/eslint-config":"workspace:*","@astralweb/nova-magento-types":"workspace:*"},"peerDependencies":{"nuxt":"^3.12.4","tailwindcss":"^3.4.17","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_1.0.0-rc.9_1757647948000_0.14226356936270856","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.10":{"name":"@astralweb/nova-social-login","version":"1.0.0-rc.10","keywords":["social-login","oauth","authentication","magento","vue"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@1.0.0-rc.10","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"86cfe3522a5fbb27aab4e781efca5157ab344ed4","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-1.0.0-rc.10.tgz","fileCount":83,"integrity":"sha512-u9mbG2TCBMXcZN7wTmcoBZ+TyDtZ+k1ozGLSv8kbJQvk+MFY6wTKXjt3PcuR9Tx9/E2RMpjWrbnsKPVYZ10gYg==","signatures":[{"sig":"MEUCIBhujHLhzjXgP4wAW8eJS08gR/Rqn2c0yRnRX6b4LdgHAiEAraCN4SV6MhDPW6Gi2TCxGw/n1ItnyynAhK56tCQ1xuQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175513},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api.js","require":"./dist/api.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components.js","require":"./dist/components.cjs"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables.js","require":"./dist/composables.cjs"}},"gitHead":"7a4d215de93709fcbb1ce59b5d0b9d1597f91982","scripts":{"ci":"pnpm typecheck && pnpm lint && pnpm test && pnpm build","lint":"eslint src/","test":"vitest run","build":"vite build","test:ui":"vitest --ui","lint:fix":"eslint src/ --fix","typecheck":"tsc --noEmit","lint:types":"tsc --noEmit && eslint .","test:watch":"vitest","test:coverage":"vitest run --coverage","test:typecheck":"vitest typecheck","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"astralweb-darren","email":"darren@astralwebinc.com"},"repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform - (Internal Use Only)","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.1","eslint":"^9.22.0","vitest":"^3.0.9","consola":"^3.0.0","vue-tsc":"^2.2.12","happy-dom":"^18.0.1","stylelint":"^16.23.1","typescript":"^5.8.2","@types/node":"^22.13.10","sass-embedded":"^1.90.0","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.3.0","@vitejs/plugin-vue":"^6.0.1","@astralweb/eslint-config":"workspace:*","@astralweb/nova-magento-types":"workspace:*"},"peerDependencies":{"nuxt":"^3.12.4","tailwindcss":"^3.4.17","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_1.0.0-rc.10_1757648404202_0.5147810465126004","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.11":{"name":"@astralweb/nova-social-login","version":"1.0.0-rc.11","keywords":["social-login","oauth","authentication","magento","vue"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@1.0.0-rc.11","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"775133e600a3ffafb0220a84fe529ebc49d16c19","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-1.0.0-rc.11.tgz","fileCount":103,"integrity":"sha512-IhZAXLZu57gh6pL18JsfHYjbkKVpYdiQu7Xah6Q3OaKgteVwnUlYeyPQR1R+YgYhVQUs70dNZ3eXvGLIx4kDwg==","signatures":[{"sig":"MEQCIFj3JDXv7WuJ8saEa9wDfr44Q9CFtAwiExJC7oniVTeqAiBXjzYPPWjjWUeAmJTORLpMN9NffTw8ovfH+ZjtC2naMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1212828},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api.js","require":"./dist/api.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components.js","require":"./dist/components.cjs"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables.js","require":"./dist/composables.cjs"}},"gitHead":"7a4d215de93709fcbb1ce59b5d0b9d1597f91982","scripts":{"ci":"pnpm typecheck && pnpm lint && pnpm test && pnpm build","lint":"eslint src/","test":"vitest run","build":"vite build","test:ui":"vitest --ui","lint:fix":"eslint src/ --fix","typecheck":"tsc --noEmit","lint:types":"tsc --noEmit && eslint .","test:watch":"vitest","test:coverage":"vitest run --coverage","test:typecheck":"vitest typecheck","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"astralweb-darren","email":"darren@astralwebinc.com"},"repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform - (Internal Use Only)","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.1","eslint":"^9.22.0","vitest":"^3.0.9","consola":"^3.0.0","vue-tsc":"^2.2.12","happy-dom":"^18.0.1","stylelint":"^16.23.1","typescript":"^5.8.2","@types/node":"^22.13.10","sass-embedded":"^1.90.0","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.3.0","@vitejs/plugin-vue":"^6.0.1","@astralweb/eslint-config":"workspace:*","@astralweb/nova-magento-types":"workspace:*"},"peerDependencies":{"nuxt":"^3.12.4","tailwindcss":"^3.4.17","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_1.0.0-rc.11_1757650193748_0.3213424183826481","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@astralweb/nova-social-login","version":"1.0.0","keywords":["social-login","oauth","authentication","magento","vue"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@1.0.0","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"48fe438c21300283bf174fa09058b0c2ae1b2971","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-1.0.0.tgz","fileCount":83,"integrity":"sha512-tHawbH8qO8+q73DwCiykocaubV8l6MkogMJZBtN9a+p1axmsPPNkD3aBVDSDWOuZD6jkJieGqCola7Me3OVfFw==","signatures":[{"sig":"MEUCIQCDIx4aDLvhVyymWLpAEP/9pzRug30/MrMeGfE6xATuTgIgcpfAHYdZsRPr79bxo+HkEa8kvolvnBWzXNSqoSBpVBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135241},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api.js","require":"./dist/api.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components.js","require":"./dist/components.cjs"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables.js","require":"./dist/composables.cjs"}},"gitHead":"7a4d215de93709fcbb1ce59b5d0b9d1597f91982","scripts":{"ci":"pnpm typecheck && pnpm lint && pnpm test && pnpm build","lint":"eslint src/","test":"vitest run","build":"vite build","test:ui":"vitest --ui","lint:fix":"eslint src/ --fix","typecheck":"tsc --noEmit","lint:types":"tsc --noEmit && eslint .","test:watch":"vitest","test:coverage":"vitest run --coverage","test:typecheck":"vitest typecheck","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"astralweb-darren","email":"darren@astralwebinc.com"},"repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform - (Internal Use Only)","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.1","eslint":"^9.22.0","vitest":"^3.0.9","consola":"^3.0.0","vue-tsc":"^2.2.12","happy-dom":"^18.0.1","stylelint":"^16.23.1","typescript":"^5.8.2","@types/node":"^22.13.10","sass-embedded":"^1.90.0","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.3.0","@vitejs/plugin-vue":"^6.0.1","@astralweb/eslint-config":"workspace:*","@astralweb/nova-magento-types":"workspace:*"},"peerDependencies":{"nuxt":"^3.12.4","tailwindcss":"^3.4.17","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_1.0.0_1757651174953_0.7640961649534517","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@astralweb/nova-social-login","version":"1.0.1","keywords":["social-login","oauth","authentication","magento","vue"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@1.0.1","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"b288544a0a88d4f14a9a6d12c10ed1699cc8f4b3","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-1.0.1.tgz","fileCount":83,"integrity":"sha512-OPkdn9WFwrZcjvP4TEHJ+DP91xPtcc2AMNSr/5jszEp90vpawHEKdpxMDvDefQZQ9ooW2gprmqByqKHN7ZxkrQ==","signatures":[{"sig":"MEUCIEQA3AAdhsdg/yQcqyNE8B1QkkGL4m0Dqj+dIK4G5ngqAiEA83BB7EaQvw/iNJFKwOY1KjR8qIr7n6IIOQrNsen4EfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135441},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api.js","require":"./dist/api.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components.js","require":"./dist/components.cjs"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables.js","require":"./dist/composables.cjs"}},"gitHead":"3647f593e0c5a662d37d59685859973ba46736f1","scripts":{"ci":"pnpm typecheck && pnpm lint && pnpm test && pnpm build","lint":"eslint src/","test":"vitest run","build":"vite build","test:ui":"vitest --ui","lint:fix":"eslint src/ --fix","typecheck":"tsc --noEmit","lint:types":"tsc --noEmit && eslint .","test:watch":"vitest","test:coverage":"vitest run --coverage","test:typecheck":"vitest typecheck","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"astralweb-darren","email":"darren@astralwebinc.com"},"repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform - (Internal Use Only)","directories":{},"_nodeVersion":"20.19.4","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.1","eslint":"^9.22.0","vitest":"^3.0.9","consola":"^3.0.0","vue-tsc":"^2.2.12","happy-dom":"^18.0.1","stylelint":"^16.23.1","typescript":"^5.8.2","@types/node":"^22.13.10","sass-embedded":"^1.90.0","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.3.0","@vitejs/plugin-vue":"^6.0.1","@astralweb/eslint-config":"workspace:*","@astralweb/nova-magento-types":"workspace:*"},"peerDependencies":{"nuxt":"^3.12.4","tailwindcss":"^3.4.17","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_1.0.1_1757660103401_0.16234046203742203","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@astralweb/nova-social-login","version":"1.0.2","keywords":["social-login","oauth","authentication","magento","vue"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@1.0.2","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"3002895e17f6d6446f36601397f18a050e1f0b3f","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-1.0.2.tgz","fileCount":83,"integrity":"sha512-xRLi+TAXqSC9MRw9mNz4kYz0F88FoAvFdb4q0DJk0yMUN4ujsJ8jrh/rexzMZWWyZ406WiMwhBYnZ2DCPmaN1g==","signatures":[{"sig":"MEQCIArBhVJJ7Z9wiYdDlrtYD1KOV8vwMNFXHNs7posX9h8BAiAWkBvpCBpD0s4Naqu63w6LsZDgSowIQvgSaMJBWoeD4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135703},"main":"dist/index.cjs","type":"module","_from":"file:astralweb-nova-social-login-1.0.2.tgz","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./api":{"types":"./dist/api/index.d.ts","import":"./dist/api.js","require":"./dist/api.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types.js","require":"./dist/types.cjs"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config.js","require":"./dist/config.cjs"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components.js","require":"./dist/components.cjs"},"./composables":{"types":"./dist/composables/index.d.ts","import":"./dist/composables.js","require":"./dist/composables.cjs"}},"scripts":{"ci":"pnpm typecheck && pnpm lint && pnpm test && pnpm build","dev":"vite build --watch","lint":"eslint src/ && stylelint \"**/*.{css,scss,vue}\"","test":"vitest run","build":"vite build","test:ui":"vitest --ui","lint:fix":"eslint src/ --fix && stylelint --fix \"**/*.{css,scss,vue}\"","typecheck":"tsc --noEmit","lint:types":"tsc --noEmit && eslint .","test:watch":"vitest","test:coverage":"vitest run --coverage","test:typecheck":"vitest typecheck","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"_resolved":"/tmp/0330b8ade9e46e1876e5165e0928109b/astralweb-nova-social-login-1.0.2.tgz","_integrity":"sha512-xRLi+TAXqSC9MRw9mNz4kYz0F88FoAvFdb4q0DJk0yMUN4ujsJ8jrh/rexzMZWWyZ406WiMwhBYnZ2DCPmaN1g==","repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform - (Internal Use Only)","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.5","eslint":"^9.36.0","vitest":"^3.2.4","consola":"^3.4.2","vue-tsc":"^2.2.12","happy-dom":"^18.0.1","stylelint":"^16.24.0","typescript":"^5.9.3","@types/node":"^22.18.8","sass-embedded":"^1.93.2","@vue/test-utils":"^2.4.6","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","@astralweb/eslint-config":"^1.0.0","@astralweb/nova-magento-types":"^1.3.4"},"peerDependencies":{"nuxt":"^3.12.4","tailwindcss":"^3.4.17","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_1.0.2_1759374661548_0.6334698762687772","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@astralweb/nova-social-login","version":"2.0.0","keywords":["social-login","oauth","magento","nuxt-module"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@2.0.0","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"18470b134ea350516768cb8374d2cbf1bbf2b3a3","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-2.0.0.tgz","fileCount":58,"integrity":"sha512-K4vVdro+0CuOPCHTu3TU8xHKB8odTWCzEt8w2i6TmjhWV6Y2iO5tHWIXeUnOF3e1TNXYF4nYt4umYCIMA1En9w==","signatures":[{"sig":"MEQCIEtNbBFxJI5D1PyHh4UIhiIKngAA1XUjRPEOGZwMzw5HAiAwG7ShJD9EkQ1YX6GvqYopQc+U7FXH61rm2xcENv+IFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79475},"main":"./dist/module.mjs","type":"module","_from":"file:astralweb-nova-social-login-2.0.0.tgz","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./api":{"types":"./dist/runtime/api/index.d.ts","import":"./dist/runtime/api/index.js"},"./types":{"types":"./dist/runtime/types/index.d.ts","import":"./dist/runtime/types/index.js"}},"scripts":{"dev":"pnpm run dev:prepare && nuxi dev playground","lint":"eslint .","test":"vitest run","build":"nuxt-module-build build","lint:fix":"eslint . --fix","dev:build":"nuxi build playground","typecheck":"tsc --noEmit","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit","test:watch":"vitest watch","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","dev:preview":"nuxi preview playground --port 3001","build:prepare":"nuxt-module-build prepare && nuxi prepare playground"},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"_resolved":"/tmp/b529be96d747595ab473ee3f565b1752/astralweb-nova-social-login-2.0.0.tgz","_integrity":"sha512-K4vVdro+0CuOPCHTu3TU8xHKB8odTWCzEt8w2i6TmjhWV6Y2iO5tHWIXeUnOF3e1TNXYF4nYt4umYCIMA1En9w==","repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform (Internal Use Only)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@nuxt/kit":"^4.1.3","cookie-es":"^1.2.2"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.1.3","eslint":"^9.37.0","vitest":"^3.2.4","consola":"^3.4.2","vue-tsc":"^3.1.1","stylelint":"^16.24.0","typescript":"^5.9.3","@types/node":"latest","@nuxt/schema":"^4.1.3","@nuxt/devtools":"^2.6.5","@vue/test-utils":"^2.4.6","@nuxt/test-utils":"^3.19.2","@vitejs/plugin-vue":"^6.0.1","@nuxtjs/tailwindcss":"^6.12.2","@nuxt/module-builder":"^1.0.2","@primevue/nuxt-module":"^4.4.1","@astralweb/eslint-config":"1.0.6","@astralweb/nova-magento-types":"^1.3.4"},"peerDependencies":{"nuxt":"^3.0.0 || ^4.0.0","primevue":"^4.3.4","@nuxtjs/tailwindcss":"^6.12.0","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_2.0.0_1761035841795_0.49610053678362864","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@astralweb/nova-social-login","version":"2.0.1","keywords":["social-login","oauth","magento","nuxt-module"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@2.0.1","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"16cec6955fab693524f44f51d3e486822ab64e77","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-2.0.1.tgz","fileCount":58,"integrity":"sha512-WtjYWKKZqKsiDDfKWRMDndfUeoLWzGMNLsTP13WY23EsyWCAuqZXP8VMZyxgVJu6Qnez7viCC6jgQmpxXQlZVw==","signatures":[{"sig":"MEQCIC5DTHFvcTth4PbnDDKSO2CD01Mb2Ry4NTbS1z1UZS4gAiAMau1WQl3Q9y0eYKwPvCr4dGO3zVwPcYyVeJEE2AcexQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81622},"main":"./dist/module.mjs","type":"module","_from":"file:astralweb-nova-social-login-2.0.1.tgz","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./api":{"types":"./dist/runtime/api/index.d.ts","import":"./dist/runtime/api/index.js"},"./types":{"types":"./dist/runtime/types/index.d.ts","import":"./dist/runtime/types/index.js"}},"scripts":{"dev":"pnpm run dev:prepare && nuxi dev playground","lint":"eslint .","test":"vitest run","build":"nuxt-module-build build","lint:fix":"eslint . --fix","dev:build":"nuxi build playground","typecheck":"tsc --noEmit","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit","test:watch":"vitest watch","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","dev:preview":"nuxi preview playground --port 3001","build:prepare":"nuxt-module-build prepare && nuxi prepare playground"},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"_resolved":"/tmp/fb1f87683aa194e3c680a36b4ba79ad7/astralweb-nova-social-login-2.0.1.tgz","_integrity":"sha512-WtjYWKKZqKsiDDfKWRMDndfUeoLWzGMNLsTP13WY23EsyWCAuqZXP8VMZyxgVJu6Qnez7viCC6jgQmpxXQlZVw==","repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform (Internal Use Only)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@nuxt/kit":"^4.1.3","cookie-es":"^1.2.2"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.1.3","eslint":"^9.37.0","vitest":"^3.2.4","consola":"^3.4.2","vue-tsc":"^3.1.1","stylelint":"^16.24.0","typescript":"^5.9.3","@types/node":"latest","@nuxt/schema":"^4.1.3","@nuxt/devtools":"^2.6.5","@vue/test-utils":"^2.4.6","@nuxt/test-utils":"^3.19.2","@vitejs/plugin-vue":"^6.0.1","@nuxt/eslint-config":"^1.9.0","@nuxtjs/tailwindcss":"^6.12.2","@nuxt/module-builder":"^1.0.2","@primevue/nuxt-module":"^4.4.1","@astralweb/eslint-config":"1.0.6","@astralweb/nova-magento-types":"^1.3.4"},"peerDependencies":{"nuxt":"^3.0.0 || ^4.0.0","primevue":"^4.3.4","@nuxtjs/tailwindcss":"^6.12.0","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_2.0.1_1761734523273_0.579455316693914","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@astralweb/nova-social-login","version":"2.0.2","keywords":["social-login","oauth","magento","nuxt-module"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@2.0.2","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"a12c0af2365306a60293a2a763930ae3697b50a3","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-2.0.2.tgz","fileCount":58,"integrity":"sha512-7lhVkrz17kb5q7GrNwkIdjb51AZ30pWRcZ6ph0srttDCWJKAW1GR5FMjALZ+SiFiwblcIWhqbDp4TrAD0MVdTA==","signatures":[{"sig":"MEUCIQCzr4hBZDgEhkRixtS39TNPtmk6rxl0tzurEsY84jXIsgIgESiDpShSDubrPvD2PPIbZ0TsjyOTf6KOyDI84O437co=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82044},"main":"./dist/module.mjs","type":"module","_from":"file:astralweb-nova-social-login-2.0.2.tgz","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./api":{"types":"./dist/runtime/api/index.d.ts","import":"./dist/runtime/api/index.js"},"./types":{"types":"./dist/runtime/types/index.d.ts","import":"./dist/runtime/types/index.js"}},"scripts":{"dev":"pnpm run dev:prepare && nuxi dev playground","lint":"eslint .","test":"vitest run","build":"nuxt-module-build build","lint:fix":"eslint . --fix","dev:build":"nuxi build playground","typecheck":"tsc --noEmit","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit","test:watch":"vitest watch","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","dev:preview":"nuxi preview playground --port 3001","build:prepare":"nuxt-module-build prepare && nuxi prepare playground"},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"_resolved":"/tmp/98ad3862ecc953ae58475d6890c34213/astralweb-nova-social-login-2.0.2.tgz","_integrity":"sha512-7lhVkrz17kb5q7GrNwkIdjb51AZ30pWRcZ6ph0srttDCWJKAW1GR5FMjALZ+SiFiwblcIWhqbDp4TrAD0MVdTA==","repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform (Internal Use Only)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@nuxt/kit":"^4.1.3","cookie-es":"^1.2.2"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.1.3","eslint":"^9.37.0","vitest":"^3.2.4","consola":"^3.4.2","vue-tsc":"^3.1.1","stylelint":"^16.24.0","typescript":"^5.9.3","@types/node":"latest","@nuxt/schema":"^4.1.3","@nuxt/devtools":"^2.6.5","@vue/test-utils":"^2.4.6","@nuxt/test-utils":"^3.19.2","@vitejs/plugin-vue":"^6.0.1","@nuxt/eslint-config":"^1.9.0","@nuxtjs/tailwindcss":"^6.12.2","@nuxt/module-builder":"^1.0.2","@primevue/nuxt-module":"^4.4.1","@astralweb/eslint-config":"1.0.6","@astralweb/nova-magento-types":"^1.3.4"},"peerDependencies":{"nuxt":"^3.0.0 || ^4.0.0","primevue":"^4.3.4","@nuxtjs/tailwindcss":"^6.12.0","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_2.0.2_1761886450313_0.23087155723806996","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@astralweb/nova-social-login","version":"2.0.3","keywords":["social-login","oauth","magento","nuxt-module"],"author":{"name":"Astral Web"},"license":"Proprietary","_id":"@astralweb/nova-social-login@2.0.3","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"dist":{"shasum":"18fc270df7d34cfe9d12a92f363805cadf83a0a7","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-2.0.3.tgz","fileCount":58,"integrity":"sha512-Pf3N5sWtMBlC7PdF9z94bNy6gc8IdMDKHV4dueS6B0ArmaLXv1OqeMCYC381H5TQ8tFxELioGxx/Iawk5v5rkw==","signatures":[{"sig":"MEUCIQDNGM7GK5sDyrL2Jd67T9fhWQVNsijmze82PQfQ0+j9NgIgLUqniLNR4NUyVFMqshxVf9k/Wz5L49LV1uj+tyVrbZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82049},"main":"./dist/module.mjs","type":"module","_from":"file:astralweb-nova-social-login-2.0.3.tgz","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./api":{"types":"./dist/runtime/api/index.d.ts","import":"./dist/runtime/api/index.js"},"./types":{"types":"./dist/runtime/types/index.d.ts","import":"./dist/runtime/types/index.js"}},"scripts":{"dev":"pnpm run dev:prepare && nuxi dev playground","lint":"eslint .","test":"vitest run","build":"nuxt-module-build build","lint:fix":"eslint . --fix","dev:build":"nuxi build playground","typecheck":"tsc --noEmit","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit","test:watch":"vitest watch","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","dev:preview":"nuxi preview playground --port 3001","build:prepare":"nuxt-module-build prepare && nuxi prepare playground"},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"_resolved":"/tmp/60c0237fc66ce2561f46b6f97ce3b7bb/astralweb-nova-social-login-2.0.3.tgz","_integrity":"sha512-Pf3N5sWtMBlC7PdF9z94bNy6gc8IdMDKHV4dueS6B0ArmaLXv1OqeMCYC381H5TQ8tFxELioGxx/Iawk5v5rkw==","repository":{"url":"git+https://github.com/AstralWebTW/nova-packages.git","type":"git","directory":"packages/social-login"},"_npmVersion":"10.8.2","description":"Social Login module for Nova e-commerce platform (Internal Use Only)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@nuxt/kit":"^4.1.3","cookie-es":"^1.2.2"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.1.3","eslint":"^9.37.0","vitest":"^3.2.4","consola":"^3.4.2","vue-tsc":"^3.1.1","stylelint":"^16.24.0","typescript":"^5.9.3","@types/node":"latest","@nuxt/schema":"^4.1.3","@nuxt/devtools":"^2.6.5","@vue/test-utils":"^2.4.6","@nuxt/test-utils":"^3.19.2","@vitejs/plugin-vue":"^6.0.1","@nuxt/eslint-config":"^1.9.0","@nuxtjs/tailwindcss":"^6.12.2","@nuxt/module-builder":"^1.0.2","@primevue/nuxt-module":"^4.4.1","@astralweb/eslint-config":"1.0.6","@astralweb/nova-magento-types":"^1.3.4"},"peerDependencies":{"nuxt":"^3.0.0 || ^4.0.0","primevue":"^4.3.4","@nuxtjs/tailwindcss":"^6.12.0","@tanstack/vue-query":"^5.62.9","@vue-storefront/sdk":"^3.2.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/magento-api":"^6.3.0","@astralweb/nova-magento-types":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/nova-social-login_2.0.3_1761889524842_0.1293809570554214","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@astralweb/nova-social-login","version":"3.0.0","description":"Social Login module for Nova e-commerce platform (Internal Use Only)","license":"Proprietary","type":"module","exports":{".":{"types":"./dist/module.d.mts","import":"./dist/module.mjs"},"./api":{"types":"./dist/runtime/api/index.d.ts","import":"./dist/runtime/api/index.js"},"./types":{"types":"./dist/runtime/types/index.d.ts","import":"./dist/runtime/types/index.js"}},"main":"./dist/module.mjs","typesVersions":{"*":{".":["./dist/types.d.mts"]}},"dependencies":{"@nuxt/kit":"^4.1.3","cookie-es":"^1.2.2"},"peerDependencies":{"@astralweb/nova-magento-types":"^1.5.5","@tailwindcss/vite":"^4.1.17","@tanstack/vue-query":"^5.62.9","@vue-storefront/magento-api":"^6.3.0","@vue-storefront/middleware":"^5.4.0","@vue-storefront/sdk":"^3.2.0","primevue":"^4.3.4","nuxt":"^3.0.0 || ^4.0.0"},"devDependencies":{"@apollo/client":"^3.8.0","@nuxt/devtools":"^2.6.5","@nuxt/eslint-config":"^1.9.0","@nuxt/module-builder":"^1.0.2","@nuxt/schema":"^4.1.3","@nuxt/test-utils":"^3.19.2","@types/node":"latest","eslint":"^9.38.0","graphql-tag":"^2.12.0","@tailwindcss/vite":"^4.1.17","tailwindcss":"^4.1.17","@primevue/nuxt-module":"^4.4.1","@vitejs/plugin-vue":"^6.0.1","@vue/test-utils":"^2.4.6","nuxt":"^4.1.3","stylelint":"^16.24.0","typescript":"^5.9.3","vitest":"^3.2.4","vue-tsc":"^3.1.1","consola":"^3.4.2","@astralweb/eslint-config":"2.1.0","@astralweb/nova-magento-types":"1.5.5"},"repository":{"type":"git","url":"git+https://github.com/AstralWebTW/nova-packages.git","directory":"packages/social-login"},"publishConfig":{"access":"public"},"keywords":["social-login","oauth","magento","nuxt-module"],"author":{"name":"Astral Web"},"homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","engines":{"node":">=20.0.0","pnpm":">=10.0.0"},"scripts":{"build:prepare":"nuxt-module-build prepare && nuxi prepare playground","build":"nuxt-module-build build","dev":"pnpm run dev:prepare && nuxi dev playground","dev:build":"nuxi build playground","dev:preview":"nuxi preview playground --port 3001","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","typecheck":"nuxt typecheck","lint":"eslint . && stylelint '**/*.{vue,css,scss}'","lint:fix":"eslint . --fix && stylelint '**/*.{vue,css,scss}' --fix","test":"vitest run","test:watch":"vitest watch","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit"},"_id":"@astralweb/nova-social-login@3.0.0","bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"_integrity":"sha512-a3vCwzHHSAC88yrDikqEQBcU5Qm4nxJcjgMMvapTmKnrviFUrye8/EBR4n3f9fT5QOYP/JNR652znq5qWNsiEg==","_resolved":"/tmp/c29d08d5b480f488263ae49805db87f1/astralweb-nova-social-login-3.0.0.tgz","_from":"file:astralweb-nova-social-login-3.0.0.tgz","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-a3vCwzHHSAC88yrDikqEQBcU5Qm4nxJcjgMMvapTmKnrviFUrye8/EBR4n3f9fT5QOYP/JNR652znq5qWNsiEg==","shasum":"2d9bd0a4b6e14efe0a9cbf99eea31ee170c8d9e4","tarball":"https://registry.npmjs.org/@astralweb/nova-social-login/-/nova-social-login-3.0.0.tgz","fileCount":58,"unpackedSize":82076,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEvu9JSgaqRp+QE3B6wUNOJx4/0IUxiIuDVBI5V0PLQ3AiAW9Su7tm9MmyTsfuzrJQMyqDznFMhkKRKMeNVC5X4/AA=="}]},"_npmUser":{"name":"infoaw","email":"info@astralwebinc.com"},"directories":{},"maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nova-social-login_3.0.0_1772087974564_0.8560974245633364"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-04T04:13:58.982Z","modified":"2026-02-26T06:39:34.875Z","1.0.0-beta.1":"2025-09-03T08:33:40.401Z","1.0.0-beta.2":"2025-09-03T10:18:03.771Z","1.0.0-beta.3":"2025-09-03T10:19:59.113Z","1.0.0-beta.4":"2025-09-03T10:24:39.923Z","1.0.0-beta.5":"2025-09-03T10:28:44.724Z","1.0.0-beta.6":"2025-09-04T02:51:33.514Z","1.0.0-rc.1":"2025-09-04T04:13:59.324Z","1.0.0-rc.2":"2025-09-04T06:39:29.389Z","1.0.0-rc.3":"2025-09-04T09:01:33.068Z","1.0.0-rc.4":"2025-09-11T08:00:13.880Z","1.0.0-rc.5":"2025-09-11T08:36:05.363Z","1.0.0-rc.6":"2025-09-11T09:48:42.671Z","1.0.0-rc.7":"2025-09-12T02:07:26.026Z","1.0.0-rc.8":"2025-09-12T03:19:30.059Z","1.0.0-rc.9":"2025-09-12T03:32:28.200Z","1.0.0-rc.10":"2025-09-12T03:40:04.402Z","1.0.0-rc.11":"2025-09-12T04:09:54.004Z","1.0.0":"2025-09-12T04:26:15.119Z","1.0.1":"2025-09-12T06:55:03.596Z","1.0.2":"2025-10-02T03:11:01.751Z","2.0.0":"2025-10-21T08:37:22.015Z","2.0.1":"2025-10-29T10:42:03.469Z","2.0.2":"2025-10-31T04:54:10.499Z","2.0.3":"2025-10-31T05:45:25.023Z","3.0.0":"2026-02-26T06:39:34.712Z"},"bugs":{"url":"https://github.com/AstralWebTW/nova-packages/issues"},"author":{"name":"Astral Web"},"license":"Proprietary","homepage":"https://github.com/AstralWebTW/nova-packages/tree/main/packages/social-login","keywords":["social-login","oauth","magento","nuxt-module"],"repository":{"type":"git","url":"git+https://github.com/AstralWebTW/nova-packages.git","directory":"packages/social-login"},"description":"Social Login module for Nova e-commerce platform (Internal Use Only)","maintainers":[{"name":"jimsu","email":"jim@astralwebinc.com"},{"name":"astralweb-darren","email":"darren@astralwebinc.com"},{"name":"infoaw","email":"info@astralwebinc.com"}],"readme":"# Social Login 模組使用指南\n\n> ⚠️ **內部使用套件** - 此套件僅供 Astral Web 內部使用，未經授權不得用於其他用途。\n\n## 概覽\n\nSocial Login 是一個 Nuxt 3 模組，提供完整的第三方社群登入功能，支援 Google、Facebook、LINE 等平台的 OAuth 認證。模組採用 Nuxt Module 架構設計，支援自動註冊組件、composables，並提供靈活的樣式配置、服務端回調處理，以及社群帳號綁定/解綁功能。\n\n## 安裝與設定\n\n### 1. 安裝套件\n\n#### 在 apps/web 和 apps/server 安裝\n\n```bash\nyarn add @astralweb/nova-social-login\n```\n\n### 2. Middleware 擴充\n\n```typescript\n// apps/server/extendApiMethods/index.ts\n\n// ... 略\nexport {\n  socialLoginV2,\n  socialLoginV2Binding,\n  socialLoginV2Unbinding,\n  customerSocialAccounts,\n} from '@astralweb/nova-social-login/api';\n```\n\n### 3. GraphQL 擴充\n\n```typescript\n// apps/server/extendApiMethods/customer.ts\n\nexport const generateCustomerToken = async (\n  context: Context,\n  variables: TObject,\n): Promise<FetchResult<GenerateCustomerTokenMutation>> => {\n  const { res, config, client } = context;\n  try {\n    const result = await client.mutate({\n      mutation: gql`\n        mutation generateCustomerToken($type: Int!, $email: String, $password: String, $uid: String) {\n          generateCustomerToken(type: $type, email: $email, password: $password, uid: $uid) {\n            token\n          }\n        }\n      `,\n      variables,\n      context: {\n        headers: getHeaders(context),\n      },\n    });\n    // ... 略\n    return result;\n  } catch (error) {\n    // ... 略\n  }\n};\n```\n\n### 4. 註冊模組\n\n```typescript\n// nuxt.config.ts\nexport default defineNuxtConfig({\n  modules: [\n    '@astralweb/nova-social-login',\n  ],\n})\n```\n\n### 5. storeConfig customQuery 新增欄位\n\n```typescript\n// apps/web/api/magento/storeConfig/customQuery.ts\nimport { socialLoginFields } from '@astralweb/nova-social-login/api';\n\nexport const storeConfigCustomQuery: Record<string, any> = {\n  storeConfig: 'store-config-custom-query',\n  metadata: {\n    fields: `\n      product_reviews_enabled\n      allow_guests_to_write_product_reviews\n      is_guest_checkout_enabled\n      cart_expires_in_days\n      default_description\n      default_title\n      default_country\n      ${socialLoginFields}\n    `,\n  },\n};\n```\n\n### 6. Pinia storeConfig 設定\n\n```typescript\n// apps/web/stores/storeConfig.ts\nexport const useStoreConfigStore = defineStore('storeConfig', {\n  getters: {\n    // ... 略\n    socialLoginEnabled(state) {\n      const socialLoginPlatforms = Object.keys(state.storeConfig?.social_login_v2 ?? {});\n      return socialLoginPlatforms.length > 0;\n    },\n    socialLoginConfig(state) {\n      return state.storeConfig?.social_login_v2 ?? null;\n    },\n  },\n});\n```\n\n### 7. Account Modal 新增功能\n\n```typescript\n// apps/web/plugins/account-modal.ts\nexport default defineNuxtPlugin(() => {\n  // ... 略\n  const closeAccountModal = () => {\n    close();\n    activeTab.value = 'login';\n    if (isSocialLoginRegister.value) {\n      initialRegisterValues.value = {};\n    }\n  };\n\n  const initialRegisterValues = ref<Partial<ExtendCustomerCreateInput>>({});\n  const openSocialLoginRegisterModal = (initialValues: Partial<ExtendCustomerCreateInput>) => {\n    activeTab.value = 'socialLoginRegister';\n    initialRegisterValues.value = initialValues;\n    nextTick(() => {\n      openAccountModal();\n    });\n  };\n  const isSocialLoginRegister = computed(() => activeTab.value === 'socialLoginRegister' && initialRegisterValues.value?.type);\n\n  return {\n    provide: {\n      accountModal: {\n        // ... 略\n        openSocialLoginRegisterModal,\n        initialRegisterValues,\n        isSocialLoginRegister,\n      },\n    },\n  };\n});\n```\n\n```typescript\n// apps/web/index.d.ts\nimport type { Ref } from 'vue';\nimport type { ExtendCustomerCreateInput } from '@astralweb/nova-magento-types';\n\ndeclare module '#app' {\n  interface NuxtApp {\n    $accountModal: {\n      // ... 略\n      openSocialLoginRegisterModal: (initialValues: Partial<ExtendCustomerCreateInput>) => void;\n      initialRegisterValues: Ref<Partial<ExtendCustomerCreateInput>>;\n      isSocialLoginRegister: Ref<boolean>;\n    };\n  }\n}\n```\n\n### 8. Composable 新增 useIntegrationSocialLogin\n\n```typescript\n// apps/web/composables/useIntegrationSocialLogin/useIntegrationSocialLogin.ts\n\nimport { useSocialLoginVerification } from '@astralweb/nova-social-login';\n\nexport const useIntegrationSocialLogin = () => {\n  const { $accountModal } = useNuxtApp();\n  const { openAccountModal, openSocialLoginRegisterModal } = $accountModal;\n  const { customerLoginMutation } = useCustomer();\n  const toast = useToast();\n  const { t } = useI18n();\n  const { isLoggedIn } = useCustomerStore();\n  const { processLoginResult } = useSocialLoginVerification();\n  const oauthProvider = useCookie('oauth-provider');\n  const oauthCode = useCookie('oauth-code');\n\n  onMounted(async () => {\n    // 如果已登入，則改走 social login binding\n    if (isLoggedIn) return;\n\n    if (!oauthProvider.value || !oauthCode.value) {\n      return;\n    }\n    await processLoginResult({\n      handleExistCustomer: customerLoginMutation.mutate,\n      openLoginModal: () => {\n        openAccountModal();\n        // 避免被 modal 遮住\n        nextTick(() => {\n          toast.add({\n            severity: 'info',\n            summary: t('socialLogin.alreadyHaveAccount'),\n            detail: t('socialLogin.useEmailLogin'),\n            life: 5000,\n          });\n        });\n      },\n      handleNewCustomer: openSocialLoginRegisterModal,\n      handleError: (error: string) => {\n        openAccountModal();\n        nextTick(() => {\n          toast.add({\n            severity: 'error',\n            summary: t('socialLogin.failed'),\n            detail: error,\n            life: 5000,\n          });\n        });\n      },\n    });\n  });\n};\n```\n\n```typescript\n// apps/web/composables/useIntegrationSocialLogin/index.ts\n\nexport * from './useIntegrationSocialLogin';\n```\n\n### 9. 使用 useIntegrationSocialLogin\n\n```vue\n<!-- apps/web/app.vue -->\n\n<script setup lang=\"ts\">\n// ... 略\nonMounted(() => {\n  // Need this class for cypress testing\n  bodyClass.value = 'hydrated';\n  useIntegrationSocialLogin();\n});\n</script>\n```\n\n```vue\n<!-- apps/web/error.vue -->\n\n<script setup lang=\"ts\">\n// ... 略\nonMounted(() => {\n  useIntegrationSocialLogin();\n});\n</script>\n```\n\n## 組件基本使用\n\n### 社群登入\n\n在登入頁面引入社群登入按鈕\n\n```vue\n<!-- AccountFormsLogin -->\n<template>\n  <div class=\"inline-flex w-fit flex-col gap-y-3 xl:mt-4 xl:gap-y-5\">\n    <div class=\"flex items-center justify-center\">\n      <div class=\"grow border-t border-primary-200\"></div>\n      <span class=\"typography-text-base mx-4 text-primary-700\">\n        {{ t('account.socialLogin') }}\n      </span>\n      <div class=\"grow border-t border-primary-200\"></div>\n    </div>\n\n    <NovaSocialLoginButtonGroup \n      v-if=\"storeConfigStore.socialLoginConfig\" \n      :social-login-config=\"storeConfigStore.socialLoginConfig\" \n    />\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nconst storeConfigStore = useStoreConfigStore();\n</script>\n```\n\n### 社群註冊\n\n使用原本的註冊表單，並且新增標題\n\n```vue\n<!-- components/Account/Modal/AccountModal.vue -->\n\n<template>\n  <!-- ... 略 -->\n  <template #header>\n    <div v-if=\"isSocialLoginRegister\" class=\"w-full text-center text-secondary-700\">\n      {{ t('socialLogin.register.heading') }}\n    </div>\n    <PrimeTabs\n      v-else-if=\"showTabs\"\n      :value=\"activeTab\"\n      class=\"w-full\"\n      scrollable\n    >\n      <PrimeTabList\n        class=\"mt-4\"\n        :pt=\"{\n          root: ({ instance }: any) => {\n            setReferenceTabListContent(instance.$refs.content);\n          },\n        }\"\n      >\n        <PrimeTab\n          v-for=\"(tab, index) in tabs\"\n          :key=\"tab.label\"\n          :ref=\"(el: any) => setReferenceTab(el, index)\"\n          :value=\"tab.value\"\n          class=\"typography-text-sm w-[142px] xl:w-[120px]\"\n          @click=\"updateActiveTab(tab.value, index)\"\n        >\n          {{ tab.label }}\n        </PrimeTab>\n      </PrimeTabList>\n    </PrimeTabs>\n    <div v-else class=\"w-full text-center text-secondary-700\">\n      {{ t('auth.forgotPassword.heading') }}\n    </div>\n  </template>\n  <!-- ... 略 -->\n</template>\n\n<script setup lang=\"ts\">\n// ... 略\nconst formComponent = computed(() => {\n  const forms: Record<FormComponentName, Component> = {\n    login: AccountFormsLogin,\n    register: AccountFormsRegister,\n    forgetPassword: AccountFormsForgetPassword,\n    socialLoginRegister: AccountFormsRegister,\n  };\n  return forms[activeTab.value as FormComponentName];\n});\n</script>\n```\n\n修改 createCustomer input 的格式\n\n```vue\n<!-- components/Account/Forms/AccountFormsRegister.vue -->\n\n<script setup lang=\"ts\">\n// ... 略\nconst { $accountModal } = useNuxtApp();\nconst { initialRegisterValues, isSocialLoginRegister } = $accountModal;\n\nconst onSubmit = handleSubmit((values) => {\n  const {\n    lastname, email, password, gender, date_of_birth, phone,\n  } = values;\n\n  const baseInput = {\n    lastname,\n    email,\n    gender,\n    dob: formatDate(date_of_birth),\n    is_subscribed: isSubscribed.value,\n    phone,\n  };\n\n  const input: ExtendCustomerCreateInput = isSocialLoginRegister.value\n    ? {\n      ...baseInput,\n      type: initialRegisterValues.value.type!,\n      uid: initialRegisterValues.value.uid,\n    }\n    : {\n      ...baseInput,\n      type: 0,\n      password,\n    };\n\n  createCustomerMutate(input);\n});\n</script>\n```\n\n### 社群帳號綁定組件\n\n```vue\n<!-- social binding page -->\n<template>\n  <NuxtLayout name=\"account\">\n    <p class=\"typography-text-sm mb-4 text-primary-800 xl:mb-5\">\n      {{ t('socialLogin.binding.description') }}\n    </p>\n    <NovaSocialBindingButtonGroup\n      v-if=\"storeConfigStore.socialLoginConfig\"\n      :social-login-config=\"storeConfigStore.socialLoginConfig\"\n      :t=\"t\"\n      :button-size=\"isDesktop ? '' : 'small'\"\n      @on-binding-success=\"handleSocialBindingSuccess\"\n      @on-binding-error=\"handleSocialBindingError\"\n      @on-unbinding-success=\"handleSocialUnbindingSuccess\"\n      @on-unbinding-error=\"handleSocialUnbindingError\"\n    />\n  </NuxtLayout>\n</template>\n\n<script setup lang=\"ts\">\ndefinePageMeta({\n  name: 'customerSocialBinding',\n  layout: false,\n});\n\nconst { t } = useI18n();\nconst toast = useToast();\nconst { isDesktop } = useBreakpoints();\n\nconst storeConfigStore = useStoreConfigStore();\n\nconst { socialLoginEnabled } = useStoreConfigStore();\nif (!socialLoginEnabled) {\n  throw createError({\n    statusCode: 404,\n    statusMessage: 'Page Not Found',\n  });\n}\n\nconst handleSocialBindingSuccess = () => {\n  toast.add({\n    severity: 'success',\n    summary: t('socialLogin.binding.success'),\n    life: 5000,\n  });\n};\n\nconst handleSocialBindingError = (error: Error) => {\n  toast.add({\n    severity: 'error',\n    summary: t('socialLogin.binding.error'),\n    detail: error.message,\n    life: 5000,\n  });\n};\n\nconst handleSocialUnbindingSuccess = () => {\n  toast.add({\n    severity: 'success',\n    summary: t('socialLogin.unbinding.success'),\n    life: 5000,\n  });\n};\n\nconst handleSocialUnbindingError = (error: Error) => {\n  toast.add({\n    severity: 'error',\n    summary: t('socialLogin.unbinding.error'),\n    detail: error.message,\n    life: 5000,\n  });\n};\n</script>\n```\n\n### 自動註冊的組件\n\n模組會自動註冊以下組件，可直接在模板中使用：\n\n- `<NovaSocialLoginButtonGroup />` - 社群登入按鈕群組\n- `<NovaSocialBindingButtonGroup />` - 社群帳號綁定介面\n- `<IconFacebook />` - Facebook 圖示\n- `<IconFacebookFilled />` - Facebook 填充圖示\n- `<IconGoogle />` - Google 圖示\n- `<IconLine />` - LINE 圖示\n\n## Composables API\n\n### useSocialLogin\n\n核心 API composable，提供所有社群登入相關的 API 方法。\n\n```typescript\nconst {\n  fetchSocialLoginV2,\n  fetchCustomerSocialAccount,\n  socialBinding,\n  socialUnbinding\n} = useSocialLogin();\n\n// 驗證社群登入\nconst result = await fetchSocialLoginV2({\n  sns_type: 1, // 1: Google, 2: LINE, 3: Facebook\n  auth_code: 'xxx'\n});\n\n// 獲取用戶社群帳號列表\nconst accounts = await fetchCustomerSocialAccount();\n\n// 綁定社群帳號\nawait socialBinding({ sns_type: 1, auth_code: 'xxx' });\n\n// 解綁社群帳號\nawait socialUnbinding({ sns_type: 1 });\n```\n\n### useSocialLoginOAuth\n\n處理 OAuth 流程\n\n```typescript\nconst {\n  handleOAuthConnect,\n  setOAuthRedirectUri,\n  generateState,\n  buildOAuthUrl\n} = useSocialLoginOAuth(config);\n\n// 設定登入成功後的重定向 URL\nsetOAuthRedirectUri();\n\n// 發起 OAuth 連接\nawait handleOAuthConnect('google');\n```\n\n### useSocialBinding\n\n社群帳號綁定管理\n\n```typescript\nconst {\n  fetchCustomerSocialAccountsQuery,\n  socialBindingMutation,\n  socialUnbindingMutation,\n  isOAuthCallback\n} = useSocialBinding();\n\n// 使用 Vue Query 獲取社群帳號\nconst { data: accounts } = fetchCustomerSocialAccountsQuery();\n\n// 綁定 mutation\nconst { mutate: bind } = socialBindingMutation();\n\n// 解綁 mutation  \nconst { mutate: unbind } = socialUnbindingMutation();\n```\n\n### useSocialLoginVerification\n\n處理登入驗證流程\n\n```typescript\nconst { processLoginResult } = useSocialLoginVerification();\n\n// 處理 OAuth 回調結果\nawait processLoginResult({\n  handleExistCustomer: (data) => { /* 處理已存在用戶 */ },\n  openLoginModal: () => { /* 開啟登入彈窗 */ },\n  handleNewCustomer: (data) => { /* 處理新用戶註冊 */ },\n  handleError: (error) => { /* 錯誤處理 */ }\n});\n```\n\n### useSocialLoginButtonGroupStyle\n\n登入按鈕樣式配置\n\n```typescript\nconst {\n  containerClasses,\n  containerStyles,\n  buttonClasses,\n  buttonStyles,\n  iconClasses,\n  iconStyles,\n  textClasses,\n  textStyles,\n} = useSocialLoginButtonGroupStyle(styleConfig);\n```\n\n### useSocialBindingButtonGroupStyle\n\n綁定介面樣式配置\n\n```typescript\nconst {\n  containerClasses,\n  containerStyles,\n  cardClasses,\n  cardStyles,\n  labelClasses,\n  labelStyles,\n  buttonClasses,\n  buttonStyles,\n  bindingButtonClasses,\n  bindingButtonStyles,\n  iconClasses,\n  iconStyles,\n  textClasses,\n  textStyles,\n} = useSocialBindingButtonGroupStyle(styleConfig);\n```\n\n## 樣式配置\n\n### 社群帳號登入樣式配置\n\n組件支援通過 `style-config` prop 自訂樣式\n\n```vue\n<template>\n  <NovaSocialLoginButtonGroup \n    :social-login-config=\"storeConfigStore.socialLoginConfig\"\n    :style-config=\"customStyleConfig\"\n    :show-text=\"true\"\n  />\n</template>\n\n<script setup lang=\"ts\">\nconst customStyleConfig = {\n  // 容器樣式\n  containerClass: 'grid grid-cols-1 md:grid-cols-3 gap-6',\n  containerStyle: {\n    padding: '1rem',\n    backgroundColor: '#f9fafb'\n  },\n  \n  // 按鈕樣式\n  buttonClass: 'w-full py-3 px-6 rounded-xl font-semibold transition-all duration-200 hover:scale-105',\n  buttonStyle: {\n    boxShadow: '0 4px 12px rgba(0, 0, 0, 0.15)',\n    border: 'none'\n  },\n  \n  // 圖示樣式\n  iconClass: 'w-6 h-6',\n  iconStyle: {\n    filter: 'drop-shadow(0 2px 4px rgba(0,0,0,0.1))'\n  },\n  \n  // 文字樣式\n  textClass: 'text-lg font-medium',\n  textStyle: {\n    letterSpacing: '0.025em'\n  }\n};\n</script>\n```\n\n### 社群帳號綁定樣式配置\n\n```vue\n<template>\n  <NovaSocialBindingButtonGroup \n    :social-login-config=\"socialLoginConfig\"\n    :style-config=\"bindingStyleConfig\"\n  />\n</template>\n\n<script setup lang=\"ts\">\nconst bindingStyleConfig = {\n  // 容器樣式\n  containerClass: 'max-w-2xl mx-auto space-y-6',\n  \n  // 卡片樣式\n  cardClass: 'bg-white rounded-xl shadow-lg border border-gray-100 overflow-hidden',\n  cardStyle: {\n    transition: 'all 0.3s ease',\n  },\n  \n  // 標籤區域樣式\n  labelClass: 'flex items-center gap-4 p-6',\n  \n  // 綁定按鈕樣式\n  bindingButtonClass: 'px-6 py-2 bg-green-500 text-white rounded-lg hover:bg-green-600 transition-colors',\n  \n  // 解綁按鈕樣式\n  buttonClass: 'px-6 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors',\n  \n  // 圖示樣式\n  iconClass: 'w-8 h-8',\n  \n  // 文字樣式\n  textClass: 'text-xl font-semibold text-gray-800'\n};\n</script>\n```\n\n## Server Routes\n\n模組會自動註冊以下 server route：\n\n- **GET** `/social-login/callback` - OAuth 回調處理\n  - 此路由處理 OAuth provider 的回調，並將認證結果存儲在 cookie 中。\n\n## 組件 API 參考\n\n### NovaSocialLoginButtonGroup\n\n#### Props\n\n| 屬性 | 類型 | 預設值 | 說明 |\n|------|------|--------|------|\n| `socialLoginConfig` | `SocialLoginConfig` | - | 社群登入配置（必填） |\n| `styleConfig` | `SocialLoginButtonGroupStyleConfig` | `{}` | 樣式配置物件 |\n| `showText` | `boolean` | `false` | 是否顯示按鈕文字 |\n| `t` | `(key: string) => string` | `(key) => key` | 國際化函數 |\n\n#### Slots\n\n每個社群都有獨立的插槽，可以完全替換該社群的按鈕\n\n| 插槽名稱 | 作用域參數 | 說明 |\n|---------|------------|------|\n| `google` | `{ provider, handleOAuthLogin, clientId }` | 自定義 Google 登入按鈕 |\n| `facebook` | `{ provider, handleOAuthLogin, clientId }` | 自定義 Facebook 登入按鈕 |\n| `line` | `{ provider, handleOAuthLogin, clientId }` | 自定義 LINE 登入按鈕 |\n\n在預設按鈕內部可以自定義特定元素\n\n| 插槽名稱 | 說明 |\n|---------|------|\n| `icon` | 自定義按鈕圖示 |\n| `text` | 自定義按鈕文字 |\n\n### NovaSocialBindingButtonGroup\n\n#### Props\n\n| 屬性 | 類型 | 預設值 | 說明 |\n|------|------|--------|------|\n| `socialLoginConfig` | `SocialBindingConfig` | - | 社群登入配置（必填） |\n| `styleConfig` | `SocialBindingButtonGroupStyleConfig` | `{}` | 樣式配置物件 |\n| `t` | `(key: string) => string` | `(key) => key` | 國際化函數 |\n| `buttonSize` | `string` | `''` | 按鈕尺寸（支援 PrimeVue Button 的 size 屬性） |\n\n#### Slots\n\n每個社群都有獨立的插槽，可以完全替換該社群的綁定卡片\n\n| 插槽名稱 | 作用域參數 | 說明 |\n|---------|------------|------|\n| `google` | `{ provider, clientId }` | 自定義 Google 綁定卡片 |\n| `facebook` | `{ provider, clientId }` | 自定義 Facebook 綁定卡片 |\n| `line` | `{ provider, clientId }` | 自定義 LINE 綁定卡片 |\n\n在預設卡片內部可以自定義特定元素\n\n| 插槽名稱 | 說明 |\n|---------|------|\n| `label` | 自定義標籤區域（包含圖示和名稱） |\n| `icon` | 自定義社群圖示 |\n| `text` | 自定義社群名稱 |\n| `button` | 自定義操作按鈕 |\n\n#### Events\n\n| 事件名稱 | 參數 | 說明 |\n|---------|------|------|\n| `onBindingSuccess` | - | 帳號綁定成功 |\n| `onBindingError` | `error: Error` | 帳號綁定失敗 |\n| `onUnbindingSuccess` | - | 帳號解綁成功 |\n| `onUnbindingError` | `error: Error` | 帳號解綁失敗 |\n\n## 類型定義\n\n### SocialLoginConfig\n\n```typescript\ninterface SocialLoginConfig {\n  google?: {\n    client_id: string;\n    sort_order: number;\n    uid?: string; // 已綁定時才有\n  };\n  facebook?: {\n    client_id: string;\n    sort_order: number;\n    uid?: string;\n  };\n  line?: {\n    client_id: string;\n    sort_order: number;\n    uid?: string;\n    promote_line_oa?: boolean; // LINE 官方帳號推廣\n  };\n}\n```\n\n### SocialLoginType\n\n```typescript\nenum SocialLoginType {\n  REGULAR = 0,\n  GOOGLE = 1,\n  LINE = 2,\n  FACEBOOK = 3,\n}\n```\n\n## 授權聲明\n\n此套件僅供 Astral Web 內部使用，未經授權不得用於其他用途。\n","readmeFilename":"README.md"}