@faststore/core 2.0.87-alpha.0 → 2.0.89-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 (167) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/build-manifest.json +101 -0
  3. package/.next/cache/.tsbuildinfo +1 -0
  4. package/.next/cache/config.json +7 -0
  5. package/.next/cache/eslint/.cache_1gneedd +1 -0
  6. package/.next/cache/next-server.js.nft.json +1 -0
  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/export-marker.json +1 -0
  12. package/.next/images-manifest.json +1 -0
  13. package/.next/next-server.js.nft.json +1 -0
  14. package/.next/package.json +1 -0
  15. package/.next/prerender-manifest.json +1 -0
  16. package/.next/react-loadable-manifest.json +44 -0
  17. package/.next/required-server-files.json +1 -0
  18. package/.next/routes-manifest.json +1 -0
  19. package/.next/server/chunks/104.js +196 -0
  20. package/.next/server/chunks/143.js +106 -0
  21. package/.next/server/chunks/154.js +206 -0
  22. package/.next/server/chunks/183.js +72 -0
  23. package/.next/server/chunks/247.js +61 -0
  24. package/.next/server/chunks/264.js +67 -0
  25. package/.next/server/chunks/280.js +417 -0
  26. package/.next/server/chunks/287.js +79 -0
  27. package/.next/server/chunks/312.js +684 -0
  28. package/.next/server/chunks/317.js +125 -0
  29. package/.next/server/chunks/350.js +120 -0
  30. package/.next/server/chunks/371.js +1467 -0
  31. package/.next/server/chunks/377.js +82 -0
  32. package/.next/server/chunks/394.js +3801 -0
  33. package/.next/server/chunks/439.js +175 -0
  34. package/.next/server/chunks/444.js +464 -0
  35. package/.next/server/chunks/465.js +91 -0
  36. package/.next/server/chunks/576.js +72 -0
  37. package/.next/server/chunks/608.js +515 -0
  38. package/.next/server/chunks/650.js +216 -0
  39. package/.next/server/chunks/664.js +124 -0
  40. package/.next/server/chunks/676.js +32 -0
  41. package/.next/server/chunks/746.js +237 -0
  42. package/.next/server/chunks/777.js +708 -0
  43. package/.next/server/chunks/854.js +72 -0
  44. package/.next/server/chunks/859.js +959 -0
  45. package/.next/server/chunks/872.js +378 -0
  46. package/.next/server/chunks/881.js +320 -0
  47. package/.next/server/chunks/898.js +240 -0
  48. package/.next/server/chunks/914.js +96 -0
  49. package/.next/server/chunks/953.js +674 -0
  50. package/.next/server/chunks/98.js +266 -0
  51. package/.next/server/chunks/992.js +570 -0
  52. package/.next/server/chunks/font-manifest.json +1 -0
  53. package/.next/server/font-manifest.json +1 -0
  54. package/.next/server/middleware-build-manifest.js +1 -0
  55. package/.next/server/middleware-manifest.json +6 -0
  56. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  57. package/.next/server/pages/404.js.nft.json +1 -0
  58. package/.next/server/pages/500.js.nft.json +1 -0
  59. package/.next/server/pages/[...slug].js +633 -0
  60. package/.next/server/pages/[...slug].js.nft.json +1 -0
  61. package/.next/server/pages/[slug]/p.js +2436 -0
  62. package/.next/server/pages/[slug]/p.js.nft.json +1 -0
  63. package/.next/server/pages/_app.js +2479 -0
  64. package/.next/server/pages/_app.js.nft.json +1 -0
  65. package/.next/server/pages/_document.js +304 -0
  66. package/.next/server/pages/_document.js.nft.json +1 -0
  67. package/.next/server/pages/_error.js +164 -0
  68. package/.next/server/pages/_error.js.nft.json +1 -0
  69. package/.next/server/pages/account.js.nft.json +1 -0
  70. package/.next/server/pages/api/graphql.js +259 -0
  71. package/.next/server/pages/api/graphql.js.nft.json +1 -0
  72. package/.next/server/pages/api/preview.js +118 -0
  73. package/.next/server/pages/api/preview.js.nft.json +1 -0
  74. package/.next/server/pages/checkout.js.nft.json +1 -0
  75. package/.next/server/pages/en-US/404.html +81 -0
  76. package/.next/server/pages/en-US/500.html +81 -0
  77. package/.next/server/pages/en-US/account.html +81 -0
  78. package/.next/server/pages/en-US/checkout.html +81 -0
  79. package/.next/server/pages/en-US/login.html +81 -0
  80. package/.next/server/pages/en-US/s.html +81 -0
  81. package/.next/server/pages/en-US.html +81 -0
  82. package/.next/server/pages/en-US.json +1 -0
  83. package/.next/server/pages/index.js +428 -0
  84. package/.next/server/pages/index.js.nft.json +1 -0
  85. package/.next/server/pages/login.js.nft.json +1 -0
  86. package/.next/server/pages/s.js.nft.json +1 -0
  87. package/.next/server/pages-manifest.json +16 -0
  88. package/.next/server/webpack-api-runtime.js +229 -0
  89. package/.next/server/webpack-runtime.js +229 -0
  90. package/.next/static/1KPdWgQQSDSsDjbALweg_/_buildManifest.js +1 -0
  91. package/.next/static/1KPdWgQQSDSsDjbALweg_/_ssgManifest.js +1 -0
  92. package/.next/static/chunks/143.dd8a556e6957baa1.js +1 -0
  93. package/.next/static/chunks/291.78e3aea4a7f45595.js +1 -0
  94. package/.next/static/chunks/351-a4e28d64f48c5269.js +1 -0
  95. package/.next/static/chunks/608.59e69b83f35d9c44.js +1 -0
  96. package/.next/static/chunks/626-99e3ce6603bc98f0.js +1 -0
  97. package/.next/static/chunks/650.807852d1c36bfe44.js +1 -0
  98. package/.next/static/chunks/651.7142f31ce1e052b3.js +1 -0
  99. package/.next/static/chunks/686.41582b9e75eaba89.js +1 -0
  100. package/.next/static/chunks/741.52f7fb873418346f.js +1 -0
  101. package/.next/static/chunks/781-7df372b5b56e3f96.js +1 -0
  102. package/.next/static/chunks/843.fab5a00e170b4f11.js +1 -0
  103. package/.next/static/chunks/855-05313b1877eceff8.js +1 -0
  104. package/.next/static/chunks/98.97381d2021f86cd9.js +1 -0
  105. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +1 -0
  106. package/.next/static/chunks/main-9746772201fe3ac1.js +1 -0
  107. package/.next/static/chunks/pages/404-ba608a2a9f0c420a.js +1 -0
  108. package/.next/static/chunks/pages/500-910883c20541d9ce.js +1 -0
  109. package/.next/static/chunks/pages/[...slug]-a947020e62f4ac94.js +1 -0
  110. package/.next/static/chunks/pages/[slug]/p-de7852e7e513012d.js +1 -0
  111. package/.next/static/chunks/pages/_app-0bf8e95d55047056.js +1 -0
  112. package/.next/static/chunks/pages/_error-a7a0c1d9bfbb4f38.js +1 -0
  113. package/.next/static/chunks/pages/account-f19102933e6fd84c.js +1 -0
  114. package/.next/static/chunks/pages/checkout-f8cb7cb22225ef9d.js +1 -0
  115. package/.next/static/chunks/pages/index-eabe9d42a172b52b.js +1 -0
  116. package/.next/static/chunks/pages/login-0b9ea80d9fa0f91b.js +1 -0
  117. package/.next/static/chunks/pages/s-56181f57d448f67c.js +1 -0
  118. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +1 -0
  119. package/.next/static/chunks/webpack-2d6880a14598b3ec.js +1 -0
  120. package/.next/static/css/046add45db5e9cdf.css +1 -0
  121. package/.next/static/css/430b8cafbf7c23c1.css +1 -0
  122. package/.next/static/css/43d61b402f41569b.css +1 -0
  123. package/.next/static/css/59446068ab594e58.css +1 -0
  124. package/.next/static/css/6507cb48401e73a4.css +1 -0
  125. package/.next/static/css/9dd1d1084d254c66.css +1 -0
  126. package/.next/static/css/b2f16bd4b93e0aca.css +1 -0
  127. package/.next/static/css/bd743407c8049677.css +1 -0
  128. package/.next/static/media/brandless-neutral.76ddf63a.png +0 -0
  129. package/.next/trace +63 -0
  130. package/.turbo/turbo-build.log +16 -16
  131. package/CHANGELOG.md +12 -0
  132. package/package.json +4 -4
  133. package/public/~partytown/debug/partytown-atomics.js +556 -0
  134. package/public/~partytown/debug/partytown-media.js +374 -0
  135. package/public/~partytown/debug/partytown-sandbox-sw.js +543 -0
  136. package/public/~partytown/debug/partytown-sw.js +59 -0
  137. package/public/~partytown/debug/partytown-ww-atomics.js +1789 -0
  138. package/public/~partytown/debug/partytown-ww-sw.js +1781 -0
  139. package/public/~partytown/debug/partytown.js +72 -0
  140. package/public/~partytown/partytown-atomics.js +2 -0
  141. package/public/~partytown/partytown-media.js +2 -0
  142. package/public/~partytown/partytown-sw.js +2 -0
  143. package/public/~partytown/partytown.js +2 -0
  144. package/src/components/common/Navbar/navbar.module.scss +6 -5
  145. package/src/components/product/OutOfStock/OutOfStock.tsx +26 -108
  146. package/src/components/product/OutOfStock/index.ts +0 -1
  147. package/src/components/regionalization/RegionalizationBar/regionalization-bar.module.scss +4 -0
  148. package/src/components/search/SearchDropdown/SearchDropdown.tsx +44 -33
  149. package/src/components/search/SearchDropdown/index.ts +0 -1
  150. package/src/components/search/SearchHistory/SearchHistory.tsx +5 -3
  151. package/src/components/search/SearchInput/SearchInput.tsx +55 -61
  152. package/src/components/search/SearchProductItem/SearchProductItem.tsx +5 -3
  153. package/src/components/search/SearchTop/SearchTop.tsx +8 -8
  154. package/src/components/sections/ProductDetails/ProductDetails.tsx +62 -64
  155. package/src/components/sections/ProductDetails/product-details.module.scss +0 -4
  156. package/src/sdk/search/formatSearchPath.ts +12 -0
  157. package/src/components/product/OutOfStock/OutOfStock.stories.mdx +0 -127
  158. package/src/components/product/OutOfStock/out-of-stock.module.scss +0 -55
  159. package/src/components/search/Search.stories.mdx +0 -173
  160. package/src/components/search/SearchDropdown/SearchDropdown.stories.mdx +0 -61
  161. package/src/components/search/SearchInput/SearchInput.stories.mdx +0 -200
  162. package/src/components/search/SearchInput/search-input.module.scss +0 -138
  163. package/src/components/search/SearchSharedTokenTable.mdx +0 -98
  164. package/src/components/search/SearchSuggestions/SearchSuggestions.tsx +0 -84
  165. package/src/components/search/SearchSuggestions/index.ts +0 -2
  166. package/src/components/search/search.module.scss +0 -19
  167. package/src/sdk/search/useSearchInput.tsx +0 -43
