@faststore/core 2.2.78 → 3.0.1

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 (252) hide show
  1. package/.babelrc.js +12 -0
  2. package/.next/BUILD_ID +1 -1
  3. package/.next/build-manifest.json +89 -89
  4. package/.next/cache/.tsbuildinfo +1 -1
  5. package/.next/cache/config.json +3 -3
  6. package/.next/cache/eslint/.cache_1gneedd +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/images-manifest.json +1 -1
  12. package/.next/next-minimal-server.js.nft.json +1 -0
  13. package/.next/next-server.js.nft.json +1 -1
  14. package/.next/prerender-manifest.js +1 -0
  15. package/.next/prerender-manifest.json +1 -1
  16. package/.next/react-loadable-manifest.json +17 -17
  17. package/.next/required-server-files.json +1 -1
  18. package/.next/routes-manifest.json +1 -1
  19. package/.next/server/chunks/119.js +1 -0
  20. package/.next/server/chunks/12.js +1 -0
  21. package/.next/server/chunks/187.js +1 -0
  22. package/.next/server/chunks/202.js +1 -0
  23. package/.next/server/chunks/24.js +1 -0
  24. package/.next/server/chunks/242.js +1 -0
  25. package/.next/server/chunks/247.js +1 -0
  26. package/.next/server/chunks/344.js +1 -0
  27. package/.next/server/chunks/404.js +1 -434
  28. package/.next/server/chunks/414.js +1 -0
  29. package/.next/server/chunks/484.js +1 -0
  30. package/.next/server/chunks/493.js +1 -0
  31. package/.next/server/chunks/498.js +1 -0
  32. package/.next/server/chunks/540.js +1 -0
  33. package/.next/server/chunks/57.js +1 -434
  34. package/.next/server/chunks/624.js +1 -0
  35. package/.next/server/chunks/640.js +6 -0
  36. package/.next/server/chunks/646.js +279 -0
  37. package/.next/server/chunks/659.js +9 -0
  38. package/.next/server/chunks/679.js +1 -0
  39. package/.next/server/chunks/693.js +1 -58
  40. package/.next/server/chunks/694.js +1 -0
  41. package/.next/server/chunks/779.js +1 -58
  42. package/.next/server/chunks/82.js +8 -0
  43. package/.next/server/chunks/857.js +1 -0
  44. package/.next/server/chunks/859.js +4 -957
  45. package/.next/server/chunks/881.js +1 -0
  46. package/.next/server/chunks/917.js +1 -0
  47. package/.next/server/chunks/936.js +1 -0
  48. package/.next/server/chunks/96.js +1 -0
  49. package/.next/server/chunks/997.js +1 -0
  50. package/.next/server/functions-config-manifest.json +1 -0
  51. package/.next/server/middleware-build-manifest.js +1 -1
  52. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  53. package/.next/server/next-font-manifest.js +1 -0
  54. package/.next/server/next-font-manifest.json +1 -0
  55. package/.next/server/pages/404.js +1 -391
  56. package/.next/server/pages/404.js.nft.json +1 -1
  57. package/.next/server/pages/500.js +1 -395
  58. package/.next/server/pages/500.js.nft.json +1 -1
  59. package/.next/server/pages/[...slug].js +1 -1071
  60. package/.next/server/pages/[...slug].js.nft.json +1 -1
  61. package/.next/server/pages/[slug]/p.js +1 -2315
  62. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  63. package/.next/server/pages/_app.js +1 -301
  64. package/.next/server/pages/_app.js.nft.json +1 -1
  65. package/.next/server/pages/_document.js +1 -363
  66. package/.next/server/pages/_document.js.nft.json +1 -1
  67. package/.next/server/pages/_error.js +1 -164
  68. package/.next/server/pages/_error.js.nft.json +1 -1
  69. package/.next/server/pages/account.js +1 -370
  70. package/.next/server/pages/account.js.nft.json +1 -1
  71. package/.next/server/pages/api/graphql.js +1 -3085
  72. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  73. package/.next/server/pages/api/health/live.js +1 -31
  74. package/.next/server/pages/api/health/live.js.nft.json +1 -1
  75. package/.next/server/pages/api/health/ready.js +1 -31
  76. package/.next/server/pages/api/health/ready.js.nft.json +1 -1
  77. package/.next/server/pages/api/preview.js +1 -137
  78. package/.next/server/pages/api/preview.js.nft.json +1 -1
  79. package/.next/server/pages/checkout.js +1 -370
  80. package/.next/server/pages/checkout.js.nft.json +1 -1
  81. package/.next/server/pages/en-US/404.html +2 -2
  82. package/.next/server/pages/en-US/404.json +1 -1
  83. package/.next/server/pages/en-US/500.html +2 -2
  84. package/.next/server/pages/en-US/500.json +1 -1
  85. package/.next/server/pages/en-US/account.html +2 -2
  86. package/.next/server/pages/en-US/checkout.html +2 -2
  87. package/.next/server/pages/en-US/login.html +2 -2
  88. package/.next/server/pages/en-US/login.json +1 -1
  89. package/.next/server/pages/en-US/s.html +2 -2
  90. package/.next/server/pages/en-US.html +4 -4
  91. package/.next/server/pages/en-US.json +1 -1
  92. package/.next/server/pages/index.js +1 -439
  93. package/.next/server/pages/index.js.nft.json +1 -1
  94. package/.next/server/pages/login.js +1 -382
  95. package/.next/server/pages/login.js.nft.json +1 -1
  96. package/.next/server/pages/s.js +1 -554
  97. package/.next/server/pages/s.js.nft.json +1 -1
  98. package/.next/server/pages-manifest.json +1 -18
  99. package/.next/server/webpack-api-runtime.js +1 -229
  100. package/.next/server/webpack-runtime.js +1 -229
  101. package/.next/static/Xf_-r26LvSZnfqjpm_a71/_buildManifest.js +1 -0
  102. package/.next/static/chunks/104-d42a7ff6c8b8dd89.js +1 -0
  103. package/.next/static/chunks/161-b39fe2f79ff7bc85.js +1 -0
  104. package/.next/static/chunks/202.c7d8a71173edecfb.js +1 -0
  105. package/.next/static/chunks/217.01bc0ad07edd6f1b.js +1 -0
  106. package/.next/static/chunks/247.52b3924429a474c6.js +1 -0
  107. package/.next/static/chunks/484.b82b73b1d8c37e02.js +1 -0
  108. package/.next/static/chunks/540.6c62d2536d42a1e0.js +1 -0
  109. package/.next/static/chunks/575-853fb8b1ba4ce8c4.js +14 -0
  110. package/.next/static/chunks/624.d3de62b4562a33f3.js +1 -0
  111. package/.next/static/chunks/629-b7b5ef6f15ecba9d.js +1 -0
  112. package/.next/static/chunks/65.da22595d53beae76.js +1 -0
  113. package/.next/static/chunks/758.b53ee01b506973e0.js +1 -0
  114. package/.next/static/chunks/857.d2299cfe995af21d.js +1 -0
  115. package/.next/static/chunks/framework-8e279965036b6169.js +33 -0
  116. package/.next/static/chunks/main-6f63f6746cc029db.js +1 -0
  117. package/.next/static/chunks/pages/404-1334d11ab8467b3d.js +1 -0
  118. package/.next/static/chunks/pages/500-449c5bd51f98423f.js +1 -0
  119. package/.next/static/chunks/pages/[...slug]-7c8ec664c28eca52.js +1 -0
  120. package/.next/static/chunks/pages/[slug]/p-a4f7d7c00fdf4157.js +1 -0
  121. package/.next/static/chunks/pages/_app-6516d0c2c7e0e686.js +68 -0
  122. package/.next/static/chunks/pages/_error-fbf331a03642b495.js +1 -0
  123. package/.next/static/chunks/pages/account-dbc5c028225cd1ac.js +1 -0
  124. package/.next/static/chunks/pages/checkout-29ae2c37eaf172e1.js +1 -0
  125. package/.next/static/chunks/pages/index-00798cca3b47590d.js +1 -0
  126. package/.next/static/chunks/pages/login-c4d2c856008df5ac.js +1 -0
  127. package/.next/static/chunks/pages/s-dacaed02ad104d73.js +1 -0
  128. package/.next/static/chunks/webpack-1c08d77cfe1b8585.js +1 -0
  129. package/.next/static/css/{021de9c7b050d301.css → 0d45c82d8887a269.css} +1 -1
  130. package/.next/static/css/{e772e7786bb4dee9.css → 211c7542af66d8b4.css} +1 -1
  131. package/.next/static/css/{df588bb98c0b0ca6.css → 2980acad3f8e1028.css} +1 -1
  132. package/.next/static/css/{510895065f32ed2f.css → 4c4d90eb8cb1d2b7.css} +1 -1
  133. package/.next/static/css/{938781cdc945862e.css → 821a5219786be653.css} +1 -1
  134. package/.next/static/css/{def381bf7c69fa2e.css → 96e3fddf695d6aa9.css} +1 -1
  135. package/.next/static/css/{6a7fdc5a21fbead5.css → b9d9ba1b04f3160d.css} +1 -1
  136. package/.next/static/css/{9558da13053ac066.css → cff9aafa16fccc9c.css} +1 -1
  137. package/.next/static/css/{7e897ebb936fac09.css → d586715f4f707df4.css} +1 -1
  138. package/.next/static/css/{cb7d1fcea42fab9c.css → e32410b31c666cb2.css} +1 -1
  139. package/.next/trace +91 -82
  140. package/.turbo/turbo-build.log +37 -42
  141. package/.turbo/turbo-lint.log +0 -3
  142. package/.turbo/turbo-test.log +9 -9
  143. package/@generated/gql.ts +196 -0
  144. package/@generated/{graphql/index.ts → graphql.ts} +718 -252
  145. package/@generated/index.ts +1 -0
  146. package/@generated/persisted-documents.json +13 -0
  147. package/api/index.ts +1 -1
  148. package/cms/faststore/content-types.json +18 -0
  149. package/cms/faststore/sections.json +73 -0
  150. package/codegen.ts +61 -0
  151. package/index.ts +1 -0
  152. package/jest.config.js +9 -1
  153. package/next.config.js +2 -0
  154. package/package.json +14 -10
  155. package/src/components/product/ProductCard/ProductCard.tsx +4 -4
  156. package/src/components/search/Filter/Filter.tsx +4 -3
  157. package/src/components/sections/EmptyState/DefaultComponents.ts +5 -0
  158. package/src/components/sections/EmptyState/EmptyState.tsx +91 -8
  159. package/src/components/sections/EmptyState/OverriddenDefaultEmptyState.ts +15 -0
  160. package/src/components/sections/ProductDetails/ProductDetails.tsx +6 -6
  161. package/src/components/ui/Image/Image.tsx +1 -1
  162. package/src/customizations/src/fragments/ClientManyProducts.ts +3 -3
  163. package/src/customizations/src/fragments/ClientProduct.ts +3 -3
  164. package/src/customizations/src/fragments/ClientProductGallery.ts +3 -3
  165. package/src/customizations/src/fragments/ClientSearchSuggestions.ts +3 -3
  166. package/src/customizations/src/fragments/ClientShippingSimulation.ts +3 -3
  167. package/src/customizations/src/fragments/ClientTopSearchSuggestions.ts +3 -3
  168. package/src/customizations/src/fragments/ServerCollectionPage.ts +3 -3
  169. package/src/customizations/src/fragments/ServerProduct.ts +3 -3
  170. package/src/pages/404.tsx +32 -30
  171. package/src/pages/500.tsx +32 -34
  172. package/src/pages/[...slug].tsx +4 -4
  173. package/src/pages/[slug]/p.tsx +7 -7
  174. package/src/pages/api/graphql.ts +10 -4
  175. package/src/pages/login.tsx +31 -8
  176. package/src/sdk/cart/index.ts +3 -3
  177. package/src/sdk/graphql/prefetchQuery.ts +4 -3
  178. package/src/sdk/graphql/request.ts +67 -8
  179. package/src/sdk/graphql/useLazyQuery.ts +4 -3
  180. package/src/sdk/graphql/useQuery.ts +7 -3
  181. package/src/sdk/newsletter/useNewsletter.ts +4 -4
  182. package/src/sdk/product/usePageProductsQuery.ts +3 -3
  183. package/src/sdk/product/useProductGalleryQuery.ts +10 -8
  184. package/src/sdk/product/useProductQuery.ts +3 -3
  185. package/src/sdk/product/useProductsPrefetch.ts +5 -3
  186. package/src/sdk/product/useProductsQuery.ts +3 -4
  187. package/src/sdk/search/useSuggestions.ts +3 -3
  188. package/src/sdk/search/useTopSearch.ts +3 -4
  189. package/src/sdk/session/index.ts +4 -4
  190. package/src/sdk/shipping/index.ts +3 -3
  191. package/src/server/generator/schema.ts +1 -1
  192. package/src/server/index.ts +11 -6
  193. package/src/typings/overrides.ts +3 -2
  194. package/test/server/index.test.ts +6 -1
  195. package/.babelrc +0 -4
  196. package/.next/cache/next-server.js.nft.json +0 -1
  197. package/.next/server/chunks/117.js +0 -427
  198. package/.next/server/chunks/177.js +0 -125
  199. package/.next/server/chunks/183.js +0 -122
  200. package/.next/server/chunks/184.js +0 -61
  201. package/.next/server/chunks/289.js +0 -243
  202. package/.next/server/chunks/312.js +0 -676
  203. package/.next/server/chunks/350.js +0 -2898
  204. package/.next/server/chunks/386.js +0 -200
  205. package/.next/server/chunks/574.js +0 -145
  206. package/.next/server/chunks/576.js +0 -122
  207. package/.next/server/chunks/585.js +0 -639
  208. package/.next/server/chunks/632.js +0 -514
  209. package/.next/server/chunks/661.js +0 -1451
  210. package/.next/server/chunks/676.js +0 -32
  211. package/.next/server/chunks/719.js +0 -84
  212. package/.next/server/chunks/74.js +0 -4152
  213. package/.next/server/chunks/825.js +0 -4074
  214. package/.next/server/chunks/854.js +0 -72
  215. package/.next/server/chunks/863.js +0 -111
  216. package/.next/server/chunks/898.js +0 -711
  217. package/.next/server/chunks/903.js +0 -1926
  218. package/.next/server/chunks/98.js +0 -163
  219. package/.next/server/chunks/988.js +0 -211
  220. package/.next/static/JJRI44e-3F3WVhD-DxmO2/_buildManifest.js +0 -1
  221. package/.next/static/chunks/223-cb77217cce52d45c.js +0 -1
  222. package/.next/static/chunks/251.11f5198fc8bef3a4.js +0 -1
  223. package/.next/static/chunks/386.d01e0db26c523f0f.js +0 -1
  224. package/.next/static/chunks/397-0d3aada1012cd78b.js +0 -1
  225. package/.next/static/chunks/574.70612be06fd1365f.js +0 -1
  226. package/.next/static/chunks/585.6561778b7763b79e.js +0 -1
  227. package/.next/static/chunks/651.7142f31ce1e052b3.js +0 -1
  228. package/.next/static/chunks/675-479a97aecebead97.js +0 -1
  229. package/.next/static/chunks/741.52f7fb873418346f.js +0 -1
  230. package/.next/static/chunks/800.5d92de2974baf641.js +0 -1
  231. package/.next/static/chunks/881-57643fb90f59e576.js +0 -1
  232. package/.next/static/chunks/98.40c7e17d9de4eb8f.js +0 -1
  233. package/.next/static/chunks/988.afda042dd9ba11d1.js +0 -1
  234. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +0 -1
  235. package/.next/static/chunks/main-e4e873ee741162eb.js +0 -1
  236. package/.next/static/chunks/pages/404-e106cb9a78182f5f.js +0 -1
  237. package/.next/static/chunks/pages/500-d28aa4a8ce88bddd.js +0 -1
  238. package/.next/static/chunks/pages/[...slug]-c4abcc133f85d9d0.js +0 -1
  239. package/.next/static/chunks/pages/[slug]/p-4a75b11857b82b5c.js +0 -1
  240. package/.next/static/chunks/pages/_app-30b9666307e4b3b1.js +0 -1
  241. package/.next/static/chunks/pages/_error-319451dea77827a6.js +0 -1
  242. package/.next/static/chunks/pages/account-bf9c88a9cac80d8a.js +0 -1
  243. package/.next/static/chunks/pages/checkout-6ca76c1e88a28ac4.js +0 -1
  244. package/.next/static/chunks/pages/index-629ba146ae5f0ecf.js +0 -1
  245. package/.next/static/chunks/pages/login-d2af0de13ea75848.js +0 -1
  246. package/.next/static/chunks/pages/s-d729254b91430d1c.js +0 -1
  247. package/.next/static/chunks/webpack-54ce04ec11860b0b.js +0 -1
  248. package/@generated/graphql/persisted.json +0 -13
  249. package/codegen.yml +0 -23
  250. package/src/components/sections/EmptyState/Overrides.tsx +0 -14
  251. package/.next/static/{JJRI44e-3F3WVhD-DxmO2 → Xf_-r26LvSZnfqjpm_a71}/_ssgManifest.js +0 -0
  252. package/@generated/{graphql/schema.graphql → schema.graphql} +508 -508
