diff --git a/.gitignore b/.gitignore index fd3dbb57..00bba9bb 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,7 @@ yarn-error.log* # local env files .env*.local +.env # vercel .vercel diff --git a/next.config.mjs b/next.config.mjs index 4678774e..ed19e062 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -1,4 +1,18 @@ -/** @type {import('next').NextConfig} */ -const nextConfig = {}; +import { hostname } from "os"; + +const nextConfig = { + images: { + remotePatterns: [ + { + protocol: "https", + hostname: "images.pexels.com", + }, + { + protocol: "https", + hostname: "static.wixstatic.com", + }, + ], + }, +}; export default nextConfig; diff --git a/package-lock.json b/package-lock.json index c7877c3e..b85b0337 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,11 @@ "name": "ecomstarter", "version": "0.1.0", "dependencies": { + "@wix/bookings": "^1.0.388", + "@wix/sdk": "^1.9.8", + "@wix/stores": "^1.0.154", + "isomorphic-dompurify": "^2.12.0", + "js-cookie": "^3.0.5", "next": "14.2.2", "react": "^18", "react-dom": "^18" @@ -19,8 +24,7 @@ "eslint": "^8", "eslint-config-next": "14.2.2", "postcss": "^8", - "tailwindcss": "^3.4.1", - "typescript": "^5" + "tailwindcss": "^3.4.1" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -45,10 +49,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", - "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", - "dev": true, + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", + "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -434,8 +437,7 @@ "node_modules/@rushstack/eslint-patch": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.2.tgz", - "integrity": "sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==", - "dev": true + "integrity": "sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==" }, "node_modules/@swc/counter": { "version": "0.1.3", @@ -451,6 +453,14 @@ "tslib": "^2.4.0" } }, + "node_modules/@types/dompurify": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz", + "integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==", + "dependencies": { + "@types/trusted-types": "*" + } + }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", @@ -491,6 +501,11 @@ "@types/react": "*" } }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" + }, "node_modules/@typescript-eslint/parser": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.2.0.tgz", @@ -624,6 +639,457 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, + "node_modules/@wix/bookings": { + "version": "1.0.388", + "resolved": "https://registry.npmjs.org/@wix/bookings/-/bookings-1.0.388.tgz", + "integrity": "sha512-3qEgY/ZFSHyhb6lpMpyrq5srmWOtbEt+t125mPRKzgPMDN9daLAQ1EiJOn2AqCNt5tGLK3/KLs932Epogpy7Lw==", + "dependencies": { + "@wix/bookings_attendance": "1.0.34", + "@wix/bookings_availability-calendar": "1.0.25", + "@wix/bookings_availability-time-slots": "1.0.21", + "@wix/bookings_bookings": "1.0.36", + "@wix/bookings_categories": "1.0.26", + "@wix/bookings_extended-bookings": "1.0.25", + "@wix/bookings_external-calendars": "1.0.23", + "@wix/bookings_multi-service-availability-time-slots": "1.0.20", + "@wix/bookings_pricing": "1.0.22", + "@wix/bookings_resources": "1.0.26", + "@wix/bookings_service-options-and-variants": "1.0.32", + "@wix/bookings_services": "1.0.40" + } + }, + "node_modules/@wix/bookings_attendance": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@wix/bookings_attendance/-/bookings_attendance-1.0.34.tgz", + "integrity": "sha512-iYEKlYw+aPx7hp0xD77iMGhf4/a6v8M+PM9IkciYadt4UiEoxiCAMUzBcwXggBVZ+tSnocKncZD/uIelTbcaBA==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/bookings_availability-calendar": { + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/@wix/bookings_availability-calendar/-/bookings_availability-calendar-1.0.25.tgz", + "integrity": "sha512-+xmkqFDKjfqOOyEbPmCBVrqU2rTou8x1ELJlO6eBgx1xlZYytzVwVJ+RVnPreBzknO1C+n0nP7eZZ9QOwU96Qw==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/bookings_availability-time-slots": { + "version": "1.0.21", + "resolved": "https://registry.npmjs.org/@wix/bookings_availability-time-slots/-/bookings_availability-time-slots-1.0.21.tgz", + "integrity": "sha512-NDhDZS9luAdU1odxOa2khr+8EhpRybmMLSHZbb0C8vNPLGwB0Pz7M5fe4ma661CG7m2YMe8JV89IrjQt2JyQVw==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/bookings_bookings": { + "version": "1.0.36", + "resolved": "https://registry.npmjs.org/@wix/bookings_bookings/-/bookings_bookings-1.0.36.tgz", + "integrity": "sha512-3gryWShlW1qkFlOMN3gHlFCPfDofVy7lQOSo0d3ZllO3OtF4WfiQ+q5nmTUjxLKTTwz3Tb7JnZfHqY1oblM+7w==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/bookings_categories": { + "version": "1.0.26", + "resolved": "https://registry.npmjs.org/@wix/bookings_categories/-/bookings_categories-1.0.26.tgz", + "integrity": "sha512-RhrL7EVdcq0ftkqyXweiir9OtmFxyiUoLIt39o+M8MMoZslABvirKea+xeGwgtfpX4j2/ErU3WM8mWfnsK7SSg==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/bookings_extended-bookings": { + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/@wix/bookings_extended-bookings/-/bookings_extended-bookings-1.0.25.tgz", + "integrity": "sha512-eXgklVMz8svjpzV9dcMMfOC6cVHKoFZPk3MGkIZUJONtjD5RWP4IqD7P090nM8WlMaAKny1SGM1WOsULWfu/Lg==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/bookings_external-calendars": { + "version": "1.0.23", + "resolved": "https://registry.npmjs.org/@wix/bookings_external-calendars/-/bookings_external-calendars-1.0.23.tgz", + "integrity": "sha512-8FgJIKGbYX/V2Do9ZuhsVtQjyX52oxdMfzHS0Z/sUH5UnRsfq3Sru06qKnjQyox8nDTMa47qpxJX6XcAd30sSw==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/bookings_multi-service-availability-time-slots": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/@wix/bookings_multi-service-availability-time-slots/-/bookings_multi-service-availability-time-slots-1.0.20.tgz", + "integrity": "sha512-Xmua37ADeC2L1sxW+0cVY0JlOjIVSIwseEiwvvHdj9C5bvZqm63fAGQQJuTNOSNmGFiPMpSj3IcjoHGcP2/j/g==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/bookings_pricing": { + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/@wix/bookings_pricing/-/bookings_pricing-1.0.22.tgz", + "integrity": "sha512-ljhAP7jePEzp+IcRi+G7Hs9HH1Tt/I9qv7vtiXEKtYIjDNiuRPWIFvGjBFg52MZVRf+sjeiiS3EbWS+NLU9+ew==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/bookings_resources": { + "version": "1.0.26", + "resolved": "https://registry.npmjs.org/@wix/bookings_resources/-/bookings_resources-1.0.26.tgz", + "integrity": "sha512-kLOp88quTvvSx/E2RViEihDaAGPCd1ql0d/wmSAPzLInHC0G/X9xdu78Z+ZxbJ80TnrVXfr0MFqDQ+GWZGgLag==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/bookings_service-options-and-variants": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/@wix/bookings_service-options-and-variants/-/bookings_service-options-and-variants-1.0.32.tgz", + "integrity": "sha512-XMUgIVqlYcUG3l865HdeZN2/wCxSeIZtxDwuHeWXcmMFHsXWMYz/DEgnOzCzBEgMO6Hunkr2qWqQKYtxnfr+cA==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/bookings_services": { + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@wix/bookings_services/-/bookings_services-1.0.40.tgz", + "integrity": "sha512-F1ItTDelRVKbYlnTLifIKIKOAAnb9CRY6PpT8Rtv5N5fGCvrtxLsvjBjpRGaRfsGAKY/z6rbHuxeobPSyn128g==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/filter-builder": { + "version": "1.0.54", + "resolved": "https://registry.npmjs.org/@wix/filter-builder/-/filter-builder-1.0.54.tgz", + "integrity": "sha512-NqxzeaHfO4nmFAbgAKDztDL2E4znJ7lcHM9/7J61k5XhpWdxb+4pI5glgvcjKkUzOYXDt93YV+tbHCNNY+q9Tw==", + "dependencies": { + "@babel/runtime": "^7.22.15", + "kind-of": "~5.1.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@wix/identity": { + "version": "1.0.81", + "resolved": "https://registry.npmjs.org/@wix/identity/-/identity-1.0.81.tgz", + "integrity": "sha512-eAY+ktVX3xim15ScX2/xJOLoa0dUmcGhdPNsXYmDNWwVFW67Tu/tCmRbR+kyVT4yFmIFs1Wj6r2qg6xzYEqabg==", + "dependencies": { + "@wix/identity_authentication": "1.0.11", + "@wix/identity_oauth": "1.0.9", + "@wix/identity_recovery": "1.0.9", + "@wix/identity_verification": "1.0.9" + } + }, + "node_modules/@wix/identity_authentication": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@wix/identity_authentication/-/identity_authentication-1.0.11.tgz", + "integrity": "sha512-D9ISXS4OnTLWw9C/wfqq+0BYaUbARFqXO9rUS54i1gFGwELpyE63k/c1BXT2G1Q47v+XID1OzWjP8nVeDua0vg==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.10", + "@wix/sdk-types": "^1.5.11" + } + }, + "node_modules/@wix/identity_oauth": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@wix/identity_oauth/-/identity_oauth-1.0.9.tgz", + "integrity": "sha512-wNSJm9nlV+rIg0Ms1kK6jS0/AqQ3jd0Gc+4s+p9CPmFK9HOmBP9p1LfmEMZ49ewPjaaBtc69YCtZMFYc40uhHA==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.10", + "@wix/sdk-types": "^1.5.11" + } + }, + "node_modules/@wix/identity_recovery": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@wix/identity_recovery/-/identity_recovery-1.0.9.tgz", + "integrity": "sha512-mrZNV3VckdwSabhGop4kHjRTBUZ4Sx9QDKlatiUbWqASiUq+RXHFiVtQiaweZ3uV/SqUhci98q9Fq1JCLUghPg==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.10", + "@wix/sdk-types": "^1.5.11" + } + }, + "node_modules/@wix/identity_verification": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@wix/identity_verification/-/identity_verification-1.0.9.tgz", + "integrity": "sha512-HDRrVu/5orvz2jYcSLUbxRzDge7KnBdIc5XJl4nPpMqFWKD/shgR+BOCJCDobeC56WcU8h463s6Ise9YvsQVVg==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.10", + "@wix/sdk-types": "^1.5.11" + } + }, + "node_modules/@wix/image-kit": { + "version": "1.69.0", + "resolved": "https://registry.npmjs.org/@wix/image-kit/-/image-kit-1.69.0.tgz", + "integrity": "sha512-qGWyuglElctVxBMXdfAkCZj9bCpSDALDlHMIbwmxsA10fiOqOF4wbZHWB+9ivriZzaLEpQJMKODrrMAehR8NJw==", + "dependencies": { + "@babel/runtime": "^7.24.7", + "tslib": "^2.6.3" + } + }, + "node_modules/@wix/metro-public-utils": { + "version": "1.0.30", + "resolved": "https://registry.npmjs.org/@wix/metro-public-utils/-/metro-public-utils-1.0.30.tgz", + "integrity": "sha512-mUOwyiAmzrzrFKrGJS13XmVHLFKcRrRednnbQBOodQJbwA/tZS9VbMIevJ5znTxYXmEQM6oJZ3+gndqNS+5LJg==", + "dependencies": { + "@babel/runtime": "^7.0.0" + } + }, + "node_modules/@wix/metro-runtime": { + "version": "1.1701.0", + "resolved": "https://registry.npmjs.org/@wix/metro-runtime/-/metro-runtime-1.1701.0.tgz", + "integrity": "sha512-Bv5FIIfH19vtrfhtRJcDh5h5R+1lepkDiD68n2t5xhn/9WNaVd6gwR9MazxasOJY9PFCghqozHMQ2hpato3NYg==", + "dependencies": { + "@wix/metro-public-utils": "1.0.30", + "@wix/motion-edm-autogen-p13n": "1.0.65", + "@wix/motion-edm-autogen-transformations": "1.53.0", + "@wix/motion-edm-autogen-transformations-core": "1.49.0", + "js-base64": "^3.7.7", + "lodash": "^4.17.21", + "long": "^4.0.0", + "querystring": "^0.2.1" + } + }, + "node_modules/@wix/motion-edm-autogen-common": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/@wix/motion-edm-autogen-common/-/motion-edm-autogen-common-1.45.0.tgz", + "integrity": "sha512-85nJ6RNUKvoMJom0zAPSYvbIYM5WgHv16wgsTStFKs5iqRAYxJHs4K10/MH49+Ce/2Biv6xk/+UnZnmO3JzcZA==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@wix/motion-edm-autogen-types": "1.0.33", + "lodash": "~4.17.0", + "tslib": "^2.0.0" + } + }, + "node_modules/@wix/motion-edm-autogen-p13n": { + "version": "1.0.65", + "resolved": "https://registry.npmjs.org/@wix/motion-edm-autogen-p13n/-/motion-edm-autogen-p13n-1.0.65.tgz", + "integrity": "sha512-9itw9VtnRAGa46aJBAvYBIcDh1T1S2u21zitjtpnNGUMFXcearERSGN4/1wNGtZ1n/ooKrp6vvJJ/vUkhU8onQ==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@wix/motion-edm-autogen-types": "1.0.33", + "lodash": "~4.17.0" + } + }, + "node_modules/@wix/motion-edm-autogen-query-wrapper": { + "version": "1.0.80", + "resolved": "https://registry.npmjs.org/@wix/motion-edm-autogen-query-wrapper/-/motion-edm-autogen-query-wrapper-1.0.80.tgz", + "integrity": "sha512-uka4PmpVTEFx4Pz8WUv1S+mAbkAO+ta2oHwZxULwovDwmTwQsi56QdUsIUNHfVQw80cqgqWifBzL2HI/9ayRpQ==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@wix/filter-builder": "^1.0.54", + "@wix/motion-edm-autogen-common": "1.45.0", + "@wix/motion-edm-autogen-transformations-core": "1.49.0", + "lodash": "~4.17.0", + "long": "~4.0.0", + "tslib": "^2.0.0" + } + }, + "node_modules/@wix/motion-edm-autogen-transformations": { + "version": "1.53.0", + "resolved": "https://registry.npmjs.org/@wix/motion-edm-autogen-transformations/-/motion-edm-autogen-transformations-1.53.0.tgz", + "integrity": "sha512-Smnj3mZ1zhwABmtVGoNbe3wkyBWTBFOReZgJDxqHAsGFG6Owd7CpkfijpYB3hJvP8ESPESusbqBSoteIvyR2dA==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@rushstack/eslint-patch": "^1.1.0", + "@wix/motion-edm-autogen-common": "1.45.0", + "@wix/motion-edm-autogen-transformations-core": "1.49.0", + "constant-case": "~3.0.0", + "deep-for-each": "~3.0.0", + "http-status-codes": "^2.0.0", + "js-yaml": "~4.1.0", + "jsonpath-plus": "~5.1.0", + "lodash": "~4.17.0", + "tslib": "^2.0.0" + } + }, + "node_modules/@wix/motion-edm-autogen-transformations-core": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/@wix/motion-edm-autogen-transformations-core/-/motion-edm-autogen-transformations-core-1.49.0.tgz", + "integrity": "sha512-CYCbJCZoMBQvy++1UZsIrVFuFaY3HaQVvh+jQfFj+Sck29ofJv6HcopeFVZvbC/JhO/Uzt9k1KPs4GWdh9Etmw==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@rushstack/eslint-patch": "^1.1.0", + "@wix/motion-edm-autogen-common": "1.45.0", + "constant-case": "~3.0.0", + "deep-for-each": "~3.0.0", + "jsonpath-plus": "~5.1.0", + "lodash": "~4.17.0", + "tslib": "^2.0.0" + } + }, + "node_modules/@wix/motion-edm-autogen-types": { + "version": "1.0.33", + "resolved": "https://registry.npmjs.org/@wix/motion-edm-autogen-types/-/motion-edm-autogen-types-1.0.33.tgz", + "integrity": "sha512-xdrWPU6bZkuc46HOYkpVE4TYLvVC+SztlmiisbyhD4c0URkX4pbu4Ux2lg5G+KTk/gzW5RTU61EFIgTF2p6uDQ==" + }, + "node_modules/@wix/redirects": { + "version": "1.0.48", + "resolved": "https://registry.npmjs.org/@wix/redirects/-/redirects-1.0.48.tgz", + "integrity": "sha512-UE1lTEatYvm9mHlptXXfvLFsZpRjE3HesQN566mtUW6esHkofGDt+5LNDYo2ofxmYrm2NqWwSjGebFeB1oR1rA==", + "dependencies": { + "@wix/redirects_redirects": "1.0.18" + } + }, + "node_modules/@wix/redirects_redirects": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@wix/redirects_redirects/-/redirects_redirects-1.0.18.tgz", + "integrity": "sha512-PO8miGXr2FLajVzuECW3AIDMdNXk6tGdP04sm95KhaIc/NXEaOUC9FJ1KZcWUTOinXskybL1fZQu9WwZziB5sw==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/sdk": { + "version": "1.9.8", + "resolved": "https://registry.npmjs.org/@wix/sdk/-/sdk-1.9.8.tgz", + "integrity": "sha512-D4jRMN8Qs01NS5B7pJvhLct9MBcB6fP8AGs2yhJroRz5ZBtitqu6KpNhY/LmX9f+xEy/AG65FDSNDMVinZm37w==", + "dependencies": { + "@babel/runtime": "^7.23.2", + "@wix/identity": "^1.0.78", + "@wix/image-kit": "^1.68.0", + "@wix/redirects": "^1.0.41", + "@wix/sdk-types": "^1.7.2", + "crypto-js": "^4.2.0", + "jose": "^5.2.1", + "pkce-challenge": "^3.1.0", + "querystring": "^0.2.1", + "type-fest": "^4.9.0" + }, + "optionalDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@wix/sdk-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@wix/sdk-runtime/-/sdk-runtime-0.2.12.tgz", + "integrity": "sha512-HpZ/HWlQ4r3X8EVHtbe4t2QUk1xu0EvYHl3uTNVklFIXYY66Ag0Yu29x4F9Q/+NrC4rgDs64r+H+sGPb81MEVQ==", + "dependencies": { + "@wix/sdk-types": "^1.7.0" + } + }, + "node_modules/@wix/sdk-types": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@wix/sdk-types/-/sdk-types-1.7.2.tgz", + "integrity": "sha512-HaxWyvDzxxnmyXLVJ2uogdTHqvY55zlss0YqDJUh0r73RY82vCA+QKSPym7SAKVXU0H2pq7D53i7VKAu3Jw48Q==" + }, + "node_modules/@wix/sdk/node_modules/type-fest": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.20.0.tgz", + "integrity": "sha512-MBh+PHUHHisjXf4tlx0CFWoMdjx8zCMLJHOjnV1prABYZFHqtFOyauCIK2/7w4oIfwkF8iNhLtnJEfVY2vn3iw==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@wix/stores": { + "version": "1.0.154", + "resolved": "https://registry.npmjs.org/@wix/stores/-/stores-1.0.154.tgz", + "integrity": "sha512-PoRiGeZbW6/YqB6AGwS3bNX8dYpIUOuW+7OScKC7Xbt9jCPo8jeVDuWDcMtY58O4yTwfo/I02GDrnd/cIPRdaw==", + "dependencies": { + "@wix/stores_collections": "1.0.19", + "@wix/stores_inventory": "1.0.19", + "@wix/stores_products": "1.0.26", + "@wix/stores_subscription-options": "1.0.15", + "@wix/stores_wishlist": "1.0.15" + } + }, + "node_modules/@wix/stores_collections": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/@wix/stores_collections/-/stores_collections-1.0.19.tgz", + "integrity": "sha512-teiEjA8N3hYE9iVkpVd8Rsq9Y4uG/bbzXKKitwrrql6SYl2DKr97beV1AKfe18VmOZF+DRfgi4pQgQzN8Nkmfw==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/stores_inventory": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/@wix/stores_inventory/-/stores_inventory-1.0.19.tgz", + "integrity": "sha512-6MJFPpUpq6LpABP2B4fV1xHf4KlSh8jPb6yp19sSpoXFf3lYX2VSmduSuXzoRi2AdOnk2gyTo2HCc7Vdgx6JLw==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/stores_products": { + "version": "1.0.26", + "resolved": "https://registry.npmjs.org/@wix/stores_products/-/stores_products-1.0.26.tgz", + "integrity": "sha512-pyC4Sbt01vUlnuf1Ou7x3DhoyFXHFZwce6WAX3Go+xy+0PhHebva+HuxNLbn6x1Z0x67VZaH4UkQXVB6NKgM7w==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/stores_subscription-options": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@wix/stores_subscription-options/-/stores_subscription-options-1.0.15.tgz", + "integrity": "sha512-2rfrEwdi+Wsbm7Zqw6PuFdlTrZSfMYSBoFkUNN6oTggDVJ5it4VHb15Gy2v8FpQWxNTFtEDC6WG7HZGENJhK0Q==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, + "node_modules/@wix/stores_wishlist": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@wix/stores_wishlist/-/stores_wishlist-1.0.15.tgz", + "integrity": "sha512-XqTsbi8fO1cicmCkVPA56l1DrIkimvMCd9Xor+wIXw9fyeR3Ovf+RuwJNg6uag7Rq1SNiLWFKJHBCr9YgeSoMw==", + "dependencies": { + "@wix/metro-runtime": "^1.1696.0", + "@wix/motion-edm-autogen-query-wrapper": "^1.0.37", + "@wix/sdk-runtime": "^0.2.12", + "@wix/sdk-types": "^1.7.1" + } + }, "node_modules/acorn": { "version": "8.11.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", @@ -645,6 +1111,17 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -713,8 +1190,7 @@ "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/aria-query": { "version": "5.3.0", @@ -899,6 +1375,11 @@ "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", "dev": true }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -1114,6 +1595,17 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", @@ -1129,6 +1621,16 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/constant-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", + "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case": "^2.0.2" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1143,6 +1645,11 @@ "node": ">= 8" } }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -1155,6 +1662,22 @@ "node": ">=4" } }, + "node_modules/cssstyle": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.0.1.tgz", + "integrity": "sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==", + "dependencies": { + "rrweb-cssom": "^0.6.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cssstyle/node_modules/rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==" + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -1167,6 +1690,18 @@ "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true }, + "node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/data-view-buffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", @@ -1222,7 +1757,6 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -1235,6 +1769,19 @@ } } }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/deep-for-each": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/deep-for-each/-/deep-for-each-3.0.0.tgz", + "integrity": "sha512-pPN+0f8jlnNP+z90qqOdxGghJU5XM6oBDhvAR+qdQzjCg5pk/7VPPvKK1GqoXEFkHza6ZS+Otzzvmr0g3VUaKw==", + "dependencies": { + "lodash.isplainobject": "^4.0.6" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -1275,6 +1822,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -1320,6 +1875,11 @@ "node": ">=6.0.0" } }, + "node_modules/dompurify": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.5.tgz", + "integrity": "sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA==" + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -1345,6 +1905,17 @@ "node": ">=10.13.0" } }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/es-abstract": { "version": "1.23.3", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", @@ -2067,6 +2638,19 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2302,6 +2886,15 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "node_modules/graphql": { + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", + "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", + "optional": true, + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -2383,6 +2976,57 @@ "node": ">= 0.4" } }, + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http-status-codes": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-2.3.0.tgz", + "integrity": "sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==" + }, + "node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", @@ -2686,6 +3330,11 @@ "node": ">=8" } }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -2826,6 +3475,19 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "node_modules/isomorphic-dompurify": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/isomorphic-dompurify/-/isomorphic-dompurify-2.12.0.tgz", + "integrity": "sha512-jJm6VgJ9toBLqNUHuLudn+2Q3NBBaoPbsh5SzzO2dp9Zq9+p6fEg4Ffuq9RZsofb8OnqE6FJVVq3MRDLlmBHpA==", + "dependencies": { + "@types/dompurify": "^3.0.5", + "dompurify": "^3.1.5", + "jsdom": "^24.1.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/iterator.prototype": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", @@ -2866,6 +3528,27 @@ "jiti": "bin/jiti.js" } }, + "node_modules/jose": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/jose/-/jose-5.4.0.tgz", + "integrity": "sha512-6rpxTHPAQyWMb9A35BroFl1Sp0ST3DpPcm5EVIxZxdH+e0Hv9fwhyB3XLKFUcHNpdSDnETmBfuPPTTlYz5+USw==", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/js-base64": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.7.tgz", + "integrity": "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==" + }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "engines": { + "node": ">=14" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -2875,7 +3558,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, "dependencies": { "argparse": "^2.0.1" }, @@ -2883,6 +3565,45 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsdom": { + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.0.tgz", + "integrity": "sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==", + "dependencies": { + "cssstyle": "^4.0.1", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.4", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.10", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.7.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.4", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.17.0", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "canvas": "^2.11.2" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -2913,6 +3634,14 @@ "json5": "lib/cli.js" } }, + "node_modules/jsonpath-plus": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-5.1.0.tgz", + "integrity": "sha512-890w2Pjtj0iswAxalRlt2kHthi6HKrXEfZcn+ZNZptv7F3rUGIeDuZo+C+h4vXBHLEsVjJrHeCm35nYeZLzSBQ==", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -2937,6 +3666,14 @@ "json-buffer": "3.0.1" } }, + "node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/language-subtag-registry": { "version": "0.3.22", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", @@ -2998,12 +3735,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -3015,6 +3767,14 @@ "loose-envify": "cli.js" } }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, "node_modules/lru-cache": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", @@ -3046,6 +3806,25 @@ "node": ">=8.6" } }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -3079,8 +3858,7 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/mz": { "version": "2.7.0", @@ -3192,6 +3970,15 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -3201,6 +3988,11 @@ "node": ">=0.10.0" } }, + "node_modules/nwsapi": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.10.tgz", + "integrity": "sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==" + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -3403,6 +4195,17 @@ "node": ">=6" } }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -3496,6 +4299,14 @@ "node": ">= 6" } }, + "node_modules/pkce-challenge": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-3.1.0.tgz", + "integrity": "sha512-bQ/0XPZZ7eX+cdAkd61uYWpfMhakH3NeteUF1R8GNa+LMqX8QFAkbCLqq+AYAns1/ueACBu/BMWhrlKGrdvGZg==", + "dependencies": { + "crypto-js": "^4.1.1" + } + }, "node_modules/possible-typed-array-names": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", @@ -3674,15 +4485,33 @@ "react-is": "^16.13.1" } }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, "engines": { "node": ">=6" } }, + "node_modules/querystring": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -3777,8 +4606,7 @@ "node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regexp.prototype.flags": { "version": "1.5.2", @@ -3798,6 +4626,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -3878,6 +4711,11 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rrweb-cssom": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", + "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==" + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -3936,6 +4774,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, "node_modules/scheduler": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", @@ -4333,6 +5187,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, "node_modules/tailwindcss": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", @@ -4418,6 +5277,31 @@ "node": ">=8.0" } }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz", + "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/ts-api-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", @@ -4449,9 +5333,9 @@ } }, "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "node_modules/type-check": { "version": "0.4.0", @@ -4555,6 +5439,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "dev": true, + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4584,6 +5469,22 @@ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", + "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -4593,12 +5494,71 @@ "punycode": "^2.1.0" } }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz", + "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==", + "dependencies": { + "tr46": "^5.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -4793,6 +5753,39 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "node_modules/ws": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz", + "integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "engines": { + "node": ">=18" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", diff --git a/package.json b/package.json index ed7551a4..2dfdfb70 100644 --- a/package.json +++ b/package.json @@ -9,18 +9,22 @@ "lint": "next lint" }, "dependencies": { + "@wix/bookings": "^1.0.388", + "@wix/sdk": "^1.9.8", + "@wix/stores": "^1.0.154", + "isomorphic-dompurify": "^2.12.0", + "js-cookie": "^3.0.5", + "next": "14.2.2", "react": "^18", - "react-dom": "^18", - "next": "14.2.2" + "react-dom": "^18" }, "devDependencies": { - "typescript": "^5", "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", - "postcss": "^8", - "tailwindcss": "^3.4.1", "eslint": "^8", - "eslint-config-next": "14.2.2" + "eslint-config-next": "14.2.2", + "postcss": "^8", + "tailwindcss": "^3.4.1" } } diff --git a/public/logo.png b/public/logo.png index b80850d5..7a97492f 100644 Binary files a/public/logo.png and b/public/logo.png differ diff --git a/src/app/favicon.ico b/src/app/favicon.ico index 1b59cd8d..49dbb0f6 100644 Binary files a/src/app/favicon.ico and b/src/app/favicon.ico differ diff --git a/src/app/globals.css b/src/app/globals.css index bd6213e1..4df2f902 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -1,3 +1,43 @@ @tailwind base; @tailwind components; -@tailwind utilities; \ No newline at end of file +@tailwind utilities; + +body { + background: #f8f8f8; + text-color: #0c0c0c; +} + +/* Apply scrollbar styling to the entire document */ +html { + scroll-behavior: smooth; + scrollbar-width: thin; /* For Firefox */ + scrollbar-color: #545454 #303030; /* For Firefox */ +} + +body::-webkit-scrollbar { + width: 10px; /* Width of the vertical scrollbar */ + height: 8px; /* Height of the horizontal scrollbar */ +} + +body::-webkit-scrollbar-thumb { + background: #545454; /* Color of the scrollbar thumb */ + border-radius: 50px; /* Roundness of the scrollbar thumb */ +} + +body::-webkit-scrollbar-track { + background: #303030; /* Color of the scrollbar track */ +} + +/* Optional: Add hover effects for better UX */ +body::-webkit-scrollbar-thumb:hover { + background: #707070; /* Change thumb color on hover */ +} + +/* Hide scrollbar for the x of the category list */ +.scrollbar-hide::webkit-scrollbar { + display: none; +} + +.scrollbar-hide { + scrollbar-width: none; +} diff --git a/src/app/layout.js b/src/app/layout.js new file mode 100644 index 00000000..207e0967 --- /dev/null +++ b/src/app/layout.js @@ -0,0 +1,26 @@ +import { Cinzel } from "next/font/google"; +import "./globals.css"; +import Navbar from "../components/Navbar"; +import Footer from "../components/Footer"; +import { WixClientContextProvider } from "../context/wixContext"; + +const cinzel = Cinzel({ weight: "500", subsets: ["latin"] }); + +export const metadata = { + title: "Eleganza E-Commerce ", + description: "A complete e-commerce application with Next.js and Wix", +}; + +export default function RootLayout({ children }) { + return ( + +
+{product.items[0].description}
+ + {product.items[0].price?.price === + product.items[0].price?.discountedPrice ? ( +{additionalInfo.description}
+ ++ mur-equipement-materiel-loisir +
+