@@ -0,0 +1,684 @@
1
+ "use strict";
2
+ exports.id = 312;
3
+ exports.ids = [312];
4
+ exports.modules = {
5
+
6
+ /***/ 2155:
7
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
+
9
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
+ /* harmony export */ "R": () => (/* binding */ useSearch)
11
+ /* harmony export */ });
12
+ /* harmony import */ var _molecules_SearchProvider_SearchProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8907);
13
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
14
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
15
+
16
+
17
+ const useSearch = () => {
18
+ const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_molecules_SearchProvider_SearchProvider__WEBPACK_IMPORTED_MODULE_1__/* .SearchContext */ .c);
19
+ if (!context) {
20
+ return { inContext: false };
21
+ }
22
+ return { inContext: true, values: context };
23
+ };
24
+ //# sourceMappingURL=useSearch.js.map
25
+
26
+ /***/ }),
27
+
28
+ /***/ 6395:
29
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
30
+
31
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
32
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
33
+ /* harmony export */ });
34
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
35
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
36
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2155);
37
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1329);
38
+
39
+
40
+ const SearchAutoComplete = ({ testId = 'fs-search-auto-complete', children, ...otherProps }) => {
41
+ const { inContext, values } = (0,___WEBPACK_IMPORTED_MODULE_1__/* .useSearch */ .R)();
42
+ if (inContext && (values.terms.length <= 0 || values.term.length <= 0)) {
43
+ return null;
44
+ }
45
+ return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", { "data-testid": testId, "data-fs-search-auto-complete": true, ...otherProps },
46
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { as: "ol" }, children)));
47
+ };
48
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchAutoComplete);
49
+ //# sourceMappingURL=SearchAutoComplete.js.map
50
+
51
+ /***/ }),
52
+
53
+ /***/ 6254:
54
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
55
+
56
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
57
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
58
+ /* harmony export */ });
59
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
60
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
61
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6389);
62
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7865);
63
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5045);
64
+
65
+
66
+ function formatSearchTerm(indexSubstring, searchTerm, suggestion) {
67
+ if (indexSubstring === 0) {
68
+ return searchTerm
69
+ .split('')
70
+ .map((char, idx) => idx === 0 && suggestion.indexOf(char.toUpperCase()) === 0
71
+ ? char.toUpperCase()
72
+ : char.toLowerCase())
73
+ .join('');
74
+ }
75
+ return searchTerm.toLowerCase();
76
+ }
77
+ const SearchAutoCompleteTerm = ({ testId = 'fs-search-auto-complete-term', suggestion, term, linkProps, icon, }) => {
78
+ const autoCompleteIcon = icon ? icon : react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, null);
79
+ const suggestionSubstring = suggestion.toLowerCase().split(term.toLowerCase());
80
+ return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", { "data-fs-search-auto-complete-item": true, "data-testid": testId },
81
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { ...linkProps, "data-fs-search-auto-complete-item-link": true, variant: "display" },
82
+ autoCompleteIcon && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, { component: autoCompleteIcon, "data-fs-search-auto-complete-item-icon": true })),
83
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, suggestionSubstring.map((substring, indexSubstring) => (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, { key: [substring, indexSubstring].join() },
84
+ substring.length > 0 && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("strong", { "data-fs-search-auto-complete-item-suggestion": true }, indexSubstring === 0
85
+ ? substring.charAt(0).toUpperCase() + substring.slice(1)
86
+ : substring)),
87
+ indexSubstring !== suggestionSubstring.length - 1 &&
88
+ formatSearchTerm(indexSubstring, term, suggestion))))))));
89
+ };
90
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchAutoCompleteTerm);
91
+ //# sourceMappingURL=SearchAutoCompleteTerm.js.map
92
+
93
+ /***/ }),
94
+
95
+ /***/ 6780:
96
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
97
+
98
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
99
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
100
+ /* harmony export */ });
101
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
102
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
103
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2155);
104
+
105
+
106
+ const SearchLoading = () => {
107
+ const { inContext, values } = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__/* .useSearch */ .R)();
108
+ return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, (inContext && values.isLoading) && react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", { "data-fs-search-dropdown-loading-text": true }, "Loading...")));
109
+ };
110
+ const SearchDropdown = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function SearchDropdown({ testId = 'fs-search-dropdown', children, ...otherProps }, ref) {
111
+ return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { ref: ref, "data-fs-search-dropdown": true, "data-testid": testId, ...otherProps },
112
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", null,
113
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(SearchLoading, null),
114
+ children)));
115
+ });
116
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchDropdown);
117
+ //# sourceMappingURL=SearchDropdown.js.map
118
+
119
+ /***/ }),
120
+
121
+ /***/ 7510:
122
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
123
+
124
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
125
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
126
+ /* harmony export */ });
127
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
128
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
129
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2155);
130
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1329);
131
+
132
+
133
+ const SearchProductsProps = ({ testId = 'fs-search-products', title = 'Suggested Products', children, ...otherProps }) => {
134
+ const { inContext, values } = (0,___WEBPACK_IMPORTED_MODULE_1__/* .useSearch */ .R)();
135
+ if (inContext && (values.products.length <= 0)) {
136
+ return null;
137
+ }
138
+ return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", { "data-testid": testId, "data-fs-search-products": true, ...otherProps },
139
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement("header", { "data-fs-search-products-header": true },
140
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", { "data-fs-search-products-title": true }, title)),
141
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { as: "ol" }, children)));
142
+ };
143
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchProductsProps);
144
+ //# sourceMappingURL=SearchProducts.js.map
145
+
146
+ /***/ }),
147
+
148
+ /***/ 2727:
149
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
150
+
151
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
152
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
153
+ /* harmony export */ });
154
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
155
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
156
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2155);
157
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1329);
158
+
159
+
160
+
161
+ const SearchTop = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function SearchTop({ testId = 'fs-top-search', title = 'Top Search', children, ...otherProps }, ref) {
162
+ const { inContext, values } = (0,___WEBPACK_IMPORTED_MODULE_1__/* .useSearch */ .R)();
163
+ if (inContext && (values.term.length !== 0 || values.isLoading)) {
164
+ return null;
165
+ }
166
+ return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", { ref: ref, "data-testid": testId, "data-fs-search-top": true, ...otherProps },
167
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement("header", { "data-fs-search-top-header": true },
168
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", { "data-fs-search-top-title": true }, title)),
169
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { as: "ol" }, children)));
170
+ });
171
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchTop);
172
+ //# sourceMappingURL=SearchTop.js.map
173
+
174
+ /***/ }),
175
+
176
+ /***/ 5629:
177
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
178
+
179
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
180
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
181
+ /* harmony export */ });
182
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
183
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
184
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7865);
185
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44);
186
+
187
+
188
+ const SearchTopTerm = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function SearchTopTerm({ testId = 'fs-top-search-term', value, linkProps, index }, ref) {
189
+ return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", { ref: ref, "data-fs-search-top-item": true, "data-testid": testId },
190
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { ...linkProps, "data-fs-search-top-item-link": true, variant: "display" },
191
+ react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { "data-fs-search-top-item-badge": true, variant: "info" }, index + 1),
192
+ value)));
193
+ });
194
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchTopTerm);
195
+ //# sourceMappingURL=SearchTopTerm.js.map
196
+
197
+ /***/ }),
198
+
199
+ /***/ 1612:
200
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
201
+
202
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
203
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
204
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
205
+ /* harmony export */ });
206
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2155);
207
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6780);
208
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6395);
209
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6254);
210
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(7510);
211
+ /* harmony import */ var _SearchHistory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7840);
212
+ /* harmony import */ var _SearchTop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(107);
213
+ /* harmony import */ var src_components_search_SearchProductItem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2387);
214
+ /* harmony import */ var src_sdk_search_formatSearchPath__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(5882);
215
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(997);
216
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__);
217
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_SearchTop__WEBPACK_IMPORTED_MODULE_1__]);
218
+ _SearchTop__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
219
+ 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; }
220
+
221
+ 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; }
222
+
223
+ 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; }
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+ function SearchDropdown(_ref) {
234
+ let otherProps = Object.assign({}, _ref);
235
+ const {
236
+ values: {
237
+ onSearchSelection,
238
+ products,
239
+ term,
240
+ terms
241
+ }
242
+ } = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_4__/* .useSearch */ .R)();
243
+ return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)(_faststore_ui__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, _objectSpread(_objectSpread({}, otherProps), {}, {
244
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx(_SearchHistory__WEBPACK_IMPORTED_MODULE_0__/* .SearchHistory */ .Z, {}), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx(_SearchTop__WEBPACK_IMPORTED_MODULE_1__/* .SearchTop */ .S, {}), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
245
+ children: terms?.map(({
246
+ value: suggestion
247
+ }) => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
248
+ term: term,
249
+ suggestion: suggestion,
250
+ linkProps: {
251
+ href: (0,src_sdk_search_formatSearchPath__WEBPACK_IMPORTED_MODULE_8__/* .formatSearchPath */ .u)(suggestion),
252
+ onClick: () => onSearchSelection?.(suggestion, (0,src_sdk_search_formatSearchPath__WEBPACK_IMPORTED_MODULE_8__/* .formatSearchPath */ .u)(suggestion))
253
+ }
254
+ }, suggestion))
255
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
256
+ children: products.map((product, index) => {
257
+ const productParsed = product;
258
+ return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx(src_components_search_SearchProductItem__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
259
+ product: productParsed,
260
+ index: index
261
+ }, productParsed.id);
262
+ })
263
+ })]
264
+ }));
265
+ }
266
+
267
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchDropdown);
268
+ __webpack_async_result__();
269
+ } catch(e) { __webpack_async_result__(e); } });
270
+
271
+ /***/ }),
272
+
273
+ /***/ 4312:
274
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
275
+
276
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
277
+ __webpack_require__.r(__webpack_exports__);
278
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
279
+ /* harmony export */ "default": () => (/* reexport safe */ _SearchDropdown__WEBPACK_IMPORTED_MODULE_0__.Z)
280
+ /* harmony export */ });
281
+ /* harmony import */ var _SearchDropdown__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1612);
282
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_SearchDropdown__WEBPACK_IMPORTED_MODULE_0__]);
283
+ _SearchDropdown__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
284
+
285
+ __webpack_async_result__();
286
+ } catch(e) { __webpack_async_result__(e); } });
287
+
288
+ /***/ }),
289
+
290
+ /***/ 7840:
291
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
292
+
293
+
294
+ // EXPORTS
295
+ __webpack_require__.d(__webpack_exports__, {
296
+ "Z": () => (/* reexport */ search_SearchHistory_SearchHistory)
297
+ });
298
+
299
+ // EXTERNAL MODULE: ../components/dist/hooks/useSearch.js
300
+ var useSearch = __webpack_require__(2155);
301
+ // EXTERNAL MODULE: external "react"
302
+ var external_react_ = __webpack_require__(6689);
303
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
304
+ // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js + 1 modules
305
+ var Button = __webpack_require__(4842);
306
+ // EXTERNAL MODULE: ../components/dist/atoms/List/List.js
307
+ var List = __webpack_require__(1329);
308
+ ;// CONCATENATED MODULE: ../components/dist/molecules/SearchHistory/SearchHistory.js
309
+
310
+
311
+ const SearchHistory = ({ testId = 'fs-search-history', title = 'History', clearLabel = 'Clear History', onClear, children, ...otherProps }) => {
312
+ const { inContext, values } = (0,useSearch/* useSearch */.R)();
313
+ if (inContext && (values.term.length !== 0 || values.isLoading)) {
314
+ return null;
315
+ }
316
+ return (external_react_default().createElement("section", { "data-testid": testId, "data-fs-search-history": true, ...otherProps },
317
+ external_react_default().createElement("header", { "data-fs-search-history-header": true },
318
+ external_react_default().createElement("p", { "data-fs-search-history-title": true }, title),
319
+ external_react_default().createElement(Button/* default */.Z, { variant: "tertiary", onClick: onClear, size: "small" }, clearLabel)),
320
+ external_react_default().createElement(List/* default */.Z, { as: "ol" }, children)));
321
+ };
322
+ /* harmony default export */ const SearchHistory_SearchHistory = (SearchHistory);
323
+ //# sourceMappingURL=SearchHistory.js.map
324
+ ;// CONCATENATED MODULE: ../components/dist/assets/ClockClockwise.js
325
+
326
+ // Icon from Phosphor Icons
327
+ const ClockClockwise = () => (external_react_default().createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 256 256", strokeWidth: "16", width: 24, height: 24 },
328
+ external_react_default().createElement("rect", { width: "256", height: "256", fill: "none" }),
329
+ external_react_default().createElement("line", { x1: "128", y1: "80", x2: "128", y2: "128", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "16" }),
330
+ external_react_default().createElement("line", { x1: "169.6", y1: "152", x2: "128", y2: "128", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "16" }),
331
+ external_react_default().createElement("polyline", { points: "184.2 99.7 224.2 99.7 224.2 59.7", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "16" }),
332
+ external_react_default().createElement("path", { d: "M190.2,190.2a88,88,0,1,1,0-124.4l34,33.9", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "16" })));
333
+ /* harmony default export */ const assets_ClockClockwise = (ClockClockwise);
334
+ //# sourceMappingURL=ClockClockwise.js.map
335
+ // EXTERNAL MODULE: ../components/dist/atoms/Link/Link.js
336
+ var Link = __webpack_require__(7865);
337
+ // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
338
+ var Icon = __webpack_require__(5045);
339
+ ;// CONCATENATED MODULE: ../components/dist/molecules/SearchHistory/SearchHistoryTerm.js
340
+
341
+
342
+ const SearchHistoryTerm = ({ testId = 'fs-search-history-term', value, linkProps, icon, }) => {
343
+ const historyIcon = icon ? icon : external_react_default().createElement(assets_ClockClockwise, null);
344
+ return (external_react_default().createElement("li", { "data-fs-search-history-item": true, "data-testid": testId },
345
+ external_react_default().createElement(Link/* default */.Z, { ...linkProps, "data-fs-search-history-item-link": true, variant: "display" },
346
+ historyIcon && (external_react_default().createElement(Icon/* default */.Z, { component: historyIcon, "data-fs-search-history-item-icon": true })),
347
+ external_react_default().createElement("span", null, value))));
348
+ };
349
+ /* harmony default export */ const SearchHistory_SearchHistoryTerm = (SearchHistoryTerm);
350
+ //# sourceMappingURL=SearchHistoryTerm.js.map
351
+ // EXTERNAL MODULE: ./src/sdk/search/useSearchHistory.ts
352
+ var useSearchHistory = __webpack_require__(5098);
353
+ // EXTERNAL MODULE: external "react/jsx-runtime"
354
+ var jsx_runtime_ = __webpack_require__(997);
355
+ ;// CONCATENATED MODULE: ./src/components/search/SearchHistory/SearchHistory.tsx
356
+ 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; }
357
+
358
+ 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; }
359
+
360
+ 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; }
361
+
362
+
363
+
364
+
365
+
366
+ const SearchHistory_SearchHistory_SearchHistory = _ref => {
367
+ let props = Object.assign({}, _ref);
368
+ const {
369
+ values: {
370
+ onSearchSelection
371
+ }
372
+ } = (0,useSearch/* useSearch */.R)();
373
+ const {
374
+ searchHistory,
375
+ clearSearchHistory
376
+ } = (0,useSearchHistory/* default */.Z)();
377
+
378
+ if (!searchHistory.length) {
379
+ return null;
380
+ }
381
+
382
+ return /*#__PURE__*/jsx_runtime_.jsx(SearchHistory_SearchHistory, _objectSpread(_objectSpread({
383
+ title: "History",
384
+ onClear: clearSearchHistory
385
+ }, props), {}, {
386
+ children: searchHistory.map(item => /*#__PURE__*/jsx_runtime_.jsx(SearchHistory_SearchHistoryTerm, {
387
+ value: item.term,
388
+ linkProps: {
389
+ href: item.path,
390
+ onClick: () => onSearchSelection?.(item.term, item.path)
391
+ }
392
+ }, item.term))
393
+ }));
394
+ };
395
+
396
+ /* harmony default export */ const search_SearchHistory_SearchHistory = (SearchHistory_SearchHistory_SearchHistory);
397
+ ;// CONCATENATED MODULE: ./src/components/search/SearchHistory/index.ts
398
+
399
+
400
+ /***/ }),
401
+
402
+ /***/ 2387:
403
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
404
+
405
+
406
+ // EXPORTS
407
+ __webpack_require__.d(__webpack_exports__, {
408
+ "Z": () => (/* reexport */ search_SearchProductItem_SearchProductItem)
409
+ });
410
+
411
+ // EXTERNAL MODULE: ../components/dist/hooks/useSearch.js
412
+ var useSearch = __webpack_require__(2155);
413
+ // EXTERNAL MODULE: external "react"
414
+ var external_react_ = __webpack_require__(6689);
415
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
416
+ // EXTERNAL MODULE: ../components/dist/atoms/Link/Link.js
417
+ var Link = __webpack_require__(7865);
418
+ ;// CONCATENATED MODULE: ../components/dist/molecules/SearchProducts/SearchProductItem.js
419
+
420
+
421
+ const SearchProductItem = (0,external_react_.forwardRef)(function ProductItem({ testId = 'fs-search-product-item', linkProps, children }, ref) {
422
+ return (external_react_default().createElement("li", { ref: ref, "data-fs-search-product-item": true, "data-testid": testId },
423
+ external_react_default().createElement(Link/* default */.Z, { ...linkProps, "data-fs-search-product-item-link": true, variant: "display" }, children)));
424
+ });
425
+ /* harmony default export */ const SearchProducts_SearchProductItem = (SearchProductItem);
426
+ //# sourceMappingURL=SearchProductItem.js.map
427
+ ;// CONCATENATED MODULE: ../components/dist/molecules/SearchProducts/SearchProductItemImage.js
428
+
429
+ const SearchProductItemImage = (0,external_react_.forwardRef)(function SearchProductItemImage({ testId = 'fs-search-product-item-image', children, ...otherProps }, ref) {
430
+ return (external_react_default().createElement("div", { ref: ref, "data-fs-search-product-item-image": true, "data-testid": testId, ...otherProps }, children));
431
+ });
432
+ /* harmony default export */ const SearchProducts_SearchProductItemImage = (SearchProductItemImage);
433
+ //# sourceMappingURL=SearchProductItemImage.js.map
434
+ // EXTERNAL MODULE: ../components/dist/atoms/Price/Price.js
435
+ var Price = __webpack_require__(7549);
436
+ ;// CONCATENATED MODULE: ../components/dist/molecules/SearchProducts/SearchProductItemContent.js
437
+
438
+
439
+ const SearchProductItemContent = (0,external_react_.forwardRef)(function SearchProductItemContent({ price, title, ...otherProps }, ref) {
440
+ return (external_react_default().createElement("section", { ref: ref, "data-fs-search-product-item-content": true, ...otherProps },
441
+ external_react_default().createElement("p", { "data-fs-search-product-item-title": true }, title),
442
+ external_react_default().createElement("span", { "data-fs-search-product-item-prices": true },
443
+ 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:" }),
444
+ external_react_default().createElement(Price/* default */.Z, { value: price?.value ? price.value : 0, formatter: price?.formatter, testId: "price", "data-value": price?.value, variant: "spot", SRText: "Price:" }))));
445
+ });
446
+ /* harmony default export */ const SearchProducts_SearchProductItemContent = (SearchProductItemContent);
447
+ //# sourceMappingURL=SearchProductItemContent.js.map
448
+ // EXTERNAL MODULE: ./src/components/ui/Image/index.ts + 3 modules
449
+ var Image = __webpack_require__(2154);
450
+ // EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
451
+ var useFormattedPrice = __webpack_require__(5346);
452
+ // EXTERNAL MODULE: ./src/sdk/product/useProductLink.ts
453
+ var useProductLink = __webpack_require__(9854);
454
+ // EXTERNAL MODULE: external "react/jsx-runtime"
455
+ var jsx_runtime_ = __webpack_require__(997);
456
+ ;// CONCATENATED MODULE: ./src/components/search/SearchProductItem/SearchProductItem.tsx
457
+ const _excluded = ["product", "index"],
458
+ _excluded2 = ["href", "onClick"];
459
+
460
+ 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; }
461
+
462
+ 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; }
463
+
464
+ 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; }
465
+
466
+ 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; }
467
+
468
+ 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; }
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+
477
+ function SearchProductItem_SearchProductItem(_ref) {
478
+ let {
479
+ product,
480
+ index
481
+ } = _ref,
482
+ otherProps = _objectWithoutProperties(_ref, _excluded);
483
+
484
+ const {
485
+ values: {
486
+ onSearchSelection
487
+ }
488
+ } = (0,useSearch/* useSearch */.R)();
489
+
490
+ const _useProductLink = (0,useProductLink/* useProductLink */.w)({
491
+ product,
492
+ selectedOffer: 0,
493
+ index
494
+ }),
495
+ {
496
+ href,
497
+ onClick
498
+ } = _useProductLink,
499
+ baseLinkProps = _objectWithoutProperties(_useProductLink, _excluded2);
500
+
501
+ const {
502
+ isVariantOf: {
503
+ name
504
+ },
505
+ image: [img],
506
+ offers: {
507
+ lowPrice: spotPrice,
508
+ offers: [{
509
+ listPrice
510
+ }]
511
+ }
512
+ } = product;
513
+
514
+ const linkProps = _objectSpread({
515
+ href,
516
+ onClick: () => {
517
+ onClick();
518
+ onSearchSelection?.(name, href);
519
+ }
520
+ }, baseLinkProps);
521
+
522
+ return /*#__PURE__*/(0,jsx_runtime_.jsxs)(SearchProducts_SearchProductItem, _objectSpread(_objectSpread({
523
+ linkProps: linkProps
524
+ }, otherProps), {}, {
525
+ children: [/*#__PURE__*/jsx_runtime_.jsx(SearchProducts_SearchProductItemImage, {
526
+ children: /*#__PURE__*/jsx_runtime_.jsx(Image/* Image */.E, {
527
+ src: img.url,
528
+ alt: img.alternateName,
529
+ width: 56,
530
+ height: 56
531
+ })
532
+ }), /*#__PURE__*/jsx_runtime_.jsx(SearchProducts_SearchProductItemContent, {
533
+ title: name,
534
+ price: {
535
+ value: spotPrice,
536
+ listPrice: listPrice,
537
+ formatter: useFormattedPrice/* useFormattedPrice */.P
538
+ }
539
+ })]
540
+ }));
541
+ }
542
+
543
+ /* harmony default export */ const search_SearchProductItem_SearchProductItem = (SearchProductItem_SearchProductItem);
544
+ ;// CONCATENATED MODULE: ./src/components/search/SearchProductItem/index.ts
545
+
546
+
547
+ /***/ }),
548
+
549
+ /***/ 5299:
550
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
551
+
552
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
553
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
554
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
555
+ /* harmony export */ });
556
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2155);
557
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2727);
558
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5629);
559
+ /* harmony import */ var src_sdk_search_formatSearchPath__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5882);
560
+ /* harmony import */ var src_sdk_search_useTopSearch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1363);
561
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(997);
562
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__);
563
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_search_useTopSearch__WEBPACK_IMPORTED_MODULE_0__]);
564
+ src_sdk_search_useTopSearch__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
565
+ const _excluded = ["topTerms"];
566
+
567
+ 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; }
568
+
569
+ 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; }
570
+
571
+ 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; }
572
+
573
+ 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; }
574
+
575
+ 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; }
576
+
577
+
578
+
579
+
580
+
581
+
582
+ function SearchTop(_ref) {
583
+ let {
584
+ topTerms
585
+ } = _ref,
586
+ otherProps = _objectWithoutProperties(_ref, _excluded);
587
+
588
+ const {
589
+ values: {
590
+ onSearchSelection
591
+ }
592
+ } = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_2__/* .useSearch */ .R)();
593
+ const {
594
+ terms
595
+ } = (0,src_sdk_search_useTopSearch__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(topTerms);
596
+
597
+ if (terms.length === 0) {
598
+ return null;
599
+ }
600
+
601
+ return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, _objectSpread(_objectSpread({
602
+ title: "Top Search"
603
+ }, otherProps), {}, {
604
+ children: terms.map((term, index) => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
605
+ value: term.value,
606
+ index: index,
607
+ linkProps: {
608
+ href: (0,src_sdk_search_formatSearchPath__WEBPACK_IMPORTED_MODULE_5__/* .formatSearchPath */ .u)(term.value),
609
+ onClick: () => onSearchSelection?.(term.value, (0,src_sdk_search_formatSearchPath__WEBPACK_IMPORTED_MODULE_5__/* .formatSearchPath */ .u)(term.value))
610
+ }
611
+ }, index))
612
+ }));
613
+ }
614
+
615
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchTop);
616
+ __webpack_async_result__();
617
+ } catch(e) { __webpack_async_result__(e); } });
618
+
619
+ /***/ }),
620
+
621
+ /***/ 107:
622
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
623
+
624
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
625
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
626
+ /* harmony export */ "S": () => (/* reexport safe */ _SearchTop__WEBPACK_IMPORTED_MODULE_0__.Z)
627
+ /* harmony export */ });
628
+ /* harmony import */ var _SearchTop__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5299);
629
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_SearchTop__WEBPACK_IMPORTED_MODULE_0__]);
630
+ _SearchTop__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
631
+
632
+ __webpack_async_result__();
633
+ } catch(e) { __webpack_async_result__(e); } });
634
+
635
+ /***/ }),
636
+
637
+ /***/ 1363:
638
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
639
+
640
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
641
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
642
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
643
+ /* harmony export */ });
644
+ /* harmony import */ var src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7732);
645
+ /* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5971);
646
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__]);
647
+ src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
648
+
649
+
650
+ const MAX_TOP_SEARCH_TERMS = 5;
651
+ const query = "TopSearchSuggestionsQuery";
652
+
653
+ function useTopSearch(initialTerms = [], limit = MAX_TOP_SEARCH_TERMS) {
654
+ const {
655
+ channel,
656
+ locale
657
+ } = (0,_session__WEBPACK_IMPORTED_MODULE_1__/* .useSession */ .kP)();
658
+ const {
659
+ data,
660
+ error
661
+ } = (0,src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__/* .useQuery */ .aM)(query, {
662
+ term: '',
663
+ selectedFacets: [{
664
+ key: 'channel',
665
+ value: channel ?? ''
666
+ }, {
667
+ key: 'locale',
668
+ value: locale
669
+ }]
670
+ });
671
+ return {
672
+ terms: (data?.search.suggestions.terms ?? initialTerms).slice(0, limit),
673
+ isLoading: !error && !data
674
+ };
675
+ }
676
+
677
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useTopSearch);
678
+ __webpack_async_result__();
679
+ } catch(e) { __webpack_async_result__(e); } });
680
+
681
+ /***/ })
682
+
683
+ };
684
+ ;