@depict-ai/ui 4.7.23 → 4.7.25

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.
@@ -1,13 +1,74 @@
1
- import { add_to_version_info as $i7OB2$add_to_version_info, slider_fading_factory as $i7OB2$slider_fading_factory, Amazing_Slider as $i7OB2$Amazing_Slider, slider_snap_css as $i7OB2$slider_snap_css, catchify as $i7OB2$catchify, dlog as $i7OB2$dlog, camelCasifyObject as $i7OB2$camelCasifyObject, useExpandingContainer as $i7OB2$useExpandingContainer, fetch_retry as $i7OB2$fetch_retry, base_url as $i7OB2$base_url, dwarn as $i7OB2$dwarn, slider_fractional_factory as $i7OB2$slider_fractional_factory, make_random_classname as $i7OB2$make_random_classname, n_col_styling_with_dist as $i7OB2$n_col_styling_with_dist, layout_get_visible_recs_without_partial_rows as $i7OB2$layout_get_visible_recs_without_partial_rows, layout_get_total_rec_amount_for_row as $i7OB2$layout_get_total_rec_amount_for_row, layout_media_query_header as $i7OB2$layout_media_query_header, report as $i7OB2$report, observer as $i7OB2$observer, javascript_media_query as $i7OB2$javascript_media_query, queueMacroTask as $i7OB2$queueMacroTask, findMostFrequentItem as $i7OB2$findMostFrequentItem, standard_price_format as $i7OB2$standard_price_format, instant_exec_on_suspect_history_change as $i7OB2$instant_exec_on_suspect_history_change, deparallelize_no_drop as $i7OB2$deparallelize_no_drop, ContainedImage as $i7OB2$ContainedImage, make_asyncIterable_exiter as $i7OB2$make_asyncIterable_exiter, href_change_ipns as $i7OB2$href_change_ipns, base64_encode_unicode as $i7OB2$base64_encode_unicode, base64_decode_unicode as $i7OB2$base64_decode_unicode, use_href_accessor as $i7OB2$use_href_accessor, get_session_id as $i7OB2$get_session_id, add_version_query_params as $i7OB2$add_version_query_params, hex_to_rgb as $i7OB2$hex_to_rgb, relative_luminance_from_rgb as $i7OB2$relative_luminance_from_rgb, snakeCasifyObject as $i7OB2$snakeCasifyObject, sort_obj as $i7OB2$sort_obj, make_url_with_query_params as $i7OB2$make_url_with_query_params, insert_surfaces as $i7OB2$insert_surfaces } from "@depict-ai/utilishared/latest";
2
- import { createSignal as $i7OB2$createSignal, onCleanup as $i7OB2$onCleanup, createContext as $i7OB2$createContext, createEffect as $i7OB2$createEffect, Show as $i7OB2$Show, useContext as $i7OB2$useContext, createMemo as $i7OB2$createMemo, untrack as $i7OB2$untrack, For as $i7OB2$For, getOwner as $i7OB2$getOwner, createResource as $i7OB2$createResource, runWithOwner as $i7OB2$runWithOwner, mergeProps as $i7OB2$mergeProps1, Suspense as $i7OB2$Suspense, createRenderEffect as $i7OB2$createRenderEffect, Index as $i7OB2$Index, createRoot as $i7OB2$createRoot, createUniqueId as $i7OB2$createUniqueId, createComputed as $i7OB2$createComputed, ErrorBoundary as $i7OB2$ErrorBoundary, splitProps as $i7OB2$splitProps, on as $i7OB2$on, batch as $i7OB2$batch, createSelector as $i7OB2$createSelector, children as $i7OB2$children, createReaction as $i7OB2$createReaction, mapArray as $i7OB2$mapArray } from "solid-js";
1
+ import { add_to_version_info as $i7OB2$add_to_version_info, slider_fading_factory as $i7OB2$slider_fading_factory, Amazing_Slider as $i7OB2$Amazing_Slider, slider_snap_css as $i7OB2$slider_snap_css, catchify as $i7OB2$catchify1, dlog as $i7OB2$dlog1, camelCasifyObject as $i7OB2$camelCasifyObject, useExpandingContainer as $i7OB2$useExpandingContainer, fetch_retry as $i7OB2$fetch_retry, base_url as $i7OB2$base_url, dwarn as $i7OB2$dwarn, slider_fractional_factory as $i7OB2$slider_fractional_factory, make_random_classname as $i7OB2$make_random_classname, n_col_styling_with_dist as $i7OB2$n_col_styling_with_dist, layout_get_visible_recs_without_partial_rows as $i7OB2$layout_get_visible_recs_without_partial_rows, layout_get_total_rec_amount_for_row as $i7OB2$layout_get_total_rec_amount_for_row, layout_media_query_header as $i7OB2$layout_media_query_header, report as $i7OB2$report, observer as $i7OB2$observer, javascript_media_query as $i7OB2$javascript_media_query, queueMacroTask as $i7OB2$queueMacroTask, findMostFrequentItem as $i7OB2$findMostFrequentItem, standard_price_format as $i7OB2$standard_price_format, instant_exec_on_suspect_history_change as $i7OB2$instant_exec_on_suspect_history_change, deparallelize_no_drop as $i7OB2$deparallelize_no_drop, ContainedImage as $i7OB2$ContainedImage, make_asyncIterable_exiter as $i7OB2$make_asyncIterable_exiter, href_change_ipns as $i7OB2$href_change_ipns, base64_encode_unicode as $i7OB2$base64_encode_unicode, base64_decode_unicode as $i7OB2$base64_decode_unicode, use_href_accessor as $i7OB2$use_href_accessor, get_session_id as $i7OB2$get_session_id, add_version_query_params as $i7OB2$add_version_query_params, hex_to_rgb as $i7OB2$hex_to_rgb, relative_luminance_from_rgb as $i7OB2$relative_luminance_from_rgb, snakeCasifyObject as $i7OB2$snakeCasifyObject, sort_obj as $i7OB2$sort_obj, make_url_with_query_params as $i7OB2$make_url_with_query_params, insert_surfaces as $i7OB2$insert_surfaces } from "@depict-ai/utilishared/latest";
2
+ import { dlog as $i7OB2$dlog, catchify as $i7OB2$catchify, ListenableSet as $i7OB2$ListenableSet, use_href_accessor as $i7OB2$use_href_accessor1, queueMacroTask as $i7OB2$queueMacroTask1, report as $i7OB2$report1 } from "@depict-ai/utilishared/latest";
3
+ import { createRoot as $i7OB2$createRoot, createSignal as $i7OB2$createSignal, createEffect as $i7OB2$createEffect, onCleanup as $i7OB2$onCleanup, createContext as $i7OB2$createContext, Show as $i7OB2$Show, useContext as $i7OB2$useContext, createMemo as $i7OB2$createMemo, untrack as $i7OB2$untrack, For as $i7OB2$For, getOwner as $i7OB2$getOwner, createResource as $i7OB2$createResource, runWithOwner as $i7OB2$runWithOwner, mergeProps as $i7OB2$mergeProps1, Suspense as $i7OB2$Suspense, createRenderEffect as $i7OB2$createRenderEffect, Index as $i7OB2$Index, createUniqueId as $i7OB2$createUniqueId, createComputed as $i7OB2$createComputed, ErrorBoundary as $i7OB2$ErrorBoundary, splitProps as $i7OB2$splitProps, on as $i7OB2$on, batch as $i7OB2$batch, createSelector as $i7OB2$createSelector, children as $i7OB2$children, createReaction as $i7OB2$createReaction, mapArray as $i7OB2$mapArray } from "solid-js";
3
4
  import { ssr as $i7OB2$ssr, ssrHydrationKey as $i7OB2$ssrHydrationKey, escape as $i7OB2$escape, createComponent as $i7OB2$createComponent, isServer as $i7OB2$isServer, insert as $i7OB2$insert, ssrAttribute as $i7OB2$ssrAttribute, ssrStyle as $i7OB2$ssrStyle, mergeProps as $i7OB2$mergeProps, ssrElement as $i7OB2$ssrElement, ssrClassList as $i7OB2$ssrClassList, spread as $i7OB2$spread, Dynamic as $i7OB2$Dynamic } from "solid-js/web";
4
- import { ListenableSet as $i7OB2$ListenableSet, catchify as $i7OB2$catchify1, use_href_accessor as $i7OB2$use_href_accessor1, queueMacroTask as $i7OB2$queueMacroTask1, report as $i7OB2$report1 } from "@depict-ai/utilishared/latest";
5
5
  import { createStore as $i7OB2$createStore, reconcile as $i7OB2$reconcile } from "solid-js/store";
6
6
 
7
7
  /*! Depict.ai search and product listing SDK */
8
8
  import { register_es_version } from "../../multi_import_deduplicator.mjs";
9
9
  register_es_version("ui", "latest");
