@faststore/core 2.0.69-alpha.0 → 2.0.71-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -0
- package/.next/build-manifest.json +103 -0
- package/.next/cache/.tsbuildinfo +1 -0
- package/.next/cache/config.json +7 -0
- package/.next/cache/eslint/.cache_1gneedd +1 -0
- package/.next/cache/next-server.js.nft.json +1 -0
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/export-marker.json +1 -0
- package/.next/images-manifest.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +1 -0
- package/.next/react-loadable-manifest.json +50 -0
- package/.next/required-server-files.json +1 -0
- package/.next/routes-manifest.json +1 -0
- package/.next/server/chunks/104.js +196 -0
- package/.next/server/chunks/143.js +106 -0
- package/.next/server/chunks/154.js +201 -0
- package/.next/server/chunks/183.js +72 -0
- package/.next/server/chunks/247.js +61 -0
- package/.next/server/chunks/264.js +67 -0
- package/.next/server/chunks/280.js +417 -0
- package/.next/server/chunks/287.js +79 -0
- package/.next/server/chunks/307.js +109 -0
- package/.next/server/chunks/312.js +669 -0
- package/.next/server/chunks/350.js +120 -0
- package/.next/server/chunks/352.js +158 -0
- package/.next/server/chunks/371.js +1480 -0
- package/.next/server/chunks/394.js +3801 -0
- package/.next/server/chunks/439.js +175 -0
- package/.next/server/chunks/444.js +464 -0
- package/.next/server/chunks/465.js +91 -0
- package/.next/server/chunks/528.js +126 -0
- package/.next/server/chunks/576.js +72 -0
- package/.next/server/chunks/650.js +216 -0
- package/.next/server/chunks/676.js +32 -0
- package/.next/server/chunks/731.js +282 -0
- package/.next/server/chunks/732.js +51 -0
- package/.next/server/chunks/746.js +237 -0
- package/.next/server/chunks/849.js +665 -0
- package/.next/server/chunks/854.js +72 -0
- package/.next/server/chunks/859.js +959 -0
- package/.next/server/chunks/872.js +378 -0
- package/.next/server/chunks/881.js +320 -0
- package/.next/server/chunks/898.js +240 -0
- package/.next/server/chunks/914.js +96 -0
- package/.next/server/chunks/953.js +687 -0
- package/.next/server/chunks/98.js +124 -0
- package/.next/server/chunks/992.js +562 -0
- package/.next/server/chunks/font-manifest.json +1 -0
- package/.next/server/font-manifest.json +1 -0
- package/.next/server/middleware-build-manifest.js +1 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/pages/404.js.nft.json +1 -0
- package/.next/server/pages/500.js.nft.json +1 -0
- package/.next/server/pages/[...slug].js +609 -0
- package/.next/server/pages/[...slug].js.nft.json +1 -0
- package/.next/server/pages/[slug]/p.js +2563 -0
- package/.next/server/pages/[slug]/p.js.nft.json +1 -0
- package/.next/server/pages/_app.js +2069 -0
- package/.next/server/pages/_app.js.nft.json +1 -0
- package/.next/server/pages/_document.js +304 -0
- package/.next/server/pages/_document.js.nft.json +1 -0
- package/.next/server/pages/_error.js +164 -0
- package/.next/server/pages/_error.js.nft.json +1 -0
- package/.next/server/pages/account.js.nft.json +1 -0
- package/.next/server/pages/api/graphql.js +259 -0
- package/.next/server/pages/api/graphql.js.nft.json +1 -0
- package/.next/server/pages/api/preview.js +118 -0
- package/.next/server/pages/api/preview.js.nft.json +1 -0
- package/.next/server/pages/checkout.js.nft.json +1 -0
- package/.next/server/pages/en-US/404.html +81 -0
- package/.next/server/pages/en-US/500.html +81 -0
- package/.next/server/pages/en-US/account.html +81 -0
- package/.next/server/pages/en-US/checkout.html +81 -0
- package/.next/server/pages/en-US/login.html +81 -0
- package/.next/server/pages/en-US/s.html +81 -0
- package/.next/server/pages/en-US.html +81 -0
- package/.next/server/pages/en-US.json +1 -0
- package/.next/server/pages/index.js +407 -0
- package/.next/server/pages/index.js.nft.json +1 -0
- package/.next/server/pages/login.js.nft.json +1 -0
- package/.next/server/pages/s.js.nft.json +1 -0
- package/.next/server/pages-manifest.json +16 -0
- package/.next/server/webpack-api-runtime.js +229 -0
- package/.next/server/webpack-runtime.js +229 -0
- package/.next/static/chunks/143.dd8a556e6957baa1.js +1 -0
- package/.next/static/chunks/153-a20e3f2da180607e.js +1 -0
- package/.next/static/chunks/158.b4898013c4a4f10c.js +1 -0
- package/.next/static/chunks/260-994385416f68673d.js +1 -0
- package/.next/static/chunks/307.10facde65af3066a.js +1 -0
- package/.next/static/chunks/337-12ae3c3ff71e4dcf.js +1 -0
- package/.next/static/chunks/351-a4e28d64f48c5269.js +1 -0
- package/.next/static/chunks/588.591fb3bf1a136c66.js +1 -0
- package/.next/static/chunks/650.32d18858075fbe98.js +1 -0
- package/.next/static/chunks/651.7142f31ce1e052b3.js +1 -0
- package/.next/static/chunks/686.36adeba271636edd.js +1 -0
- package/.next/static/chunks/741.52f7fb873418346f.js +1 -0
- package/.next/static/chunks/817-728f854c2948afc0.js +1 -0
- package/.next/static/chunks/953.b6387969c2dcdcae.js +1 -0
- package/.next/static/chunks/98.97381d2021f86cd9.js +1 -0
- package/.next/static/chunks/framework-dfd14d7ce6600b03.js +1 -0
- package/.next/static/chunks/main-9746772201fe3ac1.js +1 -0
- package/.next/static/chunks/pages/404-ba608a2a9f0c420a.js +1 -0
- package/.next/static/chunks/pages/500-910883c20541d9ce.js +1 -0
- package/.next/static/chunks/pages/[...slug]-320aee38665be1f9.js +1 -0
- package/.next/static/chunks/pages/[slug]/p-d64952a99f04e24d.js +1 -0
- package/.next/static/chunks/pages/_app-8bf35fcba4db8198.js +1 -0
- package/.next/static/chunks/pages/_error-a7a0c1d9bfbb4f38.js +1 -0
- package/.next/static/chunks/pages/account-f19102933e6fd84c.js +1 -0
- package/.next/static/chunks/pages/checkout-f8cb7cb22225ef9d.js +1 -0
- package/.next/static/chunks/pages/index-d6f91f5ff8ab8b48.js +1 -0
- package/.next/static/chunks/pages/login-0b9ea80d9fa0f91b.js +1 -0
- package/.next/static/chunks/pages/s-86fe1e3303388123.js +1 -0
- package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +1 -0
- package/.next/static/chunks/webpack-1bf4acba8ca90a1e.js +1 -0
- package/.next/static/css/1bc30e7e0de1217d.css +1 -0
- package/.next/static/css/43d61b402f41569b.css +1 -0
- package/.next/static/css/4d4cbc524ba58b0a.css +1 -0
- package/.next/static/css/4d7e7f156483493d.css +1 -0
- package/.next/static/css/5f6541bfaaa52b08.css +1 -0
- package/.next/static/css/6507cb48401e73a4.css +1 -0
- package/.next/static/css/8e980d3191396e67.css +1 -0
- package/.next/static/css/bd743407c8049677.css +1 -0
- package/.next/static/css/e8f44fcf61ab2e4a.css +1 -0
- package/.next/static/css/f03ffa52b8ad3e4c.css +1 -0
- package/.next/static/gawcF8n7lPaamV0mPyRU0/_buildManifest.js +1 -0
- package/.next/static/gawcF8n7lPaamV0mPyRU0/_ssgManifest.js +1 -0
- package/.next/static/media/brandless-neutral.76ddf63a.png +0 -0
- package/.next/trace +65 -0
- package/.turbo/turbo-build.log +4 -4
- package/CHANGELOG.md +12 -0
- package/package.json +4 -4
- package/public/~partytown/debug/partytown-atomics.js +556 -0
- package/public/~partytown/debug/partytown-media.js +374 -0
- package/public/~partytown/debug/partytown-sandbox-sw.js +543 -0
- package/public/~partytown/debug/partytown-sw.js +59 -0
- package/public/~partytown/debug/partytown-ww-atomics.js +1789 -0
- package/public/~partytown/debug/partytown-ww-sw.js +1781 -0
- package/public/~partytown/debug/partytown.js +72 -0
- package/public/~partytown/partytown-atomics.js +2 -0
- package/public/~partytown/partytown-media.js +2 -0
- package/public/~partytown/partytown-sw.js +2 -0
- package/public/~partytown/partytown.js +2 -0
- package/src/components/search/SearchProductCard/SearchProductCard.tsx +22 -56
- package/src/components/search/search.module.scss +3 -0
- package/src/components/search/SearchProductCard/search-product-card.module.scss +0 -54
|
@@ -0,0 +1,669 @@
|
|
|
1
|
+
exports.id = 312;
|
|
2
|
+
exports.ids = [312];
|
|
3
|
+
exports.modules = {
|
|
4
|
+
|
|
5
|
+
/***/ 1612:
|
|
6
|
+
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
7
|
+
|
|
8
|
+
"use strict";
|
|
9
|
+
__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
|
|
10
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
11
|
+
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
12
|
+
/* harmony export */ });
|
|
13
|
+
/* harmony import */ var src_components_search_SearchSuggestions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4073);
|
|
14
|
+
/* harmony import */ var src_sdk_search_useSuggestions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6344);
|
|
15
|
+
/* harmony import */ var _SearchHistory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1979);
|
|
16
|
+
/* harmony import */ var _SearchTop__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(107);
|
|
17
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(997);
|
|
18
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__);
|
|
19
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_search_useSuggestions__WEBPACK_IMPORTED_MODULE_1__, _SearchTop__WEBPACK_IMPORTED_MODULE_3__]);
|
|
20
|
+
([src_sdk_search_useSuggestions__WEBPACK_IMPORTED_MODULE_1__, _SearchTop__WEBPACK_IMPORTED_MODULE_3__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
|
|
21
|
+
const _excluded = ["term", "style"];
|
|
22
|
+
|
|
23
|
+
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; }
|
|
24
|
+
|
|
25
|
+
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; }
|
|
26
|
+
|
|
27
|
+
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; }
|
|
28
|
+
|
|
29
|
+
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; }
|
|
30
|
+
|
|
31
|
+
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; }
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
function SearchDropdown(_ref) {
|
|
42
|
+
let {
|
|
43
|
+
term = '',
|
|
44
|
+
style
|
|
45
|
+
} = _ref,
|
|
46
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
47
|
+
|
|
48
|
+
const {
|
|
49
|
+
terms,
|
|
50
|
+
products,
|
|
51
|
+
isLoading
|
|
52
|
+
} = (0,src_sdk_search_useSuggestions__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(term);
|
|
53
|
+
|
|
54
|
+
if (term.length === 0 && !isLoading) {
|
|
55
|
+
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.Fragment, {
|
|
56
|
+
children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(_SearchHistory__WEBPACK_IMPORTED_MODULE_2__/* .SearchHistory */ .Z, {}), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(_SearchTop__WEBPACK_IMPORTED_MODULE_3__/* .SearchTop */ .S, {})]
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (isLoading) {
|
|
61
|
+
return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx("p", {
|
|
62
|
+
"data-fs-search-input-loading-text": true,
|
|
63
|
+
children: "Loading..."
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (terms.length === 0 && products.length === 0) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(src_components_search_SearchSuggestions__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z, _objectSpread({
|
|
72
|
+
term: term,
|
|
73
|
+
terms: terms,
|
|
74
|
+
products: products
|
|
75
|
+
}, otherProps));
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchDropdown);
|
|
79
|
+
__webpack_async_result__();
|
|
80
|
+
} catch(e) { __webpack_async_result__(e); } });
|
|
81
|
+
|
|
82
|
+
/***/ }),
|
|
83
|
+
|
|
84
|
+
/***/ 4312:
|
|
85
|
+
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
86
|
+
|
|
87
|
+
"use strict";
|
|
88
|
+
__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
|
|
89
|
+
__webpack_require__.r(__webpack_exports__);
|
|
90
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
91
|
+
/* harmony export */ "default": () => (/* reexport safe */ _SearchDropdown__WEBPACK_IMPORTED_MODULE_0__.Z)
|
|
92
|
+
/* harmony export */ });
|
|
93
|
+
/* harmony import */ var _SearchDropdown__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1612);
|
|
94
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_SearchDropdown__WEBPACK_IMPORTED_MODULE_0__]);
|
|
95
|
+
_SearchDropdown__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
|
|
96
|
+
|
|
97
|
+
__webpack_async_result__();
|
|
98
|
+
} catch(e) { __webpack_async_result__(e); } });
|
|
99
|
+
|
|
100
|
+
/***/ }),
|
|
101
|
+
|
|
102
|
+
/***/ 1979:
|
|
103
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
104
|
+
|
|
105
|
+
"use strict";
|
|
106
|
+
|
|
107
|
+
// EXPORTS
|
|
108
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
109
|
+
"Z": () => (/* reexport */ SearchHistory_SearchHistory)
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
// EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js + 1 modules
|
|
113
|
+
var Button = __webpack_require__(4842);
|
|
114
|
+
// EXTERNAL MODULE: ../components/dist/atoms/List/List.js
|
|
115
|
+
var List = __webpack_require__(1329);
|
|
116
|
+
// EXTERNAL MODULE: ./src/components/ui/Icon/index.ts + 1 modules
|
|
117
|
+
var Icon = __webpack_require__(2478);
|
|
118
|
+
// EXTERNAL MODULE: ./src/components/ui/Link/index.ts + 1 modules
|
|
119
|
+
var Link = __webpack_require__(1093);
|
|
120
|
+
// EXTERNAL MODULE: ./src/sdk/search/useSearchHistory.ts
|
|
121
|
+
var useSearchHistory = __webpack_require__(5098);
|
|
122
|
+
// EXTERNAL MODULE: ./src/sdk/search/useSearchInput.tsx
|
|
123
|
+
var useSearchInput = __webpack_require__(3588);
|
|
124
|
+
// EXTERNAL MODULE: ./src/components/search/search.module.scss
|
|
125
|
+
var search_module = __webpack_require__(4850);
|
|
126
|
+
var search_module_default = /*#__PURE__*/__webpack_require__.n(search_module);
|
|
127
|
+
// EXTERNAL MODULE: external "react/jsx-runtime"
|
|
128
|
+
var jsx_runtime_ = __webpack_require__(997);
|
|
129
|
+
;// CONCATENATED MODULE: ./src/components/search/SearchHistory/SearchHistory.tsx
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
const SearchHistory = () => {
|
|
140
|
+
const {
|
|
141
|
+
onSearchInputSelection
|
|
142
|
+
} = (0,useSearchInput/* default */.ZP)();
|
|
143
|
+
const {
|
|
144
|
+
searchHistory,
|
|
145
|
+
clearSearchHistory
|
|
146
|
+
} = (0,useSearchHistory/* default */.Z)();
|
|
147
|
+
|
|
148
|
+
if (!searchHistory.length) {
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
return /*#__PURE__*/(0,jsx_runtime_.jsxs)("section", {
|
|
153
|
+
"data-fs-search-section": true,
|
|
154
|
+
className: (search_module_default()).fsSearch,
|
|
155
|
+
children: [/*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
|
|
156
|
+
"data-fs-search-header": true,
|
|
157
|
+
children: [/*#__PURE__*/jsx_runtime_.jsx("p", {
|
|
158
|
+
"data-fs-search-title": true,
|
|
159
|
+
children: "History"
|
|
160
|
+
}), /*#__PURE__*/jsx_runtime_.jsx(Button/* default */.Z, {
|
|
161
|
+
variant: "tertiary",
|
|
162
|
+
onClick: clearSearchHistory,
|
|
163
|
+
children: "Clear History"
|
|
164
|
+
})]
|
|
165
|
+
}), /*#__PURE__*/jsx_runtime_.jsx(List/* default */.Z, {
|
|
166
|
+
as: "ol",
|
|
167
|
+
children: searchHistory.map(item => /*#__PURE__*/jsx_runtime_.jsx("li", {
|
|
168
|
+
"data-fs-search-item": true,
|
|
169
|
+
children: /*#__PURE__*/(0,jsx_runtime_.jsxs)(Link/* default */.Z, {
|
|
170
|
+
"data-fs-search-item-link": true,
|
|
171
|
+
variant: "display",
|
|
172
|
+
href: item.path,
|
|
173
|
+
onClick: () => onSearchInputSelection?.(item.term, item.path),
|
|
174
|
+
children: [/*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
|
|
175
|
+
name: "Clock",
|
|
176
|
+
width: 18,
|
|
177
|
+
height: 18,
|
|
178
|
+
"data-fs-search-item-icon": true
|
|
179
|
+
}), /*#__PURE__*/jsx_runtime_.jsx("span", {
|
|
180
|
+
children: item.term
|
|
181
|
+
})]
|
|
182
|
+
})
|
|
183
|
+
}, item.term))
|
|
184
|
+
})]
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
/* harmony default export */ const SearchHistory_SearchHistory = (SearchHistory);
|
|
189
|
+
;// CONCATENATED MODULE: ./src/components/search/SearchHistory/index.ts
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
/***/ }),
|
|
193
|
+
|
|
194
|
+
/***/ 4073:
|
|
195
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
196
|
+
|
|
197
|
+
"use strict";
|
|
198
|
+
|
|
199
|
+
// EXPORTS
|
|
200
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
201
|
+
"Z": () => (/* reexport */ SearchSuggestions_SearchSuggestions)
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
// EXTERNAL MODULE: ../components/dist/atoms/List/List.js
|
|
205
|
+
var List = __webpack_require__(1329);
|
|
206
|
+
// EXTERNAL MODULE: external "react"
|
|
207
|
+
var external_react_ = __webpack_require__(6689);
|
|
208
|
+
var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
|
|
209
|
+
// EXTERNAL MODULE: ../components/dist/atoms/Link/Link.js
|
|
210
|
+
var Link = __webpack_require__(7865);
|
|
211
|
+
;// CONCATENATED MODULE: ../components/dist/molecules/SearchProductCard/SearchProductCard.js
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
const SearchProductCard = (0,external_react_.forwardRef)(function ProductCard({ testId = 'fs-search-product-card', linkProps, onLinkClick, children, ...otherProps }, ref) {
|
|
215
|
+
return (external_react_default().createElement("article", { ref: ref, "data-fs-search-product-card": true, "data-testid": testId, ...otherProps },
|
|
216
|
+
external_react_default().createElement(Link/* default */.Z, { ...linkProps, "data-fs-search-product-card-link": true, title: name, variant: "display", onClick: onLinkClick }, children)));
|
|
217
|
+
});
|
|
218
|
+
/* harmony default export */ const SearchProductCard_SearchProductCard = (SearchProductCard);
|
|
219
|
+
//# sourceMappingURL=SearchProductCard.js.map
|
|
220
|
+
;// CONCATENATED MODULE: ../components/dist/molecules/SearchProductCard/SearchProductCardImage.js
|
|
221
|
+
|
|
222
|
+
const SearchProductCardImage = (0,external_react_.forwardRef)(function SearchProductCardImage({ testId = 'fs-search-product-card-image', children, ...otherProps }, ref) {
|
|
223
|
+
return (external_react_default().createElement("div", { ref: ref, "data-fs-search-product-card-image": true, "data-testid": testId, ...otherProps }, children));
|
|
224
|
+
});
|
|
225
|
+
/* harmony default export */ const SearchProductCard_SearchProductCardImage = (SearchProductCardImage);
|
|
226
|
+
//# sourceMappingURL=SearchProductCardImage.js.map
|
|
227
|
+
// EXTERNAL MODULE: ../components/dist/atoms/Price/Price.js
|
|
228
|
+
var Price = __webpack_require__(7549);
|
|
229
|
+
;// CONCATENATED MODULE: ../components/dist/molecules/SearchProductCard/SearchProductCardContent.js
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
const SearchProductCardContent = (0,external_react_.forwardRef)(function SearchProductCardContent({ price, title, ...otherProps }, ref) {
|
|
233
|
+
return (external_react_default().createElement("section", { ref: ref, "data-fs-search-product-card-content": true, ...otherProps },
|
|
234
|
+
external_react_default().createElement("p", { "data-fs-search-product-card-title": true }, title),
|
|
235
|
+
external_react_default().createElement("span", { "data-fs-search-product-card-prices": true },
|
|
236
|
+
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:" }),
|
|
237
|
+
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:" }))));
|
|
238
|
+
});
|
|
239
|
+
/* harmony default export */ const SearchProductCard_SearchProductCardContent = (SearchProductCardContent);
|
|
240
|
+
//# sourceMappingURL=SearchProductCardContent.js.map
|
|
241
|
+
// EXTERNAL MODULE: ./src/components/ui/Image/index.ts + 3 modules
|
|
242
|
+
var Image = __webpack_require__(2154);
|
|
243
|
+
// EXTERNAL MODULE: ./src/sdk/product/useFormattedPrice.ts
|
|
244
|
+
var useFormattedPrice = __webpack_require__(5346);
|
|
245
|
+
// EXTERNAL MODULE: ./src/sdk/product/useProductLink.ts
|
|
246
|
+
var useProductLink = __webpack_require__(9854);
|
|
247
|
+
// EXTERNAL MODULE: ./src/sdk/search/useSearchInput.tsx
|
|
248
|
+
var useSearchInput = __webpack_require__(3588);
|
|
249
|
+
// EXTERNAL MODULE: external "react/jsx-runtime"
|
|
250
|
+
var jsx_runtime_ = __webpack_require__(997);
|
|
251
|
+
;// CONCATENATED MODULE: ./src/components/search/SearchProductCard/SearchProductCard.tsx
|
|
252
|
+
const _excluded = ["product", "index"];
|
|
253
|
+
|
|
254
|
+
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; }
|
|
255
|
+
|
|
256
|
+
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; }
|
|
257
|
+
|
|
258
|
+
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; }
|
|
259
|
+
|
|
260
|
+
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; }
|
|
261
|
+
|
|
262
|
+
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; }
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
function SearchProductCard_SearchProductCard_SearchProductCard(_ref) {
|
|
273
|
+
let {
|
|
274
|
+
product,
|
|
275
|
+
index
|
|
276
|
+
} = _ref,
|
|
277
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
278
|
+
|
|
279
|
+
const {
|
|
280
|
+
onSearchInputSelection
|
|
281
|
+
} = (0,useSearchInput/* default */.ZP)();
|
|
282
|
+
const linkProps = (0,useProductLink/* useProductLink */.w)({
|
|
283
|
+
product,
|
|
284
|
+
selectedOffer: 0,
|
|
285
|
+
index
|
|
286
|
+
});
|
|
287
|
+
const {
|
|
288
|
+
isVariantOf: {
|
|
289
|
+
name
|
|
290
|
+
},
|
|
291
|
+
image: [img],
|
|
292
|
+
offers: {
|
|
293
|
+
lowPrice: spotPrice,
|
|
294
|
+
offers: [{
|
|
295
|
+
listPrice
|
|
296
|
+
}]
|
|
297
|
+
}
|
|
298
|
+
} = product;
|
|
299
|
+
return /*#__PURE__*/(0,jsx_runtime_.jsxs)(SearchProductCard_SearchProductCard, _objectSpread(_objectSpread({
|
|
300
|
+
linkProps: linkProps,
|
|
301
|
+
onLinkClick: () => {
|
|
302
|
+
linkProps.onClick;
|
|
303
|
+
onSearchInputSelection?.(name, linkProps.href);
|
|
304
|
+
}
|
|
305
|
+
}, otherProps), {}, {
|
|
306
|
+
children: [/*#__PURE__*/jsx_runtime_.jsx(SearchProductCard_SearchProductCardImage, {
|
|
307
|
+
children: /*#__PURE__*/jsx_runtime_.jsx(Image/* Image */.E, {
|
|
308
|
+
src: img.url,
|
|
309
|
+
alt: img.alternateName,
|
|
310
|
+
width: 56,
|
|
311
|
+
height: 56
|
|
312
|
+
})
|
|
313
|
+
}), /*#__PURE__*/jsx_runtime_.jsx(SearchProductCard_SearchProductCardContent, {
|
|
314
|
+
title: name,
|
|
315
|
+
price: {
|
|
316
|
+
value: spotPrice,
|
|
317
|
+
listPrice: listPrice,
|
|
318
|
+
formatter: useFormattedPrice/* useFormattedPrice */.P
|
|
319
|
+
}
|
|
320
|
+
})]
|
|
321
|
+
}));
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/* harmony default export */ const search_SearchProductCard_SearchProductCard = (SearchProductCard_SearchProductCard_SearchProductCard);
|
|
325
|
+
;// CONCATENATED MODULE: ./src/components/search/SearchProductCard/index.ts
|
|
326
|
+
|
|
327
|
+
// EXTERNAL MODULE: ./src/components/ui/Icon/index.ts + 1 modules
|
|
328
|
+
var Icon = __webpack_require__(2478);
|
|
329
|
+
// EXTERNAL MODULE: ./src/components/ui/Link/index.ts + 1 modules
|
|
330
|
+
var ui_Link = __webpack_require__(1093);
|
|
331
|
+
// EXTERNAL MODULE: ./src/components/search/search.module.scss
|
|
332
|
+
var search_module = __webpack_require__(4850);
|
|
333
|
+
var search_module_default = /*#__PURE__*/__webpack_require__.n(search_module);
|
|
334
|
+
;// CONCATENATED MODULE: ./src/components/search/SearchSuggestions/SearchSuggestions.tsx
|
|
335
|
+
const SearchSuggestions_excluded = ["testId", "term", "terms", "products"];
|
|
336
|
+
|
|
337
|
+
function SearchSuggestions_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; }
|
|
338
|
+
|
|
339
|
+
function SearchSuggestions_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? SearchSuggestions_ownKeys(Object(source), !0).forEach(function (key) { SearchSuggestions_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : SearchSuggestions_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
340
|
+
|
|
341
|
+
function SearchSuggestions_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; }
|
|
342
|
+
|
|
343
|
+
function SearchSuggestions_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = SearchSuggestions_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; }
|
|
344
|
+
|
|
345
|
+
function SearchSuggestions_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; }
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
function formatSearchTerm(indexSubstring, searchTerm, suggestion) {
|
|
358
|
+
if (indexSubstring === 0) {
|
|
359
|
+
return searchTerm.split('').map((char, idx) => idx === 0 && suggestion.indexOf(char.toUpperCase()) === 0 ? char.toUpperCase() : char.toLowerCase()).join('');
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
return searchTerm.toLowerCase();
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
function handleSuggestions(suggestion, searchTerm) {
|
|
366
|
+
const suggestionSubstring = suggestion.toLowerCase().split(searchTerm.toLowerCase());
|
|
367
|
+
return /*#__PURE__*/jsx_runtime_.jsx("p", {
|
|
368
|
+
children: suggestionSubstring.map((substring, indexSubstring) => /*#__PURE__*/(0,jsx_runtime_.jsxs)(external_react_.Fragment, {
|
|
369
|
+
children: [substring.length > 0 && /*#__PURE__*/jsx_runtime_.jsx("b", {
|
|
370
|
+
"data-fs-search-item-bold": true,
|
|
371
|
+
children: indexSubstring === 0 ? substring.charAt(0).toUpperCase() + substring.slice(1) : substring
|
|
372
|
+
}), indexSubstring !== suggestionSubstring.length - 1 && formatSearchTerm(indexSubstring, searchTerm, suggestion)]
|
|
373
|
+
}, [substring, indexSubstring].join()))
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
function SearchSuggestions(_ref) {
|
|
378
|
+
let {
|
|
379
|
+
testId = 'suggestions',
|
|
380
|
+
term = '',
|
|
381
|
+
terms = [],
|
|
382
|
+
products = []
|
|
383
|
+
} = _ref,
|
|
384
|
+
otherProps = SearchSuggestions_objectWithoutProperties(_ref, SearchSuggestions_excluded);
|
|
385
|
+
|
|
386
|
+
const {
|
|
387
|
+
onSearchInputSelection
|
|
388
|
+
} = (0,useSearchInput/* default */.ZP)();
|
|
389
|
+
return /*#__PURE__*/(0,jsx_runtime_.jsxs)("section", SearchSuggestions_objectSpread(SearchSuggestions_objectSpread({
|
|
390
|
+
"data-testid": testId,
|
|
391
|
+
"data-fs-search": true,
|
|
392
|
+
className: (search_module_default()).fsSearch
|
|
393
|
+
}, otherProps), {}, {
|
|
394
|
+
children: [terms.length > 0 && /*#__PURE__*/jsx_runtime_.jsx(List/* default */.Z, {
|
|
395
|
+
"data-fs-search-section": "terms",
|
|
396
|
+
children: terms?.map(({
|
|
397
|
+
value: suggestion
|
|
398
|
+
}) => /*#__PURE__*/jsx_runtime_.jsx("li", {
|
|
399
|
+
"data-fs-search-item": true,
|
|
400
|
+
children: /*#__PURE__*/(0,jsx_runtime_.jsxs)(ui_Link/* default */.Z, {
|
|
401
|
+
"data-fs-search-item-link": true,
|
|
402
|
+
href: (0,useSearchInput/* formatSearchPath */.uc)(suggestion),
|
|
403
|
+
onClick: () => {
|
|
404
|
+
onSearchInputSelection?.(suggestion, (0,useSearchInput/* formatSearchPath */.uc)(suggestion));
|
|
405
|
+
},
|
|
406
|
+
children: [/*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
|
|
407
|
+
name: "MagnifyingGlass",
|
|
408
|
+
width: 18,
|
|
409
|
+
height: 18,
|
|
410
|
+
"data-fs-search-item-icon": true
|
|
411
|
+
}), handleSuggestions(suggestion, term)]
|
|
412
|
+
})
|
|
413
|
+
}, suggestion))
|
|
414
|
+
}), products.length > 0 && /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
|
|
415
|
+
"data-fs-search-section": true,
|
|
416
|
+
children: [/*#__PURE__*/jsx_runtime_.jsx("div", {
|
|
417
|
+
"data-fs-search-header": true,
|
|
418
|
+
children: /*#__PURE__*/jsx_runtime_.jsx("p", {
|
|
419
|
+
"data-fs-search-title": true,
|
|
420
|
+
children: "Suggested Products"
|
|
421
|
+
})
|
|
422
|
+
}), /*#__PURE__*/jsx_runtime_.jsx(List/* default */.Z, {
|
|
423
|
+
children: products.map((product, index) => /*#__PURE__*/jsx_runtime_.jsx("li", {
|
|
424
|
+
"data-fs-search-item": true,
|
|
425
|
+
children: /*#__PURE__*/jsx_runtime_.jsx(search_SearchProductCard_SearchProductCard, {
|
|
426
|
+
product: product,
|
|
427
|
+
index: index
|
|
428
|
+
})
|
|
429
|
+
}, product.id))
|
|
430
|
+
})]
|
|
431
|
+
})]
|
|
432
|
+
}));
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
/* harmony default export */ const SearchSuggestions_SearchSuggestions = (SearchSuggestions);
|
|
436
|
+
;// CONCATENATED MODULE: ./src/components/search/SearchSuggestions/index.ts
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
/***/ }),
|
|
440
|
+
|
|
441
|
+
/***/ 5299:
|
|
442
|
+
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
443
|
+
|
|
444
|
+
"use strict";
|
|
445
|
+
__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
|
|
446
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
447
|
+
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
448
|
+
/* harmony export */ });
|
|
449
|
+
/* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1329);
|
|
450
|
+
/* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(44);
|
|
451
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
|
|
452
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
453
|
+
/* harmony import */ var src_components_ui_Link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1093);
|
|
454
|
+
/* harmony import */ var src_sdk_search_useSearchInput__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3588);
|
|
455
|
+
/* harmony import */ var src_sdk_search_useTopSearch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1363);
|
|
456
|
+
/* harmony import */ var _search_module_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4850);
|
|
457
|
+
/* harmony import */ var _search_module_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_search_module_scss__WEBPACK_IMPORTED_MODULE_5__);
|
|
458
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(997);
|
|
459
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__);
|
|
460
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_search_useTopSearch__WEBPACK_IMPORTED_MODULE_3__]);
|
|
461
|
+
src_sdk_search_useTopSearch__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
|
|
462
|
+
const _excluded = ["testId", "topTerms"];
|
|
463
|
+
|
|
464
|
+
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; }
|
|
465
|
+
|
|
466
|
+
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; }
|
|
467
|
+
|
|
468
|
+
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; }
|
|
469
|
+
|
|
470
|
+
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; }
|
|
471
|
+
|
|
472
|
+
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; }
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
const SearchTop = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function SearchTop(_ref, ref) {
|
|
484
|
+
let {
|
|
485
|
+
testId = 'top-search',
|
|
486
|
+
topTerms
|
|
487
|
+
} = _ref,
|
|
488
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
489
|
+
|
|
490
|
+
const {
|
|
491
|
+
onSearchInputSelection
|
|
492
|
+
} = (0,src_sdk_search_useSearchInput__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP)();
|
|
493
|
+
const {
|
|
494
|
+
terms,
|
|
495
|
+
isLoading
|
|
496
|
+
} = (0,src_sdk_search_useTopSearch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(topTerms);
|
|
497
|
+
|
|
498
|
+
if (terms.length === 0) {
|
|
499
|
+
return null;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
return /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx("section", _objectSpread(_objectSpread({
|
|
503
|
+
ref: ref,
|
|
504
|
+
"data-testid": testId,
|
|
505
|
+
"data-fs-search-section": true,
|
|
506
|
+
className: (_search_module_scss__WEBPACK_IMPORTED_MODULE_5___default().fsSearch)
|
|
507
|
+
}, otherProps), {}, {
|
|
508
|
+
children: isLoading ? /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx("p", {
|
|
509
|
+
"data-fs-search-input-loading-text": true,
|
|
510
|
+
children: "Loading..."
|
|
511
|
+
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.Fragment, {
|
|
512
|
+
children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx("div", {
|
|
513
|
+
"data-fs-search-header": true,
|
|
514
|
+
children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx("p", {
|
|
515
|
+
"data-fs-search-title": true,
|
|
516
|
+
children: "Top Search"
|
|
517
|
+
})
|
|
518
|
+
}), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
|
|
519
|
+
as: "ol",
|
|
520
|
+
children: terms.map((term, index) => /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx("li", {
|
|
521
|
+
"data-fs-search-item": true,
|
|
522
|
+
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(src_components_ui_Link__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {
|
|
523
|
+
"data-fs-search-item-link": true,
|
|
524
|
+
variant: "display",
|
|
525
|
+
href: (0,src_sdk_search_useSearchInput__WEBPACK_IMPORTED_MODULE_2__/* .formatSearchPath */ .uc)(term.value),
|
|
526
|
+
onClick: () => onSearchInputSelection?.(term.value, (0,src_sdk_search_useSearchInput__WEBPACK_IMPORTED_MODULE_2__/* .formatSearchPath */ .uc)(term.value)),
|
|
527
|
+
children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
|
|
528
|
+
"data-fs-search-badge": true,
|
|
529
|
+
variant: "info",
|
|
530
|
+
children: index + 1
|
|
531
|
+
}), term.value]
|
|
532
|
+
})
|
|
533
|
+
}, term.value))
|
|
534
|
+
})]
|
|
535
|
+
})
|
|
536
|
+
}));
|
|
537
|
+
});
|
|
538
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SearchTop);
|
|
539
|
+
__webpack_async_result__();
|
|
540
|
+
} catch(e) { __webpack_async_result__(e); } });
|
|
541
|
+
|
|
542
|
+
/***/ }),
|
|
543
|
+
|
|
544
|
+
/***/ 107:
|
|
545
|
+
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
546
|
+
|
|
547
|
+
"use strict";
|
|
548
|
+
__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
|
|
549
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
550
|
+
/* harmony export */ "S": () => (/* reexport safe */ _SearchTop__WEBPACK_IMPORTED_MODULE_0__.Z)
|
|
551
|
+
/* harmony export */ });
|
|
552
|
+
/* harmony import */ var _SearchTop__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5299);
|
|
553
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_SearchTop__WEBPACK_IMPORTED_MODULE_0__]);
|
|
554
|
+
_SearchTop__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
|
|
555
|
+
|
|
556
|
+
__webpack_async_result__();
|
|
557
|
+
} catch(e) { __webpack_async_result__(e); } });
|
|
558
|
+
|
|
559
|
+
/***/ }),
|
|
560
|
+
|
|
561
|
+
/***/ 6344:
|
|
562
|
+
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
563
|
+
|
|
564
|
+
"use strict";
|
|
565
|
+
__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
|
|
566
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
567
|
+
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
568
|
+
/* harmony export */ });
|
|
569
|
+
/* harmony import */ var src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7732);
|
|
570
|
+
/* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5971);
|
|
571
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__]);
|
|
572
|
+
src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
|
|
573
|
+
|
|
574
|
+
|
|
575
|
+
const MAX_SUGGESTIONS = 5;
|
|
576
|
+
const query = "SearchSuggestionsQuery";
|
|
577
|
+
|
|
578
|
+
function useSuggestions(term, limit = MAX_SUGGESTIONS) {
|
|
579
|
+
const {
|
|
580
|
+
channel,
|
|
581
|
+
locale
|
|
582
|
+
} = (0,_session__WEBPACK_IMPORTED_MODULE_1__/* .useSession */ .kP)();
|
|
583
|
+
const {
|
|
584
|
+
data,
|
|
585
|
+
error
|
|
586
|
+
} = (0,src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__/* .useQuery */ .aM)(query, {
|
|
587
|
+
term,
|
|
588
|
+
selectedFacets: [{
|
|
589
|
+
key: 'channel',
|
|
590
|
+
value: channel ?? ''
|
|
591
|
+
}, {
|
|
592
|
+
key: 'locale',
|
|
593
|
+
value: locale
|
|
594
|
+
}]
|
|
595
|
+
});
|
|
596
|
+
return {
|
|
597
|
+
terms: (data?.search.suggestions.terms ?? []).slice(0, limit),
|
|
598
|
+
products: (data?.search.suggestions.products ?? []).slice(0, limit),
|
|
599
|
+
isLoading: !error && !data
|
|
600
|
+
};
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useSuggestions);
|
|
604
|
+
__webpack_async_result__();
|
|
605
|
+
} catch(e) { __webpack_async_result__(e); } });
|
|
606
|
+
|
|
607
|
+
/***/ }),
|
|
608
|
+
|
|
609
|
+
/***/ 1363:
|
|
610
|
+
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
611
|
+
|
|
612
|
+
"use strict";
|
|
613
|
+
__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
|
|
614
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
615
|
+
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
616
|
+
/* harmony export */ });
|
|
617
|
+
/* harmony import */ var src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7732);
|
|
618
|
+
/* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5971);
|
|
619
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__]);
|
|
620
|
+
src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
|
|
621
|
+
|
|
622
|
+
|
|
623
|
+
const MAX_TOP_SEARCH_TERMS = 5;
|
|
624
|
+
const query = "TopSearchSuggestionsQuery";
|
|
625
|
+
|
|
626
|
+
function useTopSearch(initialTerms = [], limit = MAX_TOP_SEARCH_TERMS) {
|
|
627
|
+
const {
|
|
628
|
+
channel,
|
|
629
|
+
locale
|
|
630
|
+
} = (0,_session__WEBPACK_IMPORTED_MODULE_1__/* .useSession */ .kP)();
|
|
631
|
+
const {
|
|
632
|
+
data,
|
|
633
|
+
error
|
|
634
|
+
} = (0,src_sdk_graphql_useQuery__WEBPACK_IMPORTED_MODULE_0__/* .useQuery */ .aM)(query, {
|
|
635
|
+
term: '',
|
|
636
|
+
selectedFacets: [{
|
|
637
|
+
key: 'channel',
|
|
638
|
+
value: channel ?? ''
|
|
639
|
+
}, {
|
|
640
|
+
key: 'locale',
|
|
641
|
+
value: locale
|
|
642
|
+
}]
|
|
643
|
+
});
|
|
644
|
+
return {
|
|
645
|
+
terms: (data?.search.suggestions.terms ?? initialTerms).slice(0, limit),
|
|
646
|
+
isLoading: !error && !data
|
|
647
|
+
};
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useTopSearch);
|
|
651
|
+
__webpack_async_result__();
|
|
652
|
+
} catch(e) { __webpack_async_result__(e); } });
|
|
653
|
+
|
|
654
|
+
/***/ }),
|
|
655
|
+
|
|
656
|
+
/***/ 4850:
|
|
657
|
+
/***/ ((module) => {
|
|
658
|
+
|
|
659
|
+
// Exports
|
|
660
|
+
module.exports = {
|
|
661
|
+
"fs-search": "search_fs-search__DRhxy",
|
|
662
|
+
"fsSearch": "search_fs-search__DRhxy"
|
|
663
|
+
};
|
|
664
|
+
|
|
665
|
+
|
|
666
|
+
/***/ })
|
|
667
|
+
|
|
668
|
+
};
|
|
669
|
+
;
|