@faststore/core 2.0.75-alpha.0 → 2.0.76-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.
Files changed (148) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +6 -0
  3. package/package.json +2 -2
  4. package/src/components/cart/CartSidebar/CartSidebar.tsx +5 -1
  5. package/.next/BUILD_ID +0 -1
  6. package/.next/build-manifest.json +0 -103
  7. package/.next/cache/.tsbuildinfo +0 -1
  8. package/.next/cache/config.json +0 -7
  9. package/.next/cache/eslint/.cache_1gneedd +0 -1
  10. package/.next/cache/next-server.js.nft.json +0 -1
  11. package/.next/cache/webpack/client-production/0.pack +0 -0
  12. package/.next/cache/webpack/client-production/index.pack +0 -0
  13. package/.next/cache/webpack/server-production/0.pack +0 -0
  14. package/.next/cache/webpack/server-production/index.pack +0 -0
  15. package/.next/export-marker.json +0 -1
  16. package/.next/images-manifest.json +0 -1
  17. package/.next/next-server.js.nft.json +0 -1
  18. package/.next/package.json +0 -1
  19. package/.next/prerender-manifest.json +0 -1
  20. package/.next/react-loadable-manifest.json +0 -49
  21. package/.next/required-server-files.json +0 -1
  22. package/.next/routes-manifest.json +0 -1
  23. package/.next/server/chunks/104.js +0 -196
  24. package/.next/server/chunks/143.js +0 -106
  25. package/.next/server/chunks/154.js +0 -201
  26. package/.next/server/chunks/183.js +0 -72
  27. package/.next/server/chunks/247.js +0 -61
  28. package/.next/server/chunks/264.js +0 -67
  29. package/.next/server/chunks/280.js +0 -417
  30. package/.next/server/chunks/287.js +0 -79
  31. package/.next/server/chunks/307.js +0 -109
  32. package/.next/server/chunks/312.js +0 -714
  33. package/.next/server/chunks/317.js +0 -126
  34. package/.next/server/chunks/350.js +0 -120
  35. package/.next/server/chunks/371.js +0 -1467
  36. package/.next/server/chunks/377.js +0 -82
  37. package/.next/server/chunks/394.js +0 -3801
  38. package/.next/server/chunks/439.js +0 -175
  39. package/.next/server/chunks/444.js +0 -464
  40. package/.next/server/chunks/465.js +0 -91
  41. package/.next/server/chunks/576.js +0 -72
  42. package/.next/server/chunks/650.js +0 -216
  43. package/.next/server/chunks/664.js +0 -124
  44. package/.next/server/chunks/676.js +0 -32
  45. package/.next/server/chunks/732.js +0 -51
  46. package/.next/server/chunks/746.js +0 -237
  47. package/.next/server/chunks/849.js +0 -665
  48. package/.next/server/chunks/854.js +0 -72
  49. package/.next/server/chunks/859.js +0 -959
  50. package/.next/server/chunks/872.js +0 -378
  51. package/.next/server/chunks/881.js +0 -320
  52. package/.next/server/chunks/898.js +0 -240
  53. package/.next/server/chunks/914.js +0 -96
  54. package/.next/server/chunks/953.js +0 -673
  55. package/.next/server/chunks/98.js +0 -266
  56. package/.next/server/chunks/992.js +0 -562
  57. package/.next/server/chunks/font-manifest.json +0 -1
  58. package/.next/server/font-manifest.json +0 -1
  59. package/.next/server/middleware-build-manifest.js +0 -1
  60. package/.next/server/middleware-manifest.json +0 -6
  61. package/.next/server/middleware-react-loadable-manifest.js +0 -1
  62. package/.next/server/pages/404.js.nft.json +0 -1
  63. package/.next/server/pages/500.js.nft.json +0 -1
  64. package/.next/server/pages/[...slug].js +0 -609
  65. package/.next/server/pages/[...slug].js.nft.json +0 -1
  66. package/.next/server/pages/[slug]/p.js +0 -2560
  67. package/.next/server/pages/[slug]/p.js.nft.json +0 -1
  68. package/.next/server/pages/_app.js +0 -2058
  69. package/.next/server/pages/_app.js.nft.json +0 -1
  70. package/.next/server/pages/_document.js +0 -304
  71. package/.next/server/pages/_document.js.nft.json +0 -1
  72. package/.next/server/pages/_error.js +0 -164
  73. package/.next/server/pages/_error.js.nft.json +0 -1
  74. package/.next/server/pages/account.js.nft.json +0 -1
  75. package/.next/server/pages/api/graphql.js +0 -259
  76. package/.next/server/pages/api/graphql.js.nft.json +0 -1
  77. package/.next/server/pages/api/preview.js +0 -118
  78. package/.next/server/pages/api/preview.js.nft.json +0 -1
  79. package/.next/server/pages/checkout.js.nft.json +0 -1
  80. package/.next/server/pages/en-US/404.html +0 -81
  81. package/.next/server/pages/en-US/500.html +0 -81
  82. package/.next/server/pages/en-US/account.html +0 -81
  83. package/.next/server/pages/en-US/checkout.html +0 -81
  84. package/.next/server/pages/en-US/login.html +0 -81
  85. package/.next/server/pages/en-US/s.html +0 -81
  86. package/.next/server/pages/en-US.html +0 -81
  87. package/.next/server/pages/en-US.json +0 -1
  88. package/.next/server/pages/index.js +0 -407
  89. package/.next/server/pages/index.js.nft.json +0 -1
  90. package/.next/server/pages/login.js.nft.json +0 -1
  91. package/.next/server/pages/s.js.nft.json +0 -1
  92. package/.next/server/pages-manifest.json +0 -16
  93. package/.next/server/webpack-api-runtime.js +0 -229
  94. package/.next/server/webpack-runtime.js +0 -229
  95. package/.next/static/chunks/143.dd8a556e6957baa1.js +0 -1
  96. package/.next/static/chunks/153-a20e3f2da180607e.js +0 -1
  97. package/.next/static/chunks/260-994385416f68673d.js +0 -1
  98. package/.next/static/chunks/307.10facde65af3066a.js +0 -1
  99. package/.next/static/chunks/337-4b719ca7a86d8d8c.js +0 -1
  100. package/.next/static/chunks/351-a4e28d64f48c5269.js +0 -1
  101. package/.next/static/chunks/588.591fb3bf1a136c66.js +0 -1
  102. package/.next/static/chunks/650.807852d1c36bfe44.js +0 -1
  103. package/.next/static/chunks/651.7142f31ce1e052b3.js +0 -1
  104. package/.next/static/chunks/686.36adeba271636edd.js +0 -1
  105. package/.next/static/chunks/741.52f7fb873418346f.js +0 -1
  106. package/.next/static/chunks/817-728f854c2948afc0.js +0 -1
  107. package/.next/static/chunks/909.ea3532bde0943808.js +0 -1
  108. package/.next/static/chunks/953.77a48c854f628dcf.js +0 -1
  109. package/.next/static/chunks/98.97381d2021f86cd9.js +0 -1
  110. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +0 -1
  111. package/.next/static/chunks/main-9746772201fe3ac1.js +0 -1
  112. package/.next/static/chunks/pages/404-ba608a2a9f0c420a.js +0 -1
  113. package/.next/static/chunks/pages/500-910883c20541d9ce.js +0 -1
  114. package/.next/static/chunks/pages/[...slug]-9443b18a60d89746.js +0 -1
  115. package/.next/static/chunks/pages/[slug]/p-cb8ef12f6449cf26.js +0 -1
  116. package/.next/static/chunks/pages/_app-9cc7312632f19e94.js +0 -1
  117. package/.next/static/chunks/pages/_error-a7a0c1d9bfbb4f38.js +0 -1
  118. package/.next/static/chunks/pages/account-f19102933e6fd84c.js +0 -1
  119. package/.next/static/chunks/pages/checkout-f8cb7cb22225ef9d.js +0 -1
  120. package/.next/static/chunks/pages/index-6717326cc207d674.js +0 -1
  121. package/.next/static/chunks/pages/login-0b9ea80d9fa0f91b.js +0 -1
  122. package/.next/static/chunks/pages/s-86fe1e3303388123.js +0 -1
  123. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
  124. package/.next/static/chunks/webpack-fc7c18f8a868734c.js +0 -1
  125. package/.next/static/css/14ebc84fc6d6c80c.css +0 -1
  126. package/.next/static/css/430b8cafbf7c23c1.css +0 -1
  127. package/.next/static/css/43d61b402f41569b.css +0 -1
  128. package/.next/static/css/4d7e7f156483493d.css +0 -1
  129. package/.next/static/css/6507cb48401e73a4.css +0 -1
  130. package/.next/static/css/9dd1d1084d254c66.css +0 -1
  131. package/.next/static/css/b2f16bd4b93e0aca.css +0 -1
  132. package/.next/static/css/bd743407c8049677.css +0 -1
  133. package/.next/static/css/e63697a078fd522e.css +0 -1
  134. package/.next/static/media/brandless-neutral.76ddf63a.png +0 -0
  135. package/.next/static/xmQIY_XtSwwYX1xvtcDOJ/_buildManifest.js +0 -1
  136. package/.next/static/xmQIY_XtSwwYX1xvtcDOJ/_ssgManifest.js +0 -1
  137. package/.next/trace +0 -64
  138. package/public/~partytown/debug/partytown-atomics.js +0 -556
  139. package/public/~partytown/debug/partytown-media.js +0 -374
  140. package/public/~partytown/debug/partytown-sandbox-sw.js +0 -543
  141. package/public/~partytown/debug/partytown-sw.js +0 -59
  142. package/public/~partytown/debug/partytown-ww-atomics.js +0 -1789
  143. package/public/~partytown/debug/partytown-ww-sw.js +0 -1781
  144. package/public/~partytown/debug/partytown.js +0 -72
  145. package/public/~partytown/partytown-atomics.js +0 -2
  146. package/public/~partytown/partytown-media.js +0 -2
  147. package/public/~partytown/partytown-sw.js +0 -2
  148. package/public/~partytown/partytown.js +0 -2
