@faststore/core 2.1.18 → 2.1.22

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 (90) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +49 -45
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1gneedd +1 -1
  6. package/.next/cache/next-server.js.nft.json +1 -1
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/next-server.js.nft.json +1 -1
  12. package/.next/prerender-manifest.json +1 -1
  13. package/.next/routes-manifest.json +1 -1
  14. package/.next/server/chunks/{205.js → 144.js} +619 -2
  15. package/.next/server/chunks/721.js +679 -0
  16. package/.next/server/chunks/74.js +54 -20
  17. package/.next/server/middleware-build-manifest.js +1 -1
  18. package/.next/server/pages/404.js.nft.json +1 -1
  19. package/.next/server/pages/500.js.nft.json +1 -1
  20. package/.next/server/pages/[...slug].js +298 -71
  21. package/.next/server/pages/[...slug].js.nft.json +1 -1
  22. package/.next/server/pages/[slug]/p.js +2 -2
  23. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  24. package/.next/server/pages/_app.js.nft.json +1 -1
  25. package/.next/server/pages/_document.js +5 -1
  26. package/.next/server/pages/_error.js.nft.json +1 -1
  27. package/.next/server/pages/account.js.nft.json +1 -1
  28. package/.next/server/pages/api/preview.js +35 -6
  29. package/.next/server/pages/checkout.js.nft.json +1 -1
  30. package/.next/server/pages/en-US/404.html +3 -3
  31. package/.next/server/pages/en-US/500.html +3 -3
  32. package/.next/server/pages/en-US/account.html +3 -3
  33. package/.next/server/pages/en-US/checkout.html +3 -3
  34. package/.next/server/pages/en-US/login.html +3 -3
  35. package/.next/server/pages/en-US/s.html +3 -3
  36. package/.next/server/pages/en-US.html +3 -3
  37. package/.next/server/pages/en-US.json +1 -1
  38. package/.next/server/pages/index.js +4 -474
  39. package/.next/server/pages/index.js.nft.json +1 -1
  40. package/.next/server/pages/login.js.nft.json +1 -1
  41. package/.next/server/pages/s.js +1 -1
  42. package/.next/server/pages/s.js.nft.json +1 -1
  43. package/.next/server/pages-manifest.json +4 -4
  44. package/.next/static/JOMe5dtqNwu-zmVu2HIcF/_buildManifest.js +1 -0
  45. package/.next/static/chunks/548-6b23e7ad82cd22b9.js +1 -0
  46. package/.next/static/chunks/706-8049971f9e5f6ad2.js +1 -0
  47. package/.next/static/chunks/{738-67a288ca3569cdbb.js → 738-a5ff304828f20cbf.js} +1 -1
  48. package/.next/static/chunks/791-c23aa4269c7955c8.js +1 -0
  49. package/.next/static/chunks/pages/{404-6da332b2c4ef0f41.js → 404-d5f20744ecd83121.js} +1 -1
  50. package/.next/static/chunks/pages/{500-88dd73506f17946c.js → 500-3911549ab88d0378.js} +1 -1
  51. package/.next/static/chunks/pages/[...slug]-3a37fd4d13cb2ba8.js +1 -0
  52. package/.next/static/chunks/pages/[slug]/{p-93d3f1c0f2d3aed2.js → p-bf47c90571846f86.js} +1 -1
  53. package/.next/static/chunks/pages/account-d248acc931146694.js +1 -0
  54. package/.next/static/chunks/pages/checkout-97f6d6f36f041a6f.js +1 -0
  55. package/.next/static/chunks/pages/index-e9727cb06d9ae961.js +1 -0
  56. package/.next/static/chunks/pages/{login-a688a70872ea61f5.js → login-4cc4b8e52608f076.js} +1 -1
  57. package/.next/static/chunks/pages/s-aabfa5c08338974a.js +1 -0
  58. package/.next/static/chunks/{webpack-8bf035049b590d82.js → webpack-764ce5753552a617.js} +1 -1
  59. package/.next/static/css/08e3fc80f9bad95d.css +1 -0
  60. package/.next/trace +80 -78
  61. package/.turbo/turbo-build.log +7 -8
  62. package/cms/faststore/content-types.json +2 -2
  63. package/package.json +2 -2
  64. package/src/components/ThirdPartyScripts/vtex.tsx +6 -0
  65. package/src/components/cms/GlobalSections.tsx +2 -3
  66. package/src/components/templates/LandingPage/LandingPage.tsx +102 -0
  67. package/src/components/templates/LandingPage/index.ts +2 -0
  68. package/src/components/templates/ProductListingPage/ProductListingPage.tsx +138 -0
  69. package/src/components/templates/ProductListingPage/index.ts +2 -0
  70. package/src/pages/[...slug].tsx +45 -130
  71. package/src/pages/api/preview.ts +18 -2
  72. package/src/pages/index.tsx +1 -3
  73. package/src/sdk/error/MissingContentError/MissingContentError.ts +15 -0
  74. package/src/sdk/error/MissingContentError/index.ts +1 -0
  75. package/src/sdk/error/MultipleContentError/MultipleContentError.ts +15 -0
  76. package/src/sdk/error/MultipleContentError/index.ts +1 -0
  77. package/src/server/cms.ts +7 -21
  78. package/.next/server/chunks/513.js +0 -257
  79. package/.next/server/chunks/90.js +0 -623
  80. package/.next/static/chunks/113-207e8eceab001eea.js +0 -1
  81. package/.next/static/chunks/548-ab84e9e8b49413ab.js +0 -1
  82. package/.next/static/chunks/791-b6747a7c7ca0967e.js +0 -1
  83. package/.next/static/chunks/pages/[...slug]-ab804df4ac6c945e.js +0 -1
  84. package/.next/static/chunks/pages/account-06126db1f6dc537e.js +0 -1
  85. package/.next/static/chunks/pages/checkout-5138b7956d64dde8.js +0 -1
  86. package/.next/static/chunks/pages/index-7ba4f6708af42d8e.js +0 -1
  87. package/.next/static/chunks/pages/s-99aad326e6aafeb7.js +0 -1
  88. package/.next/static/css/13ddbbc10e89ff0e.css +0 -1
  89. package/.next/static/hlJfefjb0gNJqepjDW_Eh/_buildManifest.js +0 -1
  90. /package/.next/static/{hlJfefjb0gNJqepjDW_Eh → JOMe5dtqNwu-zmVu2HIcF}/_ssgManifest.js +0 -0
