@depict-ai/react-ui 1.5.17 → 1.5.19
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/ES10/index.cjs +143 -143
- package/ES10/index.d.ts +1 -1
- package/ES10/index.js +143 -143
- package/latest/index.cjs +143 -143
- package/latest/index.d.ts +1 -1
- package/latest/index.js +143 -143
- package/package.json +6 -6
- package/server/ES10/index.cjs +14 -14
- package/server/ES10/index.d.ts +1 -1
- package/server/ES10/index.js +14 -14
- package/server/latest/index.cjs +14 -14
- package/server/latest/index.d.ts +1 -1
- package/server/latest/index.js +14 -14
package/latest/index.js
CHANGED
|
@@ -13,25 +13,25 @@ import { DPC as $2GFvs$DPC } from "@depict-ai/dpc/latest";
|
|
|
13
13
|
// Note, if you add an export here, also add one in src-server/main.ts
|
|
14
14
|
import { register_es_version } from "../multi_import_deduplicator.mjs";
|
|
15
15
|
register_es_version("react-ui", "latest");
|
|
16
|
-
const $c9c4d066f9a5b51b$export$83d89fbfd8236492 = "1.5.
|
|
16
|
+
const $c9c4d066f9a5b51b$export$83d89fbfd8236492 = "1.5.19";
|
|
17
17
|
const $42858f023ef23dab$export$8e769ad4338a911e = {
|
|
18
|
-
usedLocale:
|
|
18
|
+
usedLocale: $2GFvs$createSignal((0, $2GFvs$defaultLocale)),
|
|
19
19
|
search_instances: new Map(),
|
|
20
20
|
category_instances: new Map(),
|
|
21
21
|
api: null,
|
|
22
22
|
dpc: null,
|
|
23
|
-
merchant:
|
|
24
|
-
market:
|
|
25
|
-
userId:
|
|
26
|
-
sessionId:
|
|
23
|
+
merchant: $2GFvs$createSignal(),
|
|
24
|
+
market: $2GFvs$createSignal(),
|
|
25
|
+
userId: $2GFvs$createSignal(),
|
|
26
|
+
sessionId: $2GFvs$createSignal(),
|
|
27
27
|
known_category_paths: new Set(),
|
|
28
|
-
search_page_path_:
|
|
29
|
-
search_page_in_dom:
|
|
30
|
-
category_page_in_dom:
|
|
31
|
-
provider_is_updating:
|
|
32
|
-
enable_content_search:
|
|
33
|
-
category_meta_title_suffix:
|
|
34
|
-
disable_override_query_id:
|
|
28
|
+
search_page_path_: $2GFvs$createSignal(),
|
|
29
|
+
search_page_in_dom: $2GFvs$createSignal(false),
|
|
30
|
+
category_page_in_dom: $2GFvs$createSignal(false),
|
|
31
|
+
provider_is_updating: $2GFvs$createSignal(false),
|
|
32
|
+
enable_content_search: $2GFvs$createSignal(),
|
|
33
|
+
category_meta_title_suffix: $2GFvs$createSignal(),
|
|
34
|
+
disable_override_query_id: $2GFvs$createSignal()
|
|
35
35
|
};
|
|
36
36
|
class $d5c9e1f3545b4984$export$d0f82e3ef89b1f22 extends (0, $2GFvs$Component) {
|
|
37
37
|
constructor(props) {
|
|
@@ -52,7 +52,7 @@ class $d5c9e1f3545b4984$export$d0f82e3ef89b1f22 extends (0, $2GFvs$Component) {
|
|
|
52
52
|
render() {
|
|
53
53
|
if (this.state.hasError)
|
|
54
54
|
// You can render any custom fallback UI
|
|
55
|
-
return
|
|
55
|
+
return $2GFvs$createElement("div", {
|
|
56
56
|
children: "Component failed"
|
|
57
57
|
});
|
|
58
58
|
return this.props.children;
|
|
@@ -63,14 +63,14 @@ let $c83ba9ab79386687$var$old_href = location.href;
|
|
|
63
63
|
function $c83ba9ab79386687$export$74f3924c5027fe1d(cb) {
|
|
64
64
|
$c83ba9ab79386687$var$run_on_href_change = cb;
|
|
65
65
|
}
|
|
66
|
-
(0, $2GFvs$instant_exec_on_suspect_history_change).add(
|
|
66
|
+
(0, $2GFvs$instant_exec_on_suspect_history_change).add($2GFvs$catchify(() => {
|
|
67
67
|
const {
|
|
68
68
|
href: href
|
|
69
69
|
} = location;
|
|
70
70
|
if ($c83ba9ab79386687$var$run_on_href_change && $c83ba9ab79386687$var$old_href !== href) $c83ba9ab79386687$var$run_on_href_change(href);
|
|
71
71
|
$c83ba9ab79386687$var$old_href = href;
|
|
72
72
|
}));
|
|
73
|
-
const $c83ba9ab79386687$export$775e6b3892b5ad52 = (url = location) => url.pathname ==
|
|
73
|
+
const $c83ba9ab79386687$export$775e6b3892b5ad52 = (url = location) => url.pathname == $2GFvs$untrack((0, $42858f023ef23dab$export$8e769ad4338a911e).search_page_path_[0]); // might have changed therefore get it from globalState
|
|
74
74
|
const $c83ba9ab79386687$export$30c8a12df09be0e4 = (url = location) => (0, $42858f023ef23dab$export$8e769ad4338a911e).known_category_paths.has(url.pathname);
|
|
75
75
|
function $c83ba9ab79386687$export$f6e64e17bd69eeef({
|
|
76
76
|
solid_component: solid_component,
|
|
@@ -79,12 +79,12 @@ function $c83ba9ab79386687$export$f6e64e17bd69eeef({
|
|
|
79
79
|
wrapper_style = {},
|
|
80
80
|
hydrate_function_when_ssr: hydrate_function_when_ssr
|
|
81
81
|
}) {
|
|
82
|
-
const [portals, set_portals] =
|
|
83
|
-
const wrapper_element_ref =
|
|
84
|
-
const [[store, write_store]] =
|
|
82
|
+
const [portals, set_portals] = $2GFvs$useState([]);
|
|
83
|
+
const wrapper_element_ref = $2GFvs$useRef();
|
|
84
|
+
const [[store, write_store]] = $2GFvs$useState(() => $2GFvs$createStore(props));
|
|
85
85
|
// Update store when props change
|
|
86
|
-
write_store(
|
|
87
|
-
|
|
86
|
+
write_store($2GFvs$reconcile(props));
|
|
87
|
+
$2GFvs$useEffect(() => {
|
|
88
88
|
const wrapper_element = wrapper_element_ref.current;
|
|
89
89
|
// If someone only rendered a solid component on the client that *could* be hydrated (no childNodes) then we fall back to `render` to avoid solid complaining about not being able to hydrate or crashing because the result of generateHydrationScript hasn't run at all
|
|
90
90
|
// This can happen for HMR or when SSR capable components are only rendered on the client
|
|
@@ -92,7 +92,7 @@ function $c83ba9ab79386687$export$f6e64e17bd69eeef({
|
|
|
92
92
|
const dispose = render_function(() => solid_component(store, set_portals), wrapper_element);
|
|
93
93
|
return dispose;
|
|
94
94
|
}, []);
|
|
95
|
-
return
|
|
95
|
+
return $2GFvs$createElement((0, $2GFvs$Fragment), null, $2GFvs$createElement(wrapper_type, {
|
|
96
96
|
ref: wrapper_element_ref,
|
|
97
97
|
style: wrapper_style,
|
|
98
98
|
...(hydrate_function_when_ssr ? {
|
|
@@ -106,8 +106,8 @@ function $c83ba9ab79386687$export$f6e64e17bd69eeef({
|
|
|
106
106
|
}
|
|
107
107
|
function $c83ba9ab79386687$export$e5139bbbb9a05035(component, is_set) {
|
|
108
108
|
return (...args) => {
|
|
109
|
-
const default_is_set =
|
|
110
|
-
const should_show =
|
|
109
|
+
const default_is_set = $2GFvs$createMemo(() => !!((0, $42858f023ef23dab$export$8e769ad4338a911e).merchant[0]() && (0, $42858f023ef23dab$export$8e769ad4338a911e).market[0]())); // Apparently Show re-renders kids otherwise even if the falsiness of the condition doesn't change
|
|
110
|
+
const should_show = $2GFvs$createMemo(prev => {
|
|
111
111
|
if (!prev && (0, $42858f023ef23dab$export$8e769ad4338a911e).provider_is_updating[0]())
|
|
112
112
|
// Why `!prev`? See https://gitlab.com/depict-ai/depict.ai/-/merge_requests/7854#note_1495776987
|
|
113
113
|
// If we weren't showing the component and the DepictProvider is currently updating, wait for it to have finished updating before showing the component
|
|
@@ -116,7 +116,7 @@ function $c83ba9ab79386687$export$e5139bbbb9a05035(component, is_set) {
|
|
|
116
116
|
return (is_set || default_is_set)();
|
|
117
117
|
});
|
|
118
118
|
// @ts-ignore
|
|
119
|
-
return
|
|
119
|
+
return $2GFvs$createComponent((0, $2GFvs$Show), {
|
|
120
120
|
get when() {
|
|
121
121
|
return should_show();
|
|
122
122
|
},
|
|
@@ -136,17 +136,17 @@ async function $c83ba9ab79386687$export$79c79419c1ef0081({
|
|
|
136
136
|
let was_cleaned_up = false;
|
|
137
137
|
const react_has_ran_hooks = new Promise(r => set_react_has_ran_hooks = r);
|
|
138
138
|
const solid_container = document.createElement("div");
|
|
139
|
-
const owner =
|
|
140
|
-
const reactProductCard =
|
|
139
|
+
const owner = $2GFvs$getOwner();
|
|
140
|
+
const reactProductCard = $2GFvs$jsx(props => {
|
|
141
141
|
// Sneak in a hook into their product card component to know once react has finished rendering and running hooks
|
|
142
|
-
|
|
142
|
+
$2GFvs$useEffect(set_react_has_ran_hooks, []);
|
|
143
143
|
return react_template(props);
|
|
144
144
|
}, {
|
|
145
145
|
display: display
|
|
146
146
|
});
|
|
147
|
-
const reactProductCardInErrorBoundary =
|
|
147
|
+
const reactProductCardInErrorBoundary = $2GFvs$jsx((0, $d5c9e1f3545b4984$export$d0f82e3ef89b1f22), {
|
|
148
148
|
children: reactProductCard,
|
|
149
|
-
on_error: error =>
|
|
149
|
+
on_error: error => $2GFvs$runWithOwner(owner, () => {
|
|
150
150
|
if (was_cleaned_up) return; // Would infinite loop if we'd throw after we've already been cleaned up. That is because the `ErrorBoundary` won't be "registered" with the cleaned-up owner anymore so react would hear about the throw and attempt to re-render the error boundary or something which would throw again, etc.
|
|
151
151
|
throw new (0, $2GFvs$ProductCardError)(error);
|
|
152
152
|
})
|
|
@@ -154,7 +154,7 @@ async function $c83ba9ab79386687$export$79c79419c1ef0081({
|
|
|
154
154
|
const portal = $2GFvs$createPortal(reactProductCardInErrorBoundary, solid_container);
|
|
155
155
|
component_portals.add(portal);
|
|
156
156
|
set_portals([...component_portals]);
|
|
157
|
-
|
|
157
|
+
$2GFvs$onCleanup(() => {
|
|
158
158
|
was_cleaned_up = true;
|
|
159
159
|
// this will stop working after any await so be careful to not await before this, or you'll have to carry the owner over with getOwner and runWithOwner
|
|
160
160
|
component_portals.delete(portal);
|
|
@@ -167,7 +167,7 @@ async function $c83ba9ab79386687$export$79c79419c1ef0081({
|
|
|
167
167
|
let $8071251ee4e9ffa1$var$set = false;
|
|
168
168
|
let $8071251ee4e9ffa1$var$padding_animation;
|
|
169
169
|
function $8071251ee4e9ffa1$export$6453cbc34515a94d() {
|
|
170
|
-
const are_on_search_or_category_page = () =>
|
|
170
|
+
const are_on_search_or_category_page = () => $c83ba9ab79386687$export$775e6b3892b5ad52() || $c83ba9ab79386687$export$30c8a12df09be0e4();
|
|
171
171
|
if ($8071251ee4e9ffa1$var$set) return; // Just being safe
|
|
172
172
|
$8071251ee4e9ffa1$var$set = true;
|
|
173
173
|
// We used to initialise this variable with false which in some cases (scroll to top button in FloatingButtons) would cause the scroll to be blocked when it shouldn't (see https://depictaiworkspace.slack.com/archives/C058KQ3MU8Z/p1686141321127089?thread_ts=1686134246.109689&cid=C058KQ3MU8Z)
|
|
@@ -180,7 +180,7 @@ function $8071251ee4e9ffa1$export$6453cbc34515a94d() {
|
|
|
180
180
|
) return Reflect.apply(old_scrollTo, window, args);else should_use_old_scroll = true;
|
|
181
181
|
};
|
|
182
182
|
// When popping state, add padding in the same event as the "popstate" event (required) and then remove it once our stuff is in the DOM
|
|
183
|
-
addEventListener("popstate",
|
|
183
|
+
addEventListener("popstate", $2GFvs$catchify(() => {
|
|
184
184
|
if (!are_on_search_or_category_page()) {
|
|
185
185
|
$8071251ee4e9ffa1$var$removeLotsOfPadding(); // Just making sure
|
|
186
186
|
return;
|
|
@@ -188,10 +188,10 @@ function $8071251ee4e9ffa1$export$6453cbc34515a94d() {
|
|
|
188
188
|
should_use_old_scroll = false;
|
|
189
189
|
const [get_search_page_in_dom] = (0, $42858f023ef23dab$export$8e769ad4338a911e).search_page_in_dom;
|
|
190
190
|
const [get_category_page_in_dom] = (0, $42858f023ef23dab$export$8e769ad4338a911e).category_page_in_dom;
|
|
191
|
-
const search_page_in_dom =
|
|
192
|
-
const category_page_in_dom =
|
|
193
|
-
const new_is_search =
|
|
194
|
-
const new_is_category =
|
|
191
|
+
const search_page_in_dom = $2GFvs$untrack(get_search_page_in_dom);
|
|
192
|
+
const category_page_in_dom = $2GFvs$untrack(get_category_page_in_dom);
|
|
193
|
+
const new_is_search = $c83ba9ab79386687$export$775e6b3892b5ad52();
|
|
194
|
+
const new_is_category = $c83ba9ab79386687$export$30c8a12df09be0e4();
|
|
195
195
|
let accessor_to_wait_for;
|
|
196
196
|
if (search_page_in_dom && new_is_search || category_page_in_dom && new_is_category) {
|
|
197
197
|
// Already on the page we're going to
|
|
@@ -200,7 +200,7 @@ function $8071251ee4e9ffa1$export$6453cbc34515a94d() {
|
|
|
200
200
|
}
|
|
201
201
|
$8071251ee4e9ffa1$var$addLotsOfPadding();
|
|
202
202
|
if (new_is_search && category_page_in_dom) accessor_to_wait_for = get_search_page_in_dom;else if (new_is_category && search_page_in_dom) accessor_to_wait_for = get_category_page_in_dom;else accessor_to_wait_for = new_is_search ? get_search_page_in_dom : get_category_page_in_dom;
|
|
203
|
-
|
|
203
|
+
$2GFvs$createRoot(dispose => $2GFvs$createEffect(() => {
|
|
204
204
|
if (accessor_to_wait_for()) {
|
|
205
205
|
$8071251ee4e9ffa1$var$removeLotsOfPadding();
|
|
206
206
|
dispose();
|
|
@@ -209,7 +209,7 @@ function $8071251ee4e9ffa1$export$6453cbc34515a94d() {
|
|
|
209
209
|
}));
|
|
210
210
|
window?.next?.router?.events?.on(
|
|
211
211
|
// We have to use the actual next router here, if we'd use next_router_event_target for this window.event wouldn't be the popstate anymore
|
|
212
|
-
"routeChangeStart",
|
|
212
|
+
"routeChangeStart", $2GFvs$catchify(() => {
|
|
213
213
|
// this is for when we navigate to a new page (replaceState or pushState)
|
|
214
214
|
// We need to ensure that the page doesn't get shorter before the new history entry has been pushed
|
|
215
215
|
// There is beforeHistoryChange which fires literally the line of code before the history API is called, so we make the page long until a task after that
|
|
@@ -218,7 +218,7 @@ function $8071251ee4e9ffa1$export$6453cbc34515a94d() {
|
|
|
218
218
|
// This is catchified, so we should see in sentry when it starts failing if browsers ever remove it???
|
|
219
219
|
if (window.event instanceof PopStateEvent) return;
|
|
220
220
|
$8071251ee4e9ffa1$var$addLotsOfPadding();
|
|
221
|
-
next_router_event_target.addEventListener("beforeHistoryChange",
|
|
221
|
+
next_router_event_target.addEventListener("beforeHistoryChange", $2GFvs$catchify(() => $2GFvs$queueMacroTask($8071251ee4e9ffa1$var$removeLotsOfPadding)), {
|
|
222
222
|
once: true
|
|
223
223
|
});
|
|
224
224
|
}));
|
|
@@ -253,9 +253,9 @@ const $7216ca4c8308a0f9$export$599d4515591ef232 = (relativeUrl, isReplace, scrol
|
|
|
253
253
|
Page[Page["SEARCH"] = 1] = "SEARCH";
|
|
254
254
|
Page[Page["CATEGORY"] = 2] = "CATEGORY";
|
|
255
255
|
})(Page || (Page = {}));
|
|
256
|
-
const current_page =
|
|
256
|
+
const current_page = $c83ba9ab79386687$export$775e6b3892b5ad52() ? Page.SEARCH : $c83ba9ab79386687$export$30c8a12df09be0e4() ? Page.CATEGORY : Page.OTHER;
|
|
257
257
|
const target_u_o = new URL(relativeUrl, location.origin);
|
|
258
|
-
const target_page =
|
|
258
|
+
const target_page = $c83ba9ab79386687$export$775e6b3892b5ad52(target_u_o) ? Page.SEARCH : $c83ba9ab79386687$export$30c8a12df09be0e4(target_u_o) ? Page.CATEGORY : Page.OTHER;
|
|
259
259
|
window.next.router[isReplace ? "replace" : "push"](relativeUrl, undefined, {
|
|
260
260
|
shallow: current_page === target_page && target_page !== Page.OTHER,
|
|
261
261
|
scroll:
|
|
@@ -302,27 +302,27 @@ function $80202ccbe2ade418$export$bae2769a30719c48(disposable, stateKey) {
|
|
|
302
302
|
const instance = new (0, $2GFvs$DepictSearch)({
|
|
303
303
|
api: (0, $42858f023ef23dab$export$8e769ad4338a911e).api,
|
|
304
304
|
search_query_url_param_name: search_query_url_param_name,
|
|
305
|
-
market:
|
|
305
|
+
market: $2GFvs$untrack(get_market),
|
|
306
306
|
// TODO: check if we can do this
|
|
307
|
-
merchant:
|
|
307
|
+
merchant: $2GFvs$untrack(get_merchant),
|
|
308
308
|
enable_category_suggestions: (0, $42858f023ef23dab$export$8e769ad4338a911e).enableCategorySuggestions ?? false,
|
|
309
309
|
// default category suggestions to false for @depict-ai/react-ui (https://linear.app/depictai/issue/FRO-401/default-enablecategorysuggestions-to-false)
|
|
310
|
-
localization:
|
|
311
|
-
url_transformer: url => url.pathname =
|
|
310
|
+
localization: $2GFvs$untrack(get_locale),
|
|
311
|
+
url_transformer: url => url.pathname = $2GFvs$untrack(get_search_page_path),
|
|
312
312
|
on_navigation: (0, $42858f023ef23dab$export$8e769ad4338a911e).on_navigation,
|
|
313
313
|
unique_instance_key_for_state: stateKey,
|
|
314
|
-
enable_content_search:
|
|
314
|
+
enable_content_search: $2GFvs$untrack(get_enable_content_search)
|
|
315
315
|
});
|
|
316
|
-
|
|
316
|
+
$2GFvs$createComputed(() => {
|
|
317
317
|
const new_merchant = get_merchant();
|
|
318
318
|
if (new_merchant) instance.merchant = new_merchant;
|
|
319
319
|
});
|
|
320
|
-
|
|
320
|
+
$2GFvs$createComputed(() => {
|
|
321
321
|
const new_market = get_market();
|
|
322
322
|
if (new_market) instance.market = new_market;
|
|
323
323
|
});
|
|
324
|
-
|
|
325
|
-
|
|
324
|
+
$2GFvs$createComputed(() => instance.localization = get_locale());
|
|
325
|
+
$2GFvs$createComputed(() => instance.enable_content_search = get_enable_content_search());
|
|
326
326
|
return {
|
|
327
327
|
instance: instance,
|
|
328
328
|
dispose: dispose,
|
|
@@ -331,7 +331,7 @@ function $80202ccbe2ade418$export$bae2769a30719c48(disposable, stateKey) {
|
|
|
331
331
|
};
|
|
332
332
|
const function_length_0 = () => actual_function();
|
|
333
333
|
const function_length_1 = dispose => actual_function(dispose);
|
|
334
|
-
return
|
|
334
|
+
return $2GFvs$createRoot(disposable ? function_length_1 : function_length_0); // solid-js creates roots differently based on if it can detect a dispose argument, with function.length. That's why this is written like this
|
|
335
335
|
}
|
|
336
336
|
|
|
337
337
|
function $9145bcf81a0216ce$export$248b95d5073d5bab(disposable, stateKey) {
|
|
@@ -345,24 +345,24 @@ function $9145bcf81a0216ce$export$248b95d5073d5bab(disposable, stateKey) {
|
|
|
345
345
|
} = (0, $42858f023ef23dab$export$8e769ad4338a911e);
|
|
346
346
|
const instance = new (0, $2GFvs$DepictCategory)({
|
|
347
347
|
api: (0, $42858f023ef23dab$export$8e769ad4338a911e).api,
|
|
348
|
-
market:
|
|
348
|
+
market: $2GFvs$untrack(get_market),
|
|
349
349
|
// TODO: check if we can do this
|
|
350
|
-
merchant:
|
|
351
|
-
localization:
|
|
350
|
+
merchant: $2GFvs$untrack(get_merchant),
|
|
351
|
+
localization: $2GFvs$untrack(get_locale),
|
|
352
352
|
on_navigation: (0, $42858f023ef23dab$export$8e769ad4338a911e).on_navigation,
|
|
353
353
|
unique_instance_key_for_state: stateKey
|
|
354
354
|
});
|
|
355
|
-
|
|
355
|
+
$2GFvs$createComputed(() => {
|
|
356
356
|
const new_merchant = get_merchant();
|
|
357
357
|
if (new_merchant) instance.merchant = new_merchant;
|
|
358
358
|
});
|
|
359
|
-
|
|
359
|
+
$2GFvs$createComputed(() => {
|
|
360
360
|
const new_market = get_market();
|
|
361
361
|
if (new_market) instance.market = new_market;
|
|
362
362
|
});
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
363
|
+
$2GFvs$createComputed(() => instance.localization = get_locale());
|
|
364
|
+
$2GFvs$createComputed(() => instance.meta_title_suffix = get_category_meta_title_suffix());
|
|
365
|
+
$2GFvs$createComputed(() => instance.disable_override_query_id = get_disable_override_query_id());
|
|
366
366
|
return {
|
|
367
367
|
instance: instance,
|
|
368
368
|
dispose: dispose,
|
|
@@ -371,7 +371,7 @@ function $9145bcf81a0216ce$export$248b95d5073d5bab(disposable, stateKey) {
|
|
|
371
371
|
};
|
|
372
372
|
const function_length_0 = () => actual_function();
|
|
373
373
|
const function_length_1 = dispose => actual_function(dispose);
|
|
374
|
-
return
|
|
374
|
+
return $2GFvs$createRoot(disposable ? function_length_1 : function_length_0); // solid-js creates roots differently based on if it can detect a dispose argument, with function.length. That's why this is written like this
|
|
375
375
|
}
|
|
376
376
|
|
|
377
377
|
let $5376eb2a386cd90d$var$provider_instances = 0;
|
|
@@ -412,11 +412,11 @@ function $5376eb2a386cd90d$var$ActualDepictProvider(props) {
|
|
|
412
412
|
(0, $42858f023ef23dab$export$8e769ad4338a911e).enableCategorySuggestions = enableCategorySuggestions;
|
|
413
413
|
(0, $42858f023ef23dab$export$8e769ad4338a911e).category_meta_title_suffix[1](props.category?.metaTitleSuffix);
|
|
414
414
|
(0, $42858f023ef23dab$export$8e769ad4338a911e).disable_override_query_id[1](props.category?.disableOverrideQueryId);
|
|
415
|
-
|
|
416
|
-
if (!market || !merchant) return
|
|
415
|
+
$a00d8f27abd5d0b0$export$47e064413edabf36(merchant, market, userId, sessionId);
|
|
416
|
+
if (!market || !merchant) return $2GFvs$createElement((0, $2GFvs$Fragment), null, children);
|
|
417
417
|
(0, $42858f023ef23dab$export$8e769ad4338a911e).market[1](market);
|
|
418
418
|
(0, $42858f023ef23dab$export$8e769ad4338a911e).merchant[1](merchant);
|
|
419
|
-
|
|
419
|
+
$8071251ee4e9ffa1$export$6453cbc34515a94d();
|
|
420
420
|
try {
|
|
421
421
|
const {
|
|
422
422
|
search_instances: search_instances,
|
|
@@ -433,13 +433,13 @@ function $5376eb2a386cd90d$var$ActualDepictProvider(props) {
|
|
|
433
433
|
if (navigateFunction) navigateFunction(new_relative_url, {
|
|
434
434
|
replace: is_replace,
|
|
435
435
|
scroll: scroll
|
|
436
|
-
});else
|
|
436
|
+
});else $7216ca4c8308a0f9$export$599d4515591ef232(new_relative_url, is_replace, scroll);
|
|
437
437
|
};
|
|
438
438
|
(0, $42858f023ef23dab$export$8e769ad4338a911e).on_navigation = on_navigation;
|
|
439
439
|
(0, $42858f023ef23dab$export$8e769ad4338a911e).api ||= new (0, $2GFvs$DepictAPI)({
|
|
440
440
|
get_metadata: async () => (0, $42858f023ef23dab$export$8e769ad4338a911e).metaData,
|
|
441
|
-
get_user_id: () =>
|
|
442
|
-
get_session_id: () =>
|
|
441
|
+
get_user_id: () => $2GFvs$untrack((0, $42858f023ef23dab$export$8e769ad4338a911e).userId[0]),
|
|
442
|
+
get_session_id: () => $2GFvs$untrack((0, $42858f023ef23dab$export$8e769ad4338a911e).sessionId[0])
|
|
443
443
|
});
|
|
444
444
|
(0, $42858f023ef23dab$export$8e769ad4338a911e).api.page_url_creator = props.pageURLCreator;
|
|
445
445
|
(0, $42858f023ef23dab$export$8e769ad4338a911e).api.display_transformers = props.displayTransformers;
|
|
@@ -447,11 +447,11 @@ function $5376eb2a386cd90d$var$ActualDepictProvider(props) {
|
|
|
447
447
|
if (!search_instances.get(undefined)) {
|
|
448
448
|
// Create initial search instance which always exists. It i.e. gards against the state getting deleted from history.state by someone pushing to it with an empty object, which commonly people copy from code snippets.
|
|
449
449
|
// Also, it emulates the behavior pre-supporting multiple "depict blocks" on the same page
|
|
450
|
-
const instance =
|
|
450
|
+
const instance = $80202ccbe2ade418$export$bae2769a30719c48(false);
|
|
451
451
|
search_instances.set(undefined, instance);
|
|
452
452
|
}
|
|
453
453
|
if (!category_instances.get(undefined)) {
|
|
454
|
-
const instance =
|
|
454
|
+
const instance = $9145bcf81a0216ce$export$248b95d5073d5bab(false);
|
|
455
455
|
category_instances.set(undefined, instance);
|
|
456
456
|
}
|
|
457
457
|
} catch (e) {
|
|
@@ -460,7 +460,7 @@ function $5376eb2a386cd90d$var$ActualDepictProvider(props) {
|
|
|
460
460
|
throw e;
|
|
461
461
|
});
|
|
462
462
|
}
|
|
463
|
-
return
|
|
463
|
+
return $2GFvs$createElement((0, $2GFvs$Fragment), null, children);
|
|
464
464
|
}
|
|
465
465
|
function $5376eb2a386cd90d$var$ensure_correct_formatting(path) {
|
|
466
466
|
// Make sure the path starts with a slash as it always will and is_page will fail otherwise
|
|
@@ -468,7 +468,7 @@ function $5376eb2a386cd90d$var$ensure_correct_formatting(path) {
|
|
|
468
468
|
return path;
|
|
469
469
|
}
|
|
470
470
|
function $5376eb2a386cd90d$var$multiple_depictprovider_guard() {
|
|
471
|
-
|
|
471
|
+
$2GFvs$useEffect(() => {
|
|
472
472
|
$5376eb2a386cd90d$var$provider_instances++;
|
|
473
473
|
if ($5376eb2a386cd90d$var$provider_instances > 1) throw new Error("You are using multiple DepictProviders. This is not supported and will lead to unexpected behavior. You can create multiple SearchPage and CategoryPage components, but only one DepictProvider.");
|
|
474
474
|
return () => {
|
|
@@ -476,8 +476,8 @@ function $5376eb2a386cd90d$var$multiple_depictprovider_guard() {
|
|
|
476
476
|
};
|
|
477
477
|
}, []);
|
|
478
478
|
}
|
|
479
|
-
const $421f32789b6f111f$export$80e99ee6b29cadd2 = /*#__PURE__
|
|
480
|
-
return /*#__PURE__
|
|
479
|
+
const $421f32789b6f111f$export$80e99ee6b29cadd2 = /*#__PURE__*/$2GFvs$forwardRef((_, ref) => {
|
|
480
|
+
return /*#__PURE__*/$2GFvs$createElement("div", {
|
|
481
481
|
className: "depict aligner",
|
|
482
482
|
style: {
|
|
483
483
|
height: "100%"
|
|
@@ -490,11 +490,11 @@ function $99489374cd4f601d$export$f4d89133c6985668(type, stateKey, componentName
|
|
|
490
490
|
if (!instances.get(undefined)) throw Error(`${componentName}: State not set up. Did you forget to wrap your app in DepictProvider? Also make sure you've provided a merchant and a market.`);
|
|
491
491
|
let instance = instances.get(stateKey);
|
|
492
492
|
if (!instance) {
|
|
493
|
-
instance = type === "search" ?
|
|
493
|
+
instance = type === "search" ? $80202ccbe2ade418$export$bae2769a30719c48(true, stateKey) : $9145bcf81a0216ce$export$248b95d5073d5bab(true, stateKey);
|
|
494
494
|
instances.set(stateKey, instance);
|
|
495
495
|
}
|
|
496
496
|
instance.users++;
|
|
497
|
-
|
|
497
|
+
$2GFvs$onCleanup(() => {
|
|
498
498
|
instance.users--;
|
|
499
499
|
if (!instance.users && instance?.dispose) {
|
|
500
500
|
// main instance is not disposable, and shouldn't be deletable either
|
|
@@ -506,23 +506,23 @@ function $99489374cd4f601d$export$f4d89133c6985668(type, stateKey, componentName
|
|
|
506
506
|
}
|
|
507
507
|
const $4a678f0c87b12e78$var$rendered_components_with_state_key = new Set();
|
|
508
508
|
function $4a678f0c87b12e78$export$a54ec244c8863715(props) {
|
|
509
|
-
return
|
|
510
|
-
solid_component:
|
|
509
|
+
return $c83ba9ab79386687$export$f6e64e17bd69eeef({
|
|
510
|
+
solid_component: $c83ba9ab79386687$export$e5139bbbb9a05035($4a678f0c87b12e78$var$SolidSearchPage),
|
|
511
511
|
props: props
|
|
512
512
|
});
|
|
513
513
|
}
|
|
514
514
|
function $4a678f0c87b12e78$var$SolidSearchPage(props, set_portals) {
|
|
515
|
-
const depict_search =
|
|
516
|
-
const instance =
|
|
517
|
-
|
|
515
|
+
const depict_search = $2GFvs$createMemo(() => {
|
|
516
|
+
const instance = $99489374cd4f601d$export$f4d89133c6985668("search", props.stateKey, "SearchPage");
|
|
517
|
+
$2GFvs$onCleanup(() => {
|
|
518
518
|
// Make sure we don't block the search query updating signal when we switch to a new provider instance
|
|
519
|
-
|
|
519
|
+
$2GFvs$get_search_query_updating_blocked_signal(instance)?.[1](false);
|
|
520
520
|
});
|
|
521
521
|
return instance;
|
|
522
522
|
});
|
|
523
523
|
const update_updating_blocked_signal = () => {
|
|
524
524
|
// if search instances changes, also re-check for good measure (otherwise would have untrack around depict_search)
|
|
525
|
-
const signal =
|
|
525
|
+
const signal = $2GFvs$get_search_query_updating_blocked_signal(depict_search());
|
|
526
526
|
if (!signal) throw Error("No search_query_updating_blocked_signal when rendering SearchPage");
|
|
527
527
|
const [, write_signal] = signal;
|
|
528
528
|
// This causes a bug. To reproduce:
|
|
@@ -534,26 +534,26 @@ function $4a678f0c87b12e78$var$SolidSearchPage(props, set_portals) {
|
|
|
534
534
|
// This is because on the front page the search_query updating is blocked because it's not the search page, and that means that `filtered_previous_searches` in Autocomplete.tsx doesn't filter out the current search query
|
|
535
535
|
// Because it's so minor and would be quite hard to fix (one would need a second "actual search query" signal just for this purpose) it's wontfix for now
|
|
536
536
|
// EDIT: now that we're resetting this in the onCleanup of the memo above this might no longer be the case
|
|
537
|
-
write_signal(
|
|
537
|
+
write_signal(!$c83ba9ab79386687$export$775e6b3892b5ad52(location));
|
|
538
538
|
};
|
|
539
539
|
const [, set_search_page_in_dom] = (0, $42858f023ef23dab$export$8e769ad4338a911e).search_page_in_dom;
|
|
540
540
|
const component_portals = new Set();
|
|
541
541
|
// We should only get here once react already has a DOM node which means we should be in the DOM
|
|
542
542
|
set_search_page_in_dom(true);
|
|
543
|
-
|
|
543
|
+
$2GFvs$onCleanup(() => set_search_page_in_dom(false));
|
|
544
544
|
// react is really slow with disposing components, we want to avoid a flash of another search query when you click on a product and navigate away
|
|
545
|
-
|
|
546
|
-
|
|
545
|
+
$c83ba9ab79386687$export$74f3924c5027fe1d(update_updating_blocked_signal); // if we navigate, re-check
|
|
546
|
+
$2GFvs$createComputed(() => {
|
|
547
547
|
(0, $42858f023ef23dab$export$8e769ad4338a911e).search_page_path_[0](); // if react defined path changes, re-check
|
|
548
548
|
update_updating_blocked_signal();
|
|
549
549
|
});
|
|
550
550
|
$4a678f0c87b12e78$var$search_page_path_checker();
|
|
551
|
-
return
|
|
552
|
-
const stateKey =
|
|
551
|
+
return $2GFvs$createMemo(() => {
|
|
552
|
+
const stateKey = $2GFvs$untrack(() => props.stateKey);
|
|
553
553
|
if ($4a678f0c87b12e78$var$rendered_components_with_state_key.has(stateKey)) throw new Error(`You have multiple SearchPage components with the same stateKey: ${stateKey}. Each SearchPage component must have a unique stateKey.`);
|
|
554
554
|
$4a678f0c87b12e78$var$rendered_components_with_state_key.add(stateKey);
|
|
555
|
-
|
|
556
|
-
return
|
|
555
|
+
$2GFvs$onCleanup(() => $4a678f0c87b12e78$var$rendered_components_with_state_key.delete(stateKey));
|
|
556
|
+
return $2GFvs$SearchPage({
|
|
557
557
|
// Default config goes here
|
|
558
558
|
get include_input_field() {
|
|
559
559
|
return props.includeInputField;
|
|
@@ -565,9 +565,9 @@ function $4a678f0c87b12e78$var$SolidSearchPage(props, set_portals) {
|
|
|
565
565
|
return props.gridSpacing ?? (0, $2GFvs$defaultGridSpacing);
|
|
566
566
|
},
|
|
567
567
|
depict_search: depict_search(),
|
|
568
|
-
product_card_template: display =>
|
|
568
|
+
product_card_template: display => $c83ba9ab79386687$export$79c79419c1ef0081({
|
|
569
569
|
display: display,
|
|
570
|
-
react_template:
|
|
570
|
+
react_template: $2GFvs$untrack(() => props.productCard),
|
|
571
571
|
component_portals: component_portals,
|
|
572
572
|
set_portals: set_portals
|
|
573
573
|
})
|
|
@@ -579,7 +579,7 @@ function $4a678f0c87b12e78$var$SolidSearchPage(props, set_portals) {
|
|
|
579
579
|
*/
|
|
580
580
|
function $4a678f0c87b12e78$var$search_page_path_checker() {
|
|
581
581
|
let has_warned = false;
|
|
582
|
-
|
|
582
|
+
$2GFvs$createEffect(() => {
|
|
583
583
|
if (has_warned) return;
|
|
584
584
|
const should_be_path = (0, $42858f023ef23dab$export$8e769ad4338a911e).search_page_path_[0]();
|
|
585
585
|
const {
|
|
@@ -588,32 +588,32 @@ function $4a678f0c87b12e78$var$search_page_path_checker() {
|
|
|
588
588
|
if (
|
|
589
589
|
// allow some variability just to be sure
|
|
590
590
|
should_be_path !== pathname && should_be_path + "/" !== pathname && should_be_path !== pathname + "/") {
|
|
591
|
-
|
|
591
|
+
$2GFvs$derror("searchPagePath is set to", should_be_path, "but the SearchPage is rendered at", pathname, ". Please double-check your searchPagePath is where the SearchPage component ends up being rendered, after all redirects, unless you're sure this is intentional.");
|
|
592
592
|
has_warned = true;
|
|
593
593
|
}
|
|
594
594
|
});
|
|
595
595
|
}
|
|
596
596
|
const $48d7f568740a317d$var$rendered_components_with_state_key = new Set();
|
|
597
597
|
function $48d7f568740a317d$export$f7d2f673fc2f091d(props) {
|
|
598
|
-
return
|
|
598
|
+
return $c83ba9ab79386687$export$f6e64e17bd69eeef({
|
|
599
599
|
// @ts-ignore
|
|
600
|
-
solid_component:
|
|
600
|
+
solid_component: $c83ba9ab79386687$export$e5139bbbb9a05035($48d7f568740a317d$var$SolidCategoryPage),
|
|
601
601
|
props: props,
|
|
602
602
|
wrapper_type: "div",
|
|
603
603
|
wrapper_style: {}
|
|
604
604
|
});
|
|
605
605
|
}
|
|
606
606
|
function $48d7f568740a317d$var$SolidCategoryPage(props, set_portals) {
|
|
607
|
-
const depict_category =
|
|
607
|
+
const depict_category = $2GFvs$createMemo(() => $99489374cd4f601d$export$f4d89133c6985668("category", props.stateKey, "CategoryPage") // stateKey can change
|
|
608
608
|
);
|
|
609
609
|
|
|
610
|
-
const [category_state_set, set_category_state_set] =
|
|
610
|
+
const [category_state_set, set_category_state_set] = $2GFvs$createSignal(false);
|
|
611
611
|
const component_portals = new Set();
|
|
612
612
|
const [, set_category_page_in_dom] = (0, $42858f023ef23dab$export$8e769ad4338a911e).category_page_in_dom;
|
|
613
613
|
// We should only get here once react already has a DOM node which means we should be in the DOM
|
|
614
614
|
set_category_page_in_dom(true);
|
|
615
|
-
|
|
616
|
-
|
|
615
|
+
$2GFvs$onCleanup(() => set_category_page_in_dom(false));
|
|
616
|
+
$2GFvs$createComputed(() => {
|
|
617
617
|
const {
|
|
618
618
|
categoryId: categoryId
|
|
619
619
|
} = props;
|
|
@@ -623,13 +623,13 @@ function $48d7f568740a317d$var$SolidCategoryPage(props, set_portals) {
|
|
|
623
623
|
(0, $42858f023ef23dab$export$8e769ad4338a911e).known_category_paths.add(location.pathname);
|
|
624
624
|
}
|
|
625
625
|
});
|
|
626
|
-
|
|
627
|
-
const category = () =>
|
|
628
|
-
const stateKey =
|
|
626
|
+
$2GFvs$createComputed(() => depict_category().listing_type = props.listingType);
|
|
627
|
+
const category = () => $2GFvs$createMemo(() => {
|
|
628
|
+
const stateKey = $2GFvs$untrack(() => props.stateKey);
|
|
629
629
|
if ($48d7f568740a317d$var$rendered_components_with_state_key.has(stateKey)) throw new Error(`You have multiple CategoryPage components with the same stateKey: ${stateKey}. Each CategoryPage component must have a unique stateKey.`);
|
|
630
630
|
$48d7f568740a317d$var$rendered_components_with_state_key.add(stateKey);
|
|
631
|
-
|
|
632
|
-
return
|
|
631
|
+
$2GFvs$onCleanup(() => $48d7f568740a317d$var$rendered_components_with_state_key.delete(stateKey));
|
|
632
|
+
return $2GFvs$CategoryPage({
|
|
633
633
|
depict_category: depict_category(),
|
|
634
634
|
get cols_at_size() {
|
|
635
635
|
return props.columnsAtSize ?? (0, $2GFvs$defaultColsAtSize);
|
|
@@ -637,49 +637,49 @@ function $48d7f568740a317d$var$SolidCategoryPage(props, set_portals) {
|
|
|
637
637
|
get grid_spacing() {
|
|
638
638
|
return props.gridSpacing ?? (0, $2GFvs$defaultGridSpacing);
|
|
639
639
|
},
|
|
640
|
-
category_title:
|
|
640
|
+
category_title: $2GFvs$untrack(() => props.categoryTitlePlugin) || (0, $2GFvs$defaultCategoryTitlePlugin),
|
|
641
641
|
get show_breadcrumbs() {
|
|
642
642
|
return props.showBreadcrumbs;
|
|
643
643
|
},
|
|
644
644
|
get show_quicklinks() {
|
|
645
645
|
return props.showQuicklinks;
|
|
646
646
|
},
|
|
647
|
-
product_card_template: display =>
|
|
647
|
+
product_card_template: display => $c83ba9ab79386687$export$79c79419c1ef0081({
|
|
648
648
|
display: display,
|
|
649
|
-
react_template:
|
|
649
|
+
react_template: $2GFvs$untrack(() => props.productCard),
|
|
650
650
|
component_portals: component_portals,
|
|
651
651
|
set_portals: set_portals
|
|
652
652
|
})
|
|
653
653
|
});
|
|
654
654
|
});
|
|
655
|
-
return
|
|
655
|
+
return $c83ba9ab79386687$export$e5139bbbb9a05035(category, category_state_set);
|
|
656
656
|
}
|
|
657
657
|
function $f866f7ed9f751af4$export$5646050d516e06bc(react_props) {
|
|
658
|
-
return
|
|
659
|
-
solid_component:
|
|
658
|
+
return $c83ba9ab79386687$export$f6e64e17bd69eeef({
|
|
659
|
+
solid_component: $c83ba9ab79386687$export$e5139bbbb9a05035($f866f7ed9f751af4$var$vanilla_breadcrumbs),
|
|
660
660
|
props: react_props
|
|
661
661
|
});
|
|
662
662
|
}
|
|
663
663
|
function $f866f7ed9f751af4$var$vanilla_breadcrumbs(props) {
|
|
664
664
|
// memo so stateKey can be dynamically changed
|
|
665
|
-
return
|
|
666
|
-
const depict_category =
|
|
667
|
-
return
|
|
665
|
+
return $2GFvs$createMemo(() => {
|
|
666
|
+
const depict_category = $99489374cd4f601d$export$f4d89133c6985668("category", props.stateKey, "BreadCrumbs");
|
|
667
|
+
return $2GFvs$BreadCrumbs({
|
|
668
668
|
depict_category: depict_category
|
|
669
669
|
});
|
|
670
670
|
});
|
|
671
671
|
}
|
|
672
672
|
function $b68a14248b7ef667$export$466cdc317043f6cb(react_props = {}) {
|
|
673
|
-
return
|
|
674
|
-
solid_component:
|
|
673
|
+
return $c83ba9ab79386687$export$f6e64e17bd69eeef({
|
|
674
|
+
solid_component: $c83ba9ab79386687$export$e5139bbbb9a05035($b68a14248b7ef667$var$vanilla_quick_links),
|
|
675
675
|
props: react_props
|
|
676
676
|
});
|
|
677
677
|
}
|
|
678
678
|
function $b68a14248b7ef667$var$vanilla_quick_links(props) {
|
|
679
679
|
// memo so stateKey can be dynamically changed
|
|
680
|
-
return
|
|
681
|
-
const depict_category =
|
|
682
|
-
return
|
|
680
|
+
return $2GFvs$createMemo(() => {
|
|
681
|
+
const depict_category = $99489374cd4f601d$export$f4d89133c6985668("category", props.stateKey, "QuickLinks");
|
|
682
|
+
return $2GFvs$QuickLinks({
|
|
683
683
|
depict_category: depict_category
|
|
684
684
|
});
|
|
685
685
|
});
|
|
@@ -689,8 +689,8 @@ const $f446a84f85ba06f6$export$3f37af283f8fb843 = raw_react_props => {
|
|
|
689
689
|
class: raw_react_props.className,
|
|
690
690
|
...raw_react_props
|
|
691
691
|
};
|
|
692
|
-
return
|
|
693
|
-
solid_component: props_store =>
|
|
692
|
+
return $c83ba9ab79386687$export$f6e64e17bd69eeef({
|
|
693
|
+
solid_component: props_store => $2GFvs$ImagePlaceholder(props_store),
|
|
694
694
|
props: react_props,
|
|
695
695
|
wrapper_type: "span",
|
|
696
696
|
hydrate_function_when_ssr: (0, $2GFvs$hydrate)
|
|
@@ -701,8 +701,8 @@ const $cbd250061abf11cb$export$89c6019e4baa40b1 = raw_react_props => {
|
|
|
701
701
|
class: raw_react_props.className,
|
|
702
702
|
...raw_react_props
|
|
703
703
|
};
|
|
704
|
-
return
|
|
705
|
-
solid_component: props_store =>
|
|
704
|
+
return $c83ba9ab79386687$export$f6e64e17bd69eeef({
|
|
705
|
+
solid_component: props_store => $2GFvs$TextPlaceholder(props_store),
|
|
706
706
|
props: react_props,
|
|
707
707
|
wrapper_type: "span",
|
|
708
708
|
hydrate_function_when_ssr: (0, $2GFvs$hydrate),
|
|
@@ -717,22 +717,22 @@ const $41cab674edff4277$export$d69d8daa20eae175 = createOpenModalParams => {
|
|
|
717
717
|
alignerRef: alignerRef,
|
|
718
718
|
stateKey: stateKey
|
|
719
719
|
} = createOpenModalParams;
|
|
720
|
-
let [deduped_variable, set_deduped_variable] =
|
|
720
|
+
let [deduped_variable, set_deduped_variable] = $2GFvs$useState();
|
|
721
721
|
// When component using this hook unmounts, "untrack" our component and dispose the search instance if needed
|
|
722
|
-
|
|
722
|
+
$2GFvs$useEffect(() => deduped_variable?.[1]?.(), []);
|
|
723
723
|
const openModal = () => {
|
|
724
724
|
// Get the search instance and track this component, but only once (basically work around re-rendering)
|
|
725
725
|
// We have to do this in the openModal function since people might call this hook before creating DepictProvider
|
|
726
726
|
if (!deduped_variable) {
|
|
727
|
-
deduped_variable =
|
|
727
|
+
deduped_variable = $2GFvs$createRoot(dispose => [$99489374cd4f601d$export$f4d89133c6985668("search", stateKey, "useSearchModal"), dispose]);
|
|
728
728
|
set_deduped_variable(deduped_variable);
|
|
729
729
|
}
|
|
730
730
|
const [search] = deduped_variable;
|
|
731
|
-
if (location === "aligned" && alignerRef?.current)
|
|
731
|
+
if (location === "aligned" && alignerRef?.current) $2GFvs$open_modal_with_alignment({
|
|
732
732
|
"element": alignerRef.current,
|
|
733
733
|
"location": location,
|
|
734
734
|
"search": search
|
|
735
|
-
});else
|
|
735
|
+
});else $2GFvs$open_modal_with_alignment({
|
|
736
736
|
"location": "centered",
|
|
737
737
|
"search": search
|
|
738
738
|
});
|
|
@@ -740,7 +740,7 @@ const $41cab674edff4277$export$d69d8daa20eae175 = createOpenModalParams => {
|
|
|
740
740
|
return openModal;
|
|
741
741
|
};
|
|
742
742
|
function $70344e5e0d0fea06$export$912994940e660d32(params = {}) {
|
|
743
|
-
const open =
|
|
743
|
+
const open = $41cab674edff4277$export$d69d8daa20eae175({
|
|
744
744
|
globalState: $42858f023ef23dab$export$8e769ad4338a911e,
|
|
745
745
|
...params
|
|
746
746
|
});
|
|
@@ -751,15 +751,15 @@ function $70344e5e0d0fea06$export$912994940e660d32(params = {}) {
|
|
|
751
751
|
const $2b886cf548a4775c$export$9bb30bbe003b82e0 = (props = {}) => {
|
|
752
752
|
// We should just export a plain SearchField component here, not a weird hook thing, but I don't want to make a breaking change. Just fixing the re-rendering issue for now.
|
|
753
753
|
// Create signal that persists across renders
|
|
754
|
-
const [[get_aligner_signal_value, set_aligner_signal_value]] =
|
|
754
|
+
const [[get_aligner_signal_value, set_aligner_signal_value]] = $2GFvs$useState($2GFvs$createSignal());
|
|
755
755
|
// Update signal value when alignerRef changes
|
|
756
756
|
set_aligner_signal_value(props?.alignerRef);
|
|
757
757
|
// Make sure react never re-renders the actual SearchField component
|
|
758
|
-
const componentFunction =
|
|
759
|
-
solid_component:
|
|
760
|
-
return
|
|
761
|
-
const depict_search =
|
|
762
|
-
return
|
|
758
|
+
const componentFunction = $2GFvs$useCallback(() => $c83ba9ab79386687$export$f6e64e17bd69eeef({
|
|
759
|
+
solid_component: $c83ba9ab79386687$export$e5139bbbb9a05035(() => {
|
|
760
|
+
return $2GFvs$createMemo(() => {
|
|
761
|
+
const depict_search = $99489374cd4f601d$export$f4d89133c6985668("search", props.stateKey, "useSearchField");
|
|
762
|
+
return $2GFvs$SearchField({
|
|
763
763
|
depict_search: depict_search,
|
|
764
764
|
get aligner_ref() {
|
|
765
765
|
// React mutates the object at some random time so only get the current value once it actually is requested
|
|
@@ -786,14 +786,14 @@ function $1bb4271dc44722e2$var$fetchRecommendations(opts) {
|
|
|
786
786
|
userId: [get_userId],
|
|
787
787
|
sessionId: [get_sessionId]
|
|
788
788
|
} = (0, $42858f023ef23dab$export$8e769ad4338a911e);
|
|
789
|
-
const merchant =
|
|
790
|
-
const market =
|
|
789
|
+
const merchant = $2GFvs$untrack(get_merchant);
|
|
790
|
+
const market = $2GFvs$untrack(get_market);
|
|
791
791
|
if (!merchant || !market) throw new Error("Depict recommendations are not configured. Wrap your app in a DepictProvider.");
|
|
792
|
-
return
|
|
792
|
+
return $2GFvs$fetchDepictRecommendations({
|
|
793
793
|
merchant: merchant,
|
|
794
794
|
market: market,
|
|
795
|
-
userId:
|
|
796
|
-
sessionId:
|
|
795
|
+
userId: $2GFvs$untrack(get_userId),
|
|
796
|
+
sessionId: $2GFvs$untrack(get_sessionId),
|
|
797
797
|
...opts
|
|
798
798
|
});
|
|
799
799
|
}
|
|
@@ -807,9 +807,9 @@ const $a92aa2beb560b8af$export$804fac5697cfbe35 = router => (relativeUrl, {
|
|
|
807
807
|
Page[Page["SEARCH"] = 1] = "SEARCH";
|
|
808
808
|
Page[Page["CATEGORY"] = 2] = "CATEGORY";
|
|
809
809
|
})(Page || (Page = {}));
|
|
810
|
-
const current_page =
|
|
810
|
+
const current_page = $c83ba9ab79386687$export$775e6b3892b5ad52() ? Page.SEARCH : $c83ba9ab79386687$export$30c8a12df09be0e4() ? Page.CATEGORY : Page.OTHER;
|
|
811
811
|
const target_u_o = new URL(relativeUrl, location.origin);
|
|
812
|
-
const target_page =
|
|
812
|
+
const target_page = $c83ba9ab79386687$export$775e6b3892b5ad52(target_u_o) ? Page.SEARCH : $c83ba9ab79386687$export$30c8a12df09be0e4(target_u_o) ? Page.CATEGORY : Page.OTHER;
|
|
813
813
|
router[replace ? "replace" : "push"](relativeUrl, undefined, {
|
|
814
814
|
shallow: current_page === target_page && target_page !== Page.OTHER,
|
|
815
815
|
scroll:
|
|
@@ -820,5 +820,5 @@ const $a92aa2beb560b8af$export$804fac5697cfbe35 = router => (relativeUrl, {
|
|
|
820
820
|
const $97603d19204ec48d$export$b8a61e5c71402559 = {
|
|
821
821
|
nextRouterNavigation: $a92aa2beb560b8af$export$804fac5697cfbe35
|
|
822
822
|
};
|
|
823
|
-
|
|
823
|
+
$2GFvs$add_to_version_info("react-ui", (0, $c9c4d066f9a5b51b$export$83d89fbfd8236492));
|
|
824
824
|
export { $b68a14248b7ef667$export$466cdc317043f6cb as QuickLinks, $f866f7ed9f751af4$export$5646050d516e06bc as BreadCrumbs, $421f32789b6f111f$export$80e99ee6b29cadd2 as ComponentAligner, $5376eb2a386cd90d$export$9fac37a9c21c2f3b as DepictProvider, $48d7f568740a317d$export$f7d2f673fc2f091d as CategoryPage, $4a678f0c87b12e78$export$a54ec244c8863715 as SearchPage, $f446a84f85ba06f6$export$3f37af283f8fb843 as ImagePlaceholder, $cbd250061abf11cb$export$89c6019e4baa40b1 as TextPlaceholder, $70344e5e0d0fea06$export$912994940e660d32 as useSearchModal, $2b886cf548a4775c$export$9bb30bbe003b82e0 as useSearchField, $1bb4271dc44722e2$export$6501da23a2770fc as useFetchRecommendations, $a00d8f27abd5d0b0$export$38b98fae14bd1f64 as usePerformanceClient, $43099132aad1ceb6$re_export$CategoryTitle as CategoryTitle, $43099132aad1ceb6$re_export$EmbeddedNumProducts as EmbeddedNumProducts, $c9c4d066f9a5b51b$export$83d89fbfd8236492 as version, $97603d19204ec48d$export$b8a61e5c71402559 as Navigation };
|