@@ -1,673 +0,0 @@
1
- exports.id = 953;
2
- exports.ids = [953];
3
- exports.modules = {
4
-
5
- /***/ 3417:
6
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7
-
8
- "use strict";
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
-
15
- // Icon from Phosphor Icons
16
- const XCircle = () => (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 256 256", strokeWidth: "16", width: 20, height: 20 },
17
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("rect", { width: "256", height: "256", fill: "none" }),
18
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("circle", { cx: "128", cy: "128", r: "96", fill: "none", stroke: "currentColor", strokeMiterlimit: "10" }),
19
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("line", { x1: "160", y1: "96", x2: "96", y2: "160", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" }),
20
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("line", { x1: "160", y1: "160", x2: "96", y2: "96", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" })));
21
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (XCircle);
22
- //# sourceMappingURL=XCircle.js.map
23
-
24
- /***/ }),
25
-
26
- /***/ 953:
27
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
28
-
29
- "use strict";
30
- // ESM COMPAT FLAG
31
- __webpack_require__.r(__webpack_exports__);
32
-
33
- // EXPORTS
34
- __webpack_require__.d(__webpack_exports__, {
35
- "default": () => (/* reexport */ CartSidebar_CartSidebar)
36
- });
37
-
38
- // EXTERNAL MODULE: ./node_modules/@faststore/sdk/dist/analytics/sendAnalyticsEvent.js
39
- var sendAnalyticsEvent = __webpack_require__(8460);
40
- // EXTERNAL MODULE: ../components/dist/organisms/SlideOver/SlideOver.js
41
- var SlideOver = __webpack_require__(1021);
42
- // EXTERNAL MODULE: ../components/dist/organisms/SlideOver/SlideOverHeader.js
43
- var SlideOverHeader = __webpack_require__(9648);
44
- // EXTERNAL MODULE: ../components/dist/atoms/Badge/Badge.js
45
- var Badge = __webpack_require__(44);
46
- // EXTERNAL MODULE: ../components/dist/molecules/Alert/Alert.js
47
- var Alert = __webpack_require__(6970);
48
- // EXTERNAL MODULE: ../components/dist/atoms/List/List.js
49
- var List = __webpack_require__(1329);
50
- // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js + 1 modules
51
- var Button = __webpack_require__(4842);
52
- // EXTERNAL MODULE: external "react"
53
- var external_react_ = __webpack_require__(6689);
54
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
55
- // EXTERNAL MODULE: ./src/components/ui/Icon/index.ts + 1 modules
56
- var Icon = __webpack_require__(2478);
57
- // EXTERNAL MODULE: ./src/sdk/cart/index.ts
58
- var sdk_cart = __webpack_require__(7566);
59
- // EXTERNAL MODULE: ./faststore.config.js
60
- var faststore_config = __webpack_require__(7183);
61
- var faststore_config_default = /*#__PURE__*/__webpack_require__.n(faststore_config);
62
- ;// CONCATENATED MODULE: ./src/sdk/cart/useCheckoutButton.ts
63
-
64
-
65
- const useCheckoutButton = () => {
66
- const {
67
- isValidating,
68
- id
69
- } = (0,sdk_cart/* useCart */.jD)();
70
-
71
- const onClick = e => {
72
- e.preventDefault();
73
-
74
- if (!isValidating && id) {
75
- window.location.href = `${(faststore_config_default()).checkoutUrl}?orderFormId=${id}`;
76
- }
77
- };
78
-
79
- return {
80
- onClick,
81
- disabled: isValidating,
82
- 'data-testid': 'checkout-button'
83
- };
84
- };
85
- // EXTERNAL MODULE: ./src/sdk/session/index.ts
86
- var session = __webpack_require__(5971);
87
- // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
88
- var UIProvider = __webpack_require__(395);
89
- // EXTERNAL MODULE: ../components/dist/hooks/useFadeEffect.js
90
- var useFadeEffect = __webpack_require__(6074);
91
- // EXTERNAL MODULE: ../components/dist/assets/XCircle.js
92
- var XCircle = __webpack_require__(3417);
93
- // EXTERNAL MODULE: ../components/dist/molecules/IconButton/IconButton.js
94
- var IconButton = __webpack_require__(2765);
95
- // EXTERNAL MODULE: ../components/dist/molecules/QuantitySelector/QuantitySelector.js + 2 modules
96
- var QuantitySelector = __webpack_require__(7377);
97
- // EXTERNAL MODULE: ../components/dist/atoms/Price/Price.js
98
- var Price = __webpack_require__(7549);
99
- ;// CONCATENATED MODULE: ../components/dist/molecules/CartItem/CartItem.js
100
-
101
-
102
-
103
- const CartItem = (0,external_react_.forwardRef)(function CartItem({ testId = 'fs-cart-item', price, quantity, unavailable, onQuantityChange, children, removeBtnProps, ...otherProps }, ref) {
104
- return (external_react_default().createElement("article", { ref: ref, "data-fs-cart-item": unavailable ? 'unavailable' : 'true', "data-testid": testId, ...otherProps },
105
- external_react_default().createElement("div", { "data-fs-cart-item-content": true }, children),
106
- external_react_default().createElement(IconButton/* default */.Z, { "data-fs-cart-item-remove-button": true, icon: external_react_default().createElement(XCircle/* default */.Z, null), "aria-label": "Remove", ...removeBtnProps }),
107
- external_react_default().createElement("div", { "data-fs-cart-item-actions": true },
108
- external_react_default().createElement(QuantitySelector/* default */.Z, { min: 1, initial: quantity, onChange: onQuantityChange }),
109
- external_react_default().createElement("span", { "data-fs-cart-item-prices": true },
110
- external_react_default().createElement(Price/* default */.Z, { value: price?.listPrice ? price.listPrice : 0, formatter: price?.formatter, variant: "listing", SRText: "Original price:" }),
111
- external_react_default().createElement(Price/* default */.Z, { value: price?.value ? price.value : 0, formatter: price?.formatter, variant: "spot", SRText: "Price:" })))));
112
- });
113
- /* harmony default export */ const CartItem_CartItem = (CartItem);
114
- //# sourceMappingURL=CartItem.js.map
115
- ;// CONCATENATED MODULE: ../components/dist/molecules/CartItem/CartItemImage.js
116
-
117
- const CartItemImage = (0,external_react_.forwardRef)(function CartItemImage({ testId = 'fs-cart-item-image', children, ...otherProps }, ref) {
118
- return (external_react_default().createElement("div", { ref: ref, "data-fs-cart-item-image": true, "data-testid": testId, ...otherProps }, children));
119
- });
120
- /* harmony default export */ const CartItem_CartItemImage = (CartItemImage);
121
- //# sourceMappingURL=CartItemImage.js.map
122
- ;// CONCATENATED MODULE: ../components/dist/molecules/CartItem/CartItemSummary.js
123
-
124
- const CartItemSummary = (0,external_react_.forwardRef)(function CartItemSummary({ testId = 'fs-cart-item-summary', title, activeVariations = [], children, ...otherProps }, ref) {
125
- return (external_react_default().createElement("div", { ref: ref, "data-fs-cart-item-summary": true, "data-testid": testId, ...otherProps },
126
- external_react_default().createElement("div", { "data-fs-cart-item-title": true }, title),
127
- activeVariations.length > 0 && (external_react_default().createElement("div", { "data-fs-cart-item-skus": true }, activeVariations.map(({ label, option }) => (external_react_default().createElement("p", { key: label },
128
- label,
129
- ": ",
130
- external_react_default().createElement("span", null, option)))))),
131
- children));
132
- });
133
- /* harmony default export */ const CartItem_CartItemSummary = (CartItemSummary);
134
- //# sourceMappingURL=CartItemSummary.js.map
135
- // EXTERNAL MODULE: ./src/components/ui/Image/index.ts + 3 modules
136
- var Image = __webpack_require__(2154);
137
- // EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
138
- var useFormattedPrice = __webpack_require__(5346);
139
- ;// CONCATENATED MODULE: ./src/sdk/cart/useRemoveButton.ts
140
-
141
-
142
-
143
-
144
- const useRemoveButton = item => {
145
- const {
146
- currency: {
147
- code
148
- }
149
- } = (0,session/* useSession */.kP)();
150
- const onClick = (0,external_react_.useCallback)(e => {
151
- e.preventDefault();
152
-
153
- if (!item) {
154
- return;
155
- }
156
-
157
- (0,sendAnalyticsEvent/* sendAnalyticsEvent */._)({
158
- name: 'remove_from_cart',
159
- params: {
160
- currency: code,
161
- value: item.price * item.quantity,
162
- // TODO: In the future, we can explore more robust ways of calculating the value (gift items, discounts, etc.).
163
- items: [{
164
- item_id: item.itemOffered.isVariantOf.productGroupID,
165
- item_name: item.itemOffered.isVariantOf.name,
166
- item_brand: item.itemOffered.brand.name,
167
- item_variant: item.itemOffered.sku,
168
- quantity: item.quantity,
169
- price: item.price,
170
- discount: item.listPrice - item.price,
171
- currency: code,
172
- item_variant_name: item.itemOffered.name,
173
- product_reference_id: item.itemOffered.gtin
174
- }]
175
- }
176
- });
177
- sdk_cart/* cartStore.removeItem */.i8.removeItem(item.id);
178
- }, [code, item]);
179
- return {
180
- onClick,
181
- 'data-testid': 'remove-from-cart-button',
182
- 'data-sku': item?.itemOffered.sku
183
- };
184
- };
185
- // EXTERNAL MODULE: external "react/jsx-runtime"
186
- var jsx_runtime_ = __webpack_require__(997);
187
- ;// CONCATENATED MODULE: ./src/components/cart/CartItem/CartItem.tsx
188
-
189
-
190
-
191
-
192
-
193
-
194
-
195
-
196
-
197
-
198
-
199
- function useCartItemEvent() {
200
- const {
201
- currency: {
202
- code
203
- }
204
- } = (0,session/* useSession */.kP)();
205
- const sendCartItemEvent = (0,external_react_.useCallback)((item, quantity) => {
206
- const quantityDelta = quantity - item.quantity;
207
- return (0,sendAnalyticsEvent/* sendAnalyticsEvent */._)({
208
- name: quantityDelta > 0 ? 'add_to_cart' : 'remove_from_cart',
209
- params: {
210
- currency: code,
211
- // TODO: In the future, we can explore more robust ways of
212
- // calculating the value (gift items, discounts, etc.).
213
- value: item.price * Math.abs(quantityDelta),
214
- items: [{
215
- item_id: item.itemOffered.isVariantOf.productGroupID,
216
- item_name: item.itemOffered.isVariantOf.name,
217
- item_brand: item.itemOffered.brand.name,
218
- item_variant: item.itemOffered.sku,
219
- quantity: Math.abs(quantityDelta),
220
- price: item.price,
221
- discount: item.listPrice - item.price,
222
- currency: code,
223
- item_variant_name: item.itemOffered.name,
224
- product_reference_id: item.itemOffered.gtin
225
- }]
226
- }
227
- });
228
- }, [code]);
229
- return (0,external_react_.useMemo)(() => ({
230
- sendCartItemEvent
231
- }), [sendCartItemEvent]);
232
- }
233
-
234
- function CartItem_CartItem_CartItem({
235
- item
236
- }) {
237
- const btnProps = useRemoveButton(item);
238
- const {
239
- sendCartItemEvent
240
- } = useCartItemEvent();
241
- const onQuantityChange = (0,external_react_.useCallback)(quantity => {
242
- sendCartItemEvent(item, quantity);
243
- sdk_cart/* cartStore.updateItemQuantity */.i8.updateItemQuantity(item.id, quantity);
244
- }, [item, sendCartItemEvent]);
245
- const skuActiveVariants = item.itemOffered.isVariantOf.skuVariants.activeVariations;
246
- const activeVariations = Object.keys(skuActiveVariants).map(key => ({
247
- label: key,
248
- option: skuActiveVariants[key]
249
- }));
250
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)(CartItem_CartItem, {
251
- price: {
252
- value: item.price,
253
- listPrice: item.listPrice,
254
- formatter: useFormattedPrice/* useFormattedPrice */.P
255
- },
256
- quantity: item.quantity,
257
- onQuantityChange: onQuantityChange,
258
- removeBtnProps: btnProps,
259
- "data-sku": item.itemOffered.sku,
260
- "data-seller": item.seller.identifier,
261
- children: [/*#__PURE__*/jsx_runtime_.jsx(CartItem_CartItemImage, {
262
- children: /*#__PURE__*/jsx_runtime_.jsx(Image/* Image */.E, {
263
- src: item.itemOffered.image[0].url,
264
- alt: item.itemOffered.image[0].alternateName,
265
- width: 56,
266
- height: 56
267
- })
268
- }), /*#__PURE__*/jsx_runtime_.jsx(CartItem_CartItemSummary, {
269
- title: item.itemOffered.isVariantOf.name,
270
- activeVariations: activeVariations
271
- })]
272
- });
273
- }
274
-
275
- /* harmony default export */ const cart_CartItem_CartItem = (CartItem_CartItem_CartItem);
276
- ;// CONCATENATED MODULE: ./src/components/cart/CartItem/index.ts
277
-
278
- // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
279
- var Icon_Icon = __webpack_require__(5045);
280
- ;// CONCATENATED MODULE: ../components/dist/molecules/Gift/Gift.js
281
-
282
-
283
- const Gift = (0,external_react_.forwardRef)(function Gift({ icon, testId = 'fs-gift', children, ...otherProps }, ref) {
284
- return (external_react_default().createElement("div", { ref: ref, "data-fs-gift": true, "data-testid": testId, ...otherProps },
285
- icon && external_react_default().createElement(Icon_Icon/* default */.Z, { component: icon, "data-fs-gift-icon": true }),
286
- external_react_default().createElement("div", { "data-fs-gift-wrapper": true }, children)));
287
- });
288
- /* harmony default export */ const Gift_Gift = (Gift);
289
- //# sourceMappingURL=Gift.js.map
290
- ;// CONCATENATED MODULE: ../components/dist/molecules/Gift/GiftImage.js
291
-
292
- const GiftImage = (0,external_react_.forwardRef)(function GiftImage({ testId = 'fs-gift-image', children, ...otherProps }, ref) {
293
- return (external_react_default().createElement("div", { ref: ref, "data-fs-gift-image": true, "data-testid": testId, ...otherProps }, children));
294
- });
295
- /* harmony default export */ const Gift_GiftImage = (GiftImage);
296
- //# sourceMappingURL=GiftImage.js.map
297
- ;// CONCATENATED MODULE: ../components/dist/molecules/Gift/GiftContent.js
298
-
299
-
300
- const GiftContent = (0,external_react_.forwardRef)(function GiftContent({ price, productName, titleMessage = 'Get a', badgeLabel = 'Free', testId = 'fs-gift-content', ...otherProps }, ref) {
301
- return (external_react_default().createElement("section", { ref: ref, "data-fs-gift-content": true, "data-testid": testId, ...otherProps },
302
- external_react_default().createElement("h3", { "data-fs-gift-product-title": true },
303
- titleMessage,
304
- " ",
305
- productName),
306
- external_react_default().createElement("span", { "data-fs-gift-product-summary": true },
307
- external_react_default().createElement(Price/* default */.Z, { value: price?.listPrice ? price.listPrice : 0, formatter: price?.formatter, testId: "list-price", "data-value": price?.listPrice, variant: "listing", SRText: "Original price:" }),
308
- external_react_default().createElement(Badge/* default */.Z, null, badgeLabel))));
309
- });
310
- /* harmony default export */ const Gift_GiftContent = (GiftContent);
311
- //# sourceMappingURL=GiftContent.js.map
312
- ;// CONCATENATED MODULE: ./src/components/ui/Gift/Gift.tsx
313
- const _excluded = ["item"];
314
-
315
- 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; }
316
-
317
- 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; }
318
-
319
- 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; }
320
-
321
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
322
-
323
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
324
-
325
-
326
-
327
-
328
-
329
-
330
-
331
-
332
- function Gift_Gift_Gift(_ref) {
333
- let {
334
- item
335
- } = _ref,
336
- otherProps = _objectWithoutProperties(_ref, _excluded);
337
-
338
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)(Gift_Gift, _objectSpread(_objectSpread({
339
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
340
- name: "Tag",
341
- width: 18,
342
- height: 18
343
- })
344
- }, otherProps), {}, {
345
- children: [/*#__PURE__*/jsx_runtime_.jsx(Gift_GiftImage, {
346
- children: /*#__PURE__*/jsx_runtime_.jsx(Image/* Image */.E, {
347
- src: item.itemOffered.image[0].url,
348
- alt: item.itemOffered.image[0].alternateName,
349
- width: 89,
350
- height: 89
351
- })
352
- }), /*#__PURE__*/jsx_runtime_.jsx(Gift_GiftContent, {
353
- productName: item.itemOffered.isVariantOf.name,
354
- price: {
355
- value: item.price,
356
- listPrice: item.listPrice,
357
- formatter: useFormattedPrice/* useFormattedPrice */.P
358
- }
359
- })]
360
- }));
361
- }
362
-
363
- /* harmony default export */ const ui_Gift_Gift = (Gift_Gift_Gift);
364
- ;// CONCATENATED MODULE: ./src/components/ui/Gift/index.ts
365
-
366
- // EXTERNAL MODULE: ./src/components/ui/EmptyState/index.ts + 1 modules
367
- var EmptyState = __webpack_require__(9509);
368
- ;// CONCATENATED MODULE: ./src/components/cart/EmptyCart/EmptyCart.tsx
369
-
370
-
371
-
372
-
373
-
374
-
375
- function EmptyCart({
376
- onDismiss
377
- }) {
378
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)(EmptyState/* default */.Z, {
379
- children: [/*#__PURE__*/(0,jsx_runtime_.jsxs)("header", {
380
- "data-fs-empty-state-title": true,
381
- children: [/*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
382
- name: "ShoppingCart",
383
- width: 56,
384
- height: 56,
385
- weight: "thin"
386
- }), /*#__PURE__*/jsx_runtime_.jsx("p", {
387
- children: "Your Cart is empty"
388
- })]
389
- }), /*#__PURE__*/jsx_runtime_.jsx(Button/* default */.Z, {
390
- onClick: onDismiss,
391
- variant: "secondary",
392
- children: "Start Shopping"
393
- })]
394
- });
395
- }
396
-
397
- /* harmony default export */ const EmptyCart_EmptyCart = (EmptyCart);
398
- ;// CONCATENATED MODULE: ./src/components/cart/EmptyCart/index.ts
399
-
400
- ;// CONCATENATED MODULE: ../ui/dist/components/molecules/OrderSummary/OrderSummary.js
401
-
402
-
403
- const OrderSummary = (0,external_react_.forwardRef)(function OrderSummary({ testId = 'store-order-summary', subtotalLabel, subtotalValue, discountLabel, discountValue, totalLabel, totalValue, ...otherProps }, ref) {
404
- return (external_react_default().createElement(List/* default */.Z, { ref: ref, "data-fs-order-summary": true, "data-testid": testId, ...otherProps },
405
- subtotalValue ? (external_react_default().createElement("li", { "data-fs-order-summary-subtotal": true },
406
- external_react_default().createElement("span", { "data-fs-order-summary-subtotal-label": true, "data-testid": `${testId}-subtotal-label` }, subtotalLabel),
407
- external_react_default().createElement("span", { "data-fs-order-summary-subtotal-value": true, "data-testid": `${testId}-subtotal-value` }, subtotalValue))) : null,
408
- discountValue ? (external_react_default().createElement("li", { "data-fs-order-summary-discount": true },
409
- external_react_default().createElement("span", { "data-fs-order-summary-discount-label": true, "data-testid": `${testId}-discount-label` }, discountLabel),
410
- external_react_default().createElement("span", { "data-fs-order-summary-discount-value": true, "data-testid": `${testId}-discount-value` }, discountValue))) : null,
411
- external_react_default().createElement("li", { "data-fs-order-summary-total": true },
412
- external_react_default().createElement("span", { "data-fs-order-summary-total-label": true, "data-testid": `${testId}-total-label` }, totalLabel),
413
- external_react_default().createElement("span", { "data-fs-order-summary-total-value": true, "data-testid": `${testId}-total-value` }, totalValue))));
414
- });
415
- /* harmony default export */ const OrderSummary_OrderSummary = (OrderSummary);
416
- //# sourceMappingURL=OrderSummary.js.map
417
- // EXTERNAL MODULE: ./src/components/cart/OrderSummary/order-summary.module.scss
418
- var order_summary_module = __webpack_require__(9320);
419
- var order_summary_module_default = /*#__PURE__*/__webpack_require__.n(order_summary_module);
420
- ;// CONCATENATED MODULE: ./src/components/cart/OrderSummary/OrderSummary.tsx
421
-
422
-
423
-
424
-
425
-
426
-
427
- function OrderSummary_OrderSummary_OrderSummary({
428
- subTotal,
429
- total,
430
- numberOfItems,
431
- checkoutButton
432
- }) {
433
- const discount = subTotal - total;
434
- const formattedDiscount = (0,useFormattedPrice/* useFormattedPrice */.P)(discount);
435
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
436
- className: (order_summary_module_default()).fsOrderSummary,
437
- children: [/*#__PURE__*/jsx_runtime_.jsx(OrderSummary_OrderSummary, {
438
- subtotalLabel: `Subtotal (${numberOfItems} products)`,
439
- subtotalValue: (0,useFormattedPrice/* useFormattedPrice */.P)(subTotal),
440
- discountLabel: "Discount",
441
- discountValue: discount > 0 ? `-${formattedDiscount}` : undefined,
442
- totalLabel: "Total",
443
- totalValue: (0,useFormattedPrice/* useFormattedPrice */.P)(total)
444
- }), checkoutButton]
445
- });
446
- }
447
-
448
- /* harmony default export */ const cart_OrderSummary_OrderSummary = (OrderSummary_OrderSummary_OrderSummary);
449
- ;// CONCATENATED MODULE: ./src/components/cart/OrderSummary/index.ts
450
-
451
- // EXTERNAL MODULE: ./src/components/cart/CartSidebar/cart-sidebar.module.scss
452
- var cart_sidebar_module = __webpack_require__(285);
453
- var cart_sidebar_module_default = /*#__PURE__*/__webpack_require__.n(cart_sidebar_module);
454
- ;// CONCATENATED MODULE: ./src/components/cart/CartSidebar/CartSidebar.tsx
455
- function CartSidebar_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; }
456
-
457
- function CartSidebar_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? CartSidebar_ownKeys(Object(source), !0).forEach(function (key) { CartSidebar_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : CartSidebar_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
458
-
459
- function CartSidebar_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; }
460
-
461
-
462
-
463
-
464
-
465
-
466
-
467
-
468
-
469
-
470
-
471
-
472
-
473
-
474
-
475
-
476
-
477
-
478
-
479
- function CartSidebar() {
480
- const {
481
- currency
482
- } = (0,session/* useSession */.kP)();
483
- const btnProps = useCheckoutButton();
484
- const cart = (0,sdk_cart/* useCart */.jD)();
485
- const {
486
- cart: displayCart,
487
- closeCart
488
- } = (0,UIProvider/* useUI */.l)();
489
- const {
490
- fade,
491
- fadeOut
492
- } = (0,useFadeEffect/* useFadeEffect */.b)();
493
- const {
494
- items,
495
- gifts,
496
- totalItems,
497
- isValidating,
498
- subTotal,
499
- total
500
- } = cart;
501
- const isEmpty = items.length === 0;
502
- (0,external_react_.useEffect)(() => {
503
- (0,sendAnalyticsEvent/* sendAnalyticsEvent */._)({
504
- name: 'view_cart',
505
- params: {
506
- currency: currency.code,
507
- value: total,
508
- items: items.concat(gifts).map(item => ({
509
- item_id: item.itemOffered.isVariantOf.productGroupID,
510
- item_name: item.itemOffered.isVariantOf.name,
511
- item_brand: item.itemOffered.brand.name,
512
- item_variant: item.itemOffered.sku,
513
- quantity: item.quantity,
514
- price: item.price,
515
- discount: item.listPrice - item.price,
516
- currency: currency.code,
517
- item_variant_name: item.itemOffered.name,
518
- product_reference_id: item.itemOffered.gtin
519
- }))
520
- }
521
- }); // eslint-disable-next-line react-hooks/exhaustive-deps
522
- }, []);
523
- const closeBtnProps = {
524
- testId: 'cart-sidebar-button-close'
525
- };
526
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)(SlideOver/* default */.Z, {
527
- fade: fade,
528
- isOpen: displayCart,
529
- onDismiss: () => fadeOut(),
530
- size: "partial",
531
- direction: "rightSide",
532
- className: (cart_sidebar_module_default()).fsCartSidebar,
533
- onTransitionEnd: () => fade === 'out' && closeCart(),
534
- children: [/*#__PURE__*/jsx_runtime_.jsx(SlideOverHeader/* default */.Z, {
535
- closeBtnProps: closeBtnProps,
536
- onClose: fadeOut,
537
- children: /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
538
- "data-fs-cart-sidebar-title": true,
539
- children: [/*#__PURE__*/jsx_runtime_.jsx("p", {
540
- "data-fs-cart-sidebar-title-text": true,
541
- className: "text__lead",
542
- children: "Your Cart"
543
- }), /*#__PURE__*/jsx_runtime_.jsx(Badge/* default */.Z, {
544
- variant: "info",
545
- children: totalItems
546
- })]
547
- })
548
- }), /*#__PURE__*/jsx_runtime_.jsx(Alert/* default */.Z, {
549
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
550
- name: "Truck"
551
- }),
552
- children: "Free shipping starts at $300"
553
- }), isEmpty ? /*#__PURE__*/jsx_runtime_.jsx(EmptyCart_EmptyCart, {
554
- onDismiss: fadeOut
555
- }) : /*#__PURE__*/(0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
556
- children: [/*#__PURE__*/(0,jsx_runtime_.jsxs)(List/* default */.Z, {
557
- "data-fs-cart-sidebar-list": true,
558
- children: [items.map(item => /*#__PURE__*/jsx_runtime_.jsx("li", {
559
- children: /*#__PURE__*/jsx_runtime_.jsx(cart_CartItem_CartItem, {
560
- item: item
561
- })
562
- }, item.id)), gifts.length > 0 && /*#__PURE__*/jsx_runtime_.jsx(jsx_runtime_.Fragment, {
563
- children: gifts.map(item => /*#__PURE__*/jsx_runtime_.jsx("li", {
564
- children: /*#__PURE__*/jsx_runtime_.jsx(ui_Gift_Gift, {
565
- item: item
566
- })
567
- }, item.id))
568
- })]
569
- }), /*#__PURE__*/jsx_runtime_.jsx("footer", {
570
- "data-fs-cart-sidebar-footer": true,
571
- children: /*#__PURE__*/jsx_runtime_.jsx(cart_OrderSummary_OrderSummary, {
572
- subTotal: subTotal,
573
- total: total,
574
- numberOfItems: totalItems,
575
- checkoutButton: /*#__PURE__*/jsx_runtime_.jsx(Button/* default */.Z, CartSidebar_objectSpread(CartSidebar_objectSpread({
576
- "data-fs-cart-sidebar-checkout-button": true,
577
- variant: "primary",
578
- icon: !isValidating && /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
579
- name: "ArrowRight",
580
- width: 18,
581
- height: 18
582
- }),
583
- iconPosition: "right"
584
- }, btnProps), {}, {
585
- children: isValidating ? 'Loading...' : 'Checkout'
586
- }))
587
- })
588
- })]
589
- })]
590
- });
591
- }
592
-
593
- /* harmony default export */ const CartSidebar_CartSidebar = (CartSidebar);
594
- ;// CONCATENATED MODULE: ./src/components/cart/CartSidebar/index.ts
595
-
596
-
597
- /***/ }),
598
-
599
- /***/ 9509:
600
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
601
-
602
- "use strict";
603
-
604
- // EXPORTS
605
- __webpack_require__.d(__webpack_exports__, {
606
- "Z": () => (/* reexport */ EmptyState_EmptyState)
607
- });
608
-
609
- // EXTERNAL MODULE: ./src/components/ui/EmptyState/empty-state.module.scss
610
- var empty_state_module = __webpack_require__(8098);
611
- var empty_state_module_default = /*#__PURE__*/__webpack_require__.n(empty_state_module);
612
- // EXTERNAL MODULE: external "react/jsx-runtime"
613
- var jsx_runtime_ = __webpack_require__(997);
614
- ;// CONCATENATED MODULE: ./src/components/ui/EmptyState/EmptyState.tsx
615
-
616
-
617
-
618
- function EmptyState({
619
- children,
620
- variant = 'default'
621
- }) {
622
- return /*#__PURE__*/jsx_runtime_.jsx("section", {
623
- className: (empty_state_module_default()).fsEmptyState,
624
- "data-fs-empty-state": true,
625
- "data-fs-empty-state-variant": variant,
626
- children: children
627
- });
628
- }
629
-
630
- /* harmony default export */ const EmptyState_EmptyState = (EmptyState);
631
- ;// CONCATENATED MODULE: ./src/components/ui/EmptyState/index.ts
632
-
633
-
634
- /***/ }),
635
-
636
- /***/ 285:
637
- /***/ ((module) => {
638
-
639
- // Exports
640
- module.exports = {
641
- "fs-cart-sidebar": "cart-sidebar_fs-cart-sidebar__vg9bV",
642
- "fsCartSidebar": "cart-sidebar_fs-cart-sidebar__vg9bV"
643
- };
644
-
645
-
646
- /***/ }),
647
-
648
- /***/ 9320:
649
- /***/ ((module) => {
650
-
651
- // Exports
652
- module.exports = {
653
- "fs-order-summary": "order-summary_fs-order-summary___R2v8",
654
- "fsOrderSummary": "order-summary_fs-order-summary___R2v8"
655
- };
656
-
657
-
658
- /***/ }),
659
-
660
- /***/ 8098:
661
- /***/ ((module) => {
662
-
663
- // Exports
664
- module.exports = {
665
- "fs-empty-state": "empty-state_fs-empty-state__F7Xul",
666
- "fsEmptyState": "empty-state_fs-empty-state__F7Xul"
667
- };
668
-
669
-
670
- /***/ })
671
-
672
- };
673
- ;