@@ -1,676 +0,0 @@
1
- "use strict";
2
- exports.id = 312;
3
- exports.ids = [312];
4
- exports.modules = {
5
-
6
- /***/ 1933:
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 react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
13
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
14
- /* harmony import */ var _molecules_SearchProvider_SearchProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(101);
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
- /***/ 2174:
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__(1933);
37
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4564);
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
- /***/ 757:
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__(2614);
62
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(727);
63
-
64
-
65
- function formatSearchTerm(indexSubstring, searchTerm, suggestion) {
66
- if (indexSubstring === 0) {
67
- return searchTerm
68
- .split('')
69
- .map((char, idx) => idx === 0 && suggestion.indexOf(char.toUpperCase()) === 0
70
- ? char.toUpperCase()
71
- : char.toLowerCase())
72
- .join('');
73
- }
74
- return searchTerm.toLowerCase();
75
- }
76
- const SearchAutoCompleteTerm = ({ testId = 'fs-search-auto-complete-term', suggestion, term, linkProps, icon = react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { name: "MagnifyingGlass", width: 18, height: 18 }), }) => {
77
- const suggestionSubstring = suggestion.toLowerCase().split(term.toLowerCase());
78
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", { "data-fs-search-auto-complete-item": true, "data-testid": testId },
79
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { ...linkProps, "data-fs-search-auto-complete-item-link": true, variant: "display" },
80
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", { "data-fs-search-auto-complete-item-icon": true }, icon),
81
- 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() },
82
- substring.length > 0 && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("strong", { "data-fs-search-auto-complete-item-suggestion": true }, indexSubstring === 0
83
- ? substring.charAt(0).toUpperCase() + substring.slice(1)
84
- : substring)),
85
- indexSubstring !== suggestionSubstring.length - 1 &&
86
- formatSearchTerm(indexSubstring, term, suggestion))))))));
87
- };
88
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchAutoCompleteTerm);
89
- //# sourceMappingURL=SearchAutoCompleteTerm.js.map
90
-
91
- /***/ }),
92
-
93
- /***/ 4583:
94
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
95
-
96
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
97
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
98
- /* harmony export */ });
99
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
100
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
101
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1933);
102
-
103
-
104
- const SearchLoading = () => {
105
- const { inContext, values } = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__/* .useSearch */ .R)();
106
- 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...")));
107
- };
108
- const SearchDropdown = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function SearchDropdown({ testId = 'fs-search-dropdown', children, ...otherProps }, ref) {
109
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { ref: ref, "data-fs-search-dropdown": true, "data-testid": testId, ...otherProps },
110
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", null,
111
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(SearchLoading, null),
112
- children)));
113
- });
114
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchDropdown);
115
- //# sourceMappingURL=SearchDropdown.js.map
116
-
117
- /***/ }),
118
-
119
- /***/ 9994:
120
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
121
-
122
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
123
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
124
- /* harmony export */ });
125
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
126
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
127
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1933);
128
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4564);
129
-
130
-
131
- const SearchProductsProps = ({ testId = 'fs-search-products', title = 'Suggested Products', children, ...otherProps }) => {
132
- const { inContext, values } = (0,___WEBPACK_IMPORTED_MODULE_1__/* .useSearch */ .R)();
133
- if (inContext && (values.products.length <= 0)) {
134
- return null;
135
- }
136
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", { "data-testid": testId, "data-fs-search-products": true, ...otherProps },
137
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("header", { "data-fs-search-products-header": true },
138
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", { "data-fs-search-products-title": true }, title)),
139
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { as: "ol" }, children)));
140
- };
141
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchProductsProps);
142
- //# sourceMappingURL=SearchProducts.js.map
143
-
144
- /***/ }),
145
-
146
- /***/ 3311:
147
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
148
-
149
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
150
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
151
- /* harmony export */ });
152
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
153
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
154
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1933);
155
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4564);
156
-
157
-
158
-
159
- const SearchTop = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function SearchTop({ testId = 'fs-top-search', title = 'Top Search', children, ...otherProps }, ref) {
160
- const { inContext, values } = (0,___WEBPACK_IMPORTED_MODULE_1__/* .useSearch */ .R)();
161
- if (inContext && (values.term.length !== 0 || values.isLoading)) {
162
- return null;
163
- }
164
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", { ref: ref, "data-testid": testId, "data-fs-search-top": true, ...otherProps },
165
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("header", { "data-fs-search-top-header": true },
166
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", { "data-fs-search-top-title": true }, title)),
167
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { as: "ol" }, children)));
168
- });
169
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchTop);
170
- //# sourceMappingURL=SearchTop.js.map
171
-
172
- /***/ }),
173
-
174
- /***/ 1287:
175
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
176
-
177
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
178
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
179
- /* harmony export */ });
180
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
181
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
182
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(727);
183
- /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(276);
184
-
185
-
186
- const SearchTopTerm = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function SearchTopTerm({ testId = 'fs-top-search-term', value, linkProps, index }, ref) {
187
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", { ref: ref, "data-fs-search-top-item": true, "data-testid": testId },
188
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, { ...linkProps, "data-fs-search-top-item-link": true, variant: "display" },
189
- react__WEBPACK_IMPORTED_MODULE_0___default().createElement(___WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, { "data-fs-search-top-item-badge": true, variant: "info" }, index + 1),
190
- value)));
191
- });
192
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchTopTerm);
193
- //# sourceMappingURL=SearchTopTerm.js.map
194
-
195
- /***/ }),
196
-
197
- /***/ 1612:
198
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
199
-
200
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
201
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
202
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
203
- /* harmony export */ });
204
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1933);
205
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4583);
206
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2174);
207
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(757);
208
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9994);
209
- /* harmony import */ var _SearchHistory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4351);
210
- /* harmony import */ var _SearchTop__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5299);
211
- /* harmony import */ var src_components_search_SearchProductItem__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(1142);
212
- /* harmony import */ var src_sdk_search_formatSearchPath__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5882);
213
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
214
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
215
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_SearchTop__WEBPACK_IMPORTED_MODULE_4__]);
216
- _SearchTop__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
217
- const _excluded = ["sort"];
218
-
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
- 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; }
226
-
227
- 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; }
228
-
229
-
230
-
231
-
232
-
233
-
234
-
235
-
236
-
237
- function SearchDropdown(_ref) {
238
- let {
239
- sort
240
- } = _ref,
241
- otherProps = _objectWithoutProperties(_ref, _excluded);
242
-
243
- const {
244
- values: {
245
- onSearchSelection,
246
- products,
247
- term,
248
- terms
249
- }
250
- } = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_1__/* .useSearch */ .R)();
251
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_faststore_ui__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, _objectSpread(_objectSpread({}, otherProps), {}, {
252
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_SearchHistory__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
253
- sort: sort
254
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_SearchTop__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
255
- sort: sort
256
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
257
- children: terms?.map(({
258
- value: suggestion
259
- }) => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
260
- term: term,
261
- suggestion: suggestion,
262
- linkProps: {
263
- href: (0,src_sdk_search_formatSearchPath__WEBPACK_IMPORTED_MODULE_7__/* .formatSearchPath */ .u)({
264
- term: suggestion,
265
- sort: sort
266
- }),
267
- onClick: () => onSearchSelection?.(suggestion, (0,src_sdk_search_formatSearchPath__WEBPACK_IMPORTED_MODULE_7__/* .formatSearchPath */ .u)({
268
- term: suggestion,
269
- sort: sort
270
- }))
271
- }
272
- }, suggestion))
273
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
274
- children: products.map((product, index) => {
275
- const productParsed = product;
276
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_search_SearchProductItem__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
277
- product: productParsed,
278
- index: index
279
- }, productParsed.id);
280
- })
281
- })]
282
- }));
283
- }
284
-
285
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchDropdown);
286
- __webpack_async_result__();
287
- } catch(e) { __webpack_async_result__(e); } });
288
-
289
- /***/ }),
290
-
291
- /***/ 4312:
292
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
293
-
294
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
295
- __webpack_require__.r(__webpack_exports__);
296
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
297
- /* harmony export */ "default": () => (/* reexport safe */ _SearchDropdown__WEBPACK_IMPORTED_MODULE_0__.Z)
298
- /* harmony export */ });
299
- /* harmony import */ var _SearchDropdown__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1612);
300
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_SearchDropdown__WEBPACK_IMPORTED_MODULE_0__]);
301
- _SearchDropdown__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
302
-
303
- __webpack_async_result__();
304
- } catch(e) { __webpack_async_result__(e); } });
305
-
306
- /***/ }),
307
-
308
- /***/ 4351:
309
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
310
-
311
-
312
- // EXPORTS
313
- __webpack_require__.d(__webpack_exports__, {
314
- "Z": () => (/* binding */ search_SearchHistory_SearchHistory)
315
- });
316
-
317
- // EXTERNAL MODULE: ../components/dist/esm/hooks/useSearch.js
318
- var useSearch = __webpack_require__(1933);
319
- // EXTERNAL MODULE: external "react"
320
- var external_react_ = __webpack_require__(6689);
321
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
322
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Button/Button.js
323
- var Button = __webpack_require__(3339);
324
- // EXTERNAL MODULE: ../components/dist/esm/atoms/List/List.js
325
- var List = __webpack_require__(4564);
326
- ;// CONCATENATED MODULE: ../components/dist/esm/molecules/SearchHistory/SearchHistory.js
327
-
328
-
329
- const SearchHistory = ({ testId = 'fs-search-history', title = 'History', clearLabel = 'Clear History', onClear, children, ...otherProps }) => {
330
- const { inContext, values } = (0,useSearch/* useSearch */.R)();
331
- if (inContext && (values.term.length !== 0 || values.isLoading)) {
332
- return null;
333
- }
334
- return (external_react_default().createElement("section", { "data-testid": testId, "data-fs-search-history": true, ...otherProps },
335
- external_react_default().createElement("header", { "data-fs-search-history-header": true },
336
- external_react_default().createElement("p", { "data-fs-search-history-title": true }, title),
337
- external_react_default().createElement(Button/* default */.Z, { variant: "tertiary", onClick: onClear, size: "small" }, clearLabel)),
338
- external_react_default().createElement(List/* default */.Z, { as: "ol" }, children)));
339
- };
340
- /* harmony default export */ const SearchHistory_SearchHistory = (SearchHistory);
341
- //# sourceMappingURL=SearchHistory.js.map
342
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Icon/Icon.js
343
- var Icon = __webpack_require__(2614);
344
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Link/Link.js
345
- var Link = __webpack_require__(727);
346
- ;// CONCATENATED MODULE: ../components/dist/esm/molecules/SearchHistory/SearchHistoryTerm.js
347
-
348
-
349
- const SearchHistoryTerm = ({ testId = 'fs-search-history-term', value, linkProps, icon = external_react_default().createElement(Icon/* default */.Z, { name: "ClockClockwise", width: 18, height: 18 }), }) => {
350
- return (external_react_default().createElement("li", { "data-fs-search-history-item": true, "data-testid": testId },
351
- external_react_default().createElement(Link/* default */.Z, { ...linkProps, "data-fs-search-history-item-link": true, variant: "display" },
352
- external_react_default().createElement("span", { "data-fs-search-history-item-icon": true }, icon),
353
- external_react_default().createElement("span", null, value))));
354
- };
355
- /* harmony default export */ const SearchHistory_SearchHistoryTerm = (SearchHistoryTerm);
356
- //# sourceMappingURL=SearchHistoryTerm.js.map
357
- // EXTERNAL MODULE: ./src/sdk/search/useSearchHistory.ts
358
- var useSearchHistory = __webpack_require__(5098);
359
- // EXTERNAL MODULE: external "react/jsx-runtime"
360
- var jsx_runtime_ = __webpack_require__(997);
361
- ;// CONCATENATED MODULE: ./src/components/search/SearchHistory/SearchHistory.tsx
362
- 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; }
363
-
364
- 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; }
365
-
366
- 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; }
367
-
368
-
369
-
370
-
371
-
372
- const SearchHistory_SearchHistory_SearchHistory = _ref => {
373
- let props = Object.assign({}, _ref);
374
- const {
375
- values: {
376
- onSearchSelection
377
- }
378
- } = (0,useSearch/* useSearch */.R)();
379
- const {
380
- searchHistory,
381
- clearSearchHistory
382
- } = (0,useSearchHistory/* default */.Z)();
383
-
384
- if (!searchHistory.length) {
385
- return null;
386
- }
387
-
388
- return /*#__PURE__*/jsx_runtime_.jsx(SearchHistory_SearchHistory, _objectSpread(_objectSpread({
389
- title: "History",
390
- onClear: clearSearchHistory
391
- }, props), {}, {
392
- children: searchHistory.map(item => /*#__PURE__*/jsx_runtime_.jsx(SearchHistory_SearchHistoryTerm, {
393
- value: item.term,
394
- linkProps: {
395
- href: item.path,
396
- onClick: () => onSearchSelection?.(item.term, item.path)
397
- }
398
- }, item.term))
399
- }));
400
- };
401
-
402
- /* harmony default export */ const search_SearchHistory_SearchHistory = (SearchHistory_SearchHistory_SearchHistory);
403
-
404
- /***/ }),
405
-
406
- /***/ 1142:
407
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
408
-
409
-
410
- // EXPORTS
411
- __webpack_require__.d(__webpack_exports__, {
412
- "Z": () => (/* binding */ search_SearchProductItem_SearchProductItem)
413
- });
414
-
415
- // EXTERNAL MODULE: ../components/dist/esm/hooks/useSearch.js
416
- var useSearch = __webpack_require__(1933);
417
- // EXTERNAL MODULE: external "react"
418
- var external_react_ = __webpack_require__(6689);
419
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
420
- // EXTERNAL MODULE: ../components/dist/esm/atoms/Link/Link.js
421
- var Link = __webpack_require__(727);
422
- ;// CONCATENATED MODULE: ../components/dist/esm/molecules/SearchProducts/SearchProductItem.js
423
-
424
-
425
- const SearchProductItem = (0,external_react_.forwardRef)(function ProductItem({ testId = 'fs-search-product-item', linkProps, children }, ref) {
426
- return (external_react_default().createElement("li", { ref: ref, "data-fs-search-product-item": true, "data-testid": testId },
427
- external_react_default().createElement(Link/* default */.Z, { ...linkProps, "data-fs-search-product-item-link": true, variant: "display" }, children)));
428
- });
429
- /* harmony default export */ const SearchProducts_SearchProductItem = (SearchProductItem);
430
- //# sourceMappingURL=SearchProductItem.js.map
431
- ;// CONCATENATED MODULE: ../components/dist/esm/molecules/SearchProducts/SearchProductItemImage.js
432
-
433
- const SearchProductItemImage = (0,external_react_.forwardRef)(function SearchProductItemImage({ testId = 'fs-search-product-item-image', children, ...otherProps }, ref) {
434
- return (external_react_default().createElement("div", { ref: ref, "data-fs-search-product-item-image": true, "data-testid": testId, ...otherProps }, children));
435
- });
436
- /* harmony default export */ const SearchProducts_SearchProductItemImage = (SearchProductItemImage);
437
- //# sourceMappingURL=SearchProductItemImage.js.map
438
- // EXTERNAL MODULE: ../components/dist/esm/molecules/ProductPrice/ProductPrice.js
439
- var ProductPrice = __webpack_require__(9088);
440
- ;// CONCATENATED MODULE: ../components/dist/esm/molecules/SearchProducts/SearchProductItemContent.js
441
-
442
-
443
- const SearchProductItemContent = (0,external_react_.forwardRef)(function SearchProductItemContent({ price, title, ...otherProps }, ref) {
444
- return (external_react_default().createElement("section", { ref: ref, "data-fs-search-product-item-content": true, ...otherProps },
445
- external_react_default().createElement("p", { "data-fs-search-product-item-title": true }, title),
446
- price.value !== 0 && (external_react_default().createElement(ProductPrice/* default */.Z, { "data-fs-search-product-item-prices": true, listPrice: price.listPrice, value: price.value, formatter: price.formatter }))));
447
- });
448
- /* harmony default export */ const SearchProducts_SearchProductItemContent = (SearchProductItemContent);
449
- //# sourceMappingURL=SearchProductItemContent.js.map
450
- // EXTERNAL MODULE: ./src/components/ui/Image/Image.tsx + 1 modules
451
- var Image = __webpack_require__(5731);
452
- // EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
453
- var useFormattedPrice = __webpack_require__(5346);
454
- // EXTERNAL MODULE: ./src/sdk/product/useProductLink.ts
455
- var useProductLink = __webpack_require__(9854);
456
- // EXTERNAL MODULE: external "react/jsx-runtime"
457
- var jsx_runtime_ = __webpack_require__(997);
458
- ;// CONCATENATED MODULE: ./src/components/search/SearchProductItem/SearchProductItem.tsx
459
- const _excluded = ["product", "index"],
460
- _excluded2 = ["href", "onClick"];
461
-
462
- 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; }
463
-
464
- 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; }
465
-
466
- 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; }
467
-
468
- 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; }
469
-
470
- 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; }
471
-
472
-
473
-
474
-
475
-
476
-
477
-
478
-
479
- function SearchProductItem_SearchProductItem(_ref) {
480
- let {
481
- product,
482
- index
483
- } = _ref,
484
- otherProps = _objectWithoutProperties(_ref, _excluded);
485
-
486
- const {
487
- values: {
488
- onSearchSelection
489
- }
490
- } = (0,useSearch/* useSearch */.R)();
491
-
492
- const _useProductLink = (0,useProductLink/* useProductLink */.w)({
493
- product,
494
- selectedOffer: 0,
495
- index
496
- }),
497
- {
498
- href,
499
- onClick
500
- } = _useProductLink,
501
- baseLinkProps = _objectWithoutProperties(_useProductLink, _excluded2);
502
-
503
- const {
504
- isVariantOf: {
505
- name
506
- },
507
- image: [img],
508
- offers: {
509
- lowPrice: spotPrice,
510
- offers: [{
511
- listPrice
512
- }]
513
- }
514
- } = product;
515
-
516
- const linkProps = _objectSpread({
517
- href,
518
- onClick: () => {
519
- onClick();
520
- onSearchSelection?.(name, href);
521
- }
522
- }, baseLinkProps);
523
-
524
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)(SearchProducts_SearchProductItem, _objectSpread(_objectSpread({
525
- linkProps: linkProps
526
- }, otherProps), {}, {
527
- children: [/*#__PURE__*/jsx_runtime_.jsx(SearchProducts_SearchProductItemImage, {
528
- children: /*#__PURE__*/jsx_runtime_.jsx(Image/* default */.Z, {
529
- src: img.url,
530
- alt: img.alternateName,
531
- width: 56,
532
- height: 56
533
- })
534
- }), /*#__PURE__*/jsx_runtime_.jsx(SearchProducts_SearchProductItemContent, {
535
- title: name,
536
- price: {
537
- value: spotPrice,
538
- listPrice: listPrice,
539
- formatter: useFormattedPrice/* useFormattedPrice */.P
540
- }
541
- })]
542
- }));
543
- }
544
-
545
- /* harmony default export */ const search_SearchProductItem_SearchProductItem = (SearchProductItem_SearchProductItem);
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_1__ = __webpack_require__(1933);
557
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3311);
558
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1287);
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_2__ = __webpack_require__(1363);
561
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
562
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
563
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_search_useTopSearch__WEBPACK_IMPORTED_MODULE_2__]);
564
- src_sdk_search_useTopSearch__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
565
- const _excluded = ["topTerms", "sort"];
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
- const MAX_TOP_SEARCH_TERMS = 5;
582
-
583
- function SearchTop(_ref) {
584
- let {
585
- topTerms = [],
586
- sort
587
- } = _ref,
588
- otherProps = _objectWithoutProperties(_ref, _excluded);
589
-
590
- const {
591
- values: {
592
- onSearchSelection
593
- }
594
- } = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_1__/* .useSearch */ .R)();
595
- const {
596
- data
597
- } = (0,src_sdk_search_useTopSearch__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)();
598
- const terms = (data?.search.suggestions.terms ?? topTerms).slice(0, MAX_TOP_SEARCH_TERMS);
599
-
600
- if (terms.length === 0) {
601
- return null;
602
- }
603
-
604
- return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, _objectSpread(_objectSpread({
605
- title: "Top Search"
606
- }, otherProps), {}, {
607
- children: terms.map((term, index) => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
608
- value: term.value,
609
- index: index,
610
- linkProps: {
611
- href: (0,src_sdk_search_formatSearchPath__WEBPACK_IMPORTED_MODULE_5__/* .formatSearchPath */ .u)({
612
- term: term.value,
613
- sort: sort
614
- }),
615
- onClick: () => onSearchSelection?.(term.value, (0,src_sdk_search_formatSearchPath__WEBPACK_IMPORTED_MODULE_5__/* .formatSearchPath */ .u)({
616
- term: term.value,
617
- sort: sort
618
- }))
619
- }
620
- }, index))
621
- }));
622
- }
623
-
624
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchTop);
625
- __webpack_async_result__();
626
- } catch(e) { __webpack_async_result__(e); } });
627
-
628
- /***/ }),
629
-
630
- /***/ 1363:
631
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
632
-
633
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
634
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
635
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
636
- /* harmony export */ });
637
- /* harmony import */ var src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7732);
638
- /* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7295);
639
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__]);
640
- src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
641
-
642
-
643
- const query = "ClientTopSearchSuggestionsQuery";
644
-
645
- function useTopSearch() {
646
- const {
647
- channel,
648
- locale
649
- } = (0,_session__WEBPACK_IMPORTED_MODULE_0__/* .useSession */ .kP)();
650
- const {
651
- data,
652
- error
653
- } = (0,src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_1__/* .useQuery */ .aM)(query, {
654
- term: '',
655
- selectedFacets: [{
656
- key: 'channel',
657
- value: channel ?? ''
658
- }, {
659
- key: 'locale',
660
- value: locale
661
- }]
662
- });
663
- return {
664
- data,
665
- error
666
- };
667
- }
668
-
669
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useTopSearch);
670
- __webpack_async_result__();
671
- } catch(e) { __webpack_async_result__(e); } });
672
-
673
- /***/ })
674
-
675
- };
676
- ;