10
- const $ec291e0010116877$export$83d89fbfd8236492 = "4.7.23";
10
+ const $ec291e0010116877$export$83d89fbfd8236492 = "4.7.25";
11
+ let $4eb0a704f8f30273$var$elementsHoveredSignal;
12
+ let $4eb0a704f8f30273$var$consumersSignal;
13
+ function $4eb0a704f8f30273$export$d4d96868197be50e() {
14
+ if (!$4eb0a704f8f30273$var$elementsHoveredSignal || !$4eb0a704f8f30273$var$consumersSignal) $i7OB2$createRoot(dispose => {
15
+ $4eb0a704f8f30273$var$elementsHoveredSignal = $i7OB2$createSignal(new Set());
16
+ $4eb0a704f8f30273$var$consumersSignal = $i7OB2$createSignal(0);
17
+ const [consumers] = $4eb0a704f8f30273$var$consumersSignal;
18
+ // No matter how often useMobileHover is called, only add one listener and get hovered elements once per touchmove event, for efficiency
19
+ $4eb0a704f8f30273$var$doHeavyCalculations();
20
+ $i7OB2$createEffect(() => {
21
+ // No-one needs information anymore, stop listening
22
+ const users = consumers();
23
+ if (users < 1) {
24
+ $i7OB2$dlog("Stopping to listen for mobile hover");
25
+ dispose();
26
+ $4eb0a704f8f30273$var$elementsHoveredSignal = undefined;
27
+ $4eb0a704f8f30273$var$consumersSignal = undefined;
28
+ }
29
+ });
30
+ });
31
+ const [elementsHovered] = $4eb0a704f8f30273$var$elementsHoveredSignal;
32
+ const [, setConsumers] = $4eb0a704f8f30273$var$consumersSignal;
33
+ setConsumers(prev => prev + 1);
34
+ $i7OB2$onCleanup(() => setConsumers(prev => prev - 1));
35
+ return elementsHovered;
36
+ }
37
+ function $4eb0a704f8f30273$var$doHeavyCalculations() {
38
+ $i7OB2$dlog("Starting to listen for mobile hover");
39
+ const [, setElementsHovered] = $4eb0a704f8f30273$var$elementsHoveredSignal;
40
+ const elementAtTouch = new Map();
41
+ const updateSet = () => setElementsHovered(new Set([...elementAtTouch.values()].filter(v => v)));
42
+ const setPositionHandler = $i7OB2$catchify(evt => {
43
+ for (const touch of evt.changedTouches) elementAtTouch.set(touch.identifier, $4eb0a704f8f30273$var$getElementAtTouch(touch));
44
+ updateSet();
45
+ });
46
+ const deleteTouchHandler = $i7OB2$catchify(evt => {
47
+ for (const touch of evt.changedTouches) elementAtTouch.delete(touch.identifier);
48
+ updateSet();
49
+ });
50
+ addEventListener("touchstart", setPositionHandler, {
51
+ passive: true
52
+ });
53
+ addEventListener("touchmove", setPositionHandler, {
54
+ passive: true
55
+ });
56
+ addEventListener("touchend", deleteTouchHandler, {
57
+ passive: true
58
+ });
59
+ addEventListener("touchcancel", deleteTouchHandler, {
60
+ passive: true
61
+ });
62
+ $i7OB2$onCleanup(() => {
63
+ removeEventListener("touchstart", setPositionHandler);
64
+ removeEventListener("touchmove", setPositionHandler);
65
+ removeEventListener("touchend", deleteTouchHandler);
66
+ removeEventListener("touchcancel", deleteTouchHandler);
67
+ });
68
+ }
69
+ function $4eb0a704f8f30273$var$getElementAtTouch(touch) {
70
+ return document.elementFromPoint(touch.clientX, touch.clientY);
71
+ }
11
72
  function $5e3d278ef4c80cd7$export$54299a3c81f5425() {
12
73
  const d = document;
13
74
  const [isVisible, setIsVisible] = $i7OB2$createSignal(d.visibilityState !== "hidden");
@@ -251,7 +312,7 @@ function $29ec7cddbe1d3484$export$43f0fb951fcb0c54({
251
312
  } catch (e) {
252
313
  if (!$29ec7cddbe1d3484$var$printedCloneError) {
253
314
  $29ec7cddbe1d3484$var$printedCloneError = true;
254
- $i7OB2$dlog("Can't clone display", display, " (uncloneable objects in it), make sure you don't mutate it in the template since we cache.", e);
315
+ $i7OB2$dlog1("Can't clone display", display, " (uncloneable objects in it), make sure you don't mutate it in the template since we cache.", e);
255
316
  }
256
317
  }
257
318
  let renderingResult;
@@ -350,7 +411,7 @@ function $f091294da861020c$export$4a14175d33d81a96({
350
411
  };
351
412
  // The following sets up an intersection observer to determine which results are in the viewport, used for the ScrollStatus indicator, knowing when to load more and any other consumer of the useProductCardIsVisible hook.
352
413
  const shouldObserve = $i7OB2$createMemo(() => alwaysObserveCards_ || listenersForIntersecting() > 0);
353
- const intersection_observer = new IntersectionObserver($i7OB2$catchify(records => {
414
+ const intersection_observer = new IntersectionObserver($i7OB2$catchify1(records => {
354
415
  const intersectingValue = currentlyIntersecting();
355
416
  for (let i = 0; i < records.length; i++) {
356
417
  const record = records[i];
@@ -695,7 +756,7 @@ function $c8d5ff4524619fcd$export$445d8d3f5f706a40(props, container_element, ins
695
756
  }
696
757
  update_children_count();
697
758
  if (!(0, $i7OB2$isServer)) {
698
- const mutation_observer = new MutationObserver($i7OB2$catchify(update_children_count));
759
+ const mutation_observer = new MutationObserver($i7OB2$catchify1(update_children_count));
699
760
  mutation_observer.observe(container_element, {
700
761
  childList: true
701
762
  });
@@ -973,7 +1034,7 @@ function $4ea56971d92eb0cd$export$2972b890694ced75(callback, {
973
1034
  }
974
1035
  function $e8ffe11ed01df0fe$export$e6fffe67d4cdd848(whatToWatch) {
975
1036
  const [size, setSize] = $i7OB2$createSignal(0);
976
- const resizeObserver = new ResizeObserver($i7OB2$catchify(records => {
1037
+ const resizeObserver = new ResizeObserver($i7OB2$catchify1(records => {
977
1038
  for (let j = 0; j < records.length; j++) {
978
1039
  const {
979
1040
  width: width
@@ -986,7 +1047,7 @@ function $e8ffe11ed01df0fe$export$e6fffe67d4cdd848(whatToWatch) {
986
1047
  // It doesn't seem to work even when waiting for it to be in the DOM, also wait an animation frame
987
1048
  const disconnect = (0, $i7OB2$observer).onexists(whatToWatch, ({
988
1049
  element: element
989
- }) => requestAnimationFrame($i7OB2$catchify(() => resizeObserver.observe(element))));
1050
+ }) => requestAnimationFrame($i7OB2$catchify1(() => resizeObserver.observe(element))));
990
1051
  $i7OB2$onCleanup(() => {
991
1052
  resizeObserver.disconnect();
992
1053
  disconnect();
@@ -1043,7 +1104,7 @@ function $e8ffe11ed01df0fe$export$6e5611bc7e57e477(props) {
1043
1104
  if (existingStack) return existingStack.add(fn);
1044
1105
  const newStack = new Set([fn]);
1045
1106
  if (listingContext) listingContext[$e8ffe11ed01df0fe$var$onIdleFunctionsSymbol] = newStack;
1046
- const processStackWhenIdle = () => $4ea56971d92eb0cd$export$2972b890694ced75($i7OB2$catchify(deadline => {
1107
+ const processStackWhenIdle = () => $4ea56971d92eb0cd$export$2972b890694ced75($i7OB2$catchify1(deadline => {
1047
1108
  const start = performance.now();
1048
1109
  const thirdDeadlineTime = deadline.timeRemaining() / 3; // observers coming after this take up 2-3x the time so don't use all of it
1049
1110
  for (const fn of newStack) {
@@ -1075,7 +1136,7 @@ function $e8ffe11ed01df0fe$export$6e5611bc7e57e477(props) {
1075
1136
  let prevValue;
1076
1137
  const aspectRatios = listingContext[$e8ffe11ed01df0fe$export$f8945274f08a3105] ||= new Set();
1077
1138
  const [, setMostPrevalentAspectRatio] = listingContext[$e8ffe11ed01df0fe$export$6066eb417ed2e9f7] ||= $i7OB2$createSignal();
1078
- img.addEventListener("load", $i7OB2$catchify(() => {
1139
+ img.addEventListener("load", $i7OB2$catchify1(() => {
1079
1140
  if (props.keyRatioUpdating) {
1080
1141
  if (!srcJustChanged) return;
1081
1142
  srcJustChanged = false;
@@ -1106,7 +1167,7 @@ function $e8ffe11ed01df0fe$export$6e5611bc7e57e477(props) {
1106
1167
  $i7OB2$createEffect(() => {
1107
1168
  if (!props.size()) return; // wait until we have a size, run every time the size changes
1108
1169
  if (timeoutSet) return;
1109
- const handler = $i7OB2$catchify(() => {
1170
+ const handler = $i7OB2$catchify1(() => {
1110
1171
  if (gotCleanedUp) return;
1111
1172
  img.sizes = sizePX(); // use latest available value of props.size
1112
1173
  if (!sizeSetFastPath) {
@@ -1240,10 +1301,10 @@ function $8c0f86cb3e266eeb$export$a71e92cfbb498adc(props) {
1240
1301
  return $i7OB2$standard_price_format(props.price_, price_formatting.places_after_comma_, price_formatting.decimal_places_delimiter_, price_formatting.thousands_delimiter_);
1241
1302
  });
1242
1303
  }
1243
- var $5a6c386e1bde5665$var$_tmpl$ = ["<div", ' class="img-wrapper">', "</div>"],
1244
- $5a6c386e1bde5665$var$_tmpl$2 = ["<span", ' class="d-price original">', "</span>"],
1245
- $5a6c386e1bde5665$var$_tmpl$3 = ["<div", ' class="right-part"><div class="text-container">', '<span class="', '">', "</span><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div>"];
1246
- function $5a6c386e1bde5665$export$b73ed90f0ee50dc3({
1304
+ var $08a49ecdcd5beaca$var$_tmpl$ = ["<div", ' class="img-wrapper">', "</div>"],
1305
+ $08a49ecdcd5beaca$var$_tmpl$2 = ["<span", ' class="d-price original">', "</span>"],
1306
+ $08a49ecdcd5beaca$var$_tmpl$3 = ["<div", ' class="right-part"><div class="text-container">', '<span class="', '">', "</span><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div>"];
1307
+ function $08a49ecdcd5beaca$export$b73ed90f0ee50dc3({
1247
1308
  display_: display_,
1248
1309
  FavoriteButton_: FavoriteButton_,
1249
1310
  userWantsExpandedSignal_: [userWantsExpanded, setUserWantsExpanded],
@@ -1280,7 +1341,7 @@ function $5a6c386e1bde5665$export$b73ed90f0ee50dc3({
1280
1341
  });
1281
1342
  },
1282
1343
  get children() {
1283
- return $i7OB2$ssr($5a6c386e1bde5665$var$_tmpl$, $i7OB2$ssrHydrationKey(), $i7OB2$escape($i7OB2$createComponent((0, $i7OB2$Show), {
1344
+ return $i7OB2$ssr($08a49ecdcd5beaca$var$_tmpl$, $i7OB2$ssrHydrationKey(), $i7OB2$escape($i7OB2$createComponent((0, $i7OB2$Show), {
1284
1345
  get when() {
1285
1346
  return imageUrl();
1286
1347
  },
@@ -1312,7 +1373,7 @@ function $5a6c386e1bde5665$export$b73ed90f0ee50dc3({
1312
1373
  return (animationEffectExists() ? isExpandedThrottledByOurEffectRun() : userWantsExpanded()) || animationIsRunning();
1313
1374
  },
1314
1375
  get children() {
1315
- return $i7OB2$ssr($5a6c386e1bde5665$var$_tmpl$3, $i7OB2$ssrHydrationKey(), $i7OB2$ssrElement("span", $i7OB2$mergeProps({
1376
+ return $i7OB2$ssr($08a49ecdcd5beaca$var$_tmpl$3, $i7OB2$ssrHydrationKey(), $i7OB2$ssrElement("span", $i7OB2$mergeProps({
1316
1377
  "class": "d-title line-clamp"
1317
1378
  }, () => title() && {
1318
1379
  title: title()
@@ -1351,7 +1412,7 @@ function $5a6c386e1bde5665$export$b73ed90f0ee50dc3({
1351
1412
  return isOnSale();
1352
1413
  },
1353
1414
  get children() {
1354
- return $i7OB2$ssr($5a6c386e1bde5665$var$_tmpl$2, $i7OB2$ssrHydrationKey(), $i7OB2$escape($i7OB2$createComponent((0, $i7OB2$Show), {
1415
+ return $i7OB2$ssr($08a49ecdcd5beaca$var$_tmpl$2, $i7OB2$ssrHydrationKey(), $i7OB2$escape($i7OB2$createComponent((0, $i7OB2$Show), {
1355
1416
  get when() {
1356
1417
  return variantToUse() && !originalPrice.loading;
1357
1418
  },
@@ -1405,7 +1466,7 @@ async function $1f9a34ca8a87d49f$var$checkIfIsAffectedByChromeBug326498383() {
1405
1466
  const waitAFrame = () => new Promise(r => requestAnimationFrame(() => requestAnimationFrame(r)));
1406
1467
  const timeoutPromise = new Promise(r => {
1407
1468
  resolveTimeoutPromise = r;
1408
- setTimeout($i7OB2$catchify(() => {
1469
+ setTimeout($i7OB2$catchify1(() => {
1409
1470
  r();
1410
1471
  div.remove();
1411
1472
  }), 500);
@@ -1437,12 +1498,12 @@ async function $1f9a34ca8a87d49f$var$checkIfIsAffectedByChromeBug326498383() {
1437
1498
  });
1438
1499
  await timeoutPromise;
1439
1500
  } catch (e) {
1440
- $i7OB2$dlog("Failed to check if affected by chrome bug 326498383", e);
1501
+ $i7OB2$dlog1("Failed to check if affected by chrome bug 326498383", e);
1441
1502
  }
1442
1503
  return isAffected;
1443
1504
  }
1444
- var $7555dcad3b8a4632$var$_tmpl$ = ["<div", ' class="scroll-padding"><div class="', '" style="', '">', "</div></div>"];
1445
- function $7555dcad3b8a4632$export$ebf0b1d4f90c09ae({
1505
+ var $11fb4b33b36ecfac$var$_tmpl$ = ["<div", ' class="scroll-padding"><div class="', '" style="', '">', "</div></div>"];
1506
+ function $11fb4b33b36ecfac$export$ebf0b1d4f90c09ae({
1446
1507
  displays_: displays_,
1447
1508
  FavoriteButton_: FavoriteButton_,
1448
1509
  userWantsExpandedSignal_: userWantsExpandedSignal_,
@@ -1461,6 +1522,7 @@ function $7555dcad3b8a4632$export$ebf0b1d4f90c09ae({
1461
1522
  const textFadeInAnimationRunning = $i7OB2$createSignal(false);
1462
1523
  const [getSecondPartAnimationRunning] = textFadeInAnimationRunning;
1463
1524
  const [userWantsExpanded, setUserWantsExpanded] = userWantsExpandedSignal_;
1525
+ //const elementsHovered = useMobileHover();
1464
1526
  $1f9a34ca8a87d49f$export$7b9a0e99f0aeb2f3().then(is => isAffectedByChromeBug = is);
1465
1527
  return $i7OB2$createComponent((0, $011607bdf658f807$export$e68cff63f76bd15b), {
1466
1528
  get children() {
@@ -1469,7 +1531,7 @@ function $7555dcad3b8a4632$export$ebf0b1d4f90c09ae({
1469
1531
  return containerWidth_() || !displays_();
1470
1532
  },
1471
1533
  get children() {
1472
- return $i7OB2$ssr($7555dcad3b8a4632$var$_tmpl$, $i7OB2$ssrHydrationKey(), `look-overlay ${userWantsExpanded() ? "expanded" : ""} ${!getSecondPartAnimationRunning() && userWantsExpanded() ? "resting-fully-expanded" : ""}`, $i7OB2$ssrStyle(displays_() &&
1534
+ return $i7OB2$ssr($11fb4b33b36ecfac$var$_tmpl$, $i7OB2$ssrHydrationKey(), `look-overlay ${userWantsExpanded() ? "expanded" : ""} ${!getSecondPartAnimationRunning() && userWantsExpanded() ? "resting-fully-expanded" : ""}`, $i7OB2$ssrStyle(displays_() &&
1473
1535
  // The styling is written like this to eke out animation smoothness on low CPU devices, git blame for previous, more readable versions.
1474
1536
  `--look-card-width:${containerWidth_()}px;--look-card-height:${containerHeight_()}px;--look-item-height:${lookItemHeight() || 200}px`), $i7OB2$escape($i7OB2$createComponent((0, $i7OB2$Index), {
1475
1537
  get each() {
@@ -1478,7 +1540,7 @@ function $7555dcad3b8a4632$export$ebf0b1d4f90c09ae({
1478
1540
  });
1479
1541
  },
1480
1542
  children: (display, index) => {
1481
- return $i7OB2$createComponent((0, $5a6c386e1bde5665$export$b73ed90f0ee50dc3), {
1543
+ return $i7OB2$createComponent((0, $08a49ecdcd5beaca$export$b73ed90f0ee50dc3), {
1482
1544
  pseudoRouter_: pseudoRouter_,
1483
1545
  animationDuration_: animationDuration_,
1484
1546
  display_: display,
@@ -1488,7 +1550,7 @@ function $7555dcad3b8a4632$export$ebf0b1d4f90c09ae({
1488
1550
  priceFormatting_: priceFormatting_,
1489
1551
  outerRef_: el => $i7OB2$createEffect(() => {
1490
1552
  if (index !== 0) return;
1491
- const resizeObserver = new ResizeObserver($i7OB2$catchify(records => setLookItemHeight(records.at(-1).contentRect.height)));
1553
+ const resizeObserver = new ResizeObserver($i7OB2$catchify1(records => setLookItemHeight(records.at(-1).contentRect.height)));
1492
1554
  resizeObserver.observe(el);
1493
1555
  $i7OB2$onCleanup(() => resizeObserver.disconnect());
1494
1556
  })
@@ -1503,11 +1565,11 @@ function $7555dcad3b8a4632$export$ebf0b1d4f90c09ae({
1503
1565
  /**
1504
1566
  * Workaround for Chrome bug 326498383, adapted version of https://stackoverflow.com/a/39494245
1505
1567
  */
1506
- function $7555dcad3b8a4632$var$scrollingFunctionForChrome(element, targetScrollY, duration) {
1568
+ function $11fb4b33b36ecfac$var$scrollingFunctionForChrome(element, targetScrollY, duration) {
1507
1569
  let start;
1508
1570
  const startingY = element.scrollTop;
1509
1571
  const diff = targetScrollY - startingY;
1510
- const step = $i7OB2$catchify(timestamp => {
1572
+ const step = $i7OB2$catchify1(timestamp => {
1511
1573
  if (!start) start = timestamp;
1512
1574
  // Elapsed milliseconds since start of scrolling.
1513
1575
  const time = timestamp - start;
@@ -1520,8 +1582,8 @@ function $7555dcad3b8a4632$var$scrollingFunctionForChrome(element, targetScrollY
1520
1582
  // Bootstrap our animation - it will get called right before next frame shall be rendered.
1521
1583
  requestAnimationFrame(step);
1522
1584
  }
1523
- var $28ee4f7db3cc44b8$var$_tmpl$ = ["<div", ' class="', '"><!--$-->', "<!--/--><!--$-->", "<!--/--></div>"];
1524
- function $28ee4f7db3cc44b8$export$44809a8a3e867e30({
1585
+ var $e9d1d09be9e6471e$var$_tmpl$ = ["<div", ' class="', '"><!--$-->', "<!--/--><!--$-->", "<!--/--></div>"];
1586
+ function $e9d1d09be9e6471e$export$44809a8a3e867e30({
1525
1587
  display_: display_,
1526
1588
  expandedLooksSignal_: [expandedLooks_, setExpandedLooks],
1527
1589
  FavoriteButton_: FavoriteButton_,
@@ -1538,7 +1600,7 @@ function $28ee4f7db3cc44b8$export$44809a8a3e867e30({
1538
1600
  const index = $b6440e72ed83671a$export$e3faf4d95300054f();
1539
1601
  const [containerWidth_, setContainerWidth] = $i7OB2$createSignal();
1540
1602
  const [containerHeight_, setContainerHeight] = $i7OB2$createSignal();
1541
- const clickHandler = $i7OB2$catchify(({
1603
+ const clickHandler = $i7OB2$catchify1(({
1542
1604
  target: target
1543
1605
  }) => {
1544
1606
  if (target !== container && !container.contains(target))
@@ -1577,7 +1639,7 @@ function $28ee4f7db3cc44b8$export$44809a8a3e867e30({
1577
1639
  }
1578
1640
  // Close us if another look expands
1579
1641
  $i7OB2$createEffect(() => !expandedLooks_().has(us) && setUserWantsExpanded(false));
1580
- return $i7OB2$ssr($28ee4f7db3cc44b8$var$_tmpl$, $i7OB2$ssrHydrationKey(), `look-card ${!display_() ? "placeholder" : ""}`, $i7OB2$escape($i7OB2$createComponent((0, $i7OB2$Show), {
1642
+ return $i7OB2$ssr($e9d1d09be9e6471e$var$_tmpl$, $i7OB2$ssrHydrationKey(), `look-card ${!display_() ? "placeholder" : ""}`, $i7OB2$escape($i7OB2$createComponent((0, $i7OB2$Show), {
1581
1643
  get when() {
1582
1644
  return display_();
1583
1645
  },
@@ -1595,7 +1657,7 @@ function $28ee4f7db3cc44b8$export$44809a8a3e867e30({
1595
1657
  autoAdjustAspectRatio: true
1596
1658
  });
1597
1659
  }
1598
- })), $i7OB2$escape($i7OB2$createComponent((0, $7555dcad3b8a4632$export$ebf0b1d4f90c09ae), {
1660
+ })), $i7OB2$escape($i7OB2$createComponent((0, $11fb4b33b36ecfac$export$ebf0b1d4f90c09ae), {
1599
1661
  displays_: () => display_()?.displays,
1600
1662
  userWantsExpandedSignal_: useWantsExpandedSignal_,
1601
1663
  containerWidth_: containerWidth_,
@@ -1674,7 +1736,7 @@ class $4fd2ba03703a7d92$export$7e1297a3a19f10d8 {
1674
1736
  * @param is_replace_ if you want to replace the current URL in history instead of pushing a new one
1675
1737
  * @param listing_id_ If you are navigating to a category and know the listing_id of, please provide it. This is for making a better devEx in js-ui
1676
1738
  */
1677
- go_to_: $i7OB2$catchify(async ({
1739
+ go_to_: $i7OB2$catchify1(async ({
1678
1740
  new_url_: raw_new_url,
1679
1741
  event_: event_,
1680
1742
  force_spa_navigation_: force_spa_navigation_,
@@ -1853,7 +1915,7 @@ function $07ef910e8ef6b783$export$2c9f9bf2092486aa(props) {
1853
1915
  return $07ef910e8ef6b783$var$runDisplayTransformersForLooks(baseData, listings, props.displayTransformers_);
1854
1916
  });
1855
1917
  const sharedOptions = {
1856
- product_card_template_: display => $28ee4f7db3cc44b8$export$44809a8a3e867e30({
1918
+ product_card_template_: display => $e9d1d09be9e6471e$export$44809a8a3e867e30({
1857
1919
  display_: () => display,
1858
1920
  FavoriteButton_: props.FavoriteButton_,
1859
1921
  placeholderImageAspectRatio_: props.imagePlaceholderAspectRatio_,
@@ -2162,7 +2224,7 @@ function $eea41f703612261b$export$62f101a8aa597bf8({
2162
2224
  // don't wait if it's the first request
2163
2225
  write_current_instant_query(value);
2164
2226
  clearTimeout(timeout);
2165
- timeout = setTimeout($i7OB2$catchify(() => write_current_instant_query(value)), 250);
2227
+ timeout = setTimeout($i7OB2$catchify1(() => write_current_instant_query(value)), 250);
2166
2228
  });
2167
2229
  const [search_results] = $i7OB2$createResource($i7OB2$createMemo(() => ({
2168
2230
  // <-- key order important, see comment below
@@ -2170,7 +2232,7 @@ function $eea41f703612261b$export$62f101a8aa597bf8({
2170
2232
  market: market_(),
2171
2233
  locale: i18n_.backend_locale_(),
2172
2234
  query: read_current_instant_query()
2173
- })), $i7OB2$catchify(async variable_data => {
2235
+ })), $i7OB2$catchify1(async variable_data => {
2174
2236
  return depict_api_.query({
2175
2237
  // here it is (unfortunately) important that the keys in the object are in the same order as in SearchPage.tsx, because when JSON-encoding them to compare for caching the strings will be different otherwise
2176
2238
  limit: $i7OB2$untrack(has_sort_or_filters_) ? max_cards : min_products_to_fetch_,
@@ -2261,7 +2323,7 @@ function $d78eea1e8707dc2d$export$c7e181728ad525f(url) {
2261
2323
  return;
2262
2324
  $d78eea1e8707dc2d$var$last_sent_value = new_value;
2263
2325
  const args = ["depict.send", "pageview", new_value];
2264
- $i7OB2$dlog("Calling ga with args", ...args);
2326
+ $i7OB2$dlog1("Calling ga with args", ...args);
2265
2327
  // @ts-ignore
2266
2328
  ga(...args);
2267
2329
  }
@@ -2275,7 +2337,7 @@ function $c64d28ca12452b21$export$3340fdd8259bd4fd({
2275
2337
  if (process.env.GA === "false") return;
2276
2338
  let debounce_timeout;
2277
2339
  const stop_timeout = () => clearTimeout(debounce_timeout);
2278
- const send_to_ga = $i7OB2$catchify(() => {
2340
+ const send_to_ga = $i7OB2$catchify1(() => {
2279
2341
  const fake_url = new URL(location.href);
2280
2342
  const {
2281
2343
  searchParams: searchParams
@@ -2288,12 +2350,12 @@ function $c64d28ca12452b21$export$3340fdd8259bd4fd({
2288
2350
  $i7OB2$onCleanup(() => {
2289
2351
  setTimeout(
2290
2352
  // do it next event loop because search_field_value_ is wrong this one and search_query might be too because we want the old value to be put into the history entry and a framework like NextJS might take some time to navigate
2291
- $i7OB2$catchify(() => {
2353
+ $i7OB2$catchify1(() => {
2292
2354
  if ($i7OB2$untrack(get_search_query_) === $i7OB2$untrack(get_search_field_value_)) stop_timeout();
2293
2355
  }));
2294
2356
  });
2295
2357
  let first_call = true;
2296
- $i7OB2$createEffect($i7OB2$catchify(() => {
2358
+ $i7OB2$createEffect($i7OB2$catchify1(() => {
2297
2359
  get_search_field_value_();
2298
2360
  if (first_call) {
2299
2361
  // we only want to do stuff when it changes
@@ -2312,7 +2374,7 @@ function $a36cbc4f68bfd590$export$91c3b6774e8be0f5({
2312
2374
  const [get_current_href, set_current_href] = $i7OB2$createSignal(location.href);
2313
2375
  const [exit_iterable, exitable_iterable] = $i7OB2$make_asyncIterable_exiter((0, $i7OB2$href_change_ipns));
2314
2376
  $i7OB2$onCleanup(exit_iterable);
2315
- $i7OB2$catchify(async () => {
2377
+ $i7OB2$catchify1(async () => {
2316
2378
  for await (const href of exitable_iterable)
2317
2379
  // use native links so ppl can cmdclick/right click and open in new tab and see target URL
2318
2380
  set_current_href(href);
@@ -2705,7 +2767,7 @@ function $6ef2e4ea23810f23$var$actual_navigation_working_on_fake_data({
2705
2767
  if (!$i7OB2$untrack(() => read_updating_blocked())) previous_value = sfv;
2706
2768
  });
2707
2769
  const owner = $i7OB2$getOwner();
2708
- const handler = $i7OB2$catchify(({
2770
+ const handler = $i7OB2$catchify1(({
2709
2771
  keyCode: keyCode
2710
2772
  }) => $i7OB2$untrack(() => {
2711
2773
  const up = keyCode === 38;
@@ -2769,7 +2831,7 @@ function $6ef2e4ea23810f23$var$actual_navigation_working_on_fake_data({
2769
2831
  const el = element_();
2770
2832
  if (!el) return;
2771
2833
  el.addEventListener("keyup", handler);
2772
- $i7OB2$onCleanup($i7OB2$catchify(() => el.removeEventListener("keyup", handler)));
2834
+ $i7OB2$onCleanup($i7OB2$catchify1(() => el.removeEventListener("keyup", handler)));
2773
2835
  });
2774
2836
  }
2775
2837
  function $1ae0eaca6ada9753$export$af0124069c150252({
@@ -2966,7 +3028,7 @@ let $f86ba724282f6690$export$44dad306455dddf;
2966
3028
 
2967
3029
  function $2449872a62a75a20$export$ebdc3711f7e02ccd(what_to_watch) {
2968
3030
  const [width, setWidth] = $i7OB2$createSignal();
2969
- const resizeObserver = new ResizeObserver($i7OB2$catchify(records => {
3031
+ const resizeObserver = new ResizeObserver($i7OB2$catchify1(records => {
2970
3032
  for (let j = 0; j < records.length; j++) {
2971
3033
  const width = records[j].borderBoxSize?.[0]?.inlineSize ?? what_to_watch.getBoundingClientRect().width;
2972
3034
  setWidth(width);
@@ -2976,7 +3038,7 @@ function $2449872a62a75a20$export$ebdc3711f7e02ccd(what_to_watch) {
2976
3038
  // It doesn't seem to work even when waiting for it to be in the DOM, also wait an animation frame
2977
3039
  const disconnect = (0, $i7OB2$observer).onexists(what_to_watch, ({
2978
3040
  element: element
2979
- }) => requestAnimationFrame($i7OB2$catchify(() => {
3041
+ }) => requestAnimationFrame($i7OB2$catchify1(() => {
2980
3042
  const current_size = what_to_watch.getBoundingClientRect().width;
2981
3043
  if (current_size)
2982
3044
  // If element has size, set signal to that. ResizeObserver only triggers when the content is visible in some cases, but it might already have a size. This reduces size filter expanding animation jank in chrome.
@@ -3020,7 +3082,7 @@ function $5285d2814d0fac0c$export$b94867ecbd698f21({
3020
3082
  let input_element;
3021
3083
  // This is the div where we recommend (and ourselves do) attach the event listener to that opens the search modal.
3022
3084
  let field_div;
3023
- $i7OB2$createEffect($i7OB2$catchify(async () => {
3085
+ $i7OB2$createEffect($i7OB2$catchify1(async () => {
3024
3086
  if (disabled_) return;
3025
3087
  // we aren't in DOM yet unfortunately, wouldn't even be with onMount
3026
3088
  await (0, $i7OB2$observer).wait_for_element(input_element);
@@ -3097,18 +3159,18 @@ function $aea1edf92433e81e$export$fe334901e8bebd57() {
3097
3159
  offset: 0
3098
3160
  }, 1);
3099
3161
  animation.pause();
3100
- const fn = $i7OB2$catchify(animation.play.bind(animation));
3162
+ const fn = $i7OB2$catchify1(animation.play.bind(animation));
3101
3163
  cleanup_fns.push(fn);
3102
3164
  $i7OB2$onCleanup(fn);
3103
3165
  } catch (e) {
3104
- $i7OB2$dlog("Probably partial keyframe error", e);
3166
+ $i7OB2$dlog1("Probably partial keyframe error", e);
3105
3167
  }
3106
3168
  if (getComputedStyle(element).overflow !== "hidden") {
3107
3169
  // safari gets special hacky treatment
3108
3170
  const style = element.style;
3109
3171
  const original_value = style.overflow;
3110
3172
  style.overflow = "hidden";
3111
- const fn = $i7OB2$catchify(() => style.overflow = original_value);
3173
+ const fn = $i7OB2$catchify1(() => style.overflow = original_value);
3112
3174
  cleanup_fns.push(fn);
3113
3175
  $i7OB2$onCleanup(fn);
3114
3176
  }
@@ -3131,8 +3193,8 @@ function $512b994d501f412b$export$93d9bfd0c9c1a5b8(close_modal, search_query_url
3131
3193
  let set_initial_values = false;
3132
3194
  let old_pathname;
3133
3195
  let old_param_value;
3134
- $i7OB2$onCleanup($i7OB2$catchify(exit_iterable));
3135
- $i7OB2$catchify(async () => {
3196
+ $i7OB2$onCleanup($i7OB2$catchify1(exit_iterable));
3197
+ $i7OB2$catchify1(async () => {
3136
3198
  for await (const href of exitable_iterable) {
3137
3199
  const u_o = new URL(href);
3138
3200
  const new_pathname = u_o.pathname;
@@ -3203,7 +3265,7 @@ function $42912431795f188e$var$RawClassicSearchModal({
3203
3265
  } = alignmentSignals_ || {};
3204
3266
  const [bodyAlignmentStyle] = bodyAlignmentSignal;
3205
3267
  const [get_modal_search_results, set_modal_search_results_] = $i7OB2$createSignal();
3206
- const close_on_escape_handler = $i7OB2$catchify(({
3268
+ const close_on_escape_handler = $i7OB2$catchify1(({
3207
3269
  key: key
3208
3270
  }) => {
3209
3271
  if (key === "Escape") close_modal_();
@@ -3228,7 +3290,7 @@ function $42912431795f188e$var$RawClassicSearchModal({
3228
3290
  if (disable_scrolling_) $aea1edf92433e81e$export$fe334901e8bebd57();
3229
3291
  $512b994d501f412b$export$93d9bfd0c9c1a5b8(close_modal_, search_query_url_param_name_);
3230
3292
  window.addEventListener("keydown", close_on_escape_handler);
3231
- $i7OB2$onCleanup($i7OB2$catchify(() => window.removeEventListener("keydown", close_on_escape_handler)));
3293
+ $i7OB2$onCleanup($i7OB2$catchify1(() => window.removeEventListener("keydown", close_on_escape_handler)));
3232
3294
  if (closing_animation_) register_closing_animation_(closing_animation_);
3233
3295
  $c64d28ca12452b21$export$3340fdd8259bd4fd({
3234
3296
  get_search_field_value_: get_search_field_value_,
@@ -3433,7 +3495,7 @@ function $4147651646da990a$var$decode_filter_data(op, encoded_data) {
3433
3495
  try {
3434
3496
  return JSON.parse($i7OB2$base64_decode_unicode(encoded_data));
3435
3497
  } catch (e) {
3436
- $i7OB2$dlog("Failed to fallback parse filter data", op, encoded_data, e);
3498
+ $i7OB2$dlog1("Failed to fallback parse filter data", op, encoded_data, e);
3437
3499
  }
3438
3500
  return null;
3439
3501
  }
@@ -3491,7 +3553,7 @@ function $4147651646da990a$export$766e9676e74997d3(search_params, sorting_query_
3491
3553
  field: encoded_sorting.slice(0, -$4147651646da990a$var$descending_token.length),
3492
3554
  order: "desc"
3493
3555
  };
3494
- $i7OB2$dlog("Invalid sorting query param value", encoded_sorting);
3556
+ $i7OB2$dlog1("Invalid sorting query param value", encoded_sorting);
3495
3557
  return;
3496
3558
  }
3497
3559
  function $4147651646da990a$export$916e6850778505f6(search_params, filter_query_param_prefix, sorting_query_param) {
@@ -3499,7 +3561,7 @@ function $4147651646da990a$export$916e6850778505f6(search_params, filter_query_p
3499
3561
  const keys = [...search_params.keys()];
3500
3562
  for (const key of keys) if (key.startsWith(filter_query_param_prefix) || key === sorting_query_param || key.startsWith($4147651646da990a$var$legacy_filter_prefix)) search_params.delete(key);
3501
3563
  }
3502
- const $4147651646da990a$export$cf5feb2102aec7f2 = "went_sideways_clear_filters";
3564
+ const $4147651646da990a$export$84daa4fa1471698b = "#went_sideways_clear_filters";
3503
3565
  function $4147651646da990a$export$43cd1e747fecd42e({
3504
3566
  to_url_: to_url_,
3505
3567
  set_clearing_flag_: set_clearing_flag_,
@@ -3513,9 +3575,13 @@ function $4147651646da990a$export$43cd1e747fecd42e({
3513
3575
  const {
3514
3576
  searchParams: searchParams
3515
3577
  } = url_object;
3516
- if (set_clearing_flag_) searchParams.set($4147651646da990a$export$cf5feb2102aec7f2, "true");
3578
+ let transferredAnyFilters = false;
3517
3579
  if (from_search_params_.has(sorting_query_param_)) searchParams.set(sorting_query_param_, from_search_params_.get(sorting_query_param_));
3518
- for (const key of from_search_params_.keys()) if (key.startsWith(filter_query_param_prefix_)) searchParams.set(key, from_search_params_.get(key));
3580
+ for (const key of from_search_params_.keys()) if (key.startsWith(filter_query_param_prefix_)) {
3581
+ searchParams.set(key, from_search_params_.get(key));
3582
+ transferredAnyFilters = true;
3583
+ }
3584
+ if (set_clearing_flag_ && transferredAnyFilters) url_object.hash = $4147651646da990a$export$84daa4fa1471698b;
3519
3585
  if (was_url_object) return url_object;
3520
3586
  return url_object.href;
3521
3587
  }
@@ -4044,7 +4110,7 @@ function $500a16dd18ee5a71$var$RawSearchModalV2({
4044
4110
  const random_classname_body = $i7OB2$make_random_classname();
4045
4111
  const backdropRandomClassname = $i7OB2$make_random_classname();
4046
4112
  const [get_modal_search_results_, set_modal_search_results_] = $i7OB2$createSignal();
4047
- const close_on_escape_handler = $i7OB2$catchify(evt => {
4113
+ const close_on_escape_handler = $i7OB2$catchify1(evt => {
4048
4114
  if (evt.key === "Escape") {
4049
4115
  evt.preventDefault(); // Prevent the browser from closing/cancelling the modal so our animations have time to run
4050
4116
  close_modal_();
@@ -4140,7 +4206,7 @@ function $500a16dd18ee5a71$var$RawSearchModalV2({
4140
4206
  $i7OB2$createEffect($i7OB2$on(get_search_field_value_, () => {
4141
4207
  setShowStaleListingSuggestions(true);
4142
4208
  clearTimeout(listingSuggestionsDebounceTimeout);
4143
- listingSuggestionsDebounceTimeout = setTimeout($i7OB2$catchify(() => setShowStaleListingSuggestions(false)), 350);
4209
+ listingSuggestionsDebounceTimeout = setTimeout($i7OB2$catchify1(() => setShowStaleListingSuggestions(false)), 350);
4144
4210
  }, {
4145
4211
  defer: true
4146
4212
  }));
@@ -4275,7 +4341,7 @@ function $500a16dd18ee5a71$var$RawSearchModalV2({
4275
4341
  }
4276
4342
  });
4277
4343
  if (setSearchFieldOuterWidth_) {
4278
- const resizeObserver = new ResizeObserver($i7OB2$catchify(records => setSearchFieldOuterWidth_(records.at(-1).contentRect.width)));
4344
+ const resizeObserver = new ResizeObserver($i7OB2$catchify1(records => setSearchFieldOuterWidth_(records.at(-1).contentRect.width)));
4279
4345
  resizeObserver.observe(search_field);
4280
4346
  $i7OB2$onCleanup(() => resizeObserver.disconnect());
4281
4347
  }
@@ -4325,7 +4391,7 @@ function $024fbc0a2d796fad$var$ActualTabs(props) {
4325
4391
  });
4326
4392
  const isSelected = $i7OB2$createSelector(currentlySelected);
4327
4393
  const owner = $i7OB2$getOwner();
4328
- const updateTabsSignal = $i7OB2$catchify1(() => $i7OB2$runWithOwner(owner, () => setTabsReactive([...ourTabsSet])));
4394
+ const updateTabsSignal = $i7OB2$catchify(() => $i7OB2$runWithOwner(owner, () => setTabsReactive([...ourTabsSet])));
4329
4395
  const ourTabsSet = $024fbc0a2d796fad$var$useTabs();
4330
4396
  const location = $i7OB2$use_href_accessor1();
4331
4397
  const linkWithChangedHash = hash => {
@@ -4428,7 +4494,7 @@ function $024fbc0a2d796fad$export$3e41faf802a29e71(props) {
4428
4494
  async function $194bd6b8e4c59830$export$79b1565500412d9b(search_modal, modal_fn_opts, parent) {
4429
4495
  const body = parent || document.body || (await (0, $i7OB2$observer).wait_for_element("body"));
4430
4496
  let dispose_and_remove;
4431
- const open_modal_ = $i7OB2$catchify(async (extra_options_for_modal = {}, on_dispose) => {
4497
+ const open_modal_ = $i7OB2$catchify1(async (extra_options_for_modal = {}, on_dispose) => {
4432
4498
  // Below await is very intentional,
4433
4499
  // The reason is that effects don't run in <Suspense> boundaries before they've resolved and this carries even through roots created, but if a modal is opened from a suspense boundary we still want the effects in it to run
4434
4500
  // This is because the suspense is for the content in the page and not the modal (the modal goes above it)
@@ -4458,7 +4524,7 @@ async function $194bd6b8e4c59830$export$79b1565500412d9b(search_modal, modal_fn_
4458
4524
  // Animation broke, close it this time
4459
4525
  actually_close();else if (!animation_started && closing_animation) {
4460
4526
  animation_started = +new Date();
4461
- $i7OB2$catchify(closing_animation)()?.then($i7OB2$catchify(actually_close));
4527
+ $i7OB2$catchify1(closing_animation)()?.then($i7OB2$catchify1(actually_close));
4462
4528
  } else actually_close();
4463
4529
  };
4464
4530
  return search_modal({
@@ -4471,7 +4537,7 @@ async function $194bd6b8e4c59830$export$79b1565500412d9b(search_modal, modal_fn_
4471
4537
  });
4472
4538
  body.append(...modal_els);
4473
4539
  });
4474
- const close_modal_ = $i7OB2$catchify(() => {
4540
+ const close_modal_ = $i7OB2$catchify1(() => {
4475
4541
  if (dispose_and_remove) {
4476
4542
  // modal is open
4477
4543
  const dispose_fn = dispose_and_remove;
@@ -4488,7 +4554,7 @@ async function $194bd6b8e4c59830$export$79b1565500412d9b(search_modal, modal_fn_
4488
4554
  function $ca6f574bd8772184$export$e183a13865960371(params_to_default_value, router_) {
4489
4555
  const signals = {};
4490
4556
  const entries = Object.entries(params_to_default_value);
4491
- const event_handler = $i7OB2$catchify((what_happened, args) => {
4557
+ const event_handler = $i7OB2$catchify1((what_happened, args) => {
4492
4558
  // Intentionally always update our signals to the history state to allow external control of SDK state for doing things like https://linear.app/depictai/issue/X-1432/is-this-possible-with-the-depict-sdk
4493
4559
  if (what_happened !== "popstate") return;
4494
4560
  // Had to undo the comment above,but leaving the history. Doing this because discovering why it doesn't work is a deja-vu and I don't want to have to discover it again.
@@ -4519,8 +4585,8 @@ function $ca6f574bd8772184$export$e183a13865960371(params_to_default_value, rout
4519
4585
  });
4520
4586
  // history_dot_state_to_state needs to update after its signals after url_state does BUT in the same task (might even have to be in the same tick in the microtask queue). If we'd use window.addEventListener("popstate") it would be guaranteed to be too late since each event listener has its own task
4521
4587
  (0, $i7OB2$instant_exec_on_suspect_history_change).add(event_handler);
4522
- $i7OB2$onCleanup($i7OB2$catchify(() => (0, $i7OB2$instant_exec_on_suspect_history_change).delete(event_handler)));
4523
- $i7OB2$createEffect($i7OB2$catchify(() => $i7OB2$untrack($i7OB2$catchify(() => $ca6f574bd8772184$var$history_state_change(signals, entries, history.state))))); // we need this to run after reading the initial state from history.state to write the defaults to history.state
4588
+ $i7OB2$onCleanup($i7OB2$catchify1(() => (0, $i7OB2$instant_exec_on_suspect_history_change).delete(event_handler)));
4589
+ $i7OB2$createEffect($i7OB2$catchify1(() => $i7OB2$untrack($i7OB2$catchify1(() => $ca6f574bd8772184$var$history_state_change(signals, entries, history.state))))); // we need this to run after reading the initial state from history.state to write the defaults to history.state
4524
4590
  return signals;
4525
4591
  }
4526
4592
  function $ca6f574bd8772184$var$history_state_change(signals, entries, state) {
@@ -4654,7 +4720,7 @@ function $45d4ed34a22ab90c$export$6b35356958ae5587(props) {
4654
4720
  // If someone clicks on a product card in the shop the look modal, close the modal the next time the href changes
4655
4721
  for (const item of resolved()) {
4656
4722
  if (!(item instanceof Element)) return;
4657
- item.addEventListener("click", $i7OB2$catchify(() =>
4723
+ item.addEventListener("click", $i7OB2$catchify1(() =>
4658
4724
  // run with modal owner so we don't do stuff after the modal closes
4659
4725
  // can't have the owner of the product card as that gets disposed if the productId changes which might be too early (before location.href has changed)
4660
4726
  $i7OB2$runWithOwner(props.modalOwner_, () => $i7OB2$createEffect($i7OB2$on(hrefWithoutHash, props.actually_close_modal_, {
@@ -4863,7 +4929,7 @@ function $8560c919ff763930$var$actualSetupModal() {
4863
4929
  (0, $90980bd87c9960f9$export$3064e1e8c6513da3).add(history_key);
4864
4930
  const actually_close_modal_ = () => set_history_value(false);
4865
4931
  const owner = $i7OB2$getOwner();
4866
- $i7OB2$catchify(async () => {
4932
+ $i7OB2$catchify1(async () => {
4867
4933
  const {
4868
4934
  open_modal_: open_modal_,
4869
4935
  close_modal_: close_modal_
@@ -4936,15 +5002,15 @@ function $6bb0a0c563dff4bb$export$6c6d7a51fa9aa15d(props) {
4936
5002
  $i7OB2$insert(details_, [summary_, $i7OB2$createComponent(ExpandingContainer, {
4937
5003
  children: children
4938
5004
  })], null);
4939
- if (!$i7OB2$untrack(is_in_dom)) (0, $i7OB2$observer).wait_for_element(details_).then($i7OB2$catchify(() => set_is_in_dom(true)));
4940
- $i7OB2$createEffect($i7OB2$catchify(async () => {
5005
+ if (!$i7OB2$untrack(is_in_dom)) (0, $i7OB2$observer).wait_for_element(details_).then($i7OB2$catchify1(() => set_is_in_dom(true)));
5006
+ $i7OB2$createEffect($i7OB2$catchify1(async () => {
4941
5007
  const is_open = is_open_memo();
4942
5008
  if (!is_in_dom())
4943
5009
  // wait with setting state until we're in DOM, animation won't work otherwise
4944
5010
  return;
4945
5011
  if (dont_animate_if_instant_open_ && fresh_component && !timeout_started) {
4946
5012
  timeout_started = true;
4947
- setTimeout($i7OB2$catchify(() => fresh_component = false));
5013
+ setTimeout($i7OB2$catchify1(() => fresh_component = false));
4948
5014
  }
4949
5015
  if (is_open) {
4950
5016
  details_.open = true; // open up the toggle so the animation can happen
@@ -4952,10 +5018,10 @@ function $6bb0a0c563dff4bb$export$6c6d7a51fa9aa15d(props) {
4952
5018
  await expand(0, do_duration);
4953
5019
  } else {
4954
5020
  const animation = await collapse();
4955
- animation?.addEventListener("finish", $i7OB2$catchify(() => details_.open = false));
5021
+ animation?.addEventListener("finish", $i7OB2$catchify1(() => details_.open = false));
4956
5022
  }
4957
5023
  }));
4958
- details_.addEventListener("toggle", $i7OB2$catchify(() => {
5024
+ details_.addEventListener("toggle", $i7OB2$catchify1(() => {
4959
5025
  const {
4960
5026
  open: open
4961
5027
  } = details_;
@@ -4965,11 +5031,11 @@ function $6bb0a0c563dff4bb$export$6c6d7a51fa9aa15d(props) {
4965
5031
  }) // in case someone somehow toggles it without us intercepting it at least follow suit
4966
5032
  );
4967
5033
 
4968
- summary_.addEventListener("click", $i7OB2$catchify(ev => {
5034
+ summary_.addEventListener("click", $i7OB2$catchify1(ev => {
4969
5035
  ev.preventDefault();
4970
5036
  toggle();
4971
5037
  }));
4972
- summary_.addEventListener("keydown", $i7OB2$catchify(ev => {
5038
+ summary_.addEventListener("keydown", $i7OB2$catchify1(ev => {
4973
5039
  const {
4974
5040
  key: key
4975
5041
  } = ev;
@@ -5192,9 +5258,9 @@ function $1adfe60f3a14a1d7$export$fecbb157621501bd({
5192
5258
  });
5193
5259
  const [is_in_dom, set_is_in_dom] = $i7OB2$createSignal(document.documentElement.contains(outmost_element));
5194
5260
  const hidden = $i7OB2$createMemo(() => get_search_filters_open_() || get_search_sorting_open_());
5195
- if (!$i7OB2$untrack(is_in_dom)) (0, $i7OB2$observer).wait_for_element(outmost_element).then($i7OB2$catchify(() => set_is_in_dom(true)));
5261
+ if (!$i7OB2$untrack(is_in_dom)) (0, $i7OB2$observer).wait_for_element(outmost_element).then($i7OB2$catchify1(() => set_is_in_dom(true)));
5196
5262
  outmost_element.classList.add("selected-filters");
5197
- $i7OB2$createEffect($i7OB2$catchify(async () => {
5263
+ $i7OB2$createEffect($i7OB2$catchify1(async () => {
5198
5264
  if (!is_in_dom())
5199
5265
  // wait with setting state until we're in DOM, animation won't work otherwise
5200
5266
  return;
@@ -5341,7 +5407,7 @@ function $a4601e6bea3ed1e6$export$dd948f91abc3a1c4({
5341
5407
  }) : []);
5342
5408
  });
5343
5409
  $i7OB2$onCleanup(() => set_view_more_button_below_group_());
5344
- $i7OB2$createEffect($i7OB2$catchify(async () => {
5410
+ $i7OB2$createEffect($i7OB2$catchify1(async () => {
5345
5411
  if (!togglable_rest()) {
5346
5412
  await collapse();
5347
5413
  return;
@@ -5453,7 +5519,7 @@ function $a6b08770e164eced$export$e0d834a0ad870cda({
5453
5519
  });
5454
5520
  $i7OB2$createComputed(() => {
5455
5521
  clearTimeout(debounce_timeout);
5456
- debounce_timeout = setTimeout($i7OB2$catchify(range => $i7OB2$untrack(() => {
5522
+ debounce_timeout = setTimeout($i7OB2$catchify1(range => $i7OB2$untrack(() => {
5457
5523
  const default_data = defaultRange();
5458
5524
  const filter_object = {
5459
5525
  op: filter_().op,
@@ -5980,7 +6046,7 @@ function $1c8cac76cb67e9af$export$a32086fa6616eafd({
5980
6046
  }
5981
6047
  while (execute_when_structure_finished.length) execute_when_structure_finished.pop()();
5982
6048
  $1c8cac76cb67e9af$var$expand_until_choice(data_structure);
5983
- $i7OB2$dlog("CheckboxHierarchicalFilter: Recomputed structured_categories", data_structure);
6049
+ $i7OB2$dlog1("CheckboxHierarchicalFilter: Recomputed structured_categories", data_structure);
5984
6050
  return data_structure;
5985
6051
  });
5986
6052
  const some_top_level_are_hidden = $i7OB2$createMemo(() => Object.keys(structured_categories()).length > $1c8cac76cb67e9af$var$max_visible_without_collapsing);
@@ -6010,7 +6076,7 @@ function $1c8cac76cb67e9af$export$a32086fa6616eafd({
6010
6076
  }) : []);
6011
6077
  });
6012
6078
  $i7OB2$onCleanup(() => set_view_more_button_below_group());
6013
- $i7OB2$createEffect($i7OB2$catchify(async () => {
6079
+ $i7OB2$createEffect($i7OB2$catchify1(async () => {
6014
6080
  if (!some_top_level_are_hidden()) {
6015
6081
  await collapse();
6016
6082
  return;
@@ -6070,7 +6136,7 @@ function $1c8cac76cb67e9af$var$render_stuff(data, existing_filter, i18n_, filter
6070
6136
  return value()?.is_checked_?.[0]?.() ?? false;
6071
6137
  },
6072
6138
  input_ref_: input => {
6073
- input.addEventListener("change", $i7OB2$catchify(() => $i7OB2$untrack(() => {
6139
+ input.addEventListener("change", $i7OB2$catchify1(() => $i7OB2$untrack(() => {
6074
6140
  const {
6075
6141
  checked: checked
6076
6142
  } = input;
@@ -6145,7 +6211,7 @@ function $1c8cac76cb67e9af$var$batching_filter_state_syncer(props) {
6145
6211
  existing_filter_: existing_filter_
6146
6212
  } = props;
6147
6213
  let sync_queued = false;
6148
- const sync_fn = $i7OB2$catchify(async () => {
6214
+ const sync_fn = $i7OB2$catchify1(async () => {
6149
6215
  sync_queued = false;
6150
6216
  // if we change, update filter state - next microtask, so that "reactions" to the change can process before we send it off to the API
6151
6217
  const set_filter = existing_filter_();
@@ -6169,7 +6235,7 @@ function $1c8cac76cb67e9af$var$batching_filter_state_syncer(props) {
6169
6235
  ...base_object,
6170
6236
  data: data
6171
6237
  };
6172
- $i7OB2$dlog("CheckboxHierarchicalFilter: Updating API state", filter_object);
6238
+ $i7OB2$dlog1("CheckboxHierarchicalFilter: Updating API state", filter_object);
6173
6239
  const selected_filters = [...selected_filters_[0]()];
6174
6240
  if (set_filter) selected_filters.splice(selected_filters.indexOf(set_filter), 1);
6175
6241
  if (filter_object.data.length) selected_filters.push(filter_object);
@@ -6202,13 +6268,13 @@ function $1c8cac76cb67e9af$var$create_updating_signal({
6202
6268
  $i7OB2$createComputed($i7OB2$on(read_checked, trigger_sync_, {
6203
6269
  defer: true
6204
6270
  }));
6205
- $i7OB2$createComputed($i7OB2$on(read_checked, $i7OB2$catchify(new_value => {
6271
+ $i7OB2$createComputed($i7OB2$on(read_checked, $i7OB2$catchify1(new_value => {
6206
6272
  if (updating_blocked) return;
6207
6273
  for (const child of child_objects) child.is_checked_[1](new_value);
6208
6274
  }), {
6209
6275
  defer: true
6210
6276
  }));
6211
- $i7OB2$createEffect($i7OB2$on(get_child_object_values, $i7OB2$catchify(() => {
6277
+ $i7OB2$createEffect($i7OB2$on(get_child_object_values, $i7OB2$catchify1(() => {
6212
6278
  const all_kids_checked = get_child_object_values.every(accessor => accessor());
6213
6279
  if (all_kids_checked === read_checked()) return;
6214
6280
  updating_blocked = true;
@@ -6633,7 +6699,7 @@ function $e731d52d97444b7c$export$82ed4b28ecb67608({
6633
6699
  }) : []);
6634
6700
  });
6635
6701
  $i7OB2$onCleanup(() => set_view_more_button_below_group_());
6636
- $i7OB2$createEffect($i7OB2$catchify(async () => {
6702
+ $i7OB2$createEffect($i7OB2$catchify1(async () => {
6637
6703
  if (!togglable_rest()) {
6638
6704
  await collapse();
6639
6705
  set_having_expanding_in_dom(false); // Once animation has finished, remove expanding from DOM
@@ -7266,13 +7332,13 @@ async function $a0f0e923bad68a9b$export$58e808b1db15d3bc(options) {
7266
7332
  headers: headers
7267
7333
  } : {}),
7268
7334
  method: "POST"
7269
- }).catch(e => $i7OB2$dlog("fetch_retry threw", e)).then(async maybe_response => {
7335
+ }).catch(e => $i7OB2$dlog1("fetch_retry threw", e)).then(async maybe_response => {
7270
7336
  if (!maybe_response) return [];
7271
7337
  let decoded;
7272
7338
  try {
7273
7339
  decoded = await maybe_response.json();
7274
7340
  } catch (e) {
7275
- $i7OB2$dlog("Failed to decode JSON", e);
7341
+ $i7OB2$dlog1("Failed to decode JSON", e);
7276
7342
  }
7277
7343
  return decoded?.displays || [];
7278
7344
  });
@@ -7316,7 +7382,7 @@ const $a6e23a834336fc19$export$824dde41348efed1 = /*@__PURE__*/(() => {
7316
7382
 
7317
7383
  const observe_to_signal = (element, setter) => {
7318
7384
  const computed_style = getComputedStyle(element);
7319
- const resize_observer = new ResizeObserver($i7OB2$catchify(() => {
7385
+ const resize_observer = new ResizeObserver($i7OB2$catchify1(() => {
7320
7386
  setter(element.getBoundingClientRect().width + parseFloat(computed_style.marginLeft) + parseFloat(computed_style.marginRight) + parseFloat(computed_style.borderRightWidth) + parseFloat(computed_style.borderLeftWidth));
7321
7387
  }));
7322
7388
  resize_observer.observe(element);
@@ -7370,7 +7436,7 @@ async function $4b2134398dfa83fa$export$c1a6b039e689a58e(merchant, market, local
7370
7436
  const in_ls = localStorage[localstorage_key];
7371
7437
  if (in_ls) localstorage_value = JSON.parse(in_ls);
7372
7438
  } catch (e) {
7373
- $i7OB2$dlog("Failed parsing JSON from localStorage", e);
7439
+ $i7OB2$dlog1("Failed parsing JSON from localStorage", e);
7374
7440
  }
7375
7441
  const updated = localstorage_value?.updated;
7376
7442
  const now = +new Date();
@@ -7414,12 +7480,12 @@ async function $4b2134398dfa83fa$var$download_categories(merchant, market, local
7414
7480
  if (!fetched) return [];
7415
7481
  try {
7416
7482
  if (fetched.status !== 200) {
7417
- $i7OB2$dlog("failed to fetch queries, server responded with", fetched.status, fetched, await fetched.text());
7483
+ $i7OB2$dlog1("failed to fetch queries, server responded with", fetched.status, fetched, await fetched.text());
7418
7484
  return [];
7419
7485
  }
7420
7486
  return await fetched.json();
7421
7487
  } catch (e) {
7422
- $i7OB2$dlog("failed to decode queries json", fetched, e);
7488
+ $i7OB2$dlog1("failed to decode queries json", fetched, e);
7423
7489
  return [];
7424
7490
  }
7425
7491
  }
@@ -7554,9 +7620,9 @@ class $7fa23e2a0079eca4$export$e015ed2f2950f2e3 {
7554
7620
  return this.#cache_objs[endpoint] ||= {
7555
7621
  in_progress_: {},
7556
7622
  cache_: {},
7557
- finalization_registry_: this.#supports_finalization_registry ? new FinalizationRegistry($i7OB2$catchify(key => {
7623
+ finalization_registry_: this.#supports_finalization_registry ? new FinalizationRegistry($i7OB2$catchify1(key => {
7558
7624
  const our_cache = this.#cache_objs[endpoint].cache_;
7559
- $i7OB2$dlog("[Search API]: removing", key, "from", our_cache);
7625
+ $i7OB2$dlog1("[Search API]: removing", key, "from", our_cache);
7560
7626
  delete our_cache[key];
7561
7627
  })) : undefined
7562
7628
  };
@@ -7702,11 +7768,11 @@ class $7fa23e2a0079eca4$export$e015ed2f2950f2e3 {
7702
7768
  result = $e5014ccd0b76d9f4$export$967e966fca9515e(result);
7703
7769
  cache_obj.cache_[body] = new WeakRef(result);
7704
7770
  resolve_in_progress(result);
7705
- setTimeout($i7OB2$catchify(() => {
7771
+ setTimeout($i7OB2$catchify1(() => {
7706
7772
  if (this.#supports_finalization_registry) cache_obj.finalization_registry_.register(result, body); // delete key from cache when value (WeakRefs) are collected
7707
7773
  else
7708
7774
  // delete things from cache after 5 minutes, so it doesn't get too heavy
7709
- setTimeout($i7OB2$catchify(() => delete cache_obj.cache_[body]), 300000);
7775
+ setTimeout($i7OB2$catchify1(() => delete cache_obj.cache_[body]), 300000);
7710
7776
  }), 60000 // cache values for at least 60 seconds
7711
7777
  );
7712
7778
 
@@ -7836,7 +7902,7 @@ function $ccd5db07a3a069c5$export$477caf01aecaeb2a(options) {
7836
7902
  const [get_selected_filters_, set_selected_filters] = selected_filters_;
7837
7903
  const [get_has_sideways_filter_clearing_flag_, set_has_sideways_filter_clearing_flag] = sideways_filter_clearing_flag_;
7838
7904
  const [get_current_href, set_current_href] = $i7OB2$createSignal(globalThis?.location?.href ?? "https://example.com");
7839
- const history_change_handler = $i7OB2$catchify(() => set_current_href(location.href));
7905
+ const history_change_handler = $i7OB2$catchify1(() => set_current_href(location.href));
7840
7906
  const owner = $i7OB2$getOwner() || $i7OB2$createRoot(() => $i7OB2$getOwner());
7841
7907
  const {
7842
7908
  sorting_query_param_: sorting_query_param_,
@@ -7847,7 +7913,8 @@ function $ccd5db07a3a069c5$export$477caf01aecaeb2a(options) {
7847
7913
  $i7OB2$onCleanup(() => (0, $i7OB2$instant_exec_on_suspect_history_change).delete(history_change_handler));
7848
7914
  $i7OB2$createComputed(() => {
7849
7915
  const {
7850
- searchParams: searchParams
7916
+ searchParams: searchParams,
7917
+ hash: hash
7851
7918
  } = new URL(get_current_href());
7852
7919
  $i7OB2$batch(() => {
7853
7920
  const found_sorting = $4147651646da990a$export$766e9676e74997d3(searchParams, sorting_query_param_);
@@ -7876,10 +7943,10 @@ function $ccd5db07a3a069c5$export$477caf01aecaeb2a(options) {
7876
7943
  if (override_listing_id_query_param_names_) {
7877
7944
  const found_override_listing_id = override_listing_id_query_param_names_.map(n => searchParams.get(n)).find(n => n);
7878
7945
  set_override_listing_id(found_override_listing_id || null);
7879
- if (found_override_listing_id) $i7OB2$dlog("Found override query id:", found_override_listing_id); // This stuff might get confusing so better log it
7946
+ if (found_override_listing_id) $i7OB2$dlog1("Found override query id:", found_override_listing_id); // This stuff might get confusing so better log it
7880
7947
  }
7881
7948
 
7882
- if (searchParams.get((0, $4147651646da990a$export$cf5feb2102aec7f2)) === "true") set_has_sideways_filter_clearing_flag(true);
7949
+ if (hash === (0, $4147651646da990a$export$84daa4fa1471698b)) set_has_sideways_filter_clearing_flag(true);
7883
7950
  if (!writer_started) {
7884
7951
  // The owner here is the createComputed which gets disposed the next time the computation runs - but we actually just want to delay the start of the href_writer until our signals contain the current value of the URL, therefore the runWithOwner
7885
7952
  $i7OB2$runWithOwner(owner, () => $ccd5db07a3a069c5$var$start_href_writer({
@@ -7920,21 +7987,21 @@ function $ccd5db07a3a069c5$var$start_href_writer({
7920
7987
  filter_query_param_prefix_: filter_query_param_prefix_
7921
7988
  }) {
7922
7989
  $i7OB2$createEffect($i7OB2$on([get_sorting_, get_selected_filters_, get_has_sideways_filter_clearing_flag_], ([sorting, filters, has_sideways_filter_clearing_flag]) => {
7923
- const current_href = location.href;
7924
- const url_object = new URL(current_href);
7990
+ const url_object = new URL(location.href);
7991
+ const unmodified_search_params = [...url_object.searchParams];
7992
+ const unmodified_hash = url_object.hash;
7925
7993
  const {
7926
7994
  searchParams: searchParams
7927
7995
  } = url_object;
7928
7996
  $4147651646da990a$export$916e6850778505f6(searchParams, filter_query_param_prefix_, sorting_query_param_);
7929
7997
  $4147651646da990a$export$62acb285a7579555(sorting, searchParams, sorting_query_param_);
7930
7998
  $4147651646da990a$export$58aa3f171519b6d7(filters, searchParams, filter_query_param_prefix_);
7931
- if (!has_sideways_filter_clearing_flag) $ccd5db07a3a069c5$var$delete_sideways_param_flag(searchParams);
7999
+ if (!has_sideways_filter_clearing_flag) $ccd5db07a3a069c5$var$delete_sideways_param_flag(url_object);
7932
8000
  // We can't just check if the URL is equal since sometimes the order of the parameters in the URL changes (randomly?) so we need to compare them one by one
7933
- const unmodified_search_params = [...new URL(current_href).searchParams];
7934
8001
  const new_search_params = [...searchParams];
7935
8002
  // Having the array middle step because if we'd check the "size" property of the map the algorithm could be fooled if there were two query parameters with the same key
7936
8003
  const new_search_params_map = new Map(new_search_params);
7937
- if (unmodified_search_params.length !== new_search_params.length || !unmodified_search_params.every(([key, value]) => new_search_params_map.get(key) === value))
8004
+ if (unmodified_search_params.length !== new_search_params.length || !unmodified_search_params.every(([key, value]) => new_search_params_map.get(key) === value) || unmodified_hash !== url_object.hash)
7938
8005
  // Only update URL if it actually changed
7939
8006
  router_.navigate_.go_to_({
7940
8007
  is_replace_: true,
@@ -7946,8 +8013,8 @@ function $ccd5db07a3a069c5$var$start_href_writer({
7946
8013
  defer: true
7947
8014
  }));
7948
8015
  }
7949
- function $ccd5db07a3a069c5$var$delete_sideways_param_flag(searchParams) {
7950
- if (searchParams.get((0, $4147651646da990a$export$cf5feb2102aec7f2)) === "true") searchParams.delete((0, $4147651646da990a$export$cf5feb2102aec7f2));
8016
+ function $ccd5db07a3a069c5$var$delete_sideways_param_flag(url_object) {
8017
+ if (url_object.hash === (0, $4147651646da990a$export$84daa4fa1471698b)) url_object.hash = "";
7951
8018
  }
7952
8019
 
7953
8020
  // We just pass page_url_creator to DepictAPI when we instantiate it, so don't allow it to be specified if api is already specified
@@ -8203,13 +8270,13 @@ function $bf52d9f9eebd1938$export$5196e4c01fa56fcb({
8203
8270
  }) {
8204
8271
  let close_toast_;
8205
8272
  const stay_open_promise = new Promise(r => close_toast_ = r);
8206
- $i7OB2$catchify(async () => {
8273
+ $i7OB2$catchify1(async () => {
8207
8274
  const closing_animation_duration = 300; // ms
8208
8275
  const element = $i7OB2$ssrElement("div", more_attributes, () => $i7OB2$escape(children), true);
8209
8276
  const [, set_is_showing_toast] = $bf52d9f9eebd1938$export$22970a0140fc759c;
8210
8277
  // if this is a memory leak the garbage collector is stupid - does someone know?
8211
- for (const ev of ["pointerover", "focusin"]) element.addEventListener(ev, $i7OB2$catchify(() => closing_animation.pause()));
8212
- for (const ev of ["pointerout", "focusout"]) element.addEventListener(ev, $i7OB2$catchify(() => closing_animation.play()));
8278
+ for (const ev of ["pointerover", "focusin"]) element.addEventListener(ev, $i7OB2$catchify1(() => closing_animation.pause()));
8279
+ for (const ev of ["pointerout", "focusout"]) element.addEventListener(ev, $i7OB2$catchify1(() => closing_animation.play()));
8213
8280
  const body = await (0, $i7OB2$observer).wait_for_element("body");
8214
8281
  const x_translate = "translateX(-50%) ";
8215
8282
  let remove_keyboard_listener;
@@ -8234,7 +8301,7 @@ function $bf52d9f9eebd1938$export$5196e4c01fa56fcb({
8234
8301
  // let other toasts close us if they open while we're still here
8235
8302
  $bf52d9f9eebd1938$var$closing_functions.add(close_toast_);
8236
8303
  set_is_showing_toast(true);
8237
- const handler = $i7OB2$catchify(({
8304
+ const handler = $i7OB2$catchify1(({
8238
8305
  key: key
8239
8306
  }) => {
8240
8307
  if (key === "Escape")
@@ -8367,7 +8434,7 @@ function $48d7e4a9707315b6$export$e026af0c7b64ea5f({
8367
8434
  }, {
8368
8435
  defer: true
8369
8436
  }));
8370
- $i7OB2$createComputed($i7OB2$on(get_search_query_, $i7OB2$catchify(() => {
8437
+ $i7OB2$createComputed($i7OB2$on(get_search_query_, $i7OB2$catchify1(() => {
8371
8438
  // when a query was submitted, clear filters if clear was pressed before
8372
8439
  const clear_value = $i7OB2$untrack(get_clear_filters_next_submit);
8373
8440
  if (clear_value) {
@@ -8394,11 +8461,11 @@ function $21f51c14cb3f586f$export$84bba84a7b837187(read_search_query) {
8394
8461
  const key = "depict_searches";
8395
8462
  const previous_searches = $i7OB2$createSignal(JSON.parse(ls[key] || "[]"));
8396
8463
  const [read_previous_searches, write_previous_searches] = previous_searches;
8397
- $i7OB2$createEffect($i7OB2$catchify(() => {
8464
+ $i7OB2$createEffect($i7OB2$catchify1(() => {
8398
8465
  const json_encoded = JSON.stringify(read_previous_searches());
8399
8466
  if (ls[key] !== json_encoded) ls[key] = json_encoded;
8400
8467
  }));
8401
- $i7OB2$createComputed($i7OB2$catchify(() => {
8468
+ $i7OB2$createComputed($i7OB2$catchify1(() => {
8402
8469
  const searches = $i7OB2$untrack(read_previous_searches);
8403
8470
  const current_query = read_search_query();
8404
8471
  if (!current_query)
@@ -8441,7 +8508,7 @@ async function $bfd908d13d90934c$export$e16630ecb9644a1c({
8441
8508
  after_submit_?.();
8442
8509
  }
8443
8510
  function $8f9120a1ca151e6a$export$205efb947c7ffd78(handler, passive = true, override_element) {
8444
- const catchified_handler = $i7OB2$catchify(handler);
8511
+ const catchified_handler = $i7OB2$catchify1(handler);
8445
8512
  const owner = $i7OB2$getOwner();
8446
8513
  // Some customers (e.g. equestrian) have `height: 100%` and/or `overflow-x: hidden` on the body, which means that scroll events won't get dispatched on `window`. The pages who get it on <body> won't get it on `window` and vice-versa, so there shouldn't be a worry about duplicate calling of the handler.
8447
8514
  // Use observer in case that this gets called before body exists
@@ -8483,7 +8550,7 @@ function $d68658730065de95$export$181cceed5c91919e(callback, alsoRaF, passiveLis
8483
8550
  $i7OB2$createEffect(() => {
8484
8551
  if (alsoRaF?.()) {
8485
8552
  let disposed = false;
8486
- const fn = $i7OB2$catchify(() => {
8553
+ const fn = $i7OB2$catchify1(() => {
8487
8554
  if (disposed) return;
8488
8555
  probablyCallCallback();
8489
8556
  requestAnimationFrame(fn);
@@ -8496,10 +8563,10 @@ function $d68658730065de95$export$181cceed5c91919e(callback, alsoRaF, passiveLis
8496
8563
  // "resize" doesn't fire sometimes when it should, also it doesn't when showing/hiding scrollbars which disabling scrolling does
8497
8564
  // this works
8498
8565
  // keeping resize just in case
8499
- const resize_resize_observer = new ResizeObserver($i7OB2$catchify(probablyCallCallback));
8566
+ const resize_resize_observer = new ResizeObserver($i7OB2$catchify1(probablyCallCallback));
8500
8567
  resize_resize_observer.observe(document.documentElement);
8501
8568
  (0, $i7OB2$observer).wait_for_element("body").then(resize_resize_observer.observe.bind(resize_resize_observer));
8502
- $i7OB2$onCleanup($i7OB2$catchify(() => resize_resize_observer.disconnect()));
8569
+ $i7OB2$onCleanup($i7OB2$catchify1(() => resize_resize_observer.disconnect()));
8503
8570
  return probablyCallCallback;
8504
8571
  }
8505
8572
  const $b6d5529b253681aa$export$3f238c96c45e6cc6 = 1;
@@ -8530,7 +8597,7 @@ function $b6d5529b253681aa$export$b3ad617e9036868({
8530
8597
  }, pollAlignment);
8531
8598
  let ro;
8532
8599
  if (alignment & $b6d5529b253681aa$export$902f8b4a7dae5d78 || alignment & $b6d5529b253681aa$export$5097308c5200105a) {
8533
- ro = new ResizeObserver($i7OB2$catchify(records => {
8600
+ ro = new ResizeObserver($i7OB2$catchify1(records => {
8534
8601
  records.forEach(({
8535
8602
  contentRect: {
8536
8603
  width: width
@@ -8553,7 +8620,7 @@ function $b6d5529b253681aa$export$b3ad617e9036868({
8553
8620
  }));
8554
8621
  ro.observe(input_field);
8555
8622
  }
8556
- $i7OB2$onCleanup($i7OB2$catchify(() => ro?.disconnect()));
8623
+ $i7OB2$onCleanup($i7OB2$catchify1(() => ro?.disconnect()));
8557
8624
  return ensureAlignedPosition;
8558
8625
  }
8559
8626
  const $fc5a12f3a857ca30$var$get_available_range = (available_filters_, search_for_field) => {
@@ -8753,7 +8820,7 @@ function $6db49ca163afa2c3$export$83fd5de5504a7a67({
8753
8820
  fill: "forwards",
8754
8821
  easing: "ease-in-out"
8755
8822
  });
8756
- animation.addEventListener("finish", $i7OB2$catchify(() => {
8823
+ animation.addEventListener("finish", $i7OB2$catchify1(() => {
8757
8824
  if (unpermit_when_possible) set_permitted_to_show(false);
8758
8825
  animation = undefined;
8759
8826
  element.style.display = "none";
@@ -8818,7 +8885,7 @@ function $056f6ac0a6caa919$export$5e4aed86c12acdd9({
8818
8885
  is_first_load = true;
8819
8886
  });
8820
8887
  // percentage_in_view_ has equals: false so it should update even when set to the same value. That is to make sure that if the user bounces around below the "viewport" of our product listing we still start fetching as soon as is_loading_more becomes false again and we get IntersectionObserverEntries
8821
- $i7OB2$createEffect($i7OB2$catchify(async () => {
8888
+ $i7OB2$createEffect($i7OB2$catchify1(async () => {
8822
8889
  const be_above_percentage = is_first_load ? 50 : 75; // if first load, load earlier
8823
8890
  if (percentage_in_view_() < be_above_percentage || is_loading_more) return;
8824
8891
  if (!get_last_cursor()) {
@@ -9508,7 +9575,7 @@ function $f8c929beb82c512b$export$9dd50d35b9d94fdf({
9508
9575
  number_of_results_: number_of_results_,
9509
9576
  type: type
9510
9577
  }) {
9511
- const contents = $i7OB2$createMemo($i7OB2$catchify(() => {
9578
+ const contents = $i7OB2$createMemo($i7OB2$catchify1(() => {
9512
9579
  const q = get_search_query_();
9513
9580
  return i18n_[type === $f8c929beb82c512b$export$2452208c79fe93ea.content ? "get_showing_pages_for_" : "get_showing_results_for_"]()($i7OB2$ssr($f8c929beb82c512b$var$_tmpl$, $i7OB2$ssrHydrationKey(), $i7OB2$escape(q)), $i7OB2$ssr($f8c929beb82c512b$var$_tmpl$, $i7OB2$ssrHydrationKey(), $i7OB2$escape(formatted_number_of_results_())), !!q, number_of_results_());
9514
9581
  }));
@@ -9655,7 +9722,7 @@ function $757dac7f7c6c5241$export$9bf11afa910f536e({
9655
9722
  set_search_sorting_open(true);
9656
9723
  }
9657
9724
  });
9658
- $i7OB2$onCleanup($i7OB2$catchify(() => {
9725
+ $i7OB2$onCleanup($i7OB2$catchify1(() => {
9659
9726
  if (!sorting_expanded() && !filters_expanded()) {
9660
9727
  set_search_filters_open(false);
9661
9728
  set_search_sorting_open(false);
@@ -9764,7 +9831,7 @@ function $cdea4cf8c5c071ef$export$d7841e452f2e59a8({
9764
9831
  const [sorting_open, set_sorting_open] = search_sorting_open_;
9765
9832
  const [get_current_sorting_] = current_sorting_;
9766
9833
  const [is_small, set_is_small] = $i7OB2$createSignal(false);
9767
- const dismiss_modal_ = $i7OB2$catchify(() => {
9834
+ const dismiss_modal_ = $i7OB2$catchify1(() => {
9768
9835
  set_filters_open(false);
9769
9836
  set_sorting_open(false);
9770
9837
  });
@@ -9850,7 +9917,7 @@ function $cdea4cf8c5c071ef$export$d7841e452f2e59a8({
9850
9917
  }));else set_extra_els_in_results_container_($i7OB2$ssr($cdea4cf8c5c071ef$var$_tmpl$2, $i7OB2$ssrHydrationKey(), $i7OB2$escape($i7OB2$createComponent((0, $68a258a92b88f02f$export$1f1775a58da589b5), sorting_options))));
9851
9918
  }
9852
9919
  });
9853
- $i7OB2$catchify(async () => {
9920
+ $i7OB2$catchify1(async () => {
9854
9921
  ({
9855
9922
  open_modal_: open_modal_,
9856
9923
  close_modal_: close_modal_
@@ -10016,7 +10083,7 @@ function $0b0380f75d729d63$var$ActualFloatingButtons({
10016
10083
  }
10017
10084
  old_pos = new_pos;
10018
10085
  });
10019
- const touchstart_handler = $i7OB2$catchify(e => {
10086
+ const touchstart_handler = $i7OB2$catchify1(e => {
10020
10087
  is_in_touch_scroll = true;
10021
10088
  if (e.touches.length === 1) {
10022
10089
  // we had no touches but then we got some. Adding a new touch cancels the inertia. We are in a new touch so do reset the diff
@@ -10024,12 +10091,12 @@ function $0b0380f75d729d63$var$ActualFloatingButtons({
10024
10091
  diff_over_second_or_touch = 0;
10025
10092
  }
10026
10093
  });
10027
- const touchend_handler = $i7OB2$catchify(e => {
10094
+ const touchend_handler = $i7OB2$catchify1(e => {
10028
10095
  if (e.touches.length === 0)
10029
10096
  // scroll gesture of any type (pinch can also be used as scroll, etc.) ended
10030
10097
  inertia_timeout = setTimeout(
10031
10098
  // inertia ends after 500ms (educated guess)
10032
- $i7OB2$catchify(() => {
10099
+ $i7OB2$catchify1(() => {
10033
10100
  is_in_touch_scroll = false;
10034
10101
  diff_over_second_or_touch = 0;
10035
10102
  }), 500);
@@ -10047,9 +10114,9 @@ function $0b0380f75d729d63$var$ActualFloatingButtons({
10047
10114
  const everything_closed = !get_search_filters_open_() && !get_search_sorting_open_();
10048
10115
  if (!$i7OB2$untrack(modal_is_closed) && everything_closed)
10049
10116
  // I think the point of this is to delay the animation a bit IIRC
10050
- timeout = setTimeout($i7OB2$catchify(() => set_if_modal_is_closed(true)), 200);else set_if_modal_is_closed(everything_closed);
10117
+ timeout = setTimeout($i7OB2$catchify1(() => set_if_modal_is_closed(true)), 200);else set_if_modal_is_closed(everything_closed);
10051
10118
  });
10052
- $i7OB2$createComputed($i7OB2$catchify(async () => {
10119
+ $i7OB2$createComputed($i7OB2$catchify1(async () => {
10053
10120
  const element = sort_and_filter_element_();
10054
10121
  if (!element) return;
10055
10122
  await (0, $i7OB2$observer).wait_for_element(element);
@@ -10068,7 +10135,7 @@ function $587cd61972788655$export$210f130a61ac1e8d(fn) {
10068
10135
  let last_queued;
10069
10136
  let last_value;
10070
10137
  let initial_run = true;
10071
- $i7OB2$createComputed($i7OB2$catchify(async () => {
10138
+ $i7OB2$createComputed($i7OB2$catchify1(async () => {
10072
10139
  last_value = fn();
10073
10140
  if (initial_run) {
10074
10141
  initial_run = false;
@@ -10115,7 +10182,7 @@ function $641bba2917fe862b$export$6e49da55e449af7c({
10115
10182
  }]); // get rid of old data the browser saves the old state and will restore it later on
10116
10183
  };
10117
10184
 
10118
- $i7OB2$createComputed($i7OB2$catchify(() => {
10185
+ $i7OB2$createComputed($i7OB2$catchify1(() => {
10119
10186
  const last_result = get_last_result_in_viewport_();
10120
10187
  if (last_result == undefined || last_result <= 0 || last_result == Infinity) return;
10121
10188
  if (isNaN(last_result)) {
@@ -10142,7 +10209,7 @@ function $641bba2917fe862b$export$6e49da55e449af7c({
10142
10209
  set_to_later = last_result;
10143
10210
  // If a delayed push timeout is already running, just changing the value that will be pushed is sufficient
10144
10211
  if (timeout) return;
10145
- timeout = setTimeout($i7OB2$catchify(() => {
10212
+ timeout = setTimeout($i7OB2$catchify1(() => {
10146
10213
  timeout = undefined;
10147
10214
  last_time_history_changed = +new Date();
10148
10215
  set_min_results_loaded(set_to_later);
@@ -10244,7 +10311,7 @@ function $b2bf2cdcff8142d8$export$f631859cab12b342({
10244
10311
  if (!result) return;
10245
10312
  return {
10246
10313
  href: result.page_url,
10247
- onClick: $i7OB2$catchify(ev => router_.navigate_.go_to_({
10314
+ onClick: $i7OB2$catchify1(ev => router_.navigate_.go_to_({
10248
10315
  new_url_: result.page_url,
10249
10316
  is_replace_: false,
10250
10317
  event_: ev
@@ -10605,7 +10672,7 @@ function $0e562a5b247b1fc2$export$44f738469d5570cf({
10605
10672
  // We might only have changed the left position which align_field doesn't know about, make it poll the position for a while
10606
10673
  setPollAlignment_(true);
10607
10674
  if (disableResizePollingTimeout) clearTimeout(disableResizePollingTimeout);
10608
- disableResizePollingTimeout = setTimeout($i7OB2$catchify(() => {
10675
+ disableResizePollingTimeout = setTimeout($i7OB2$catchify1(() => {
10609
10676
  setPollAlignment_(false);
10610
10677
  disableResizePollingTimeout = undefined;
10611
10678
  }), 1000);
@@ -10737,7 +10804,7 @@ function $7097477c78a89208$export$a54ec244c8863715({
10737
10804
  } : {})
10738
10805
  };
10739
10806
  });
10740
- const [search_results_] = $i7OB2$createResource(search_query_base_, $i7OB2$catchify(async base_query => {
10807
+ const [search_results_] = $i7OB2$createResource(search_query_base_, $i7OB2$catchify1(async base_query => {
10741
10808
  set_all_products_loaded(false);
10742
10809
  // only first page of results
10743
10810
  return await $641bba2917fe862b$export$cc42dd29bf655ab6({
@@ -10776,7 +10843,7 @@ function $7097477c78a89208$export$a54ec244c8863715({
10776
10843
  const [, setModalFieldStyle] = modal_field_style;
10777
10844
  const [, setModalBackdropStyle] = modal_backdrop_style;
10778
10845
  const [get_search_field_elements, set_search_field_elements] = $i7OB2$createSignal();
10779
- const SafeSearchField = $i7OB2$catchify((0, $5285d2814d0fac0c$export$b94867ecbd698f21));
10846
+ const SafeSearchField = $i7OB2$catchify1((0, $5285d2814d0fac0c$export$b94867ecbd698f21));
10780
10847
  const [sort_or_filter_open_, set_sort_or_filter_open_] = $i7OB2$createSignal(false);
10781
10848
  const [desktop_filter_elements_, set_desktop_filter_elements] = $i7OB2$createSignal();
10782
10849
  const n_hits = $i7OB2$createMemo(() => search_results_()?.n_hits);
@@ -10826,7 +10893,7 @@ function $7097477c78a89208$export$a54ec244c8863715({
10826
10893
  $i7OB2$runWithOwner(owner, () => results_filters[1](matches ? [results_for, filters_opener] : $i7OB2$ssr($7097477c78a89208$var$_tmpl$, $i7OB2$ssrHydrationKey(), $i7OB2$escape(results_for), $i7OB2$escape(filters_opener))));
10827
10894
  }).remove);
10828
10895
  $2ab89d64b7f1d5ef$export$d31a1a1a83ad9413(search_results_, selected_filters_);
10829
- $i7OB2$catchify((0, $641bba2917fe862b$export$6e49da55e449af7c))({
10896
+ $i7OB2$catchify1((0, $641bba2917fe862b$export$6e49da55e449af7c))({
10830
10897
  scroll_restoration_data_: scroll_restoration_data_,
10831
10898
  last_result_in_viewport_: last_result_in_viewport_,
10832
10899
  id_: get_search_query_,
@@ -10872,8 +10939,8 @@ function $7097477c78a89208$export$a54ec244c8863715({
10872
10939
  setModalBodyStyle({});
10873
10940
  modalAlignmentSignalsRef_?.(alignmentSignals_);
10874
10941
  const [pollAlignment, setPollAlignment_] = $i7OB2$createSignal(false);
10875
- const align_position = $i7OB2$catchify((0, $b6d5529b253681aa$export$b3ad617e9036868))(alignmentSignals_, search_field, (0, $b6d5529b253681aa$export$3f238c96c45e6cc6) | (0, $b6d5529b253681aa$export$7895aadd1956b1c7) | (modalVersionUsed_ === 1 ? (0, $b6d5529b253681aa$export$902f8b4a7dae5d78) : (0, $b6d5529b253681aa$export$6060bc6bee850eb6) | (0, $b6d5529b253681aa$export$5097308c5200105a)), true, pollAlignment);
10876
- div_with_field_class.addEventListener("click", $i7OB2$catchify(e => {
10942
+ const align_position = $i7OB2$catchify1((0, $b6d5529b253681aa$export$b3ad617e9036868))(alignmentSignals_, search_field, (0, $b6d5529b253681aa$export$3f238c96c45e6cc6) | (0, $b6d5529b253681aa$export$7895aadd1956b1c7) | (modalVersionUsed_ === 1 ? (0, $b6d5529b253681aa$export$902f8b4a7dae5d78) : (0, $b6d5529b253681aa$export$6060bc6bee850eb6) | (0, $b6d5529b253681aa$export$5097308c5200105a)), true, pollAlignment);
10943
+ div_with_field_class.addEventListener("click", $i7OB2$catchify1(e => {
10877
10944
  const target = e.target;
10878
10945
  const sel = ".submit";
10879
10946
  if (target?.matches?.(sel) || target?.closest?.(sel))
@@ -11210,7 +11277,7 @@ class $806c97b931758897$export$ac6237957a15b3f0 {
11210
11277
  BackIcon_: BackIcon_
11211
11278
  });
11212
11279
  $90980bd87c9960f9$export$5162a71f252e6122();
11213
- $i7OB2$catchify(async () => {
11280
+ $i7OB2$catchify1(async () => {
11214
11281
  const {
11215
11282
  open_modal_: open_modal_,
11216
11283
  close_modal_: close_modal_
@@ -11451,7 +11518,7 @@ function $806c97b931758897$export$f2dc7e4e4aa11abb(props) {
11451
11518
  function $4ca91518c9a35379$export$828dcdd425fd3231(aligner) {
11452
11519
  const style_element = document.createElement("style");
11453
11520
  document.head.append(style_element);
11454
- const resize_observer = new ResizeObserver($i7OB2$catchify(() => {
11521
+ const resize_observer = new ResizeObserver($i7OB2$catchify1(() => {
11455
11522
  const styles = $926b1b5ba2239356$export$1233ca167bf71f9a({
11456
11523
  ".depict.plp .depict-search-modal .search-field": {
11457
11524
  "height": `${aligner?.clientHeight}px`
@@ -11520,7 +11587,7 @@ const $6891c018a834cfdd$export$d86a33413558014e = openModalParams => {
11520
11587
  }, dispose_aligner];
11521
11588
  };
11522
11589
  function $6e8944558258054f$export$d0596b5cae35ad4(open_search) {
11523
- const handler = $i7OB2$catchify(e => {
11590
+ const handler = $i7OB2$catchify1(e => {
11524
11591
  const {
11525
11592
  key: key,
11526
11593
  target: target
@@ -11539,7 +11606,7 @@ function $6e8944558258054f$export$d0596b5cae35ad4(open_search) {
11539
11606
  function $6936724b9e0b98d5$export$689e204eadb33baf(pr) {
11540
11607
  let old_url;
11541
11608
  let disconnect_link_observer;
11542
- const link_handler = $i7OB2$catchify(e => {
11609
+ const link_handler = $i7OB2$catchify1(e => {
11543
11610
  const link = e.currentTarget || e.target;
11544
11611
  if (link.href === old_url) {
11545
11612
  history.pushState(history.state, "", link.href);
@@ -11548,7 +11615,7 @@ function $6936724b9e0b98d5$export$689e204eadb33baf(pr) {
11548
11615
  });
11549
11616
  let remove_added_listeners;
11550
11617
  let resolve_remove_added_listeners;
11551
- pr.addEventListener("open", $i7OB2$catchify(() => {
11618
+ pr.addEventListener("open", $i7OB2$catchify1(() => {
11552
11619
  remove_added_listeners = new Promise(r => resolve_remove_added_listeners = r);
11553
11620
  disconnect_link_observer = (0, $i7OB2$observer).onexists("a", async ({
11554
11621
  element: element
@@ -11558,11 +11625,11 @@ function $6936724b9e0b98d5$export$689e204eadb33baf(pr) {
11558
11625
  element.removeEventListener("click", link_handler);
11559
11626
  });
11560
11627
  }));
11561
- pr.addEventListener("close", $i7OB2$catchify(() => {
11628
+ pr.addEventListener("close", $i7OB2$catchify1(() => {
11562
11629
  disconnect_link_observer?.();
11563
11630
  resolve_remove_added_listeners?.();
11564
11631
  }));
11565
- $i7OB2$catchify(async () => {
11632
+ $i7OB2$catchify1(async () => {
11566
11633
  for await (const href of (0, $i7OB2$href_change_ipns)) if (!pr.is_page_(new URL(href))) old_url = href;
11567
11634
  })();
11568
11635
  }
@@ -11574,7 +11641,7 @@ class $753e9b2889a47c89$export$3ccaa27d81dd8556 extends EventTarget {
11574
11641
  static #reverting_permitted = true;
11575
11642
  static #visited_urls = /*@__PURE__*/(() => {
11576
11643
  // Keep track of all URLs that have been visited since the document that was initially loaded (loaded means the process where the browser creates a new `document` and `window` object).
11577
- $i7OB2$catchify(async () => {
11644
+ $i7OB2$catchify1(async () => {
11578
11645
  // Static initialization blocks aren't supported in MobileSafari yet, otherwise this would be one.
11579
11646
  // I don't think we want to ship a library that users are *forced* to transpile, it should run in the newest version of all major browsers. So we'll just use a function wrapper for now (adding "last 1 ios version" to the build target does a bunch of other unneeded transpilations).
11580
11647
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Static_initialization_blocks
@@ -11592,7 +11659,7 @@ class $753e9b2889a47c89$export$3ccaa27d81dd8556 extends EventTarget {
11592
11659
  async #listen() {
11593
11660
  const [exit_ipns, exitable_ipns] = $i7OB2$make_asyncIterable_exiter((0, $i7OB2$href_change_ipns));
11594
11661
  this.#stop_listening = exit_ipns;
11595
- const caught_page_check_fn = $i7OB2$catchify(this.is_page_, "page check failed");
11662
+ const caught_page_check_fn = $i7OB2$catchify1(this.is_page_, "page check failed");
11596
11663
  for await (const href of exitable_ipns) {
11597
11664
  const url = new URL(href);
11598
11665
  if (!caught_page_check_fn(url)) {
@@ -11610,17 +11677,17 @@ class $753e9b2889a47c89$export$3ccaa27d81dd8556 extends EventTarget {
11610
11677
  this.addEventListener("close", dispose, {
11611
11678
  once: true
11612
11679
  });
11613
- return $i7OB2$catchify(this.render_, "rendering failed")() || [];
11680
+ return $i7OB2$catchify1(this.render_, "rendering failed")() || [];
11614
11681
  });
11615
11682
  }
11616
- #unload = /*@__PURE__*/$i7OB2$catchify(() => {
11683
+ #unload = /*@__PURE__*/$i7OB2$catchify1(() => {
11617
11684
  if (!this.#is_open) return;
11618
11685
  this.#disconnect_observer?.();
11619
11686
  if ($753e9b2889a47c89$export$3ccaa27d81dd8556.#reverting_permitted) while (this.#revert_fns.length) this.#revert_fns.pop()?.();
11620
11687
  this.#is_open = false;
11621
11688
  this.dispatchEvent(new CustomEvent("close"));
11622
11689
  }, "failed to close page");
11623
- #load = /*@__PURE__*/$i7OB2$catchify(async els => {
11690
+ #load = /*@__PURE__*/$i7OB2$catchify1(async els => {
11624
11691
  this.#is_open = true;
11625
11692
  // So that #load doesn't get called again
11626
11693
  let set_should_stay_inserted;
@@ -11670,7 +11737,7 @@ class $753e9b2889a47c89$export$3ccaa27d81dd8556 extends EventTarget {
11670
11737
  }, "failed to open page");
11671
11738
  #empty_page_bugfix() {
11672
11739
  // Called when a "page" is "opened" using PageReplacer
11673
- const on_maybe_popstate = $i7OB2$catchify(what_happened => {
11740
+ const on_maybe_popstate = $i7OB2$catchify1(what_happened => {
11674
11741
  if (what_happened !== "popstate") return;
11675
11742
  const cleaned_current_url = $753e9b2889a47c89$var$clean_url(location.href);
11676
11743
  if (!$753e9b2889a47c89$export$3ccaa27d81dd8556.#visited_urls.has(cleaned_current_url)) {
@@ -11694,7 +11761,7 @@ class $753e9b2889a47c89$export$3ccaa27d81dd8556 extends EventTarget {
11694
11761
  PageReplacer unload itself and reveals the original document - it is expected to be the one under https://ehandel.spendrups.se/Product/1104201, but actually it is the one under /start/search - a white page.
11695
11762
  The fix: is to remember all pages that we have visited since the creation of `window` (we do that by having a static property on PageReplacer since we assume the PageReplacer source code will only exist once on the page and will be loaded at page load, the latter assumption might be wrong, but I hope not). If we get a "popstate" event (meaning back or forwards button, not new page being pushed) to an unknown page we reload.
11696
11763
  */
11697
- $i7OB2$dlog("PageReplacer: ", cleaned_current_url, " hasn't been visited since document was created, reloading since we won't be able to show this page otherwise");
11764
+ $i7OB2$dlog1("PageReplacer: ", cleaned_current_url, " hasn't been visited since document was created, reloading since we won't be able to show this page otherwise");
11698
11765
  location.reload();
11699
11766
  $753e9b2889a47c89$export$3ccaa27d81dd8556.#reverting_permitted = false; // Disallow any reverting since we can't - it would flash a white page until the reload has finished.
11700
11767
  this.#unload(); // Call unload to "kill" the solid-js stuff quicker so that it stops updating - the user is expecting the next thing that happens to be a navigation to the actual page the URL says they're on.
@@ -11772,7 +11839,7 @@ function $58b3487626e85ece$export$316f6f283ae64765(props) {
11772
11839
  field_: $i7OB2$createSignal({}),
11773
11840
  backdrop_: backdropAlignmentSignal_
11774
11841
  };
11775
- const defaultHandler = $i7OB2$catchify(e => {
11842
+ const defaultHandler = $i7OB2$catchify1(e => {
11776
11843
  const {
11777
11844
  modalVersionUsed_: modalVersionUsed_
11778
11845
  } = shared_properties;
@@ -11899,7 +11966,7 @@ function $06edf3aec9073663$export$466cdc317043f6cb({
11899
11966
  }];
11900
11967
  $i7OB2$createComputed(() => {
11901
11968
  if (place_holdey_quicklinks_data()?.[0]?.listing_id) {
11902
- if (last_was_placeholder) queueMicrotask($i7OB2$catchify(() => {
11969
+ if (last_was_placeholder) queueMicrotask($i7OB2$catchify1(() => {
11903
11970
  sliding_element?.scrollTo({
11904
11971
  left: 0
11905
11972
  }); // for some reason we land one element to the right after placeholder rendering otherwise
@@ -11965,7 +12032,7 @@ function $06edf3aec9073663$export$466cdc317043f6cb({
11965
12032
  } else if (!(intersecting_items_object[selected_index()]?.intersectionRatio >= 0.95)) {
11966
12033
  // negated larger than to handle left side of comparison being undefined
11967
12034
  let done_work = false;
11968
- $i7OB2$runWithOwner(owner, () => $i7OB2$createComputed($i7OB2$catchify(() => {
12035
+ $i7OB2$runWithOwner(owner, () => $i7OB2$createComputed($i7OB2$catchify1(() => {
11969
12036
  if (done_work || !Array.isArray(quicklinks_data_())) return;
11970
12037
  const sel_index = selected_index();
11971
12038
  const target_element = sel_index >= 0 ? sel_index : 0;
@@ -12110,7 +12177,7 @@ function $e7fce80abe608e01$export$3945d6db2dfd3d12({
12110
12177
  const handler = () => allow_filter_clearing = false;
12111
12178
  window.addEventListener("popstate", handler); // popstate only gets called when using back/forwards button of browser or the history navigate to achieve the same, but not on pushState or replaceState
12112
12179
  $i7OB2$onCleanup(() => window.removeEventListener("popstate", handler));
12113
- $i7OB2$createEffect($i7OB2$on(crumb_data_, $i7OB2$catchify(new_crumb_data => {
12180
+ $i7OB2$createEffect($i7OB2$on(crumb_data_, $i7OB2$catchify1(new_crumb_data => {
12114
12181
  const id_of_new_data = id_to_query_for_();
12115
12182
  const type_of_id_of_new_data = id_type_();
12116
12183
  if (allow_filter_clearing && previous_crumb_data && new_crumb_data && (id_of_new_data !== id_when_we_got_previous_data.id_ || type_of_id_of_new_data !== id_when_we_got_previous_data.type_)) {
@@ -12160,7 +12227,7 @@ function $e7fce80abe608e01$var$clear_if_opened_new_tab_with_sideways_url_params_
12160
12227
  // On first rendering of the CategoryPage (after we have results), check if we got to this URL by going sideways in QuickLinks and clear filters with toast if so
12161
12228
  if (!$i7OB2$untrack(get_sideways_filter_clearing_flag_)) return;
12162
12229
  set_sideways_filter_clearing_flag_(false);
12163
- $i7OB2$dlog("Flag to clear filters was set, clearing filters");
12230
+ $i7OB2$dlog1("Flag to clear filters was set, clearing filters");
12164
12231
  $i7OB2$queueMacroTask(() => {
12165
12232
  // Do it next task so that all the filters have time to populate
12166
12233
  $e9342fb3ac73a54a$export$8895d39404bd2bb1({
@@ -12251,7 +12318,7 @@ function $df5d81d0fe61ff21$export$f7d2f673fc2f091d({
12251
12318
  // Make "Get products in listing" request to get products in listing
12252
12319
  const [plp_products_] = $i7OB2$createResource(products_query_base_,
12253
12320
  // only first page of results, unless the history state says we should load more (can't do that in load more thing, I tested, they need to be added at once for the browser to not give up scroll restoration)
12254
- $i7OB2$catchify1(base_query => $641bba2917fe862b$export$cc42dd29bf655ab6({
12321
+ $i7OB2$catchify(base_query => $641bba2917fe862b$export$cc42dd29bf655ab6({
12255
12322
  id_: $i7OB2$untrack(id_to_query_for_),
12256
12323
  scroll_restoration_data_: scroll_restoration_data_,
12257
12324
  min_products_to_fetch_: min_products_to_fetch_,
@@ -12271,7 +12338,7 @@ function $df5d81d0fe61ff21$export$f7d2f673fc2f091d({
12271
12338
  id_type_: id_type_()
12272
12339
  }));
12273
12340
  // Make "Get Listing" request to get quicklinks, breadcrumbs, title, etc
12274
- const [plp_meta] = $i7OB2$createResource(meta_query_base, $i7OB2$catchify1(query => depict_api_.get_listing(query)));
12341
+ const [plp_meta] = $i7OB2$createResource(meta_query_base, $i7OB2$catchify(query => depict_api_.get_listing(query)));
12275
12342
  const available_sortings_ = $i7OB2$createMemo(() => plp_products_()?.sorts?.map(sort => ({
12276
12343
  ...sort,
12277
12344
  order: sort.order ?? "desc"
@@ -12380,7 +12447,7 @@ function $df5d81d0fe61ff21$export$f7d2f673fc2f091d({
12380
12447
  filterModalParent_: filterModalParent_,
12381
12448
  ...extra_sort_and_filter_args_
12382
12449
  });
12383
- $i7OB2$catchify1((0, $641bba2917fe862b$export$6e49da55e449af7c))({
12450
+ $i7OB2$catchify((0, $641bba2917fe862b$export$6e49da55e449af7c))({
12384
12451
  scroll_restoration_data_: scroll_restoration_data_,
12385
12452
  last_result_in_viewport_: last_result_in_viewport_,
12386
12453
  id_: id_to_query_for_,
@@ -12393,7 +12460,7 @@ function $df5d81d0fe61ff21$export$f7d2f673fc2f091d({
12393
12460
  $i7OB2$createComputed(() => {
12394
12461
  if (plp_products_.loading) set_can_write_scroll_restoration(false);else if (plp_products_()) set_can_write_scroll_restoration(true);
12395
12462
  });
12396
- $i7OB2$createRenderEffect($i7OB2$catchify1(async () => {
12463
+ $i7OB2$createRenderEffect($i7OB2$catchify(async () => {
12397
12464
  const slim = is_slim_();
12398
12465
  const only_show_filters_opener = only_show_filters_opener_?.();
12399
12466
  const owner = $i7OB2$getOwner();
@@ -12638,4 +12705,4 @@ function $442f32a4d80abbde$export$e2bf8ce7779e827e(props) {
12638
12705
  }, "Entire CategoryPage failed");
12639
12706
  }
12640
12707
  $i7OB2$add_to_version_info("ui", (0, $ec291e0010116877$export$83d89fbfd8236492));
12641
- export { $5e3d278ef4c80cd7$export$54299a3c81f5425 as useVisibilityState, $f32e14878e75af51$export$eaa625fb39439e37 as useSlidableInformation, $f091294da861020c$export$80bb7300ce6a8be3 as useProductCardIsVisible, $f091294da861020c$export$f223d69ed12f5fb7 as CurrentlyIntersectingContext, $24e27fab9c821b86$export$5bad61ecde080b1f as useExpandingContainerReactive, $07ef910e8ef6b783$export$2c9f9bf2092486aa as LooksSliderOrGrid, $28ee4f7db3cc44b8$export$44809a8a3e867e30 as LookCard, $4fd2ba03703a7d92$export$7e1297a3a19f10d8 as PseudoRouter, $de6ccd37192b5fc2$export$83bb9af5671e1dbe as promiseSafeStructuredClone, $90980bd87c9960f9$export$5162a71f252e6122 as preserve_items_in_history_dot_state, $90980bd87c9960f9$export$3064e1e8c6513da3 as prefixes_to_preserve_in_history_dot_state, $a281666e5c15c2ec$export$29d28dadc2d6b631 as allowNativeNavigation, $66db7a014e20802e$export$1ea76ea778b880dd as modalVersionSymbol, $136f1d4d6c7ba6ac$export$e417c49320921907 as createDeparallelizedNoDropResource, $d8dbf52fea1773e2$export$f50b88e2a00918b5 as throw_globally, $42912431795f188e$export$9265e66f26f8e383 as ClassicSearchModal, $500a16dd18ee5a71$export$b0c55aa2e87c4be7 as SearchModalV2, $70bb27cc6be01fc7$export$9d4a4b669b1929ab as ModernResponsiveContainedImage, $024fbc0a2d796fad$export$3e41faf802a29e71 as Tab, $024fbc0a2d796fad$export$b2539bed5023c21c as Tabs, $8560c919ff763930$export$d4973c31938cbfd1 as ShopTheLookButton, $ca6f574bd8772184$export$e183a13865960371 as history_dot_state_to_state, $4147651646da990a$export$916e6850778505f6 as strip_encoded_filter_and_sort, $4147651646da990a$export$58aa3f171519b6d7 as encode_filters, $4147651646da990a$export$f934fa24c3a86811 as decode_filters, $4147651646da990a$export$62acb285a7579555 as encode_sorting, $4147651646da990a$export$766e9676e74997d3 as decode_sorting, $660070e2a394b3c3$export$d7b7ab832c20e2f4 as shopifyContainedImageContextSymbol, $011607bdf658f807$export$e68cff63f76bd15b as ListingProvider, $011607bdf658f807$export$8d0c4fdbb05a2f2e as useListing, $b6440e72ed83671a$export$11354f017ddc9790 as ProductCardIndexProvider, $b6440e72ed83671a$export$e3faf4d95300054f as useProductCardIndex, $660070e2a394b3c3$export$e4b984597b71e989 as ShopifyContainedImage, $f32e14878e75af51$export$6649caad96ef8870 as SlidableItems, $2449872a62a75a20$export$ebdc3711f7e02ccd as make_accurate_width_accessor, $ee116da074deb002$export$9574e176201e5e8d as RecommendationSlider, $9ea5383493360761$export$9756467d34d91cdb as RecommendationGrid, $e8ffe11ed01df0fe$export$6e5611bc7e57e477 as ShopifyResponsiveImg, $e8ffe11ed01df0fe$export$e6fffe67d4cdd848 as makeSizeAccessor, $f18d425032111270$export$94026ee33dbabc26 as ImageContainer, $b7436a6d1fd64e3b$export$b69d0d92862de18b as SentryErrorBoundary, $b7436a6d1fd64e3b$export$240ecf5363d76c0f as ExtraSentryContextProvider, $6bb0a0c563dff4bb$export$6c6d7a51fa9aa15d as ExpandingDetails, $c16e74cfe125bb05$export$f091cbac892643a4 as accessor_of_object_to_object_with_accessor_values, $1adfe60f3a14a1d7$export$fecbb157621501bd as SelectedFilters, $fab07f52c9861732$export$3f1a388cc0d8fed7 as FilterBody, $5efb5894079b220e$export$b288c38ae3fddb56 as create_modified_filters, $c8d5ff4524619fcd$export$d21e32dfedac04be as SolidLayout, $c8d5ff4524619fcd$export$445d8d3f5f706a40 as SolidLayoutWithProvidedElement, $194bd6b8e4c59830$export$79b1565500412d9b as general_modal_abstraction, $19976a74d273070d$export$3b621d86b1566b2 as CrossIcon, $fbbadcb080ad1d4a$export$8be2714ec7f169ee as GenericSliderArrowButton, $a0f0e923bad68a9b$export$58e808b1db15d3bc as fetchDepictRecommendations, $e4615ecd1849548f$export$b91cec6bdc6b32a1 as CategoryTitle, $a6e23a834336fc19$export$824dde41348efed1 as embedded_num_products, $4b2134398dfa83fa$export$c1a6b039e689a58e as get_listings, $961b5c64bef4662f$export$f34314aa9505732e as DepictCategory, $806c97b931758897$export$ac6237957a15b3f0 as DepictSearch, $806c97b931758897$export$bde3eb976dfded9 as get_search_query_updating_blocked_signal, $806c97b931758897$export$f2dc7e4e4aa11abb as SearchPage, $4fd48cb976bf1789$export$aa14a9f43128f61f as ProductCardError, $6891c018a834cfdd$export$d86a33413558014e as open_modal_with_alignment, $bb15dfb548a7666e$export$ee1733d9a8495996 as DefaultInstantCardPlaceholder, $b6d5529b253681aa$export$b3ad617e9036868 as align_field, $b6d5529b253681aa$export$3f238c96c45e6cc6 as ALIGN_TOP, $b6d5529b253681aa$export$902f8b4a7dae5d78 as ALIGN_WIDTH_ON_MODAL, $b6d5529b253681aa$export$7895aadd1956b1c7 as ALIGN_LEFT, $b6d5529b253681aa$export$6060bc6bee850eb6 as SET_CENTERED_LEFT, $b5cccc8ee7d24677$export$6daf8749b65a1b77 as convert_sdk_cols_at_size_to_layout, $926b1b5ba2239356$export$1233ca167bf71f9a as styles_to_valid_css_string, $aea1edf92433e81e$export$fe334901e8bebd57 as disable_scrolling, $6e8944558258054f$export$d0596b5cae35ad4 as open_search_with_shift_slash, $7fa23e2a0079eca4$export$e015ed2f2950f2e3 as DepictAPI, $dc9262ef6f786812$export$d9f36cf74e24d595 as media_query_to_accessor, $6936724b9e0b98d5$export$689e204eadb33baf as setup_fast_leave, $bf52d9f9eebd1938$export$5196e4c01fa56fcb as show_toast, $8c0f86cb3e266eeb$export$a71e92cfbb498adc as SolidFormatPrice, $4ca91518c9a35379$export$828dcdd425fd3231 as connect_search_field_height_to_aligner_height, $d20eff0aadc28983$export$acb3eaade4b23afd as BasePlaceholder, $d134eae24341b4a1$export$89c6019e4baa40b1 as TextPlaceholder, $7f60f09116a3fe61$export$3f37af283f8fb843 as ImagePlaceholder, $753e9b2889a47c89$export$3ccaa27d81dd8556 as PageReplacer, $4690a06c8489dcd0$export$864d304a0bc46829 as defaultGridSpacing, $4690a06c8489dcd0$export$c3834fa86c616831 as defaultColsAtSize, $4690a06c8489dcd0$export$7bf543b9d9be2c22 as defaultCategoryTitlePlugin, $ec291e0010116877$export$83d89fbfd8236492 as version, $58b3487626e85ece$export$316f6f283ae64765 as SearchField, $feffae76d8dc0135$export$5b7c3ce0ebe51f86 as BreadCrumbs, $feffae76d8dc0135$export$de035477d6fef996 as QuickLinks, $442f32a4d80abbde$export$e2bf8ce7779e827e as CategoryPage };
12708
+ export { $4eb0a704f8f30273$export$d4d96868197be50e as useMobileHover, $5e3d278ef4c80cd7$export$54299a3c81f5425 as useVisibilityState, $f32e14878e75af51$export$eaa625fb39439e37 as useSlidableInformation, $f091294da861020c$export$80bb7300ce6a8be3 as useProductCardIsVisible, $f091294da861020c$export$f223d69ed12f5fb7 as CurrentlyIntersectingContext, $24e27fab9c821b86$export$5bad61ecde080b1f as useExpandingContainerReactive, $07ef910e8ef6b783$export$2c9f9bf2092486aa as LooksSliderOrGrid, $e9d1d09be9e6471e$export$44809a8a3e867e30 as LookCard, $4fd2ba03703a7d92$export$7e1297a3a19f10d8 as PseudoRouter, $de6ccd37192b5fc2$export$83bb9af5671e1dbe as promiseSafeStructuredClone, $90980bd87c9960f9$export$5162a71f252e6122 as preserve_items_in_history_dot_state, $90980bd87c9960f9$export$3064e1e8c6513da3 as prefixes_to_preserve_in_history_dot_state, $a281666e5c15c2ec$export$29d28dadc2d6b631 as allowNativeNavigation, $66db7a014e20802e$export$1ea76ea778b880dd as modalVersionSymbol, $136f1d4d6c7ba6ac$export$e417c49320921907 as createDeparallelizedNoDropResource, $d8dbf52fea1773e2$export$f50b88e2a00918b5 as throw_globally, $42912431795f188e$export$9265e66f26f8e383 as ClassicSearchModal, $500a16dd18ee5a71$export$b0c55aa2e87c4be7 as SearchModalV2, $70bb27cc6be01fc7$export$9d4a4b669b1929ab as ModernResponsiveContainedImage, $024fbc0a2d796fad$export$3e41faf802a29e71 as Tab, $024fbc0a2d796fad$export$b2539bed5023c21c as Tabs, $8560c919ff763930$export$d4973c31938cbfd1 as ShopTheLookButton, $ca6f574bd8772184$export$e183a13865960371 as history_dot_state_to_state, $4147651646da990a$export$916e6850778505f6 as strip_encoded_filter_and_sort, $4147651646da990a$export$58aa3f171519b6d7 as encode_filters, $4147651646da990a$export$f934fa24c3a86811 as decode_filters, $4147651646da990a$export$62acb285a7579555 as encode_sorting, $4147651646da990a$export$766e9676e74997d3 as decode_sorting, $660070e2a394b3c3$export$d7b7ab832c20e2f4 as shopifyContainedImageContextSymbol, $011607bdf658f807$export$e68cff63f76bd15b as ListingProvider, $011607bdf658f807$export$8d0c4fdbb05a2f2e as useListing, $b6440e72ed83671a$export$11354f017ddc9790 as ProductCardIndexProvider, $b6440e72ed83671a$export$e3faf4d95300054f as useProductCardIndex, $660070e2a394b3c3$export$e4b984597b71e989 as ShopifyContainedImage, $f32e14878e75af51$export$6649caad96ef8870 as SlidableItems, $2449872a62a75a20$export$ebdc3711f7e02ccd as make_accurate_width_accessor, $ee116da074deb002$export$9574e176201e5e8d as RecommendationSlider, $9ea5383493360761$export$9756467d34d91cdb as RecommendationGrid, $e8ffe11ed01df0fe$export$6e5611bc7e57e477 as ShopifyResponsiveImg, $e8ffe11ed01df0fe$export$e6fffe67d4cdd848 as makeSizeAccessor, $f18d425032111270$export$94026ee33dbabc26 as ImageContainer, $b7436a6d1fd64e3b$export$b69d0d92862de18b as SentryErrorBoundary, $b7436a6d1fd64e3b$export$240ecf5363d76c0f as ExtraSentryContextProvider, $6bb0a0c563dff4bb$export$6c6d7a51fa9aa15d as ExpandingDetails, $c16e74cfe125bb05$export$f091cbac892643a4 as accessor_of_object_to_object_with_accessor_values, $1adfe60f3a14a1d7$export$fecbb157621501bd as SelectedFilters, $fab07f52c9861732$export$3f1a388cc0d8fed7 as FilterBody, $5efb5894079b220e$export$b288c38ae3fddb56 as create_modified_filters, $c8d5ff4524619fcd$export$d21e32dfedac04be as SolidLayout, $c8d5ff4524619fcd$export$445d8d3f5f706a40 as SolidLayoutWithProvidedElement, $194bd6b8e4c59830$export$79b1565500412d9b as general_modal_abstraction, $19976a74d273070d$export$3b621d86b1566b2 as CrossIcon, $fbbadcb080ad1d4a$export$8be2714ec7f169ee as GenericSliderArrowButton, $a0f0e923bad68a9b$export$58e808b1db15d3bc as fetchDepictRecommendations, $e4615ecd1849548f$export$b91cec6bdc6b32a1 as CategoryTitle, $a6e23a834336fc19$export$824dde41348efed1 as embedded_num_products, $4b2134398dfa83fa$export$c1a6b039e689a58e as get_listings, $961b5c64bef4662f$export$f34314aa9505732e as DepictCategory, $806c97b931758897$export$ac6237957a15b3f0 as DepictSearch, $806c97b931758897$export$bde3eb976dfded9 as get_search_query_updating_blocked_signal, $806c97b931758897$export$f2dc7e4e4aa11abb as SearchPage, $4fd48cb976bf1789$export$aa14a9f43128f61f as ProductCardError, $6891c018a834cfdd$export$d86a33413558014e as open_modal_with_alignment, $bb15dfb548a7666e$export$ee1733d9a8495996 as DefaultInstantCardPlaceholder, $b6d5529b253681aa$export$b3ad617e9036868 as align_field, $b6d5529b253681aa$export$3f238c96c45e6cc6 as ALIGN_TOP, $b6d5529b253681aa$export$902f8b4a7dae5d78 as ALIGN_WIDTH_ON_MODAL, $b6d5529b253681aa$export$7895aadd1956b1c7 as ALIGN_LEFT, $b6d5529b253681aa$export$6060bc6bee850eb6 as SET_CENTERED_LEFT, $b5cccc8ee7d24677$export$6daf8749b65a1b77 as convert_sdk_cols_at_size_to_layout, $926b1b5ba2239356$export$1233ca167bf71f9a as styles_to_valid_css_string, $aea1edf92433e81e$export$fe334901e8bebd57 as disable_scrolling, $6e8944558258054f$export$d0596b5cae35ad4 as open_search_with_shift_slash, $7fa23e2a0079eca4$export$e015ed2f2950f2e3 as DepictAPI, $dc9262ef6f786812$export$d9f36cf74e24d595 as media_query_to_accessor, $6936724b9e0b98d5$export$689e204eadb33baf as setup_fast_leave, $bf52d9f9eebd1938$export$5196e4c01fa56fcb as show_toast, $8c0f86cb3e266eeb$export$a71e92cfbb498adc as SolidFormatPrice, $4ca91518c9a35379$export$828dcdd425fd3231 as connect_search_field_height_to_aligner_height, $d20eff0aadc28983$export$acb3eaade4b23afd as BasePlaceholder, $d134eae24341b4a1$export$89c6019e4baa40b1 as TextPlaceholder, $7f60f09116a3fe61$export$3f37af283f8fb843 as ImagePlaceholder, $753e9b2889a47c89$export$3ccaa27d81dd8556 as PageReplacer, $4690a06c8489dcd0$export$864d304a0bc46829 as defaultGridSpacing, $4690a06c8489dcd0$export$c3834fa86c616831 as defaultColsAtSize, $4690a06c8489dcd0$export$7bf543b9d9be2c22 as defaultCategoryTitlePlugin, $ec291e0010116877$export$83d89fbfd8236492 as version, $58b3487626e85ece$export$316f6f283ae64765 as SearchField, $feffae76d8dc0135$export$5b7c3ce0ebe51f86 as BreadCrumbs, $feffae76d8dc0135$export$de035477d6fef996 as QuickLinks, $442f32a4d80abbde$export$e2bf8ce7779e827e as CategoryPage };