@@ -1,623 +0,0 @@
1
- exports.id = 90;
2
- exports.ids = [90];
3
- exports.modules = {
4
-
5
- /***/ 80023:
6
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7
-
8
- "use strict";
9
-
10
- // EXPORTS
11
- __webpack_require__.d(__webpack_exports__, {
12
- "Z": () => (/* reexport */ sections_BannerText_BannerText)
13
- });
14
-
15
- // EXTERNAL MODULE: external "react"
16
- var external_react_ = __webpack_require__(16689);
17
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
18
- ;// CONCATENATED MODULE: ../components/dist/organisms/Banner/Banner.js
19
-
20
- const BannerContext = (0,external_react_.createContext)(undefined);
21
- const Banner = (0,external_react_.forwardRef)(function Banner({ children, testId = 'fs-banner', variant = 'primary', colorVariant = 'main', ...otherProps }, ref) {
22
- const context = { variant, colorVariant };
23
- return (external_react_default().createElement(BannerContext.Provider, { value: context },
24
- external_react_default().createElement("article", { ref: ref, "data-fs-banner": true, "data-fs-banner-variant": variant, "data-fs-banner-color-variant": colorVariant, "data-testid": testId, ...otherProps }, children)));
25
- });
26
- function useBanner() {
27
- const context = (0,external_react_.useContext)(BannerContext);
28
- if (context === undefined) {
29
- throw new Error('Do not use Banner components outside the Banner context.');
30
- }
31
- return context;
32
- }
33
- /* harmony default export */ const Banner_Banner = (Banner);
34
- //# sourceMappingURL=Banner.js.map
35
- // EXTERNAL MODULE: ../components/dist/molecules/LinkButton/LinkButton.js
36
- var LinkButton = __webpack_require__(67703);
37
- ;// CONCATENATED MODULE: ../components/dist/organisms/Banner/BannerContent.js
38
-
39
-
40
-
41
- const BannerContent = (0,external_react_.forwardRef)(function BannerContent({ testId = 'fs-banner-content', title, caption, link, linkText, ...otherProps }, ref) {
42
- const { variant, colorVariant } = useBanner();
43
- return (external_react_default().createElement("header", { ref: ref, "data-fs-banner-content": true, "data-fs-content": "banner-text", "data-testid": testId, ...otherProps },
44
- external_react_default().createElement("div", { "data-fs-banner-heading": true, "data-fs-banner-color-variant": colorVariant },
45
- external_react_default().createElement("h2", null, title),
46
- variant === 'secondary' && caption && external_react_default().createElement("p", null, caption)),
47
- external_react_default().createElement(LinkButton/* default */.Z, { "data-fs-banner-link": true, href: link, variant: variant, inverse: colorVariant === 'main', "aria-label": linkText }, linkText)));
48
- });
49
- /* harmony default export */ const Banner_BannerContent = (BannerContent);
50
- //# sourceMappingURL=BannerContent.js.map
51
- ;// CONCATENATED MODULE: ./src/customizations/components/overrides/BannerText.tsx
52
- // This is an example of how it can be used on the starter.
53
- const SECTION = 'BannerText';
54
- const overrides = {
55
- name: SECTION,
56
- components: {
57
- Banner: {
58
- props: {}
59
- },
60
- BannerContent: {
61
- props: {}
62
- }
63
- }
64
- };
65
- /* harmony default export */ const BannerText = (overrides);
66
- ;// CONCATENATED MODULE: ./src/components/sections/BannerText/Overrides.tsx
67
- 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; }
68
-
69
- 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; }
70
-
71
- 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; }
72
-
73
-
74
-
75
- const bannerTextComponentsCustomization = {};
76
- const bannerTextPropsCustomization = {};
77
- Object.entries(BannerText.components).forEach(([key, value]) => {
78
- if (value.Component) {
79
- bannerTextComponentsCustomization[key] = value.Component;
80
- }
81
- });
82
- Object.entries(BannerText.components).forEach(([key, value]) => {
83
- if (value.props) {
84
- bannerTextPropsCustomization[key] = value.props;
85
- }
86
- });
87
-
88
- const Components = _objectSpread({
89
- Banner: Banner_Banner,
90
- BannerContent: Banner_BannerContent
91
- }, bannerTextComponentsCustomization);
92
-
93
-
94
- // EXTERNAL MODULE: ./src/components/sections/Section/index.ts
95
- var Section = __webpack_require__(57067);
96
- // EXTERNAL MODULE: ./src/components/sections/BannerText/section.module.scss
97
- var section_module = __webpack_require__(37283);
98
- var section_module_default = /*#__PURE__*/__webpack_require__.n(section_module);
99
- // EXTERNAL MODULE: external "react/jsx-runtime"
100
- var jsx_runtime_ = __webpack_require__(20997);
101
- ;// CONCATENATED MODULE: ./src/components/sections/BannerText/BannerText.tsx
102
- function BannerText_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; }
103
-
104
- function BannerText_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? BannerText_ownKeys(Object(source), !0).forEach(function (key) { BannerText_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : BannerText_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
105
-
106
- function BannerText_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; }
107
-
108
-
109
-
110
-
111
-
112
- const {
113
- Banner: BannerText_Banner,
114
- BannerContent: BannerText_BannerContent
115
- } = Components; // TODO: Change actionPath and actionLabel with Link
116
-
117
- function BannerText_BannerText({
118
- title,
119
- caption,
120
- link: {
121
- url: linkUrl = bannerTextPropsCustomization.BannerContent.link,
122
- text: linkText = bannerTextPropsCustomization.BannerContent.linkText
123
- },
124
- variant = bannerTextPropsCustomization.Banner.variant ?? 'primary',
125
- colorVariant = bannerTextPropsCustomization.Banner.colorVariant ?? 'main'
126
- }) {
127
- return /*#__PURE__*/jsx_runtime_.jsx(Section/* default */.Z, {
128
- className: `${(section_module_default()).section} section-banner layout__section`,
129
- children: /*#__PURE__*/jsx_runtime_.jsx(BannerText_Banner, BannerText_objectSpread(BannerText_objectSpread({}, bannerTextPropsCustomization.Banner), {}, {
130
- variant: variant,
131
- colorVariant: colorVariant,
132
- children: /*#__PURE__*/jsx_runtime_.jsx(BannerText_BannerContent, BannerText_objectSpread(BannerText_objectSpread({}, bannerTextPropsCustomization.BannerContent), {}, {
133
- title: title,
134
- caption: caption,
135
- link: linkUrl,
136
- linkText: linkText
137
- }))
138
- }))
139
- });
140
- }
141
-
142
- /* harmony default export */ const sections_BannerText_BannerText = (BannerText_BannerText);
143
- ;// CONCATENATED MODULE: ./src/components/sections/BannerText/index.ts
144
-
145
-
146
- /***/ }),
147
-
148
- /***/ 68170:
149
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
150
-
151
- "use strict";
152
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
153
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
154
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
155
- /* harmony export */ });
156
- /* harmony import */ var src_components_ui_Newsletter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24798);
157
- /* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57067);
158
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(37781);
159
- /* harmony import */ var _section_module_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_section_module_scss__WEBPACK_IMPORTED_MODULE_3__);
160
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20997);
161
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
162
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_ui_Newsletter__WEBPACK_IMPORTED_MODULE_0__]);
163
- src_components_ui_Newsletter__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
164
- const _excluded = ["icon", "title", "description", "privacyPolicy", "emailInputLabel", "displayNameInput", "nameInputLabel", "subscribeButtonLabel", "card", "toastSubscribe", "toastSubscribeError"];
165
-
166
- 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; }
167
-
168
- 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; }
169
-
170
- 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; }
171
-
172
- 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; }
173
-
174
- 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; }
175
-
176
-
177
-
178
-
179
-
180
-
181
- const Newsletter = function Newsletter(_ref) {
182
- let {
183
- icon,
184
- title,
185
- description,
186
- privacyPolicy,
187
- emailInputLabel,
188
- displayNameInput,
189
- nameInputLabel,
190
- subscribeButtonLabel,
191
- card,
192
- toastSubscribe,
193
- toastSubscribeError
194
- } = _ref,
195
- otherProps = _objectWithoutProperties(_ref, _excluded);
196
-
197
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(_Section__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
198
- className: `${(_section_module_scss__WEBPACK_IMPORTED_MODULE_3___default().section)} section-newsletter`,
199
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx(src_components_ui_Newsletter__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z, _objectSpread({
200
- icon: icon,
201
- title: title,
202
- description: description,
203
- privacyPolicy: privacyPolicy,
204
- emailInputLabel: emailInputLabel,
205
- displayNameInput: displayNameInput,
206
- nameInputLabel: nameInputLabel,
207
- subscribeButtonLabel: subscribeButtonLabel,
208
- toastSubscribe: toastSubscribe,
209
- toastSubscribeError: toastSubscribeError,
210
- card: card
211
- }, otherProps))
212
- });
213
- };
214
-
215
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Newsletter);
216
- __webpack_async_result__();
217
- } catch(e) { __webpack_async_result__(e); } });
218
-
219
- /***/ }),
220
-
221
- /***/ 97678:
222
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
223
-
224
- "use strict";
225
-
226
- // EXPORTS
227
- __webpack_require__.d(__webpack_exports__, {
228
- "z": () => (/* binding */ Components),
229
- "x": () => (/* binding */ newsletterPropsCustomization)
230
- });
231
-
232
- // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
233
- var Icon = __webpack_require__(25045);
234
- // EXTERNAL MODULE: ../components/dist/molecules/InputField/InputField.js
235
- var InputField = __webpack_require__(28287);
236
- // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js
237
- var Button = __webpack_require__(57578);
238
- ;// CONCATENATED MODULE: ./src/customizations/components/overrides/Newsletter.tsx
239
- // This is an example of how it can be used on the starter.
240
- const SECTION = 'Newsletter';
241
- const overrides = {
242
- name: SECTION,
243
- components: {
244
- ToastIconSuccess: {
245
- props: {}
246
- },
247
- ToastIconError: {
248
- props: {}
249
- },
250
- HeaderIcon: {
251
- props: {}
252
- },
253
- InputFieldName: {
254
- props: {}
255
- },
256
- InputFieldEmail: {
257
- props: {}
258
- },
259
- Button: {
260
- props: {}
261
- }
262
- }
263
- };
264
- /* harmony default export */ const Newsletter = (overrides);
265
- ;// CONCATENATED MODULE: ./src/components/sections/Newsletter/Overrides.tsx
266
- 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; }
267
-
268
- 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; }
269
-
270
- 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; }
271
-
272
-
273
-
274
- const newsletterComponentsCustomization = {};
275
- const newsletterPropsCustomization = {};
276
- Object.entries(Newsletter.components).forEach(([key, value]) => {
277
- if (value.Component) {
278
- newsletterComponentsCustomization[key] = value.Component;
279
- }
280
- });
281
- Object.entries(Newsletter.components).forEach(([key, value]) => {
282
- if (value.props) {
283
- newsletterPropsCustomization[key] = value.props;
284
- }
285
- });
286
-
287
- const Components = _objectSpread({
288
- ToastIconSuccess: Icon/* default */.Z,
289
- ToastIconError: Icon/* default */.Z,
290
- HeaderIcon: Icon/* default */.Z,
291
- InputFieldName: InputField/* default */.Z,
292
- InputFieldEmail: InputField/* default */.Z,
293
- Button: Button/* default */.Z
294
- }, newsletterComponentsCustomization);
295
-
296
-
297
-
298
- /***/ }),
299
-
300
- /***/ 87191:
301
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
302
-
303
- "use strict";
304
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
305
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
306
- /* harmony export */ "Z": () => (/* reexport safe */ _Newsletter__WEBPACK_IMPORTED_MODULE_0__.Z)
307
- /* harmony export */ });
308
- /* harmony import */ var _Newsletter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(68170);
309
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_Newsletter__WEBPACK_IMPORTED_MODULE_0__]);
310
- _Newsletter__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
311
-
312
- __webpack_async_result__();
313
- } catch(e) { __webpack_async_result__(e); } });
314
-
315
- /***/ }),
316
-
317
- /***/ 870:
318
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
319
-
320
- "use strict";
321
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
322
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
323
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
324
- /* harmony export */ });
325
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
326
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
327
- /* harmony import */ var draft_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26911);
328
- /* harmony import */ var draft_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(draft_js__WEBPACK_IMPORTED_MODULE_1__);
329
- /* harmony import */ var draft_js_export_html__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4539);
330
- /* harmony import */ var draft_js_export_html__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(draft_js_export_html__WEBPACK_IMPORTED_MODULE_2__);
331
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(90395);
332
- /* harmony import */ var src_sdk_newsletter_useNewsletter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(35822);
333
- /* harmony import */ var src_components_sections_Newsletter_Overrides__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(97678);
334
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(20997);
335
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);
336
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_newsletter_useNewsletter__WEBPACK_IMPORTED_MODULE_3__]);
337
- src_sdk_newsletter_useNewsletter__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
338
- 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; }
339
-
340
- 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; }
341
-
342
- 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; }
343
-
344
-
345
-
346
-
347
-
348
-
349
-
350
-
351
-
352
-
353
-
354
- const {
355
- ToastIconSuccess,
356
- ToastIconError,
357
- HeaderIcon,
358
- InputFieldEmail,
359
- InputFieldName,
360
- Button
361
- } = src_components_sections_Newsletter_Overrides__WEBPACK_IMPORTED_MODULE_4__/* .Components */ .z;
362
-
363
- const cmsToHtml = content => {
364
- if (!content) {
365
- return '';
366
- }
367
-
368
- const rawDraftContentState = JSON.parse(content);
369
- const html = (0,draft_js_export_html__WEBPACK_IMPORTED_MODULE_2__.stateToHTML)((0,draft_js__WEBPACK_IMPORTED_MODULE_1__.convertFromRaw)(rawDraftContentState), {
370
- entityStyleFn: entity => {
371
- const entityType = entity.get('type').toLowerCase();
372
-
373
- if (entityType === 'link') {
374
- const data = entity.getData();
375
- return {
376
- element: 'a',
377
- attributes: {
378
- 'data-fs-link': 'true',
379
- 'data-fs-link-variant': 'inline',
380
- 'data-fs-link-inverse': 'true',
381
- 'data-fs-link-size': 'regular',
382
- 'data-testid': 'fs-link',
383
- href: data.url
384
- }
385
- };
386
- }
387
- }
388
- });
389
- return html;
390
- };
391
-
392
- const Newsletter = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Newsletter({
393
- icon,
394
- title,
395
- description,
396
- privacyPolicy,
397
- emailInputLabel,
398
- displayNameInput,
399
- nameInputLabel,
400
- subscribeButtonLabel,
401
- subscribeButtonLoadingLabel,
402
- card,
403
- toastSubscribe,
404
- toastSubscribeError
405
- }, ref) {
406
- const {
407
- subscribeUser,
408
- loading,
409
- data
410
- } = (0,src_sdk_newsletter_useNewsletter__WEBPACK_IMPORTED_MODULE_3__/* .useNewsletter */ .u)();
411
- const nameInputRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
412
- const emailInputRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
413
- const subscriptionButtonLabel = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => loading ? subscribeButtonLoadingLabel : subscribeButtonLabel, [loading, subscribeButtonLabel, subscribeButtonLoadingLabel]);
414
- const {
415
- pushToast
416
- } = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_6__/* .useUI */ .l)();
417
-
418
- const handleSubmit = event => {
419
- event.preventDefault();
420
- subscribeUser({
421
- data: {
422
- name: nameInputRef.current?.value ?? '',
423
- email: emailInputRef.current?.value ?? ''
424
- }
425
- });
426
-
427
- if (data?.subscribeToNewsletter?.id) {
428
- pushToast(_objectSpread(_objectSpread({}, toastSubscribe), {}, {
429
- status: 'INFO',
430
- icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx(ToastIconSuccess, _objectSpread(_objectSpread({
431
- width: 30,
432
- height: 30
433
- }, src_components_sections_Newsletter_Overrides__WEBPACK_IMPORTED_MODULE_4__/* .Props.ToastIconSuccess */ .x.ToastIconSuccess), {}, {
434
- name: toastSubscribe.icon ?? src_components_sections_Newsletter_Overrides__WEBPACK_IMPORTED_MODULE_4__/* .Props.ToastIconSuccess.name */ .x.ToastIconSuccess.name
435
- }))
436
- }));
437
- } else {
438
- pushToast(_objectSpread(_objectSpread({}, toastSubscribeError), {}, {
439
- status: 'ERROR',
440
- icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx(ToastIconError, _objectSpread(_objectSpread({
441
- width: 30,
442
- height: 30
443
- }, src_components_sections_Newsletter_Overrides__WEBPACK_IMPORTED_MODULE_4__/* .Props.ToastIconError */ .x.ToastIconError), {}, {
444
- name: toastSubscribe.icon ?? src_components_sections_Newsletter_Overrides__WEBPACK_IMPORTED_MODULE_4__/* .Props.ToastIconError.name */ .x.ToastIconError.name
445
- }))
446
- }));
447
- }
448
-
449
- const formElement = event.currentTarget;
450
- formElement.reset();
451
- };
452
-
453
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx("div", {
454
- "data-fs-newsletter": card ? 'card' : '',
455
- children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("form", {
456
- ref: ref,
457
- "data-fs-newsletter-form": true,
458
- "data-fs-content": "newsletter",
459
- onSubmit: handleSubmit,
460
- children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("header", {
461
- "data-fs-newsletter-header": true,
462
- children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("h3", {
463
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx(HeaderIcon, _objectSpread(_objectSpread({
464
- width: 32,
465
- height: 32
466
- }, src_components_sections_Newsletter_Overrides__WEBPACK_IMPORTED_MODULE_4__/* .Props.HeaderIcon */ .x.HeaderIcon), {}, {
467
- name: icon?.icon ?? src_components_sections_Newsletter_Overrides__WEBPACK_IMPORTED_MODULE_4__/* .Props.HeaderIcon.name */ .x.HeaderIcon.name
468
- })), title]
469
- }), description && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("span", {
470
- children: [" ", description]
471
- })]
472
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx("div", {
473
- "data-fs-newsletter-controls": true,
474
- children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
475
- children: [displayNameInput ? /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx(InputFieldName, _objectSpread(_objectSpread({
476
- id: "newsletter-name",
477
- required: true
478
- }, src_components_sections_Newsletter_Overrides__WEBPACK_IMPORTED_MODULE_4__/* .Props.InputFieldName */ .x.InputFieldName), {}, {
479
- label: nameInputLabel ?? src_components_sections_Newsletter_Overrides__WEBPACK_IMPORTED_MODULE_4__/* .Props.InputFieldName.label */ .x.InputFieldName.label // Dynamic props shouldn't be overridable
480
- // This decision can be reviewed later if needed
481
- ,
482
- inputRef: nameInputRef
483
- })) : null, /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx(InputFieldEmail, _objectSpread(_objectSpread({
484
- id: "newsletter-email",
485
- type: "email",
486
- required: true
487
- }, src_components_sections_Newsletter_Overrides__WEBPACK_IMPORTED_MODULE_4__/* .Props.InputFieldEmail */ .x.InputFieldEmail), {}, {
488
- label: emailInputLabel ?? src_components_sections_Newsletter_Overrides__WEBPACK_IMPORTED_MODULE_4__/* .Props.InputFieldEmail.label */ .x.InputFieldEmail.label // Dynamic props shouldn't be overridable
489
- // This decision can be reviewed later if needed
490
- ,
491
- inputRef: emailInputRef
492
- })), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx("span", {
493
- "data-fs-newsletter-addendum": true,
494
- dangerouslySetInnerHTML: {
495
- __html: cmsToHtml(privacyPolicy)
496
- }
497
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx(Button, _objectSpread(_objectSpread({
498
- variant: "secondary",
499
- inverse: true,
500
- type: "submit"
501
- }, src_components_sections_Newsletter_Overrides__WEBPACK_IMPORTED_MODULE_4__/* .Props.Button */ .x.Button), {}, {
502
- children: loading ? subscribeButtonLoadingLabel : subscribeButtonLabel
503
- }))]
504
- })
505
- })]
506
- })
507
- });
508
- });
509
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Newsletter);
510
- __webpack_async_result__();
511
- } catch(e) { __webpack_async_result__(e); } });
512
-
513
- /***/ }),
514
-
515
- /***/ 24798:
516
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
517
-
518
- "use strict";
519
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
520
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
521
- /* harmony export */ "Z": () => (/* reexport safe */ _Newsletter__WEBPACK_IMPORTED_MODULE_0__.Z)
522
- /* harmony export */ });
523
- /* harmony import */ var _Newsletter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(870);
524
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_Newsletter__WEBPACK_IMPORTED_MODULE_0__]);
525
- _Newsletter__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
526
-
527
- __webpack_async_result__();
528
- } catch(e) { __webpack_async_result__(e); } });
529
-
530
- /***/ }),
531
-
532
- /***/ 88597:
533
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
534
-
535
- "use strict";
536
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
537
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
538
- /* harmony export */ "t": () => (/* binding */ useLazyQuery)
539
- /* harmony export */ });
540
- /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15941);
541
- /* harmony import */ var _request__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(180);
542
- /* harmony import */ var _useQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(77732);
543
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_0__, _useQuery__WEBPACK_IMPORTED_MODULE_1__]);
544
- ([swr__WEBPACK_IMPORTED_MODULE_0__, _useQuery__WEBPACK_IMPORTED_MODULE_1__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
545
-
546
-
547
-
548
- const useLazyQuery = (operationName, variables, options) => {
549
- const response = (0,swr__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_useQuery__WEBPACK_IMPORTED_MODULE_1__/* .getKey */ .km)(operationName, variables), () => null, _useQuery__WEBPACK_IMPORTED_MODULE_1__/* .DEFAULT_OPTIONS */ .WN);
550
-
551
- const execute = async queryVariables => {
552
- const data = await (0,_request__WEBPACK_IMPORTED_MODULE_2__/* .request */ .W)(operationName, queryVariables, options);
553
- response.mutate(data, false);
554
- };
555
-
556
- return [execute, response];
557
- };
558
- __webpack_async_result__();
559
- } catch(e) { __webpack_async_result__(e); } });
560
-
561
- /***/ }),
562
-
563
- /***/ 35822:
564
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
565
-
566
- "use strict";
567
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
568
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
569
- /* harmony export */ "u": () => (/* binding */ useNewsletter)
570
- /* harmony export */ });
571
- /* unused harmony export mutation */
572
- /* harmony import */ var _graphql_useLazyQuery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88597);
573
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_graphql_useLazyQuery__WEBPACK_IMPORTED_MODULE_0__]);
574
- _graphql_useLazyQuery__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
575
-
576
- const mutation = "SubscribeToNewsletter";
577
- const useNewsletter = () => {
578
- const [subscribeUser, {
579
- data,
580
- error,
581
- isValidating: loading
582
- }] = (0,_graphql_useLazyQuery__WEBPACK_IMPORTED_MODULE_0__/* .useLazyQuery */ .t)(mutation, {
583
- data: {
584
- name: '',
585
- email: ''
586
- }
587
- });
588
- return {
589
- subscribeUser,
590
- data,
591
- error,
592
- loading
593
- };
594
- };
595
- __webpack_async_result__();
596
- } catch(e) { __webpack_async_result__(e); } });
597
-
598
- /***/ }),
599
-
600
- /***/ 37283:
601
- /***/ ((module) => {
602
-
603
- // Exports
604
- module.exports = {
605
- "section": "section_section__ivuGF"
606
- };
607
-
608
-
609
- /***/ }),
610
-
611
- /***/ 37781:
612
- /***/ ((module) => {
613
-
614
- // Exports
615
- module.exports = {
616
- "section": "section_section__kRRBW"
617
- };
618
-
619
-
620
- /***/ })
621
-
622
- };
623
- ;