@faststore/core 2.0.160-alpha.0 → 2.0.163-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@generated/graphql/index.ts +63 -6
- package/@generated/graphql/persisted.json +2 -2
- package/CHANGELOG.md +10 -0
- package/package.json +4 -4
- package/src/sdk/session/index.ts +4 -0
- package/src/sdk/shipping/index.ts +6 -0
- package/.next/BUILD_ID +0 -1
- package/.next/build-manifest.json +0 -132
- package/.next/cache/.tsbuildinfo +0 -1
- package/.next/cache/config.json +0 -7
- package/.next/cache/eslint/.cache_1gneedd +0 -1
- package/.next/cache/next-server.js.nft.json +0 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/export-marker.json +0 -1
- package/.next/images-manifest.json +0 -1
- package/.next/next-server.js.nft.json +0 -1
- package/.next/package.json +0 -1
- package/.next/prerender-manifest.json +0 -1
- package/.next/react-loadable-manifest.json +0 -48
- package/.next/required-server-files.json +0 -1
- package/.next/routes-manifest.json +0 -1
- package/.next/server/chunks/123.js +0 -58
- package/.next/server/chunks/143.js +0 -106
- package/.next/server/chunks/183.js +0 -83
- package/.next/server/chunks/205.js +0 -692
- package/.next/server/chunks/247.js +0 -61
- package/.next/server/chunks/280.js +0 -324
- package/.next/server/chunks/287.js +0 -58
- package/.next/server/chunks/289.js +0 -229
- package/.next/server/chunks/312.js +0 -697
- package/.next/server/chunks/336.js +0 -821
- package/.next/server/chunks/350.js +0 -143
- package/.next/server/chunks/368.js +0 -253
- package/.next/server/chunks/401.js +0 -7241
- package/.next/server/chunks/431.js +0 -7241
- package/.next/server/chunks/502.js +0 -600
- package/.next/server/chunks/576.js +0 -83
- package/.next/server/chunks/597.js +0 -169
- package/.next/server/chunks/608.js +0 -644
- package/.next/server/chunks/644.js +0 -235
- package/.next/server/chunks/664.js +0 -3401
- package/.next/server/chunks/676.js +0 -32
- package/.next/server/chunks/701.js +0 -87
- package/.next/server/chunks/74.js +0 -2710
- package/.next/server/chunks/82.js +0 -371
- package/.next/server/chunks/854.js +0 -72
- package/.next/server/chunks/859.js +0 -959
- package/.next/server/chunks/874.js +0 -487
- package/.next/server/chunks/886.js +0 -120
- package/.next/server/chunks/907.js +0 -1803
- package/.next/server/chunks/970.js +0 -200
- package/.next/server/chunks/98.js +0 -124
- package/.next/server/chunks/font-manifest.json +0 -1
- package/.next/server/font-manifest.json +0 -1
- package/.next/server/middleware-build-manifest.js +0 -1
- package/.next/server/middleware-manifest.json +0 -6
- package/.next/server/middleware-react-loadable-manifest.js +0 -1
- package/.next/server/pages/404.js +0 -393
- package/.next/server/pages/404.js.nft.json +0 -1
- package/.next/server/pages/500.js +0 -395
- package/.next/server/pages/500.js.nft.json +0 -1
- package/.next/server/pages/[...slug].js +0 -730
- package/.next/server/pages/[...slug].js.nft.json +0 -1
- package/.next/server/pages/[slug]/p.js +0 -2476
- package/.next/server/pages/[slug]/p.js.nft.json +0 -1
- package/.next/server/pages/_app.js +0 -368
- package/.next/server/pages/_app.js.nft.json +0 -1
- package/.next/server/pages/_document.js +0 -304
- package/.next/server/pages/_document.js.nft.json +0 -1
- package/.next/server/pages/_error.js +0 -164
- package/.next/server/pages/_error.js.nft.json +0 -1
- package/.next/server/pages/account.js +0 -370
- package/.next/server/pages/account.js.nft.json +0 -1
- package/.next/server/pages/api/graphql.js +0 -316
- package/.next/server/pages/api/graphql.js.nft.json +0 -1
- package/.next/server/pages/api/preview.js +0 -118
- package/.next/server/pages/api/preview.js.nft.json +0 -1
- package/.next/server/pages/checkout.js +0 -370
- package/.next/server/pages/checkout.js.nft.json +0 -1
- package/.next/server/pages/en-US/404.html +0 -81
- package/.next/server/pages/en-US/404.json +0 -1
- package/.next/server/pages/en-US/500.html +0 -81
- package/.next/server/pages/en-US/500.json +0 -1
- package/.next/server/pages/en-US/account.html +0 -81
- package/.next/server/pages/en-US/account.json +0 -1
- package/.next/server/pages/en-US/checkout.html +0 -81
- package/.next/server/pages/en-US/checkout.json +0 -1
- package/.next/server/pages/en-US/login.html +0 -81
- package/.next/server/pages/en-US/login.json +0 -1
- package/.next/server/pages/en-US/s.html +0 -81
- package/.next/server/pages/en-US/s.json +0 -1
- package/.next/server/pages/en-US.html +0 -81
- package/.next/server/pages/en-US.json +0 -1
- package/.next/server/pages/index.js +0 -966
- package/.next/server/pages/index.js.nft.json +0 -1
- package/.next/server/pages/login.js +0 -375
- package/.next/server/pages/login.js.nft.json +0 -1
- package/.next/server/pages/s.js +0 -473
- package/.next/server/pages/s.js.nft.json +0 -1
- package/.next/server/pages-manifest.json +0 -16
- package/.next/server/webpack-api-runtime.js +0 -229
- package/.next/server/webpack-runtime.js +0 -229
- package/.next/static/9Z3xVhoJIqh8f9hFyGdI1/_buildManifest.js +0 -1
- package/.next/static/9Z3xVhoJIqh8f9hFyGdI1/_ssgManifest.js +0 -1
- package/.next/static/chunks/0-82274e07cb857231.js +0 -1
- package/.next/static/chunks/143.dd8a556e6957baa1.js +0 -1
- package/.next/static/chunks/226.b57e10ad9932f88c.js +0 -1
- package/.next/static/chunks/240-8e66b2892f9d8c40.js +0 -1
- package/.next/static/chunks/336.0846f48eccce57e4.js +0 -1
- package/.next/static/chunks/377-891ff95d759cb061.js +0 -1
- package/.next/static/chunks/391-47b923ef44945418.js +0 -1
- package/.next/static/chunks/495.0ecd099878b2a36d.js +0 -1
- package/.next/static/chunks/502.eeca300cb9a355fb.js +0 -1
- package/.next/static/chunks/545-1d3d08edfd2ee4c6.js +0 -1
- package/.next/static/chunks/597.57a8984b6a1071ae.js +0 -1
- package/.next/static/chunks/64.ebbe1d2b40f980c7.js +0 -1
- package/.next/static/chunks/651.7142f31ce1e052b3.js +0 -1
- package/.next/static/chunks/741.52f7fb873418346f.js +0 -1
- package/.next/static/chunks/98.97381d2021f86cd9.js +0 -1
- package/.next/static/chunks/framework-dfd14d7ce6600b03.js +0 -1
- package/.next/static/chunks/main-fd466221927468fd.js +0 -1
- package/.next/static/chunks/pages/404-459452495a0df278.js +0 -1
- package/.next/static/chunks/pages/500-008e30c48eceebed.js +0 -1
- package/.next/static/chunks/pages/[...slug]-e9d8386ff5e56d85.js +0 -1
- package/.next/static/chunks/pages/[slug]/p-8346514a688bf869.js +0 -1
- package/.next/static/chunks/pages/_app-f06fabc4661b3348.js +0 -1
- package/.next/static/chunks/pages/_error-a7a0c1d9bfbb4f38.js +0 -1
- package/.next/static/chunks/pages/account-46263f0c100c3eae.js +0 -1
- package/.next/static/chunks/pages/checkout-20bb3710b24df3b6.js +0 -1
- package/.next/static/chunks/pages/index-2006be8f08ad057f.js +0 -1
- package/.next/static/chunks/pages/login-f9d316d261fcc062.js +0 -1
- package/.next/static/chunks/pages/s-1cbe740b5b781d28.js +0 -1
- package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
- package/.next/static/chunks/webpack-e9bf82a67cc08d0f.js +0 -1
- package/.next/static/css/13a4da555ff5e3be.css +0 -1
- package/.next/static/css/287f5ba239375052.css +0 -1
- package/.next/static/css/28d7d73e13e2bc1d.css +0 -1
- package/.next/static/css/2e00f7ba49c754b3.css +0 -1
- package/.next/static/css/47d82dcec9a7dbc2.css +0 -1
- package/.next/static/css/6e41f1b6078c14c1.css +0 -1
- package/.next/static/css/7d822a137c54a781.css +0 -1
- package/.next/static/css/c6f97f692b2efad9.css +0 -1
- package/.next/static/css/d4a0d9df8c6df555.css +0 -1
- package/.next/static/css/e02cdad8fc000339.css +0 -1
- package/.next/trace +0 -69
- package/public/~partytown/debug/partytown-atomics.js +0 -556
- package/public/~partytown/debug/partytown-media.js +0 -374
- package/public/~partytown/debug/partytown-sandbox-sw.js +0 -543
- package/public/~partytown/debug/partytown-sw.js +0 -59
- package/public/~partytown/debug/partytown-ww-atomics.js +0 -1789
- package/public/~partytown/debug/partytown-ww-sw.js +0 -1781
- package/public/~partytown/debug/partytown.js +0 -72
- package/public/~partytown/partytown-atomics.js +0 -2
- package/public/~partytown/partytown-media.js +0 -2
- package/public/~partytown/partytown-sw.js +0 -2
- package/public/~partytown/partytown.js +0 -2
|
@@ -1,821 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.id = 336;
|
|
3
|
-
exports.ids = [336];
|
|
4
|
-
exports.modules = {
|
|
5
|
-
|
|
6
|
-
/***/ 7578:
|
|
7
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
8
|
-
|
|
9
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
10
|
-
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
11
|
-
/* harmony export */ });
|
|
12
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
|
|
13
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
14
|
-
/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2709);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const Button = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Button({ children, variant, inverse, size = 'regular', testId = 'fs-button', loading, loadingLabel, icon, iconPosition = 'left', disabled, ...otherProps }, ref) {
|
|
18
|
-
return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", { ref: ref, "data-fs-button": true, "data-fs-button-inverse": inverse, "data-fs-button-size": size, "data-fs-button-loading": loading, "data-fs-button-variant": variant, disabled: disabled, "data-testid": testId, ...otherProps },
|
|
19
|
-
react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { "data-fs-button-wrapper": true },
|
|
20
|
-
loading && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", { "data-fs-button-loading-label": true },
|
|
21
|
-
loadingLabel,
|
|
22
|
-
react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { variant: variant === 'primary' && !inverse ? 'light' : 'dark' }))),
|
|
23
|
-
!!icon && iconPosition === 'left' && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", { "data-fs-button-icon": true }, icon)),
|
|
24
|
-
children && react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", null, children),
|
|
25
|
-
!!icon && iconPosition === 'right' && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", { "data-fs-button-icon": true }, icon)))));
|
|
26
|
-
});
|
|
27
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Button);
|
|
28
|
-
//# sourceMappingURL=Button.js.map
|
|
29
|
-
|
|
30
|
-
/***/ }),
|
|
31
|
-
|
|
32
|
-
/***/ 5045:
|
|
33
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
34
|
-
|
|
35
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
36
|
-
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
37
|
-
/* harmony export */ });
|
|
38
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
|
|
39
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
40
|
-
|
|
41
|
-
const mapWeightToValue = {
|
|
42
|
-
bold: 24,
|
|
43
|
-
regular: 16,
|
|
44
|
-
light: 12,
|
|
45
|
-
thin: 8,
|
|
46
|
-
};
|
|
47
|
-
const Icon = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Icon({ testId = 'fs-icon', name, weight = 'regular', ...otherProps }, ref) {
|
|
48
|
-
const { width, height } = otherProps;
|
|
49
|
-
return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("svg", { ref: ref, "data-fs-icon": true, "data-testid": testId, width: width ?? 24, height: height ?? 24, strokeWidth: mapWeightToValue[weight], ...otherProps },
|
|
50
|
-
react__WEBPACK_IMPORTED_MODULE_0___default().createElement("use", { href: `/icons.svg#${name}` })));
|
|
51
|
-
});
|
|
52
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Icon);
|
|
53
|
-
//# sourceMappingURL=Icon.js.map
|
|
54
|
-
|
|
55
|
-
/***/ }),
|
|
56
|
-
|
|
57
|
-
/***/ 875:
|
|
58
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
59
|
-
|
|
60
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
61
|
-
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
62
|
-
/* harmony export */ });
|
|
63
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
|
|
64
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
65
|
-
|
|
66
|
-
const Input = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Input({ testId = 'fs-input', ...otherProps }, ref) {
|
|
67
|
-
return react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", { ref: ref, "data-fs-input": true, "data-testid": testId, ...otherProps });
|
|
68
|
-
});
|
|
69
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Input);
|
|
70
|
-
//# sourceMappingURL=Input.js.map
|
|
71
|
-
|
|
72
|
-
/***/ }),
|
|
73
|
-
|
|
74
|
-
/***/ 7865:
|
|
75
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
76
|
-
|
|
77
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
78
|
-
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
79
|
-
/* harmony export */ });
|
|
80
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
|
|
81
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
82
|
-
|
|
83
|
-
const Link = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Link({ as, children, variant = 'default', size = 'regular', inverse, testId = 'fs-link', ...otherProps }, ref) {
|
|
84
|
-
const Component = as ?? 'a';
|
|
85
|
-
return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Component, { ref: ref, "data-fs-link": true, "data-fs-link-variant": variant, "data-fs-link-inverse": inverse, "data-fs-link-size": size, "data-testid": testId, ...otherProps }, children));
|
|
86
|
-
});
|
|
87
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Link);
|
|
88
|
-
//# sourceMappingURL=Link.js.map
|
|
89
|
-
|
|
90
|
-
/***/ }),
|
|
91
|
-
|
|
92
|
-
/***/ 2709:
|
|
93
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
94
|
-
|
|
95
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
96
|
-
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
97
|
-
/* harmony export */ });
|
|
98
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
|
|
99
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
100
|
-
|
|
101
|
-
const Loader = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Loader({ variant = 'dark', testId = 'fs-loader', ...otherProps }, ref) {
|
|
102
|
-
return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", { ref: ref, "data-fs-loader": true, "data-fs-loader-variant": variant, "data-testid": testId, ...otherProps },
|
|
103
|
-
react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", { "data-fs-loader-item": true }),
|
|
104
|
-
react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", { "data-fs-loader-item": true }),
|
|
105
|
-
react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", { "data-fs-loader-item": true })));
|
|
106
|
-
});
|
|
107
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Loader);
|
|
108
|
-
//# sourceMappingURL=Loader.js.map
|
|
109
|
-
|
|
110
|
-
/***/ }),
|
|
111
|
-
|
|
112
|
-
/***/ 6074:
|
|
113
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
114
|
-
|
|
115
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
116
|
-
/* harmony export */ "b": () => (/* binding */ useFadeEffect)
|
|
117
|
-
/* harmony export */ });
|
|
118
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
|
|
119
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
120
|
-
|
|
121
|
-
const useFadeEffect = () => {
|
|
122
|
-
const [fade, setFade] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)('out');
|
|
123
|
-
const fadeOut = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => setFade('out'), []);
|
|
124
|
-
const fadeIn = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => setFade('in'), []);
|
|
125
|
-
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
126
|
-
fadeIn();
|
|
127
|
-
return () => {
|
|
128
|
-
fadeOut();
|
|
129
|
-
};
|
|
130
|
-
}, [fadeIn, fadeOut]);
|
|
131
|
-
return {
|
|
132
|
-
fade,
|
|
133
|
-
fadeIn,
|
|
134
|
-
fadeOut,
|
|
135
|
-
};
|
|
136
|
-
};
|
|
137
|
-
//# sourceMappingURL=useFadeEffect.js.map
|
|
138
|
-
|
|
139
|
-
/***/ }),
|
|
140
|
-
|
|
141
|
-
/***/ 2765:
|
|
142
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
143
|
-
|
|
144
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
145
|
-
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
146
|
-
/* harmony export */ });
|
|
147
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
|
|
148
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
149
|
-
/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7578);
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
const IconButton = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function IconButton({ icon, children, testId = 'fs-icon-button', 'aria-label': ariaLabel, size = 'regular', variant, ...otherProps }, ref) {
|
|
153
|
-
return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { ref: ref, "data-fs-button": true, "data-fs-icon-button": true, variant: variant ?? 'tertiary', icon: icon, "aria-label": ariaLabel, testId: testId, size: size, ...otherProps }, children));
|
|
154
|
-
});
|
|
155
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (IconButton);
|
|
156
|
-
//# sourceMappingURL=IconButton.js.map
|
|
157
|
-
|
|
158
|
-
/***/ }),
|
|
159
|
-
|
|
160
|
-
/***/ 9600:
|
|
161
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
// EXPORTS
|
|
165
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
166
|
-
"Z": () => (/* binding */ Modal_Modal)
|
|
167
|
-
});
|
|
168
|
-
|
|
169
|
-
// EXTERNAL MODULE: external "react"
|
|
170
|
-
var external_react_ = __webpack_require__(6689);
|
|
171
|
-
var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
|
|
172
|
-
// EXTERNAL MODULE: external "react-dom"
|
|
173
|
-
var external_react_dom_ = __webpack_require__(6405);
|
|
174
|
-
;// CONCATENATED MODULE: ../components/dist/atoms/Overlay/Overlay.js
|
|
175
|
-
|
|
176
|
-
const Overlay = (0,external_react_.forwardRef)(function Overlay({ testId = 'fs-overlay', ...otherProps }, ref) {
|
|
177
|
-
return (external_react_default().createElement("div", { ref: ref, "data-fs-overlay": true, role: "presentation", "data-testid": testId, ...otherProps }));
|
|
178
|
-
});
|
|
179
|
-
/* harmony default export */ const Overlay_Overlay = (Overlay);
|
|
180
|
-
//# sourceMappingURL=Overlay.js.map
|
|
181
|
-
// EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
|
|
182
|
-
var UIProvider = __webpack_require__(395);
|
|
183
|
-
// EXTERNAL MODULE: ../components/dist/hooks/useFadeEffect.js
|
|
184
|
-
var useFadeEffect = __webpack_require__(6074);
|
|
185
|
-
// EXTERNAL MODULE: external "tabbable"
|
|
186
|
-
var external_tabbable_ = __webpack_require__(3823);
|
|
187
|
-
;// CONCATENATED MODULE: ../components/dist/hooks/useTrapFocus.js
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
/*
|
|
191
|
-
* Element that will maintain the focus inside trapFocusRef, focus the first element,
|
|
192
|
-
* and focus back on the element that was in focus when useTrapFocus was triggered.
|
|
193
|
-
*
|
|
194
|
-
* Inspired by Reakit useTrapFocus https://github.com/reakit/reakit/blob/a211d94da9f3b683182568a56479b91afb1b85ae/packages/reakit/src/Dialog/__utils/useFocusTrap.ts
|
|
195
|
-
*/
|
|
196
|
-
const useTrapFocus = ({ trapFocusRef, beforeElementRef, afterElementRef, }) => {
|
|
197
|
-
const tabbableNodesRef = (0,external_react_.useRef)();
|
|
198
|
-
const nodeToRestoreRef = (0,external_react_.useRef)(document.hasFocus() ? document.activeElement : null);
|
|
199
|
-
// Focus back on the element that was focused when useTrapFocus is triggered.
|
|
200
|
-
(0,external_react_.useEffect)(() => {
|
|
201
|
-
const nodeToRestore = nodeToRestoreRef.current;
|
|
202
|
-
return () => {
|
|
203
|
-
nodeToRestore?.focus();
|
|
204
|
-
};
|
|
205
|
-
}, [nodeToRestoreRef]);
|
|
206
|
-
// Set focus on first tabbable element
|
|
207
|
-
(0,external_react_.useEffect)(() => {
|
|
208
|
-
if (!trapFocusRef.current) {
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
if (!tabbableNodesRef.current) {
|
|
212
|
-
tabbableNodesRef.current = (0,external_tabbable_.tabbable)(trapFocusRef.current);
|
|
213
|
-
}
|
|
214
|
-
const [firstTabbable] = tabbableNodesRef.current;
|
|
215
|
-
if (!firstTabbable) {
|
|
216
|
-
trapFocusRef.current.focus();
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
firstTabbable.focus();
|
|
220
|
-
}, [trapFocusRef]);
|
|
221
|
-
// Handle loop focus. Set keydown and focusin event listeners
|
|
222
|
-
(0,external_react_.useEffect)(() => {
|
|
223
|
-
if (!trapFocusRef.current ||
|
|
224
|
-
!beforeElementRef.current ||
|
|
225
|
-
!afterElementRef.current) {
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
const beforeElement = beforeElementRef.current;
|
|
229
|
-
const afterElement = afterElementRef.current;
|
|
230
|
-
const trapFocus = trapFocusRef.current;
|
|
231
|
-
const handleLoopFocus = (nativeEvent) => {
|
|
232
|
-
if (!document.hasFocus()) {
|
|
233
|
-
return;
|
|
234
|
-
}
|
|
235
|
-
tabbableNodesRef.current = (0,external_tabbable_.tabbable)(trapFocusRef.current);
|
|
236
|
-
if (!tabbableNodesRef.current.length) {
|
|
237
|
-
trapFocus.focus();
|
|
238
|
-
}
|
|
239
|
-
/*
|
|
240
|
-
* Handle loop focus from beforeElementRef. This node can only be focused if the user press shift tab.
|
|
241
|
-
* It will focus the last element of the trapFocusRef.
|
|
242
|
-
*/
|
|
243
|
-
if (nativeEvent.target === beforeElement) {
|
|
244
|
-
tabbableNodesRef.current[tabbableNodesRef.current.length - 1]?.focus();
|
|
245
|
-
}
|
|
246
|
-
/*
|
|
247
|
-
* Handle loop focus from afterElementRef. This node can only be focused if the user press tab.
|
|
248
|
-
* It will focus the first element of the trapFocusRef.
|
|
249
|
-
*/
|
|
250
|
-
if (nativeEvent.target === afterElement) {
|
|
251
|
-
tabbableNodesRef.current[0]?.focus();
|
|
252
|
-
}
|
|
253
|
-
};
|
|
254
|
-
beforeElement?.addEventListener('focusin', handleLoopFocus);
|
|
255
|
-
afterElement?.addEventListener('focusin', handleLoopFocus);
|
|
256
|
-
return () => {
|
|
257
|
-
beforeElement?.removeEventListener('focusin', handleLoopFocus);
|
|
258
|
-
afterElement?.removeEventListener('focusin', handleLoopFocus);
|
|
259
|
-
};
|
|
260
|
-
}, [tabbableNodesRef, afterElementRef, beforeElementRef, trapFocusRef]);
|
|
261
|
-
};
|
|
262
|
-
//# sourceMappingURL=useTrapFocus.js.map
|
|
263
|
-
;// CONCATENATED MODULE: ../components/dist/molecules/Modal/ModalContent.js
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
const ModalContentPure = ({ beforeElementRef, trapFocusRef, afterElementRef, testId = 'store-modal-content', children, ...otherProps }) => {
|
|
267
|
-
return (external_react_default().createElement((external_react_default()).Fragment, null,
|
|
268
|
-
external_react_default().createElement("div", { ref: beforeElementRef, "data-testid": "beforeElement", tabIndex: 0, "aria-hidden": "true" }),
|
|
269
|
-
external_react_default().createElement("div", { "data-fs-modal-content": true, "data-testid": testId, ref: trapFocusRef, "aria-modal": "true", role: "dialog", tabIndex: -1, ...otherProps }, children),
|
|
270
|
-
external_react_default().createElement("div", { ref: afterElementRef, "data-testid": "afterElement", tabIndex: 0, "aria-hidden": "true" })));
|
|
271
|
-
};
|
|
272
|
-
const ModalContent = ({ children, ...otherProps }) => {
|
|
273
|
-
const trapFocusRef = (0,external_react_.useRef)(null);
|
|
274
|
-
const beforeElementRef = (0,external_react_.useRef)(null);
|
|
275
|
-
const afterElementRef = (0,external_react_.useRef)(null);
|
|
276
|
-
useTrapFocus({
|
|
277
|
-
beforeElementRef,
|
|
278
|
-
trapFocusRef,
|
|
279
|
-
afterElementRef,
|
|
280
|
-
});
|
|
281
|
-
return (external_react_default().createElement(ModalContentPure, { ...otherProps, trapFocusRef: trapFocusRef, beforeElementRef: beforeElementRef, afterElementRef: afterElementRef, onClick: (event) => {
|
|
282
|
-
event.stopPropagation();
|
|
283
|
-
} }, children));
|
|
284
|
-
};
|
|
285
|
-
/* harmony default export */ const Modal_ModalContent = (ModalContent);
|
|
286
|
-
//# sourceMappingURL=ModalContent.js.map
|
|
287
|
-
;// CONCATENATED MODULE: ../components/dist/molecules/Modal/Modal.js
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
/*
|
|
294
|
-
* This component is based on @reach/dialog.
|
|
295
|
-
* https://github.com/reach/reach-ui/blob/main/packages/dialog/src/index.tsx
|
|
296
|
-
* https://reach.tech/dialog
|
|
297
|
-
*/
|
|
298
|
-
const Modal = ({ children, testId = 'fs-modal', isOpen = true, onDismiss, overlayProps, ...otherProps }) => {
|
|
299
|
-
const { closeModal } = (0,UIProvider/* useUI */.l)();
|
|
300
|
-
const { fade, fadeOut, fadeIn } = (0,useFadeEffect/* useFadeEffect */.b)();
|
|
301
|
-
const handleBackdropClick = (event) => {
|
|
302
|
-
if (event.defaultPrevented) {
|
|
303
|
-
return;
|
|
304
|
-
}
|
|
305
|
-
event.stopPropagation();
|
|
306
|
-
fadeOut?.();
|
|
307
|
-
onDismiss?.();
|
|
308
|
-
};
|
|
309
|
-
const handleBackdropKeyDown = (event) => {
|
|
310
|
-
if (event.key !== 'Escape' || event.defaultPrevented) {
|
|
311
|
-
return;
|
|
312
|
-
}
|
|
313
|
-
event.stopPropagation();
|
|
314
|
-
fadeOut?.();
|
|
315
|
-
onDismiss?.();
|
|
316
|
-
};
|
|
317
|
-
return isOpen
|
|
318
|
-
? (0,external_react_dom_.createPortal)(external_react_default().createElement(Overlay_Overlay, { onClick: handleBackdropClick, onKeyDown: handleBackdropKeyDown, ...overlayProps },
|
|
319
|
-
external_react_default().createElement(Modal_ModalContent, { onTransitionEnd: () => fade === 'out' && closeModal(), "data-fs-modal": true, "data-fs-modal-state": fade, testId: testId, ...otherProps }, typeof children === 'function'
|
|
320
|
-
? children({ fade, fadeOut, fadeIn })
|
|
321
|
-
: children)), document.body)
|
|
322
|
-
: null;
|
|
323
|
-
};
|
|
324
|
-
/* harmony default export */ const Modal_Modal = (Modal);
|
|
325
|
-
//# sourceMappingURL=Modal.js.map
|
|
326
|
-
|
|
327
|
-
/***/ }),
|
|
328
|
-
|
|
329
|
-
/***/ 6073:
|
|
330
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
// EXPORTS
|
|
334
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
335
|
-
"i8": () => (/* binding */ cartStore),
|
|
336
|
-
"jD": () => (/* binding */ useCart)
|
|
337
|
-
});
|
|
338
|
-
|
|
339
|
-
// UNUSED EXPORTS: ValidateCartMutation
|
|
340
|
-
|
|
341
|
-
// EXTERNAL MODULE: ../sdk/dist/utils/error.js
|
|
342
|
-
var error = __webpack_require__(2254);
|
|
343
|
-
// EXTERNAL MODULE: ../sdk/dist/store/composed.js + 4 modules
|
|
344
|
-
var composed = __webpack_require__(8283);
|
|
345
|
-
;// CONCATENATED MODULE: ../sdk/dist/cart/index.js
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
const createCartStore = (defaultCart, onValidate, namespace = "fs::cart") => {
|
|
349
|
-
const store = (0,composed/* createStore */.M)(defaultCart, namespace, onValidate);
|
|
350
|
-
const addItem = (item) => {
|
|
351
|
-
if (!item.id) {
|
|
352
|
-
throw new error/* SDKError */.q("You must provide an `id` for items");
|
|
353
|
-
}
|
|
354
|
-
if (item.quantity < 0) {
|
|
355
|
-
throw new error/* SDKError */.q("Item quantity needs to be higher than zero");
|
|
356
|
-
}
|
|
357
|
-
const cart = store.read();
|
|
358
|
-
const currentItem = getItem(item.id);
|
|
359
|
-
const newItem = currentItem
|
|
360
|
-
? {
|
|
361
|
-
...item,
|
|
362
|
-
quantity: currentItem.quantity + item.quantity,
|
|
363
|
-
}
|
|
364
|
-
: item;
|
|
365
|
-
store.set({
|
|
366
|
-
...cart,
|
|
367
|
-
items: currentItem
|
|
368
|
-
? cart.items.map((item) => item === currentItem ? newItem : item)
|
|
369
|
-
: [...cart.items, newItem],
|
|
370
|
-
});
|
|
371
|
-
};
|
|
372
|
-
const updateItemQuantity = (id, quantity) => {
|
|
373
|
-
const cart = store.read();
|
|
374
|
-
const currentItem = getItem(id);
|
|
375
|
-
if (!currentItem) {
|
|
376
|
-
throw new error/* SDKError */.q(`Item with id not found: ${id}`);
|
|
377
|
-
}
|
|
378
|
-
const newItem = {
|
|
379
|
-
...currentItem,
|
|
380
|
-
quantity,
|
|
381
|
-
};
|
|
382
|
-
store.set({
|
|
383
|
-
...cart,
|
|
384
|
-
items: cart.items
|
|
385
|
-
.map((item) => item === currentItem ? newItem : item) // update item quantity
|
|
386
|
-
.filter((item) => item.quantity > 0), // remove items if quantity is <= 0
|
|
387
|
-
});
|
|
388
|
-
};
|
|
389
|
-
const removeItem = (id) => {
|
|
390
|
-
const cart = store.read();
|
|
391
|
-
const removed = getItem(id);
|
|
392
|
-
store.set({
|
|
393
|
-
...cart,
|
|
394
|
-
items: cart.items.filter((item) => item !== removed),
|
|
395
|
-
});
|
|
396
|
-
};
|
|
397
|
-
const emptyCart = () => store.set({ ...store.read(), items: [] });
|
|
398
|
-
const getItem = (id) => store.read().items.find((item) => item.id === id);
|
|
399
|
-
const inCart = (id) => Boolean(getItem(id));
|
|
400
|
-
const isEmpty = () => store.read().items.length === 0;
|
|
401
|
-
return {
|
|
402
|
-
...store,
|
|
403
|
-
getItem,
|
|
404
|
-
addItem,
|
|
405
|
-
updateItemQuantity,
|
|
406
|
-
removeItem,
|
|
407
|
-
emptyCart,
|
|
408
|
-
inCart,
|
|
409
|
-
isEmpty,
|
|
410
|
-
};
|
|
411
|
-
};
|
|
412
|
-
//# sourceMappingURL=index.js.map
|
|
413
|
-
// EXTERNAL MODULE: external "react"
|
|
414
|
-
var external_react_ = __webpack_require__(6689);
|
|
415
|
-
// EXTERNAL MODULE: ./faststore.config.js
|
|
416
|
-
var faststore_config = __webpack_require__(7183);
|
|
417
|
-
var faststore_config_default = /*#__PURE__*/__webpack_require__.n(faststore_config);
|
|
418
|
-
// EXTERNAL MODULE: ./src/sdk/graphql/request.ts
|
|
419
|
-
var request = __webpack_require__(180);
|
|
420
|
-
// EXTERNAL MODULE: ./src/sdk/session/index.ts + 1 modules
|
|
421
|
-
var session = __webpack_require__(7295);
|
|
422
|
-
// EXTERNAL MODULE: ./src/sdk/useStore.ts
|
|
423
|
-
var useStore = __webpack_require__(3818);
|
|
424
|
-
;// CONCATENATED MODULE: ./src/sdk/cart/index.ts
|
|
425
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
426
|
-
|
|
427
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
428
|
-
|
|
429
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
const ValidateCartMutation = "ValidateCartMutation";
|
|
438
|
-
|
|
439
|
-
const isGift = item => item.price === 0;
|
|
440
|
-
|
|
441
|
-
const getItemId = item => [item.itemOffered.sku, item.seller.identifier, item.itemOffered.additionalProperty?.map(({
|
|
442
|
-
propertyID
|
|
443
|
-
}) => propertyID).join('-')].filter(Boolean).join('::');
|
|
444
|
-
|
|
445
|
-
const validateCart = async cart => {
|
|
446
|
-
const {
|
|
447
|
-
validateCart: validated = null
|
|
448
|
-
} = await (0,request/* request */.W)(ValidateCartMutation, {
|
|
449
|
-
session: session/* sessionStore.read */.Qf.read(),
|
|
450
|
-
cart: {
|
|
451
|
-
order: {
|
|
452
|
-
orderNumber: cart.id,
|
|
453
|
-
shouldSplitItem: cart.shouldSplitItem,
|
|
454
|
-
acceptedOffer: cart.items.map(({
|
|
455
|
-
price,
|
|
456
|
-
listPrice,
|
|
457
|
-
seller,
|
|
458
|
-
quantity,
|
|
459
|
-
itemOffered
|
|
460
|
-
}) => ({
|
|
461
|
-
price,
|
|
462
|
-
listPrice,
|
|
463
|
-
seller,
|
|
464
|
-
quantity,
|
|
465
|
-
itemOffered: {
|
|
466
|
-
sku: itemOffered.sku,
|
|
467
|
-
image: itemOffered.image,
|
|
468
|
-
name: itemOffered.name,
|
|
469
|
-
additionalProperty: itemOffered.additionalProperty
|
|
470
|
-
}
|
|
471
|
-
}))
|
|
472
|
-
}
|
|
473
|
-
}
|
|
474
|
-
});
|
|
475
|
-
return validated && {
|
|
476
|
-
id: validated.order.orderNumber,
|
|
477
|
-
items: validated.order.acceptedOffer.map(item => _objectSpread(_objectSpread({}, item), {}, {
|
|
478
|
-
id: getItemId(item)
|
|
479
|
-
})),
|
|
480
|
-
messages: validated.messages
|
|
481
|
-
};
|
|
482
|
-
};
|
|
483
|
-
|
|
484
|
-
const [validationStore, onValidate] = (0,useStore/* createValidationStore */.d)(validateCart);
|
|
485
|
-
const defaultCartStore = createCartStore((faststore_config_default()).cart, onValidate);
|
|
486
|
-
const cartStore = _objectSpread(_objectSpread({}, defaultCartStore), {}, {
|
|
487
|
-
addItem: item => {
|
|
488
|
-
const cartItem = _objectSpread(_objectSpread({}, item), {}, {
|
|
489
|
-
id: getItemId(item)
|
|
490
|
-
});
|
|
491
|
-
|
|
492
|
-
defaultCartStore.addItem(cartItem);
|
|
493
|
-
}
|
|
494
|
-
});
|
|
495
|
-
const useCart = () => {
|
|
496
|
-
const cart = (0,useStore/* useStore */.o)(cartStore);
|
|
497
|
-
const isValidating = (0,useStore/* useStore */.o)(validationStore);
|
|
498
|
-
return (0,external_react_.useMemo)(() => _objectSpread(_objectSpread({}, cart), {}, {
|
|
499
|
-
isValidating,
|
|
500
|
-
messages: cart.messages,
|
|
501
|
-
gifts: cart.items.filter(item => isGift(item)),
|
|
502
|
-
items: cart.items.filter(item => !isGift(item)),
|
|
503
|
-
totalUniqueItems: cart.items.length,
|
|
504
|
-
totalItems: cart.items.reduce((acc, curr) => acc + (isGift(curr) ? 0 : curr.quantity), 0),
|
|
505
|
-
total: cart.items.reduce((acc, curr) => acc + curr.price * curr.quantity, 0),
|
|
506
|
-
subTotal: cart.items.reduce((acc, curr) => acc + curr.listPrice * curr.quantity, 0)
|
|
507
|
-
}), [cart, isValidating]);
|
|
508
|
-
};
|
|
509
|
-
|
|
510
|
-
/***/ }),
|
|
511
|
-
|
|
512
|
-
/***/ 180:
|
|
513
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
514
|
-
|
|
515
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
516
|
-
/* harmony export */ "W": () => (/* binding */ request)
|
|
517
|
-
/* harmony export */ });
|
|
518
|
-
/* harmony import */ var _faststore_graphql_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5490);
|
|
519
|
-
/* harmony import */ var _faststore_graphql_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_faststore_graphql_utils__WEBPACK_IMPORTED_MODULE_0__);
|
|
520
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
521
|
-
|
|
522
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
523
|
-
|
|
524
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
const request = async (operationName, variables, options) => {
|
|
528
|
-
const {
|
|
529
|
-
data,
|
|
530
|
-
errors
|
|
531
|
-
} = await (0,_faststore_graphql_utils__WEBPACK_IMPORTED_MODULE_0__.request)('/api/graphql', _objectSpread(_objectSpread({}, options), {}, {
|
|
532
|
-
variables,
|
|
533
|
-
operationName
|
|
534
|
-
}));
|
|
535
|
-
|
|
536
|
-
if (errors?.length) {
|
|
537
|
-
throw errors[0];
|
|
538
|
-
}
|
|
539
|
-
|
|
540
|
-
return data;
|
|
541
|
-
};
|
|
542
|
-
|
|
543
|
-
/***/ }),
|
|
544
|
-
|
|
545
|
-
/***/ 7295:
|
|
546
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
// EXPORTS
|
|
550
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
551
|
-
"Qf": () => (/* binding */ sessionStore),
|
|
552
|
-
"kP": () => (/* binding */ useSession),
|
|
553
|
-
"je": () => (/* binding */ validateSession)
|
|
554
|
-
});
|
|
555
|
-
|
|
556
|
-
// UNUSED EXPORTS: mutation
|
|
557
|
-
|
|
558
|
-
// EXTERNAL MODULE: ../sdk/dist/store/composed.js + 4 modules
|
|
559
|
-
var composed = __webpack_require__(8283);
|
|
560
|
-
;// CONCATENATED MODULE: ../sdk/dist/session/index.js
|
|
561
|
-
|
|
562
|
-
const createSessionStore = (defaultSession, onValidate, namespace = 'fs::session') => (0,composed/* createStore */.M)(defaultSession, namespace, onValidate);
|
|
563
|
-
//# sourceMappingURL=index.js.map
|
|
564
|
-
// EXTERNAL MODULE: external "react"
|
|
565
|
-
var external_react_ = __webpack_require__(6689);
|
|
566
|
-
// EXTERNAL MODULE: ./faststore.config.js
|
|
567
|
-
var faststore_config = __webpack_require__(7183);
|
|
568
|
-
var faststore_config_default = /*#__PURE__*/__webpack_require__.n(faststore_config);
|
|
569
|
-
// EXTERNAL MODULE: ./src/sdk/cart/index.ts + 1 modules
|
|
570
|
-
var cart = __webpack_require__(6073);
|
|
571
|
-
// EXTERNAL MODULE: ./src/sdk/graphql/request.ts
|
|
572
|
-
var request = __webpack_require__(180);
|
|
573
|
-
// EXTERNAL MODULE: ./src/sdk/useStore.ts
|
|
574
|
-
var useStore = __webpack_require__(3818);
|
|
575
|
-
;// CONCATENATED MODULE: ./src/sdk/session/index.ts
|
|
576
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
577
|
-
|
|
578
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
579
|
-
|
|
580
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
const mutation = "ValidateSession";
|
|
589
|
-
const validateSession = async session => {
|
|
590
|
-
const data = await (0,request/* request */.W)(mutation, {
|
|
591
|
-
session,
|
|
592
|
-
search: window.location.search
|
|
593
|
-
});
|
|
594
|
-
return data.validateSession;
|
|
595
|
-
};
|
|
596
|
-
const [validationStore, onValidate] = (0,useStore/* createValidationStore */.d)(validateSession);
|
|
597
|
-
const defaultStore = createSessionStore((faststore_config_default()).session, onValidate);
|
|
598
|
-
const sessionStore = _objectSpread(_objectSpread({}, defaultStore), {}, {
|
|
599
|
-
set: val => {
|
|
600
|
-
defaultStore.set(val); // Trigger cart revalidation when session changes
|
|
601
|
-
|
|
602
|
-
cart/* cartStore.set */.i8.set(cart/* cartStore.read */.i8.read());
|
|
603
|
-
}
|
|
604
|
-
});
|
|
605
|
-
const useSession = () => {
|
|
606
|
-
const session = (0,useStore/* useStore */.o)(sessionStore);
|
|
607
|
-
const isValidating = (0,useStore/* useStore */.o)(validationStore);
|
|
608
|
-
return (0,external_react_.useMemo)(() => _objectSpread(_objectSpread({}, session), {}, {
|
|
609
|
-
isValidating
|
|
610
|
-
}), [isValidating, session]);
|
|
611
|
-
};
|
|
612
|
-
|
|
613
|
-
/***/ }),
|
|
614
|
-
|
|
615
|
-
/***/ 3818:
|
|
616
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
617
|
-
|
|
618
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
619
|
-
/* harmony export */ "d": () => (/* binding */ createValidationStore),
|
|
620
|
-
/* harmony export */ "o": () => (/* binding */ useStore)
|
|
621
|
-
/* harmony export */ });
|
|
622
|
-
/* harmony import */ var _faststore_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3365);
|
|
623
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
|
|
624
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
const useStore = store => (0,react__WEBPACK_IMPORTED_MODULE_0__.useSyncExternalStore)(store.subscribe, store.read, store.readInitial);
|
|
628
|
-
const createValidationStore = cb => {
|
|
629
|
-
const store = (0,_faststore_sdk__WEBPACK_IMPORTED_MODULE_1__/* .createStore */ .M)(false);
|
|
630
|
-
|
|
631
|
-
const onValidate = async val => {
|
|
632
|
-
try {
|
|
633
|
-
store.set(true);
|
|
634
|
-
return await cb(val);
|
|
635
|
-
} finally {
|
|
636
|
-
store.set(false);
|
|
637
|
-
}
|
|
638
|
-
};
|
|
639
|
-
|
|
640
|
-
return [store, onValidate];
|
|
641
|
-
};
|
|
642
|
-
|
|
643
|
-
/***/ }),
|
|
644
|
-
|
|
645
|
-
/***/ 3365:
|
|
646
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
647
|
-
|
|
648
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
649
|
-
/* harmony export */ "M": () => (/* binding */ createStore)
|
|
650
|
-
/* harmony export */ });
|
|
651
|
-
/**
|
|
652
|
-
* Creates a new Suspense ready Store
|
|
653
|
-
*/
|
|
654
|
-
const createStore = (initialValue) => {
|
|
655
|
-
const subscribers = new Set();
|
|
656
|
-
const cancelations = new Set();
|
|
657
|
-
let value = initialValue;
|
|
658
|
-
const read = () => value;
|
|
659
|
-
const readInitial = () => initialValue;
|
|
660
|
-
const set = (val) => {
|
|
661
|
-
value = val;
|
|
662
|
-
// Cancel previous, dangling operations
|
|
663
|
-
cancelations.forEach((cancel) => cancel());
|
|
664
|
-
cancelations.clear();
|
|
665
|
-
// Broadcast subscribers
|
|
666
|
-
subscribers.forEach((sub) => {
|
|
667
|
-
const cancel = sub(val);
|
|
668
|
-
if (typeof cancel === "function") {
|
|
669
|
-
cancelations.add(cancel);
|
|
670
|
-
}
|
|
671
|
-
});
|
|
672
|
-
};
|
|
673
|
-
const subscribe = (sub) => {
|
|
674
|
-
subscribers.add(sub);
|
|
675
|
-
return () => {
|
|
676
|
-
subscribers.delete(sub);
|
|
677
|
-
};
|
|
678
|
-
};
|
|
679
|
-
return {
|
|
680
|
-
set,
|
|
681
|
-
read,
|
|
682
|
-
readInitial,
|
|
683
|
-
subscribe,
|
|
684
|
-
};
|
|
685
|
-
};
|
|
686
|
-
//# sourceMappingURL=base.js.map
|
|
687
|
-
|
|
688
|
-
/***/ }),
|
|
689
|
-
|
|
690
|
-
/***/ 8283:
|
|
691
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
// EXPORTS
|
|
695
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
696
|
-
"M": () => (/* binding */ createStore)
|
|
697
|
-
});
|
|
698
|
-
|
|
699
|
-
// EXTERNAL MODULE: external "idb-keyval"
|
|
700
|
-
var external_idb_keyval_ = __webpack_require__(3430);
|
|
701
|
-
;// CONCATENATED MODULE: ../sdk/dist/store/persisted.js
|
|
702
|
-
/**
|
|
703
|
-
* Safe IDB storage interface. These try..catch are useful because
|
|
704
|
-
* some browsers may block access to these APIs due to security policies
|
|
705
|
-
*
|
|
706
|
-
* Also, the stored value is lazy-loaded to avoid hydration mismatch
|
|
707
|
-
* between server/browser. When state is 'hydrated', the value in the heap
|
|
708
|
-
* is the same as the value in IDB
|
|
709
|
-
*/
|
|
710
|
-
|
|
711
|
-
const getIDB = async (key) => {
|
|
712
|
-
try {
|
|
713
|
-
return await (0,external_idb_keyval_.get)(key);
|
|
714
|
-
}
|
|
715
|
-
catch (err) {
|
|
716
|
-
return;
|
|
717
|
-
}
|
|
718
|
-
};
|
|
719
|
-
const setIDB = async (key, value) => {
|
|
720
|
-
try {
|
|
721
|
-
await (0,external_idb_keyval_.set)(key, value);
|
|
722
|
-
}
|
|
723
|
-
catch (err) {
|
|
724
|
-
/** noop */
|
|
725
|
-
}
|
|
726
|
-
};
|
|
727
|
-
const persisted = (key) => (store) => {
|
|
728
|
-
const handler = async () => {
|
|
729
|
-
const payload = await getIDB(key);
|
|
730
|
-
if (typeof document !== 'undefined') {
|
|
731
|
-
store.set(payload ?? store.readInitial());
|
|
732
|
-
}
|
|
733
|
-
};
|
|
734
|
-
handler();
|
|
735
|
-
globalThis.addEventListener?.("focus", () => handler());
|
|
736
|
-
globalThis.document?.addEventListener("visibilitychange", () => document.visibilityState === "visible" && handler());
|
|
737
|
-
store.subscribe((value) => {
|
|
738
|
-
setIDB(key, value);
|
|
739
|
-
});
|
|
740
|
-
return store;
|
|
741
|
-
};
|
|
742
|
-
//# sourceMappingURL=persisted.js.map
|
|
743
|
-
;// CONCATENATED MODULE: ../sdk/dist/store/optimistic.js
|
|
744
|
-
const trivial = async () => null;
|
|
745
|
-
const optimistic = (onValidate = trivial) => {
|
|
746
|
-
let queue = Promise.resolve();
|
|
747
|
-
return (store) => {
|
|
748
|
-
store.subscribe((value) => {
|
|
749
|
-
let cancel = false;
|
|
750
|
-
const handler = async () => {
|
|
751
|
-
if (cancel) {
|
|
752
|
-
return;
|
|
753
|
-
}
|
|
754
|
-
const validated = await onValidate(value);
|
|
755
|
-
if (!cancel && validated !== null) {
|
|
756
|
-
store.set(validated);
|
|
757
|
-
}
|
|
758
|
-
};
|
|
759
|
-
queue = queue.then(handler);
|
|
760
|
-
return () => {
|
|
761
|
-
cancel = true;
|
|
762
|
-
};
|
|
763
|
-
});
|
|
764
|
-
return store;
|
|
765
|
-
};
|
|
766
|
-
};
|
|
767
|
-
//# sourceMappingURL=optimistic.js.map
|
|
768
|
-
;// CONCATENATED MODULE: ../sdk/dist/store/singleton.js
|
|
769
|
-
/**
|
|
770
|
-
* Some stores, like cart/session states require to be singletons
|
|
771
|
-
* for their correct behavior. This creator helps on this
|
|
772
|
-
*/
|
|
773
|
-
globalThis.faststore_sdk_stores = globalThis.faststore_sdk_stores ?? new Map();
|
|
774
|
-
const singleton = (key) => (store) => {
|
|
775
|
-
const stores = globalThis.faststore_sdk_stores;
|
|
776
|
-
if (!stores.has(key)) {
|
|
777
|
-
stores.set(key, store);
|
|
778
|
-
}
|
|
779
|
-
return stores.get(key);
|
|
780
|
-
};
|
|
781
|
-
//# sourceMappingURL=singleton.js.map
|
|
782
|
-
;// CONCATENATED MODULE: ../sdk/dist/utils/compose.js
|
|
783
|
-
const compose = (pipeline, value) => pipeline.reduce((acc, curr) => curr(acc), value);
|
|
784
|
-
//# sourceMappingURL=compose.js.map
|
|
785
|
-
// EXTERNAL MODULE: ../sdk/dist/store/base.js
|
|
786
|
-
var base = __webpack_require__(3365);
|
|
787
|
-
;// CONCATENATED MODULE: ../sdk/dist/store/composed.js
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
const identity = (x) => x;
|
|
794
|
-
const createStore = (initialValue, namespace, onValidate) => {
|
|
795
|
-
return compose([
|
|
796
|
-
namespace ? singleton(namespace) : identity,
|
|
797
|
-
namespace ? persisted(namespace) : identity,
|
|
798
|
-
onValidate ? optimistic(onValidate) : identity,
|
|
799
|
-
], (0,base/* createStore */.M)(initialValue));
|
|
800
|
-
};
|
|
801
|
-
//# sourceMappingURL=composed.js.map
|
|
802
|
-
|
|
803
|
-
/***/ }),
|
|
804
|
-
|
|
805
|
-
/***/ 2254:
|
|
806
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
807
|
-
|
|
808
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
809
|
-
/* harmony export */ "q": () => (/* binding */ SDKError)
|
|
810
|
-
/* harmony export */ });
|
|
811
|
-
class SDKError extends Error {
|
|
812
|
-
constructor(message) {
|
|
813
|
-
super(`[sdk]: ${message}`);
|
|
814
|
-
}
|
|
815
|
-
}
|
|
816
|
-
//# sourceMappingURL=error.js.map
|
|
817
|
-
|
|
818
|
-
/***/ })
|
|
819
|
-
|
|
820
|
-
};
|
|
821
|
-
;
|