@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.
package/latest/index.js CHANGED
@@ -1,13 +1,74 @@
1
- import { add_to_version_info as $9HbP8$add_to_version_info, slider_fading_factory as $9HbP8$slider_fading_factory, Amazing_Slider as $9HbP8$Amazing_Slider, slider_snap_css as $9HbP8$slider_snap_css, catchify as $9HbP8$catchify, dlog as $9HbP8$dlog, camelCasifyObject as $9HbP8$camelCasifyObject, useExpandingContainer as $9HbP8$useExpandingContainer, fetch_retry as $9HbP8$fetch_retry, base_url as $9HbP8$base_url, dwarn as $9HbP8$dwarn, slider_fractional_factory as $9HbP8$slider_fractional_factory, make_random_classname as $9HbP8$make_random_classname, n_col_styling_with_dist as $9HbP8$n_col_styling_with_dist, layout_get_visible_recs_without_partial_rows as $9HbP8$layout_get_visible_recs_without_partial_rows, layout_get_total_rec_amount_for_row as $9HbP8$layout_get_total_rec_amount_for_row, layout_media_query_header as $9HbP8$layout_media_query_header, report as $9HbP8$report, observer as $9HbP8$observer, javascript_media_query as $9HbP8$javascript_media_query, queueMacroTask as $9HbP8$queueMacroTask, findMostFrequentItem as $9HbP8$findMostFrequentItem, standard_price_format as $9HbP8$standard_price_format, instant_exec_on_suspect_history_change as $9HbP8$instant_exec_on_suspect_history_change, deparallelize_no_drop as $9HbP8$deparallelize_no_drop, ContainedImage as $9HbP8$ContainedImage, buildThresholdList as $9HbP8$buildThresholdList, make_asyncIterable_exiter as $9HbP8$make_asyncIterable_exiter, href_change_ipns as $9HbP8$href_change_ipns, base64_encode_unicode as $9HbP8$base64_encode_unicode, base64_decode_unicode as $9HbP8$base64_decode_unicode, use_href_accessor as $9HbP8$use_href_accessor, get_session_id as $9HbP8$get_session_id, add_version_query_params as $9HbP8$add_version_query_params, hex_to_rgb as $9HbP8$hex_to_rgb, relative_luminance_from_rgb as $9HbP8$relative_luminance_from_rgb, snakeCasifyObject as $9HbP8$snakeCasifyObject, sort_obj as $9HbP8$sort_obj, make_url_with_query_params as $9HbP8$make_url_with_query_params, insert_surfaces as $9HbP8$insert_surfaces, is_debug as $9HbP8$is_debug } from "@depict-ai/utilishared/latest";
2
- import { createSignal as $9HbP8$createSignal, onCleanup as $9HbP8$onCleanup, createContext as $9HbP8$createContext, createEffect as $9HbP8$createEffect, Show as $9HbP8$Show, useContext as $9HbP8$useContext, createMemo as $9HbP8$createMemo, untrack as $9HbP8$untrack, For as $9HbP8$For, getOwner as $9HbP8$getOwner, createResource as $9HbP8$createResource, runWithOwner as $9HbP8$runWithOwner, mergeProps as $9HbP8$mergeProps1, Suspense as $9HbP8$Suspense, createRenderEffect as $9HbP8$createRenderEffect, Index as $9HbP8$Index, createRoot as $9HbP8$createRoot, createUniqueId as $9HbP8$createUniqueId, createComputed as $9HbP8$createComputed, ErrorBoundary as $9HbP8$ErrorBoundary, splitProps as $9HbP8$splitProps, on as $9HbP8$on, batch as $9HbP8$batch, createSelector as $9HbP8$createSelector, children as $9HbP8$children, createReaction as $9HbP8$createReaction, mapArray as $9HbP8$mapArray } from "solid-js";
1
+ import { add_to_version_info as $9HbP8$add_to_version_info, slider_fading_factory as $9HbP8$slider_fading_factory, Amazing_Slider as $9HbP8$Amazing_Slider, slider_snap_css as $9HbP8$slider_snap_css, catchify as $9HbP8$catchify1, dlog as $9HbP8$dlog1, camelCasifyObject as $9HbP8$camelCasifyObject, useExpandingContainer as $9HbP8$useExpandingContainer, fetch_retry as $9HbP8$fetch_retry, base_url as $9HbP8$base_url, dwarn as $9HbP8$dwarn, slider_fractional_factory as $9HbP8$slider_fractional_factory, make_random_classname as $9HbP8$make_random_classname, n_col_styling_with_dist as $9HbP8$n_col_styling_with_dist, layout_get_visible_recs_without_partial_rows as $9HbP8$layout_get_visible_recs_without_partial_rows, layout_get_total_rec_amount_for_row as $9HbP8$layout_get_total_rec_amount_for_row, layout_media_query_header as $9HbP8$layout_media_query_header, report as $9HbP8$report, observer as $9HbP8$observer, javascript_media_query as $9HbP8$javascript_media_query, queueMacroTask as $9HbP8$queueMacroTask, findMostFrequentItem as $9HbP8$findMostFrequentItem, standard_price_format as $9HbP8$standard_price_format, instant_exec_on_suspect_history_change as $9HbP8$instant_exec_on_suspect_history_change, deparallelize_no_drop as $9HbP8$deparallelize_no_drop, ContainedImage as $9HbP8$ContainedImage, buildThresholdList as $9HbP8$buildThresholdList, make_asyncIterable_exiter as $9HbP8$make_asyncIterable_exiter, href_change_ipns as $9HbP8$href_change_ipns, base64_encode_unicode as $9HbP8$base64_encode_unicode, base64_decode_unicode as $9HbP8$base64_decode_unicode, use_href_accessor as $9HbP8$use_href_accessor, get_session_id as $9HbP8$get_session_id, add_version_query_params as $9HbP8$add_version_query_params, hex_to_rgb as $9HbP8$hex_to_rgb, relative_luminance_from_rgb as $9HbP8$relative_luminance_from_rgb, snakeCasifyObject as $9HbP8$snakeCasifyObject, sort_obj as $9HbP8$sort_obj, make_url_with_query_params as $9HbP8$make_url_with_query_params, insert_surfaces as $9HbP8$insert_surfaces, is_debug as $9HbP8$is_debug } from "@depict-ai/utilishared/latest";
2
+ import { dlog as $9HbP8$dlog, catchify as $9HbP8$catchify, ListenableSet as $9HbP8$ListenableSet, use_href_accessor as $9HbP8$use_href_accessor1, queueMacroTask as $9HbP8$queueMacroTask1, report as $9HbP8$report1 } from "@depict-ai/utilishared/latest";
3
+ import { createRoot as $9HbP8$createRoot, createSignal as $9HbP8$createSignal, createEffect as $9HbP8$createEffect, onCleanup as $9HbP8$onCleanup, createContext as $9HbP8$createContext, Show as $9HbP8$Show, useContext as $9HbP8$useContext, createMemo as $9HbP8$createMemo, untrack as $9HbP8$untrack, For as $9HbP8$For, getOwner as $9HbP8$getOwner, createResource as $9HbP8$createResource, runWithOwner as $9HbP8$runWithOwner, mergeProps as $9HbP8$mergeProps1, Suspense as $9HbP8$Suspense, createRenderEffect as $9HbP8$createRenderEffect, Index as $9HbP8$Index, createUniqueId as $9HbP8$createUniqueId, createComputed as $9HbP8$createComputed, ErrorBoundary as $9HbP8$ErrorBoundary, splitProps as $9HbP8$splitProps, on as $9HbP8$on, batch as $9HbP8$batch, createSelector as $9HbP8$createSelector, children as $9HbP8$children, createReaction as $9HbP8$createReaction, mapArray as $9HbP8$mapArray } from "solid-js";
3
4
  import { template as $9HbP8$template, getNextElement as $9HbP8$getNextElement, insert as $9HbP8$insert, createComponent as $9HbP8$createComponent, isServer as $9HbP8$isServer, effect as $9HbP8$effect, setAttribute as $9HbP8$setAttribute, mergeProps as $9HbP8$mergeProps, className as $9HbP8$className, spread as $9HbP8$spread, runHydrationEvents as $9HbP8$runHydrationEvents, addEventListener as $9HbP8$addEventListener, memo as $9HbP8$memo, delegateEvents as $9HbP8$delegateEvents, getNextMarker as $9HbP8$getNextMarker, classList as $9HbP8$classList, use as $9HbP8$use, style as $9HbP8$style, setProperty as $9HbP8$setProperty, Dynamic as $9HbP8$Dynamic } from "solid-js/web";
4
- import { ListenableSet as $9HbP8$ListenableSet, catchify as $9HbP8$catchify1, use_href_accessor as $9HbP8$use_href_accessor1, queueMacroTask as $9HbP8$queueMacroTask1, report as $9HbP8$report1 } from "@depict-ai/utilishared/latest";
5
5
  import { createStore as $9HbP8$createStore, reconcile as $9HbP8$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) $9HbP8$createRoot(dispose => {
15
+ $4eb0a704f8f30273$var$elementsHoveredSignal = $9HbP8$createSignal(new Set());
16
+ $4eb0a704f8f30273$var$consumersSignal = $9HbP8$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
+ $9HbP8$createEffect(() => {
21
+ // No-one needs information anymore, stop listening
22
+ const users = consumers();
23
+ if (users < 1) {
24
+ $9HbP8$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
+ $9HbP8$onCleanup(() => setConsumers(prev => prev - 1));
35
+ return elementsHovered;
36
+ }
37
+ function $4eb0a704f8f30273$var$doHeavyCalculations() {
38
+ $9HbP8$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 = $9HbP8$catchify(evt => {
43
+ for (const touch of evt.changedTouches) elementAtTouch.set(touch.identifier, $4eb0a704f8f30273$var$getElementAtTouch(touch));
44
+ updateSet();
45
+ });
46
+ const deleteTouchHandler = $9HbP8$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
+ $9HbP8$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] = $9HbP8$createSignal(d.visibilityState !== "hidden");
@@ -277,7 +338,7 @@ function $29ec7cddbe1d3484$export$43f0fb951fcb0c54({
277
338
  } catch (e) {
278
339
  if (!$29ec7cddbe1d3484$var$printedCloneError) {
279
340
  $29ec7cddbe1d3484$var$printedCloneError = true;
280
- $9HbP8$dlog("Can't clone display", display, " (uncloneable objects in it), make sure you don't mutate it in the template since we cache.", e);
341
+ $9HbP8$dlog1("Can't clone display", display, " (uncloneable objects in it), make sure you don't mutate it in the template since we cache.", e);
281
342
  }
282
343
  }
283
344
  let renderingResult;
@@ -376,7 +437,7 @@ function $f091294da861020c$export$4a14175d33d81a96({
376
437
  };
377
438
  // 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.
378
439
  const shouldObserve = $9HbP8$createMemo(() => alwaysObserveCards_ || listenersForIntersecting() > 0);
379
- const intersection_observer = new IntersectionObserver($9HbP8$catchify(records => {
440
+ const intersection_observer = new IntersectionObserver($9HbP8$catchify1(records => {
380
441
  const intersectingValue = currentlyIntersecting();
381
442
  for (let i = 0; i < records.length; i++) {
382
443
  const record = records[i];
@@ -719,7 +780,7 @@ function $c8d5ff4524619fcd$export$445d8d3f5f706a40(props, container_element, ins
719
780
  const view_less_button_class = "l" + $9HbP8$createUniqueId(); // https://github.com/solidjs/solid-docs/issues/263#issuecomment-1622388079
720
781
  const view_more_button_container = $9HbP8$createMemo(() => have_a_view_more_button() && (() => {
721
782
  var _el$2 = $9HbP8$getNextElement($c8d5ff4524619fcd$var$_tmpl$);
722
- $9HbP8$addEventListener(_el$2, "click", $9HbP8$catchify(() => set_rows_visible()(prev => prev + (rows_or_empty_object().rows_per_click ?? 1))), true);
783
+ $9HbP8$addEventListener(_el$2, "click", $9HbP8$catchify1(() => set_rows_visible()(prev => prev + (rows_or_empty_object().rows_per_click ?? 1))), true);
723
784
  $9HbP8$className(_el$2, `load-more-container ${view_more_button_class}`);
724
785
  $9HbP8$insert(_el$2, () => rows_or_empty_object().button);
725
786
  $9HbP8$runHydrationEvents();
@@ -728,7 +789,7 @@ function $c8d5ff4524619fcd$export$445d8d3f5f706a40(props, container_element, ins
728
789
  // We need to have duplicate buttons because which ones is shown depends on the number of rows visible and therefore on the viewport size and therefore on the css media queries
729
790
  const view_less_button_container = $9HbP8$createMemo(() => have_a_view_less_button() && (() => {
730
791
  var _el$3 = $9HbP8$getNextElement($c8d5ff4524619fcd$var$_tmpl$);
731
- $9HbP8$addEventListener(_el$3, "click", $9HbP8$catchify(() => set_rows_visible()(() => rows_or_empty_object().start_rows ?? 1)), true);
792
+ $9HbP8$addEventListener(_el$3, "click", $9HbP8$catchify1(() => set_rows_visible()(() => rows_or_empty_object().start_rows ?? 1)), true);
732
793
  $9HbP8$className(_el$3, `load-less-container ${view_less_button_class}`);
733
794
  $9HbP8$insert(_el$3, () => rows_or_empty_object().view_less_button);
734
795
  $9HbP8$runHydrationEvents();
@@ -751,7 +812,7 @@ function $c8d5ff4524619fcd$export$445d8d3f5f706a40(props, container_element, ins
751
812
  }
752
813
  update_children_count();
753
814
  if (!(0, $9HbP8$isServer)) {
754
- const mutation_observer = new MutationObserver($9HbP8$catchify(update_children_count));
815
+ const mutation_observer = new MutationObserver($9HbP8$catchify1(update_children_count));
755
816
  mutation_observer.observe(container_element, {
756
817
  childList: true
757
818
  });
@@ -1074,7 +1135,7 @@ function $4ea56971d92eb0cd$export$2972b890694ced75(callback, {
1074
1135
  }
1075
1136
  function $e8ffe11ed01df0fe$export$e6fffe67d4cdd848(whatToWatch) {
1076
1137
  const [size, setSize] = $9HbP8$createSignal(0);
1077
- const resizeObserver = new ResizeObserver($9HbP8$catchify(records => {
1138
+ const resizeObserver = new ResizeObserver($9HbP8$catchify1(records => {
1078
1139
  for (let j = 0; j < records.length; j++) {
1079
1140
  const {
1080
1141
  width: width
@@ -1087,7 +1148,7 @@ function $e8ffe11ed01df0fe$export$e6fffe67d4cdd848(whatToWatch) {
1087
1148
  // It doesn't seem to work even when waiting for it to be in the DOM, also wait an animation frame
1088
1149
  const disconnect = (0, $9HbP8$observer).onexists(whatToWatch, ({
1089
1150
  element: element
1090
- }) => requestAnimationFrame($9HbP8$catchify(() => resizeObserver.observe(element))));
1151
+ }) => requestAnimationFrame($9HbP8$catchify1(() => resizeObserver.observe(element))));
1091
1152
  $9HbP8$onCleanup(() => {
1092
1153
  resizeObserver.disconnect();
1093
1154
  disconnect();
@@ -1144,7 +1205,7 @@ function $e8ffe11ed01df0fe$export$6e5611bc7e57e477(props) {
1144
1205
  if (existingStack) return existingStack.add(fn);
1145
1206
  const newStack = new Set([fn]);
1146
1207
  if (listingContext) listingContext[$e8ffe11ed01df0fe$var$onIdleFunctionsSymbol] = newStack;
1147
- const processStackWhenIdle = () => $4ea56971d92eb0cd$export$2972b890694ced75($9HbP8$catchify(deadline => {
1208
+ const processStackWhenIdle = () => $4ea56971d92eb0cd$export$2972b890694ced75($9HbP8$catchify1(deadline => {
1148
1209
  const start = performance.now();
1149
1210
  const thirdDeadlineTime = deadline.timeRemaining() / 3; // observers coming after this take up 2-3x the time so don't use all of it
1150
1211
  for (const fn of newStack) {
@@ -1176,7 +1237,7 @@ function $e8ffe11ed01df0fe$export$6e5611bc7e57e477(props) {
1176
1237
  let prevValue;
1177
1238
  const aspectRatios = listingContext[$e8ffe11ed01df0fe$export$f8945274f08a3105] ||= new Set();
1178
1239
  const [, setMostPrevalentAspectRatio] = listingContext[$e8ffe11ed01df0fe$export$6066eb417ed2e9f7] ||= $9HbP8$createSignal();
1179
- img.addEventListener("load", $9HbP8$catchify(() => {
1240
+ img.addEventListener("load", $9HbP8$catchify1(() => {
1180
1241
  if (props.keyRatioUpdating) {
1181
1242
  if (!srcJustChanged) return;
1182
1243
  srcJustChanged = false;
@@ -1207,7 +1268,7 @@ function $e8ffe11ed01df0fe$export$6e5611bc7e57e477(props) {
1207
1268
  $9HbP8$createEffect(() => {
1208
1269
  if (!props.size()) return; // wait until we have a size, run every time the size changes
1209
1270
  if (timeoutSet) return;
1210
- const handler = $9HbP8$catchify(() => {
1271
+ const handler = $9HbP8$catchify1(() => {
1211
1272
  if (gotCleanedUp) return;
1212
1273
  img.sizes = sizePX(); // use latest available value of props.size
1213
1274
  if (!sizeSetFastPath) {
@@ -1341,11 +1402,11 @@ function $8c0f86cb3e266eeb$export$a71e92cfbb498adc(props) {
1341
1402
  return $9HbP8$standard_price_format(props.price_, price_formatting.places_after_comma_, price_formatting.decimal_places_delimiter_, price_formatting.thousands_delimiter_);
1342
1403
  });
1343
1404
  }
1344
- var $5a6c386e1bde5665$var$_tmpl$ = /*#__PURE__*/$9HbP8$template(`<div class=img-wrapper>`),
1345
- $5a6c386e1bde5665$var$_tmpl$2 = /*#__PURE__*/$9HbP8$template(`<span class="d-price original">`),
1346
- $5a6c386e1bde5665$var$_tmpl$3 = /*#__PURE__*/$9HbP8$template(`<div class=right-part><div class=text-container><span class="d-title line-clamp"></span><span class=d-price></span><!$><!/></div><!$><!/>`),
1347
- $5a6c386e1bde5665$var$_tmpl$4 = /*#__PURE__*/$9HbP8$template(`<a class=look-item><!$><!/><!$><!/>`);
1348
- function $5a6c386e1bde5665$export$b73ed90f0ee50dc3({
1405
+ var $08a49ecdcd5beaca$var$_tmpl$ = /*#__PURE__*/$9HbP8$template(`<div class=img-wrapper>`),
1406
+ $08a49ecdcd5beaca$var$_tmpl$2 = /*#__PURE__*/$9HbP8$template(`<span class="d-price original">`),
1407
+ $08a49ecdcd5beaca$var$_tmpl$3 = /*#__PURE__*/$9HbP8$template(`<div class=right-part><div class=text-container><span class="d-title line-clamp"></span><span class=d-price></span><!$><!/></div><!$><!/>`),
1408
+ $08a49ecdcd5beaca$var$_tmpl$4 = /*#__PURE__*/$9HbP8$template(`<a class=look-item><!$><!/><!$><!/>`);
1409
+ function $08a49ecdcd5beaca$export$b73ed90f0ee50dc3({
1349
1410
  display_: display_,
1350
1411
  FavoriteButton_: FavoriteButton_,
1351
1412
  userWantsExpandedSignal_: [userWantsExpanded, setUserWantsExpanded],
@@ -1371,7 +1432,7 @@ function $5a6c386e1bde5665$export$b73ed90f0ee50dc3({
1371
1432
  const FavoriteButton = FavoriteButton_; // Just to get rid of the type error - TS doesn't understand <Show>
1372
1433
  const title = $9HbP8$createMemo(() => variantToUse()?.title);
1373
1434
  return (() => {
1374
- var _el$ = $9HbP8$getNextElement($5a6c386e1bde5665$var$_tmpl$4),
1435
+ var _el$ = $9HbP8$getNextElement($08a49ecdcd5beaca$var$_tmpl$4),
1375
1436
  _el$12 = _el$.firstChild,
1376
1437
  [_el$13, _co$3] = $9HbP8$getNextMarker(_el$12.nextSibling),
1377
1438
  _el$14 = _el$13.nextSibling,
@@ -1382,7 +1443,7 @@ function $5a6c386e1bde5665$export$b73ed90f0ee50dc3({
1382
1443
  href: href()
1383
1444
  } : {}, {
1384
1445
  get onClick() {
1385
- return $9HbP8$catchify(event_ => {
1446
+ return $9HbP8$catchify1(event_ => {
1386
1447
  if (enableLink()) {
1387
1448
  pseudoRouter_.navigate_.go_to_({
1388
1449
  new_url_: href(),
@@ -1404,7 +1465,7 @@ function $5a6c386e1bde5665$export$b73ed90f0ee50dc3({
1404
1465
  });
1405
1466
  },
1406
1467
  get children() {
1407
- var _el$2 = $9HbP8$getNextElement($5a6c386e1bde5665$var$_tmpl$);
1468
+ var _el$2 = $9HbP8$getNextElement($08a49ecdcd5beaca$var$_tmpl$);
1408
1469
  $9HbP8$insert(_el$2, $9HbP8$createComponent((0, $9HbP8$Show), {
1409
1470
  get when() {
1410
1471
  return imageUrl();
@@ -1439,7 +1500,7 @@ function $5a6c386e1bde5665$export$b73ed90f0ee50dc3({
1439
1500
  return (animationEffectExists() ? isExpandedThrottledByOurEffectRun() : userWantsExpanded()) || animationIsRunning();
1440
1501
  },
1441
1502
  get children() {
1442
- var _el$3 = $9HbP8$getNextElement($5a6c386e1bde5665$var$_tmpl$3),
1503
+ var _el$3 = $9HbP8$getNextElement($08a49ecdcd5beaca$var$_tmpl$3),
1443
1504
  _el$4 = _el$3.firstChild,
1444
1505
  _el$5 = _el$4.firstChild,
1445
1506
  _el$6 = _el$5.nextSibling,
@@ -1475,7 +1536,7 @@ function $5a6c386e1bde5665$export$b73ed90f0ee50dc3({
1475
1536
  setAnimationEffectExists(true);
1476
1537
  $9HbP8$onCleanup(() => setAnimationEffectExists(false));
1477
1538
  });
1478
- for (const ev of ["cancel", "finish"]) textContainerAnimation.addEventListener(ev, $9HbP8$catchify(() => setAnimationIsRunning(false)));
1539
+ for (const ev of ["cancel", "finish"]) textContainerAnimation.addEventListener(ev, $9HbP8$catchify1(() => setAnimationIsRunning(false)));
1479
1540
  disconnector();
1480
1541
  }));
1481
1542
  }, _el$3);
@@ -1519,7 +1580,7 @@ function $5a6c386e1bde5665$export$b73ed90f0ee50dc3({
1519
1580
  return isOnSale();
1520
1581
  },
1521
1582
  get children() {
1522
- var _el$7 = $9HbP8$getNextElement($5a6c386e1bde5665$var$_tmpl$2);
1583
+ var _el$7 = $9HbP8$getNextElement($08a49ecdcd5beaca$var$_tmpl$2);
1523
1584
  $9HbP8$insert(_el$7, $9HbP8$createComponent((0, $9HbP8$Show), {
1524
1585
  get when() {
1525
1586
  return variantToUse() && !originalPrice.loading;
@@ -1582,7 +1643,7 @@ async function $1f9a34ca8a87d49f$var$checkIfIsAffectedByChromeBug326498383() {
1582
1643
  const waitAFrame = () => new Promise(r => requestAnimationFrame(() => requestAnimationFrame(r)));
1583
1644
  const timeoutPromise = new Promise(r => {
1584
1645
  resolveTimeoutPromise = r;
1585
- setTimeout($9HbP8$catchify(() => {
1646
+ setTimeout($9HbP8$catchify1(() => {
1586
1647
  r();
1587
1648
  div.remove();
1588
1649
  }), 500);
@@ -1614,12 +1675,12 @@ async function $1f9a34ca8a87d49f$var$checkIfIsAffectedByChromeBug326498383() {
1614
1675
  });
1615
1676
  await timeoutPromise;
1616
1677
  } catch (e) {
1617
- $9HbP8$dlog("Failed to check if affected by chrome bug 326498383", e);
1678
+ $9HbP8$dlog1("Failed to check if affected by chrome bug 326498383", e);
1618
1679
  }
1619
1680
  return isAffected;
1620
1681
  }
1621
- var $7555dcad3b8a4632$var$_tmpl$ = /*#__PURE__*/$9HbP8$template(`<div class=scroll-padding><div class=look-overlay>`);
1622
- function $7555dcad3b8a4632$export$ebf0b1d4f90c09ae({
1682
+ var $11fb4b33b36ecfac$var$_tmpl$ = /*#__PURE__*/$9HbP8$template(`<div class=scroll-padding><div class=look-overlay>`);
1683
+ function $11fb4b33b36ecfac$export$ebf0b1d4f90c09ae({
1623
1684
  displays_: displays_,
1624
1685
  FavoriteButton_: FavoriteButton_,
1625
1686
  userWantsExpandedSignal_: userWantsExpandedSignal_,
@@ -1638,6 +1699,7 @@ function $7555dcad3b8a4632$export$ebf0b1d4f90c09ae({
1638
1699
  const textFadeInAnimationRunning = $9HbP8$createSignal(false);
1639
1700
  const [getSecondPartAnimationRunning] = textFadeInAnimationRunning;
1640
1701
  const [userWantsExpanded, setUserWantsExpanded] = userWantsExpandedSignal_;
1702
+ //const elementsHovered = useMobileHover();
1641
1703
  $1f9a34ca8a87d49f$export$7b9a0e99f0aeb2f3().then(is => isAffectedByChromeBug = is);
1642
1704
  return $9HbP8$createComponent((0, $011607bdf658f807$export$e68cff63f76bd15b), {
1643
1705
  get children() {
@@ -1646,21 +1708,37 @@ function $7555dcad3b8a4632$export$ebf0b1d4f90c09ae({
1646
1708
  return containerWidth_() || !displays_();
1647
1709
  },
1648
1710
  get children() {
1649
- var _el$ = $9HbP8$getNextElement($7555dcad3b8a4632$var$_tmpl$),
1711
+ var _el$ = $9HbP8$getNextElement($11fb4b33b36ecfac$var$_tmpl$),
1650
1712
  _el$2 = _el$.firstChild;
1651
- $9HbP8$addEventListener(_el$2, "mouseleave", $9HbP8$catchify(() => supportsHover_() && setUserWantsExpanded(false)));
1652
- $9HbP8$addEventListener(_el$2, "mouseenter", $9HbP8$catchify(() => supportsHover_() && setUserWantsExpanded(true)));
1653
- $9HbP8$use(el => $9HbP8$createEffect(() => {
1654
- if (userWantsExpanded()) return;
1655
- if (isAffectedByChromeBug) {
1656
- $7555dcad3b8a4632$var$scrollingFunctionForChrome(el, 0, animationDuration_);
1657
- return;
1658
- }
1659
- el.scrollTo({
1660
- top: 0,
1661
- behavior: "smooth"
1713
+ $9HbP8$addEventListener(_el$2, "mouseleave", $9HbP8$catchify1(() => supportsHover_() && setUserWantsExpanded(false)));
1714
+ $9HbP8$addEventListener(_el$2, "mouseenter", $9HbP8$catchify1(() => supportsHover_() && setUserWantsExpanded(true)));
1715
+ $9HbP8$use(el => {
1716
+ $9HbP8$createEffect(() => {
1717
+ if (userWantsExpanded()) return;
1718
+ if (isAffectedByChromeBug) {
1719
+ $11fb4b33b36ecfac$var$scrollingFunctionForChrome(el, 0, animationDuration_);
1720
+ return;
1721
+ }
1722
+ el.scrollTo({
1723
+ top: 0,
1724
+ behavior: "smooth"
1725
+ });
1662
1726
  });
1663
- }), _el$2);
1727
+ // createEffect(wasOpenedByHover => {
1728
+ // if (supportsHover_()) return;
1729
+ // const hovered = elementsHovered();
1730
+ // checkHovered: {
1731
+ // if (hovered.has(el)) break checkHovered;
1732
+ // for (const element of hovered) {
1733
+ // if (el.contains(element)) break checkHovered;
1734
+ // }
1735
+ // if (wasOpenedByHover) setUserWantsExpanded(false);
1736
+ // return;
1737
+ // }
1738
+ // setUserWantsExpanded(true);
1739
+ // return true;
1740
+ // });
1741
+ }, _el$2);
1664
1742
  $9HbP8$insert(_el$2, $9HbP8$createComponent((0, $9HbP8$Index), {
1665
1743
  get each() {
1666
1744
  return displays_() || Array.from({
@@ -1668,7 +1746,7 @@ function $7555dcad3b8a4632$export$ebf0b1d4f90c09ae({
1668
1746
  });
1669
1747
  },
1670
1748
  children: (display, index) => {
1671
- return $9HbP8$createComponent((0, $5a6c386e1bde5665$export$b73ed90f0ee50dc3), {
1749
+ return $9HbP8$createComponent((0, $08a49ecdcd5beaca$export$b73ed90f0ee50dc3), {
1672
1750
  pseudoRouter_: pseudoRouter_,
1673
1751
  animationDuration_: animationDuration_,
1674
1752
  display_: display,
@@ -1678,7 +1756,7 @@ function $7555dcad3b8a4632$export$ebf0b1d4f90c09ae({
1678
1756
  priceFormatting_: priceFormatting_,
1679
1757
  outerRef_: el => $9HbP8$createEffect(() => {
1680
1758
  if (index !== 0) return;
1681
- const resizeObserver = new ResizeObserver($9HbP8$catchify(records => setLookItemHeight(records.at(-1).contentRect.height)));
1759
+ const resizeObserver = new ResizeObserver($9HbP8$catchify1(records => setLookItemHeight(records.at(-1).contentRect.height)));
1682
1760
  resizeObserver.observe(el);
1683
1761
  $9HbP8$onCleanup(() => resizeObserver.disconnect());
1684
1762
  })
@@ -1709,11 +1787,11 @@ function $7555dcad3b8a4632$export$ebf0b1d4f90c09ae({
1709
1787
  /**
1710
1788
  * Workaround for Chrome bug 326498383, adapted version of https://stackoverflow.com/a/39494245
1711
1789
  */
1712
- function $7555dcad3b8a4632$var$scrollingFunctionForChrome(element, targetScrollY, duration) {
1790
+ function $11fb4b33b36ecfac$var$scrollingFunctionForChrome(element, targetScrollY, duration) {
1713
1791
  let start;
1714
1792
  const startingY = element.scrollTop;
1715
1793
  const diff = targetScrollY - startingY;
1716
- const step = $9HbP8$catchify(timestamp => {
1794
+ const step = $9HbP8$catchify1(timestamp => {
1717
1795
  if (!start) start = timestamp;
1718
1796
  // Elapsed milliseconds since start of scrolling.
1719
1797
  const time = timestamp - start;
@@ -1726,8 +1804,8 @@ function $7555dcad3b8a4632$var$scrollingFunctionForChrome(element, targetScrollY
1726
1804
  // Bootstrap our animation - it will get called right before next frame shall be rendered.
1727
1805
  requestAnimationFrame(step);
1728
1806
  }
1729
- var $28ee4f7db3cc44b8$var$_tmpl$ = /*#__PURE__*/$9HbP8$template(`<div class=look-card><!$><!/><!$><!/>`);
1730
- function $28ee4f7db3cc44b8$export$44809a8a3e867e30({
1807
+ var $e9d1d09be9e6471e$var$_tmpl$ = /*#__PURE__*/$9HbP8$template(`<div class=look-card><!$><!/><!$><!/>`);
1808
+ function $e9d1d09be9e6471e$export$44809a8a3e867e30({
1731
1809
  display_: display_,
1732
1810
  expandedLooksSignal_: [expandedLooks_, setExpandedLooks],
1733
1811
  FavoriteButton_: FavoriteButton_,
@@ -1744,7 +1822,7 @@ function $28ee4f7db3cc44b8$export$44809a8a3e867e30({
1744
1822
  const index = $b6440e72ed83671a$export$e3faf4d95300054f();
1745
1823
  const [containerWidth_, setContainerWidth] = $9HbP8$createSignal();
1746
1824
  const [containerHeight_, setContainerHeight] = $9HbP8$createSignal();
1747
- const clickHandler = $9HbP8$catchify(({
1825
+ const clickHandler = $9HbP8$catchify1(({
1748
1826
  target: target
1749
1827
  }) => {
1750
1828
  if (target !== container && !container.contains(target))
@@ -1784,15 +1862,15 @@ function $28ee4f7db3cc44b8$export$44809a8a3e867e30({
1784
1862
  // Close us if another look expands
1785
1863
  $9HbP8$createEffect(() => !expandedLooks_().has(us) && setUserWantsExpanded(false));
1786
1864
  return (() => {
1787
- var _el$ = $9HbP8$getNextElement($28ee4f7db3cc44b8$var$_tmpl$),
1865
+ var _el$ = $9HbP8$getNextElement($e9d1d09be9e6471e$var$_tmpl$),
1788
1866
  _el$2 = _el$.firstChild,
1789
1867
  [_el$3, _co$] = $9HbP8$getNextMarker(_el$2.nextSibling),
1790
1868
  _el$4 = _el$3.nextSibling,
1791
1869
  [_el$5, _co$2] = $9HbP8$getNextMarker(_el$4.nextSibling);
1792
- $9HbP8$addEventListener(_el$, "click", $9HbP8$catchify(() => setUserWantsExpanded(prev => !prev)), true);
1870
+ $9HbP8$addEventListener(_el$, "click", $9HbP8$catchify1(() => setUserWantsExpanded(prev => !prev)), true);
1793
1871
  $9HbP8$use(el => {
1794
1872
  container = el;
1795
- const ro = new ResizeObserver($9HbP8$catchify(records => {
1873
+ const ro = new ResizeObserver($9HbP8$catchify1(records => {
1796
1874
  const last = records.at(-1);
1797
1875
  if (!last) return;
1798
1876
  const {
@@ -1824,7 +1902,7 @@ function $28ee4f7db3cc44b8$export$44809a8a3e867e30({
1824
1902
  });
1825
1903
  }
1826
1904
  }), _el$3, _co$);
1827
- $9HbP8$insert(_el$, $9HbP8$createComponent((0, $7555dcad3b8a4632$export$ebf0b1d4f90c09ae), {
1905
+ $9HbP8$insert(_el$, $9HbP8$createComponent((0, $11fb4b33b36ecfac$export$ebf0b1d4f90c09ae), {
1828
1906
  displays_: () => display_()?.displays,
1829
1907
  userWantsExpandedSignal_: useWantsExpandedSignal_,
1830
1908
  containerWidth_: containerWidth_,
@@ -1908,7 +1986,7 @@ class $4fd2ba03703a7d92$export$7e1297a3a19f10d8 {
1908
1986
  * @param is_replace_ if you want to replace the current URL in history instead of pushing a new one
1909
1987
  * @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
1910
1988
  */
1911
- go_to_: $9HbP8$catchify(async ({
1989
+ go_to_: $9HbP8$catchify1(async ({
1912
1990
  new_url_: raw_new_url,
1913
1991
  event_: event_,
1914
1992
  force_spa_navigation_: force_spa_navigation_,
@@ -2102,7 +2180,7 @@ function $07ef910e8ef6b783$export$2c9f9bf2092486aa(props) {
2102
2180
  return $07ef910e8ef6b783$var$runDisplayTransformersForLooks(baseData, listings, props.displayTransformers_);
2103
2181
  });
2104
2182
  const sharedOptions = {
2105
- product_card_template_: display => $28ee4f7db3cc44b8$export$44809a8a3e867e30({
2183
+ product_card_template_: display => $e9d1d09be9e6471e$export$44809a8a3e867e30({
2106
2184
  display_: () => display,
2107
2185
  FavoriteButton_: props.FavoriteButton_,
2108
2186
  placeholderImageAspectRatio_: props.imagePlaceholderAspectRatio_,
@@ -2372,9 +2450,9 @@ const $e003be2a50d9e5bc$export$b05c0ae390cf3e06 = ({
2372
2450
  _el$28 = _el$27.nextSibling,
2373
2451
  [_el$29, _co$10] = $9HbP8$getNextMarker(_el$28.nextSibling);
2374
2452
  $9HbP8$use(element => $f4125ce4984deee6$export$12761f53d7ab7f27(element, () => selectedDueToKeyboardNavigation?.() ?? false), _el$4);
2375
- $9HbP8$addEventListener(_el$4, "mouseleave", $9HbP8$catchify(() => set_selected_index_?.()));
2376
- $9HbP8$addEventListener(_el$4, "mouseenter", $9HbP8$catchify(() => set_selected_index_?.([keyboardNavigationGroupIndex_(), index_()])));
2377
- $9HbP8$addEventListener(_el$4, "click", $9HbP8$catchify(event_ => router_.navigate_.go_to_({
2453
+ $9HbP8$addEventListener(_el$4, "mouseleave", $9HbP8$catchify1(() => set_selected_index_?.()));
2454
+ $9HbP8$addEventListener(_el$4, "mouseenter", $9HbP8$catchify1(() => set_selected_index_?.([keyboardNavigationGroupIndex_(), index_()])));
2455
+ $9HbP8$addEventListener(_el$4, "click", $9HbP8$catchify1(event_ => router_.navigate_.go_to_({
2378
2456
  new_url_: href(),
2379
2457
  is_replace_: false,
2380
2458
  event_: event_
@@ -2501,7 +2579,7 @@ function $eea41f703612261b$export$62f101a8aa597bf8({
2501
2579
  // don't wait if it's the first request
2502
2580
  write_current_instant_query(value);
2503
2581
  clearTimeout(timeout);
2504
- timeout = setTimeout($9HbP8$catchify(() => write_current_instant_query(value)), 250);
2582
+ timeout = setTimeout($9HbP8$catchify1(() => write_current_instant_query(value)), 250);
2505
2583
  });
2506
2584
  const [search_results] = $9HbP8$createResource($9HbP8$createMemo(() => ({
2507
2585
  // <-- key order important, see comment below
@@ -2509,7 +2587,7 @@ function $eea41f703612261b$export$62f101a8aa597bf8({
2509
2587
  market: market_(),
2510
2588
  locale: i18n_.backend_locale_(),
2511
2589
  query: read_current_instant_query()
2512
- })), $9HbP8$catchify(async variable_data => {
2590
+ })), $9HbP8$catchify1(async variable_data => {
2513
2591
  return depict_api_.query({
2514
2592
  // 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
2515
2593
  limit: $9HbP8$untrack(has_sort_or_filters_) ? max_cards : min_products_to_fetch_,
@@ -2603,7 +2681,7 @@ function $d78eea1e8707dc2d$export$c7e181728ad525f(url) {
2603
2681
  return;
2604
2682
  $d78eea1e8707dc2d$var$last_sent_value = new_value;
2605
2683
  const args = ["depict.send", "pageview", new_value];
2606
- $9HbP8$dlog("Calling ga with args", ...args);
2684
+ $9HbP8$dlog1("Calling ga with args", ...args);
2607
2685
  // @ts-ignore
2608
2686
  ga(...args);
2609
2687
  }
@@ -2617,7 +2695,7 @@ function $c64d28ca12452b21$export$3340fdd8259bd4fd({
2617
2695
  if (process.env.GA === "false") return;
2618
2696
  let debounce_timeout;
2619
2697
  const stop_timeout = () => clearTimeout(debounce_timeout);
2620
- const send_to_ga = $9HbP8$catchify(() => {
2698
+ const send_to_ga = $9HbP8$catchify1(() => {
2621
2699
  const fake_url = new URL(location.href);
2622
2700
  const {
2623
2701
  searchParams: searchParams
@@ -2630,12 +2708,12 @@ function $c64d28ca12452b21$export$3340fdd8259bd4fd({
2630
2708
  $9HbP8$onCleanup(() => {
2631
2709
  setTimeout(
2632
2710
  // 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
2633
- $9HbP8$catchify(() => {
2711
+ $9HbP8$catchify1(() => {
2634
2712
  if ($9HbP8$untrack(get_search_query_) === $9HbP8$untrack(get_search_field_value_)) stop_timeout();
2635
2713
  }));
2636
2714
  });
2637
2715
  let first_call = true;
2638
- $9HbP8$createEffect($9HbP8$catchify(() => {
2716
+ $9HbP8$createEffect($9HbP8$catchify1(() => {
2639
2717
  get_search_field_value_();
2640
2718
  if (first_call) {
2641
2719
  // we only want to do stuff when it changes
@@ -2662,7 +2740,7 @@ function $4ceabea39c9a56ac$export$50b90be27d8502d9(el, [get_style_props, set_sty
2662
2740
  [key]: new_value
2663
2741
  });
2664
2742
  };
2665
- const is = new IntersectionObserver($9HbP8$catchify(_records => {
2743
+ const is = new IntersectionObserver($9HbP8$catchify1(_records => {
2666
2744
  do_positioning();
2667
2745
  }), {
2668
2746
  threshold: $9HbP8$buildThresholdList(100)
@@ -2683,7 +2761,7 @@ function $a36cbc4f68bfd590$export$91c3b6774e8be0f5({
2683
2761
  const [get_current_href, set_current_href] = $9HbP8$createSignal(location.href);
2684
2762
  const [exit_iterable, exitable_iterable] = $9HbP8$make_asyncIterable_exiter((0, $9HbP8$href_change_ipns));
2685
2763
  $9HbP8$onCleanup(exit_iterable);
2686
- $9HbP8$catchify(async () => {
2764
+ $9HbP8$catchify1(async () => {
2687
2765
  for await (const href of exitable_iterable)
2688
2766
  // use native links so ppl can cmdclick/right click and open in new tab and see target URL
2689
2767
  set_current_href(href);
@@ -2753,18 +2831,18 @@ function $980239e081e89b62$export$a146ac6fa8346a25({
2753
2831
  _el$9 = _el$5.nextSibling;
2754
2832
  $9HbP8$use(element => element.addEventListener(
2755
2833
  // Viskan's Oscar Jacobson site requires us to add the event listener normally here. They do too much when this element is clicked. We work around it by blocking the event and just dispatching it non-bubbling on this element.
2756
- "click", $9HbP8$catchify(ev => {
2834
+ "click", $9HbP8$catchify1(ev => {
2757
2835
  if ($a281666e5c15c2ec$export$29d28dadc2d6b631(ev))
2758
2836
  // not button 0 or cmd/ctrl click
2759
2837
  return;
2760
2838
  ev.preventDefault();
2761
2839
  submit_query_(item());
2762
2840
  })), _el$4);
2763
- $9HbP8$addEventListener(_el$4, "mouseleave", $9HbP8$catchify(() => write_selected_index_(undefined)));
2764
- $9HbP8$addEventListener(_el$4, "mouseenter", $9HbP8$catchify(() => write_selected_index_([0, index])));
2841
+ $9HbP8$addEventListener(_el$4, "mouseleave", $9HbP8$catchify1(() => write_selected_index_()));
2842
+ $9HbP8$addEventListener(_el$4, "mouseenter", $9HbP8$catchify1(() => write_selected_index_([0, index])));
2765
2843
  $9HbP8$insert(_el$5, $9HbP8$createComponent((0, $694b7f90501fea4c$export$5d2caaa6b530761c), {}), _el$8, _co$);
2766
2844
  $9HbP8$insert(_el$6, item);
2767
- $9HbP8$use(element => element.addEventListener("click", $9HbP8$catchify(e => {
2845
+ $9HbP8$use(element => element.addEventListener("click", $9HbP8$catchify1(e => {
2768
2846
  // Viskan's Oscar Jacobson site requires us to add the event listener normally here. They do too much when this element is clicked. We work around it by blocking the event and just dispatching it non-bubbling on this element.
2769
2847
  set_unfiltered_previous_searches_(prev => {
2770
2848
  const new_value = [...prev];
@@ -2945,7 +3023,7 @@ function $ab4b0679fa8bd1dc$export$e872e2339fb04a7f({
2945
3023
  });
2946
3024
  return (() => {
2947
3025
  var _el$ = $9HbP8$getNextElement($ab4b0679fa8bd1dc$var$_tmpl$);
2948
- $9HbP8$use(element => element.addEventListener("click", $9HbP8$catchify(ev => {
3026
+ $9HbP8$use(element => element.addEventListener("click", $9HbP8$catchify1(ev => {
2949
3027
  // Viskan's Oscar Jacobson site requires us to add the event listener normally here. They do too much when this element is clicked. We work around it by blocking the event and just dispatching it non-bubbling on this element.
2950
3028
  if (is_query()) {
2951
3029
  if ($a281666e5c15c2ec$export$29d28dadc2d6b631(ev))
@@ -2962,8 +3040,8 @@ function $ab4b0679fa8bd1dc$export$e872e2339fb04a7f({
2962
3040
  event_: ev
2963
3041
  });
2964
3042
  })), _el$);
2965
- $9HbP8$addEventListener(_el$, "mouseleave", $9HbP8$catchify(() => write_selected_index_(undefined)));
2966
- $9HbP8$addEventListener(_el$, "mouseenter", $9HbP8$catchify(() => write_selected_index_([autocomplete_data_index, index])));
3043
+ $9HbP8$addEventListener(_el$, "mouseleave", $9HbP8$catchify1(() => write_selected_index_(undefined)));
3044
+ $9HbP8$addEventListener(_el$, "mouseenter", $9HbP8$catchify1(() => write_selected_index_([autocomplete_data_index, index])));
2967
3045
  $9HbP8$insert(_el$, (() => {
2968
3046
  var _c$ = $9HbP8$memo(() => !!is_query());
2969
3047
  return () => _c$() ? [$9HbP8$createComponent((0, $9HbP8$Show), {
@@ -3249,7 +3327,7 @@ function $6ef2e4ea23810f23$var$actual_navigation_working_on_fake_data({
3249
3327
  if (!$9HbP8$untrack(() => read_updating_blocked())) previous_value = sfv;
3250
3328
  });
3251
3329
  const owner = $9HbP8$getOwner();
3252
- const handler = $9HbP8$catchify(({
3330
+ const handler = $9HbP8$catchify1(({
3253
3331
  keyCode: keyCode
3254
3332
  }) => $9HbP8$untrack(() => {
3255
3333
  const up = keyCode === 38;
@@ -3313,7 +3391,7 @@ function $6ef2e4ea23810f23$var$actual_navigation_working_on_fake_data({
3313
3391
  const el = element_();
3314
3392
  if (!el) return;
3315
3393
  el.addEventListener("keyup", handler);
3316
- $9HbP8$onCleanup($9HbP8$catchify(() => el.removeEventListener("keyup", handler)));
3394
+ $9HbP8$onCleanup($9HbP8$catchify1(() => el.removeEventListener("keyup", handler)));
3317
3395
  });
3318
3396
  }
3319
3397
  function $1ae0eaca6ada9753$export$af0124069c150252({
@@ -3514,7 +3592,7 @@ let $f86ba724282f6690$export$44dad306455dddf;
3514
3592
 
3515
3593
  function $2449872a62a75a20$export$ebdc3711f7e02ccd(what_to_watch) {
3516
3594
  const [width, setWidth] = $9HbP8$createSignal();
3517
- const resizeObserver = new ResizeObserver($9HbP8$catchify(records => {
3595
+ const resizeObserver = new ResizeObserver($9HbP8$catchify1(records => {
3518
3596
  for (let j = 0; j < records.length; j++) {
3519
3597
  const width = records[j].borderBoxSize?.[0]?.inlineSize ?? what_to_watch.getBoundingClientRect().width;
3520
3598
  setWidth(width);
@@ -3524,7 +3602,7 @@ function $2449872a62a75a20$export$ebdc3711f7e02ccd(what_to_watch) {
3524
3602
  // It doesn't seem to work even when waiting for it to be in the DOM, also wait an animation frame
3525
3603
  const disconnect = (0, $9HbP8$observer).onexists(what_to_watch, ({
3526
3604
  element: element
3527
- }) => requestAnimationFrame($9HbP8$catchify(() => {
3605
+ }) => requestAnimationFrame($9HbP8$catchify1(() => {
3528
3606
  const current_size = what_to_watch.getBoundingClientRect().width;
3529
3607
  if (current_size)
3530
3608
  // 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.
@@ -3569,7 +3647,7 @@ function $5285d2814d0fac0c$export$b94867ecbd698f21({
3569
3647
  let input_element;
3570
3648
  // This is the div where we recommend (and ourselves do) attach the event listener to that opens the search modal.
3571
3649
  let field_div;
3572
- $9HbP8$createEffect($9HbP8$catchify(async () => {
3650
+ $9HbP8$createEffect($9HbP8$catchify1(async () => {
3573
3651
  if (disabled_) return;
3574
3652
  // we aren't in DOM yet unfortunately, wouldn't even be with onMount
3575
3653
  await (0, $9HbP8$observer).wait_for_element(input_element);
@@ -3587,7 +3665,7 @@ function $5285d2814d0fac0c$export$b94867ecbd698f21({
3587
3665
  var _el$ = $9HbP8$getNextElement($5285d2814d0fac0c$var$_tmpl$);
3588
3666
  $9HbP8$spread(_el$, $9HbP8$mergeProps({
3589
3667
  get onClick() {
3590
- return $9HbP8$catchify(on_back_);
3668
+ return $9HbP8$catchify1(on_back_);
3591
3669
  },
3592
3670
  get ["aria-label"]() {
3593
3671
  return i18n_.back_();
@@ -3617,7 +3695,7 @@ function $5285d2814d0fac0c$export$b94867ecbd698f21({
3617
3695
  return isNewModal || !searchFieldEmpty() ? "" : "display: none";
3618
3696
  },
3619
3697
  get onClick() {
3620
- return $9HbP8$catchify(() => {
3698
+ return $9HbP8$catchify1(() => {
3621
3699
  if (isNewModal && searchFieldEmpty()) return;
3622
3700
  setSearchFieldValue("");
3623
3701
  clear_filters_(true);
@@ -3674,7 +3752,7 @@ function $5285d2814d0fac0c$export$b94867ecbd698f21({
3674
3752
  field_div = el;
3675
3753
  field_element_ref_?.(el);
3676
3754
  }, _el$5);
3677
- $9HbP8$addEventListener(_el$5, "click", $9HbP8$catchify(({
3755
+ $9HbP8$addEventListener(_el$5, "click", $9HbP8$catchify1(({
3678
3756
  target: target,
3679
3757
  currentTarget: currentTarget,
3680
3758
  detail: detail
@@ -3704,7 +3782,7 @@ function $5285d2814d0fac0c$export$b94867ecbd698f21({
3704
3782
  }) => {
3705
3783
  // When selecting text with a mouse we want a SearchField to be focussed even when releasing the mouse outside the .field element (we assume the event listener which opens the modal is attached to that).
3706
3784
  if (pointerType === "mouse") {
3707
- const handler = $9HbP8$catchify(({
3785
+ const handler = $9HbP8$catchify1(({
3708
3786
  pointerType: pointerType,
3709
3787
  target: target
3710
3788
  }) => {
@@ -3717,26 +3795,26 @@ function $5285d2814d0fac0c$export$b94867ecbd698f21({
3717
3795
  $9HbP8$runWithOwner(owner_of_field_element, () => $9HbP8$onCleanup(() => window.removeEventListener("pointerup", handler)));
3718
3796
  }
3719
3797
  };
3720
- $9HbP8$addEventListener(_el$6, "select", $9HbP8$catchify(() => {
3798
+ $9HbP8$addEventListener(_el$6, "select", $9HbP8$catchify1(() => {
3721
3799
  if (disabled_)
3722
3800
  // just in case. The field not actually being disabled when being disabled_ is so that you can focus it and open the modal. We don't want any of the other input-field-interaction features to work
3723
3801
  return;
3724
3802
  if (input_element.selectionStart === 0 && input_element.selectionEnd === input_element.value.length)
3725
3803
  // everything was selected, clear filters on next submit on next input
3726
- input_element.addEventListener("input", $9HbP8$catchify(() => clear_filters_(false)),
3804
+ input_element.addEventListener("input", $9HbP8$catchify1(() => clear_filters_(false)),
3727
3805
  // We don't count this as user triggered since it wasn't explicit
3728
3806
  {
3729
3807
  once: true
3730
3808
  });
3731
3809
  }));
3732
- $9HbP8$addEventListener(_el$6, "input", $9HbP8$catchify(() => {
3810
+ $9HbP8$addEventListener(_el$6, "input", $9HbP8$catchify1(() => {
3733
3811
  const {
3734
3812
  value: value
3735
3813
  } = input_element;
3736
3814
  if (!disabled_ && !value.length) clear_filters_(false); // if the user clears the whole field, reset filters on next submit
3737
3815
  setSearchFieldValue(value);
3738
3816
  }), true);
3739
- $9HbP8$addEventListener(_el$6, "keydown", $9HbP8$catchify(e => {
3817
+ $9HbP8$addEventListener(_el$6, "keydown", $9HbP8$catchify1(e => {
3740
3818
  if (disabled_) {
3741
3819
  if (e.key !== "Tab" && e.key !== "Shift")
3742
3820
  // alow tab-selecting the input field and then open the modal when the user start writing but also to move past the field with tab
@@ -3746,7 +3824,7 @@ function $5285d2814d0fac0c$export$b94867ecbd698f21({
3746
3824
  if (!dont_submit) submit_query_();
3747
3825
  }
3748
3826
  }), true);
3749
- var _ref$2 = $9HbP8$catchify(el => {
3827
+ var _ref$2 = $9HbP8$catchify1(el => {
3750
3828
  input_element = el;
3751
3829
  input_field_ref_?.(el);
3752
3830
  });
@@ -3758,7 +3836,7 @@ function $5285d2814d0fac0c$export$b94867ecbd698f21({
3758
3836
  when: !isNewModal,
3759
3837
  get children() {
3760
3838
  var _el$11 = $9HbP8$getNextElement($5285d2814d0fac0c$var$_tmpl$4);
3761
- $9HbP8$addEventListener(_el$11, "click", $9HbP8$catchify(() => submit_query_()), true);
3839
+ $9HbP8$addEventListener(_el$11, "click", $9HbP8$catchify1(() => submit_query_()), true);
3762
3840
  $9HbP8$insert(_el$11, $9HbP8$createComponent((0, $16f0ed5ea30d8d9c$export$82eafebb825fc23f), {}));
3763
3841
  $9HbP8$effect(() => $9HbP8$setAttribute(_el$11, "aria-label", i18n_.search_submit_button_aria_label_()));
3764
3842
  $9HbP8$runHydrationEvents();
@@ -3795,18 +3873,18 @@ function $aea1edf92433e81e$export$fe334901e8bebd57() {
3795
3873
  offset: 0
3796
3874
  }, 1);
3797
3875
  animation.pause();
3798
- const fn = $9HbP8$catchify(animation.play.bind(animation));
3876
+ const fn = $9HbP8$catchify1(animation.play.bind(animation));
3799
3877
  cleanup_fns.push(fn);
3800
3878
  $9HbP8$onCleanup(fn);
3801
3879
  } catch (e) {
3802
- $9HbP8$dlog("Probably partial keyframe error", e);
3880
+ $9HbP8$dlog1("Probably partial keyframe error", e);
3803
3881
  }
3804
3882
  if (getComputedStyle(element).overflow !== "hidden") {
3805
3883
  // safari gets special hacky treatment
3806
3884
  const style = element.style;
3807
3885
  const original_value = style.overflow;
3808
3886
  style.overflow = "hidden";
3809
- const fn = $9HbP8$catchify(() => style.overflow = original_value);
3887
+ const fn = $9HbP8$catchify1(() => style.overflow = original_value);
3810
3888
  cleanup_fns.push(fn);
3811
3889
  $9HbP8$onCleanup(fn);
3812
3890
  }
@@ -3829,8 +3907,8 @@ function $512b994d501f412b$export$93d9bfd0c9c1a5b8(close_modal, search_query_url
3829
3907
  let set_initial_values = false;
3830
3908
  let old_pathname;
3831
3909
  let old_param_value;
3832
- $9HbP8$onCleanup($9HbP8$catchify(exit_iterable));
3833
- $9HbP8$catchify(async () => {
3910
+ $9HbP8$onCleanup($9HbP8$catchify1(exit_iterable));
3911
+ $9HbP8$catchify1(async () => {
3834
3912
  for await (const href of exitable_iterable) {
3835
3913
  const u_o = new URL(href);
3836
3914
  const new_pathname = u_o.pathname;
@@ -3901,7 +3979,7 @@ function $42912431795f188e$var$RawClassicSearchModal({
3901
3979
  } = alignmentSignals_ || {};
3902
3980
  const [bodyAlignmentStyle] = bodyAlignmentSignal;
3903
3981
  const [get_modal_search_results, set_modal_search_results_] = $9HbP8$createSignal();
3904
- const close_on_escape_handler = $9HbP8$catchify(({
3982
+ const close_on_escape_handler = $9HbP8$catchify1(({
3905
3983
  key: key
3906
3984
  }) => {
3907
3985
  if (key === "Escape") close_modal_();
@@ -3925,7 +4003,7 @@ function $42912431795f188e$var$RawClassicSearchModal({
3925
4003
  const DiscoverMoreSection = () => (() => {
3926
4004
  var _el$ = $9HbP8$getNextElement($42912431795f188e$var$_tmpl$),
3927
4005
  _el$2 = _el$.firstChild;
3928
- $9HbP8$addEventListener(_el$2, "click", $9HbP8$catchify(() => submit_query_()), true);
4006
+ $9HbP8$addEventListener(_el$2, "click", $9HbP8$catchify1(() => submit_query_()), true);
3929
4007
  $9HbP8$insert(_el$2, (() => {
3930
4008
  var _c$ = $9HbP8$memo(() => !!get_search_field_value_());
3931
4009
  return () => _c$() ? i18n_.modal_view_all_results_()((() => {
@@ -3940,7 +4018,7 @@ function $42912431795f188e$var$RawClassicSearchModal({
3940
4018
  if (disable_scrolling_) $aea1edf92433e81e$export$fe334901e8bebd57();
3941
4019
  $512b994d501f412b$export$93d9bfd0c9c1a5b8(close_modal_, search_query_url_param_name_);
3942
4020
  window.addEventListener("keydown", close_on_escape_handler);
3943
- $9HbP8$onCleanup($9HbP8$catchify(() => window.removeEventListener("keydown", close_on_escape_handler)));
4021
+ $9HbP8$onCleanup($9HbP8$catchify1(() => window.removeEventListener("keydown", close_on_escape_handler)));
3944
4022
  if (closing_animation_) register_closing_animation_(closing_animation_);
3945
4023
  $c64d28ca12452b21$export$3340fdd8259bd4fd({
3946
4024
  get_search_field_value_: get_search_field_value_,
@@ -3992,13 +4070,13 @@ function $42912431795f188e$var$RawClassicSearchModal({
3992
4070
  [_el$16, _co$5] = $9HbP8$getNextMarker(_el$15.nextSibling),
3993
4071
  _el$17 = _el$5.nextSibling,
3994
4072
  [_el$18, _co$6] = $9HbP8$getNextMarker(_el$17.nextSibling);
3995
- $9HbP8$addEventListener(_el$4, "click", $9HbP8$catchify(({
4073
+ $9HbP8$addEventListener(_el$4, "click", $9HbP8$catchify1(({
3996
4074
  target: target
3997
4075
  }) => {
3998
4076
  if (target === modal_element) close_modal_();
3999
4077
  }), true);
4000
4078
  $9HbP8$insert(_el$5, search_field, _el$14, _co$4);
4001
- $9HbP8$use(el => $9HbP8$catchify((0, $4ceabea39c9a56ac$export$50b90be27d8502d9))(el, bodyAlignmentSignal, bottom_distance_under_modal_), _el$6);
4079
+ $9HbP8$use(el => $9HbP8$catchify1((0, $4ceabea39c9a56ac$export$50b90be27d8502d9))(el, bodyAlignmentSignal, bottom_distance_under_modal_), _el$6);
4002
4080
  $9HbP8$insert(_el$6, $9HbP8$createComponent((0, $b7436a6d1fd64e3b$export$b69d0d92862de18b), {
4003
4081
  severity_: "error",
4004
4082
  message_: "Autocomplete/suggestions failed",
@@ -4203,7 +4281,7 @@ function $4147651646da990a$var$decode_filter_data(op, encoded_data) {
4203
4281
  try {
4204
4282
  return JSON.parse($9HbP8$base64_decode_unicode(encoded_data));
4205
4283
  } catch (e) {
4206
- $9HbP8$dlog("Failed to fallback parse filter data", op, encoded_data, e);
4284
+ $9HbP8$dlog1("Failed to fallback parse filter data", op, encoded_data, e);
4207
4285
  }
4208
4286
  return null;
4209
4287
  }
@@ -4261,7 +4339,7 @@ function $4147651646da990a$export$766e9676e74997d3(search_params, sorting_query_
4261
4339
  field: encoded_sorting.slice(0, -$4147651646da990a$var$descending_token.length),
4262
4340
  order: "desc"
4263
4341
  };
4264
- $9HbP8$dlog("Invalid sorting query param value", encoded_sorting);
4342
+ $9HbP8$dlog1("Invalid sorting query param value", encoded_sorting);
4265
4343
  return;
4266
4344
  }
4267
4345
  function $4147651646da990a$export$916e6850778505f6(search_params, filter_query_param_prefix, sorting_query_param) {
@@ -4269,7 +4347,7 @@ function $4147651646da990a$export$916e6850778505f6(search_params, filter_query_p
4269
4347
  const keys = [...search_params.keys()];
4270
4348
  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);
4271
4349
  }
4272
- const $4147651646da990a$export$cf5feb2102aec7f2 = "went_sideways_clear_filters";
4350
+ const $4147651646da990a$export$84daa4fa1471698b = "#went_sideways_clear_filters";
4273
4351
  function $4147651646da990a$export$43cd1e747fecd42e({
4274
4352
  to_url_: to_url_,
4275
4353
  set_clearing_flag_: set_clearing_flag_,
@@ -4283,9 +4361,13 @@ function $4147651646da990a$export$43cd1e747fecd42e({
4283
4361
  const {
4284
4362
  searchParams: searchParams
4285
4363
  } = url_object;
4286
- if (set_clearing_flag_) searchParams.set($4147651646da990a$export$cf5feb2102aec7f2, "true");
4364
+ let transferredAnyFilters = false;
4287
4365
  if (from_search_params_.has(sorting_query_param_)) searchParams.set(sorting_query_param_, from_search_params_.get(sorting_query_param_));
4288
- for (const key of from_search_params_.keys()) if (key.startsWith(filter_query_param_prefix_)) searchParams.set(key, from_search_params_.get(key));
4366
+ for (const key of from_search_params_.keys()) if (key.startsWith(filter_query_param_prefix_)) {
4367
+ searchParams.set(key, from_search_params_.get(key));
4368
+ transferredAnyFilters = true;
4369
+ }
4370
+ if (set_clearing_flag_ && transferredAnyFilters) url_object.hash = $4147651646da990a$export$84daa4fa1471698b;
4289
4371
  if (was_url_object) return url_object;
4290
4372
  return url_object.href;
4291
4373
  }
@@ -4330,7 +4412,7 @@ function $dfa5b6f7c5e421df$export$5646050d516e06bc({
4330
4412
  },
4331
4413
  get children() {
4332
4414
  var _el$2 = $9HbP8$getNextElement($dfa5b6f7c5e421df$var$_tmpl$2);
4333
- $9HbP8$addEventListener(_el$2, "click", $9HbP8$catchify(ev => router_.navigate_.go_to_({
4415
+ $9HbP8$addEventListener(_el$2, "click", $9HbP8$catchify1(ev => router_.navigate_.go_to_({
4334
4416
  new_url_: href(),
4335
4417
  is_replace_: false,
4336
4418
  event_: ev,
@@ -4393,7 +4475,7 @@ function $4ce5b8892775b62d$export$67152d26d4f56ee8({
4393
4475
  return href();
4394
4476
  },
4395
4477
  get onClick() {
4396
- return $9HbP8$catchify(ev => href() && router_.navigate_.go_to_({
4478
+ return $9HbP8$catchify1(ev => href() && router_.navigate_.go_to_({
4397
4479
  new_url_: href(),
4398
4480
  is_replace_: false,
4399
4481
  event_: ev,
@@ -4418,8 +4500,8 @@ function $4ce5b8892775b62d$export$67152d26d4f56ee8({
4418
4500
  [_el$8, _co$2] = $9HbP8$getNextMarker(_el$7.nextSibling),
4419
4501
  _el$4 = _el$8.nextSibling;
4420
4502
  $9HbP8$use(element => $f4125ce4984deee6$export$12761f53d7ab7f27(element, selectedDueToKeyboardNavigation), _el$2);
4421
- $9HbP8$addEventListener(_el$2, "mouseleave", $9HbP8$catchify(() => write_selected_index_()));
4422
- $9HbP8$addEventListener(_el$2, "mouseover", $9HbP8$catchify(({
4503
+ $9HbP8$addEventListener(_el$2, "mouseleave", $9HbP8$catchify1(() => write_selected_index_()));
4504
+ $9HbP8$addEventListener(_el$2, "mouseover", $9HbP8$catchify1(({
4423
4505
  target: target
4424
4506
  }) => {
4425
4507
  // Using onMouseOver instead of onMouseEnter to also trigger when the hovered child changes
@@ -4666,7 +4748,7 @@ function $903297121898e5ff$export$d4994a86c6235f72({
4666
4748
  var _el$7 = $9HbP8$getNextElement($903297121898e5ff$var$_tmpl$2);
4667
4749
  $9HbP8$use(element => {
4668
4750
  $f4125ce4984deee6$export$12761f53d7ab7f27(element, selectedDueToKeyboardNavigation);
4669
- element.addEventListener("click", $9HbP8$catchify(ev => {
4751
+ element.addEventListener("click", $9HbP8$catchify1(ev => {
4670
4752
  // Viskan's Oscar Jacobson site requires us to add the event listener normally here. They do too much when this element is clicked. We work around it by blocking the event and just dispatching it non-bubbling on this element.
4671
4753
  const itemContents = item();
4672
4754
  if ("page_url_" in itemContents) {
@@ -4682,8 +4764,8 @@ function $903297121898e5ff$export$d4994a86c6235f72({
4682
4764
  submit_query_(itemContents.title_);
4683
4765
  }));
4684
4766
  }, _el$7);
4685
- $9HbP8$addEventListener(_el$7, "mouseleave", $9HbP8$catchify(() => write_selected_index_()));
4686
- $9HbP8$addEventListener(_el$7, "mouseenter", $9HbP8$catchify(() => write_selected_index_([itemIndex_(), index])));
4767
+ $9HbP8$addEventListener(_el$7, "mouseleave", $9HbP8$catchify1(() => write_selected_index_()));
4768
+ $9HbP8$addEventListener(_el$7, "mouseenter", $9HbP8$catchify1(() => write_selected_index_([itemIndex_(), index])));
4687
4769
  $9HbP8$insert(_el$7, $9HbP8$createComponent((0, $f3213c0640246d58$export$ba17c5b7e6dda39f), {
4688
4770
  class_: "title line-clamp",
4689
4771
  get whole_text_to_display_() {
@@ -4803,7 +4885,7 @@ function $2f3171b02c8f4a5d$export$af1fb307bbba2417({
4803
4885
  },
4804
4886
  extraTitleRowElements_: () => (() => {
4805
4887
  var _el$ = $9HbP8$getNextElement($2f3171b02c8f4a5d$var$_tmpl$);
4806
- $9HbP8$addEventListener(_el$, "click", $9HbP8$catchify(() => set_unfiltered_previous_searches_([])), true);
4888
+ $9HbP8$addEventListener(_el$, "click", $9HbP8$catchify1(() => set_unfiltered_previous_searches_([])), true);
4807
4889
  $9HbP8$insert(_el$, () => i18n_.clear_all_from_filter_crumbs_());
4808
4890
  $9HbP8$runHydrationEvents();
4809
4891
  return _el$;
@@ -4952,7 +5034,7 @@ function $500a16dd18ee5a71$var$RawSearchModalV2({
4952
5034
  const random_classname_body = $9HbP8$make_random_classname();
4953
5035
  const backdropRandomClassname = $9HbP8$make_random_classname();
4954
5036
  const [get_modal_search_results_, set_modal_search_results_] = $9HbP8$createSignal();
4955
- const close_on_escape_handler = $9HbP8$catchify(evt => {
5037
+ const close_on_escape_handler = $9HbP8$catchify1(evt => {
4956
5038
  if (evt.key === "Escape") {
4957
5039
  evt.preventDefault(); // Prevent the browser from closing/cancelling the modal so our animations have time to run
4958
5040
  close_modal_();
@@ -5048,7 +5130,7 @@ function $500a16dd18ee5a71$var$RawSearchModalV2({
5048
5130
  $9HbP8$createEffect($9HbP8$on(get_search_field_value_, () => {
5049
5131
  setShowStaleListingSuggestions(true);
5050
5132
  clearTimeout(listingSuggestionsDebounceTimeout);
5051
- listingSuggestionsDebounceTimeout = setTimeout($9HbP8$catchify(() => setShowStaleListingSuggestions(false)), 350);
5133
+ listingSuggestionsDebounceTimeout = setTimeout($9HbP8$catchify1(() => setShowStaleListingSuggestions(false)), 350);
5052
5134
  }, {
5053
5135
  defer: true
5054
5136
  }));
@@ -5186,7 +5268,7 @@ function $500a16dd18ee5a71$var$RawSearchModalV2({
5186
5268
  const discoverMoreSection = (() => {
5187
5269
  var _el$7 = $9HbP8$getNextElement($500a16dd18ee5a71$var$_tmpl$4),
5188
5270
  _el$8 = _el$7.firstChild;
5189
- $9HbP8$addEventListener(_el$8, "click", $9HbP8$catchify(() => submit_query_()), true);
5271
+ $9HbP8$addEventListener(_el$8, "click", $9HbP8$catchify1(() => submit_query_()), true);
5190
5272
  $9HbP8$insert(_el$8, (() => {
5191
5273
  var _c$ = $9HbP8$memo(() => !!get_search_field_value_());
5192
5274
  return () => _c$() ? i18n_.modal_view_all_results_()((() => {
@@ -5216,7 +5298,7 @@ function $500a16dd18ee5a71$var$RawSearchModalV2({
5216
5298
  }
5217
5299
  });
5218
5300
  if (setSearchFieldOuterWidth_) {
5219
- const resizeObserver = new ResizeObserver($9HbP8$catchify(records => setSearchFieldOuterWidth_(records.at(-1).contentRect.width)));
5301
+ const resizeObserver = new ResizeObserver($9HbP8$catchify1(records => setSearchFieldOuterWidth_(records.at(-1).contentRect.width)));
5220
5302
  resizeObserver.observe(search_field);
5221
5303
  $9HbP8$onCleanup(() => resizeObserver.disconnect());
5222
5304
  }
@@ -5257,7 +5339,7 @@ function $500a16dd18ee5a71$var$RawSearchModalV2({
5257
5339
  _el$13 = _el$15.nextSibling,
5258
5340
  _el$16 = _el$12.nextSibling,
5259
5341
  [_el$17, _co$3] = $9HbP8$getNextMarker(_el$16.nextSibling);
5260
- $9HbP8$addEventListener(_el$11, "click", $9HbP8$catchify(({
5342
+ $9HbP8$addEventListener(_el$11, "click", $9HbP8$catchify1(({
5261
5343
  target: target,
5262
5344
  currentTarget: currentTarget
5263
5345
  }) => {
@@ -5265,13 +5347,13 @@ function $500a16dd18ee5a71$var$RawSearchModalV2({
5265
5347
  }), true);
5266
5348
  $9HbP8$use(element => {
5267
5349
  // We don't have contained queries in JS so use ResizeObserver instead. This is so that the modal automatically assumes a mobile layout when aligning with a short SearchField.
5268
- const resizeObserver = new ResizeObserver($9HbP8$catchify(records => setModalBodyWidth(records.at(-1).contentRect.width)));
5350
+ const resizeObserver = new ResizeObserver($9HbP8$catchify1(records => setModalBodyWidth(records.at(-1).contentRect.width)));
5269
5351
  resizeObserver.observe(element);
5270
5352
  $9HbP8$onCleanup(() => resizeObserver.disconnect());
5271
5353
  }, _el$12);
5272
5354
  $9HbP8$insert(_el$12, search_field, _el$15, _co$2);
5273
5355
  $9HbP8$use(el => {
5274
- $9HbP8$catchify((0, $4ceabea39c9a56ac$export$50b90be27d8502d9))(el, bodyAlignmentSignal, bottom_distance_under_modal_ || (() => 0.03 // 3% under SearchModalV2 by default
5356
+ $9HbP8$catchify1((0, $4ceabea39c9a56ac$export$50b90be27d8502d9))(el, bodyAlignmentSignal, bottom_distance_under_modal_ || (() => 0.03 // 3% under SearchModalV2 by default
5275
5357
  ));
5276
5358
  // Workaround part 2 of https://github.com/solidjs/solid/issues/2030
5277
5359
  // We can't just re-render the components in the two different <Show> branches because <Show> would infinite loop because it depends on the resource created by the components
@@ -5349,7 +5431,7 @@ function $024fbc0a2d796fad$var$ActualTabs(props) {
5349
5431
  });
5350
5432
  const isSelected = $9HbP8$createSelector(currentlySelected);
5351
5433
  const owner = $9HbP8$getOwner();
5352
- const updateTabsSignal = $9HbP8$catchify1(() => $9HbP8$runWithOwner(owner, () => setTabsReactive([...ourTabsSet])));
5434
+ const updateTabsSignal = $9HbP8$catchify(() => $9HbP8$runWithOwner(owner, () => setTabsReactive([...ourTabsSet])));
5353
5435
  const ourTabsSet = $024fbc0a2d796fad$var$useTabs();
5354
5436
  const location = $9HbP8$use_href_accessor1();
5355
5437
  const linkWithChangedHash = hash => {
@@ -5480,7 +5562,7 @@ function $024fbc0a2d796fad$export$3e41faf802a29e71(props) {
5480
5562
  async function $194bd6b8e4c59830$export$79b1565500412d9b(search_modal, modal_fn_opts, parent) {
5481
5563
  const body = parent || document.body || (await (0, $9HbP8$observer).wait_for_element("body"));
5482
5564
  let dispose_and_remove;
5483
- const open_modal_ = $9HbP8$catchify(async (extra_options_for_modal = {}, on_dispose) => {
5565
+ const open_modal_ = $9HbP8$catchify1(async (extra_options_for_modal = {}, on_dispose) => {
5484
5566
  // Below await is very intentional,
5485
5567
  // 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
5486
5568
  // This is because the suspense is for the content in the page and not the modal (the modal goes above it)
@@ -5510,7 +5592,7 @@ async function $194bd6b8e4c59830$export$79b1565500412d9b(search_modal, modal_fn_
5510
5592
  // Animation broke, close it this time
5511
5593
  actually_close();else if (!animation_started && closing_animation) {
5512
5594
  animation_started = +new Date();
5513
- $9HbP8$catchify(closing_animation)()?.then($9HbP8$catchify(actually_close));
5595
+ $9HbP8$catchify1(closing_animation)()?.then($9HbP8$catchify1(actually_close));
5514
5596
  } else actually_close();
5515
5597
  };
5516
5598
  return search_modal({
@@ -5523,7 +5605,7 @@ async function $194bd6b8e4c59830$export$79b1565500412d9b(search_modal, modal_fn_
5523
5605
  });
5524
5606
  body.append(...modal_els);
5525
5607
  });
5526
- const close_modal_ = $9HbP8$catchify(() => {
5608
+ const close_modal_ = $9HbP8$catchify1(() => {
5527
5609
  if (dispose_and_remove) {
5528
5610
  // modal is open
5529
5611
  const dispose_fn = dispose_and_remove;
@@ -5540,7 +5622,7 @@ async function $194bd6b8e4c59830$export$79b1565500412d9b(search_modal, modal_fn_
5540
5622
  function $ca6f574bd8772184$export$e183a13865960371(params_to_default_value, router_) {
5541
5623
  const signals = {};
5542
5624
  const entries = Object.entries(params_to_default_value);
5543
- const event_handler = $9HbP8$catchify((what_happened, args) => {
5625
+ const event_handler = $9HbP8$catchify1((what_happened, args) => {
5544
5626
  // 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
5545
5627
  if (what_happened !== "popstate") return;
5546
5628
  // 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.
@@ -5571,8 +5653,8 @@ function $ca6f574bd8772184$export$e183a13865960371(params_to_default_value, rout
5571
5653
  });
5572
5654
  // 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
5573
5655
  (0, $9HbP8$instant_exec_on_suspect_history_change).add(event_handler);
5574
- $9HbP8$onCleanup($9HbP8$catchify(() => (0, $9HbP8$instant_exec_on_suspect_history_change).delete(event_handler)));
5575
- $9HbP8$createEffect($9HbP8$catchify(() => $9HbP8$untrack($9HbP8$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
5656
+ $9HbP8$onCleanup($9HbP8$catchify1(() => (0, $9HbP8$instant_exec_on_suspect_history_change).delete(event_handler)));
5657
+ $9HbP8$createEffect($9HbP8$catchify1(() => $9HbP8$untrack($9HbP8$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
5576
5658
  return signals;
5577
5659
  }
5578
5660
  function $ca6f574bd8772184$var$history_state_change(signals, entries, state) {
@@ -5726,7 +5808,7 @@ function $45d4ed34a22ab90c$export$6b35356958ae5587(props) {
5726
5808
  // If someone clicks on a product card in the shop the look modal, close the modal the next time the href changes
5727
5809
  for (const item of resolved()) {
5728
5810
  if (!(item instanceof Element)) return;
5729
- item.addEventListener("click", $9HbP8$catchify(() =>
5811
+ item.addEventListener("click", $9HbP8$catchify1(() =>
5730
5812
  // run with modal owner so we don't do stuff after the modal closes
5731
5813
  // 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)
5732
5814
  $9HbP8$runWithOwner(props.modalOwner_, () => $9HbP8$createEffect($9HbP8$on(hrefWithoutHash, props.actually_close_modal_, {
@@ -5849,7 +5931,7 @@ function $e64486f09b43651c$export$a3cbef418994a664(props) {
5849
5931
  var _el$ = $9HbP8$getNextElement($e64486f09b43651c$var$_tmpl$3),
5850
5932
  _el$2 = _el$.firstChild,
5851
5933
  _el$3 = _el$2.nextSibling;
5852
- var _ref$ = $9HbP8$catchify(element => {
5934
+ var _ref$ = $9HbP8$catchify1(element => {
5853
5935
  const disconnect = (0, $9HbP8$observer).onexists(element, ({
5854
5936
  element: element
5855
5937
  }) => {
@@ -6023,7 +6105,7 @@ function $8560c919ff763930$var$actualSetupModal() {
6023
6105
  (0, $90980bd87c9960f9$export$3064e1e8c6513da3).add(history_key);
6024
6106
  const actually_close_modal_ = () => set_history_value(false);
6025
6107
  const owner = $9HbP8$getOwner();
6026
- $9HbP8$catchify(async () => {
6108
+ $9HbP8$catchify1(async () => {
6027
6109
  const {
6028
6110
  open_modal_: open_modal_,
6029
6111
  close_modal_: close_modal_
@@ -6101,15 +6183,15 @@ function $6bb0a0c563dff4bb$export$6c6d7a51fa9aa15d(props) {
6101
6183
  $9HbP8$insert(details_, [summary_, $9HbP8$createComponent(ExpandingContainer, {
6102
6184
  children: children
6103
6185
  })], null);
6104
- if (!$9HbP8$untrack(is_in_dom)) (0, $9HbP8$observer).wait_for_element(details_).then($9HbP8$catchify(() => set_is_in_dom(true)));
6105
- $9HbP8$createEffect($9HbP8$catchify(async () => {
6186
+ if (!$9HbP8$untrack(is_in_dom)) (0, $9HbP8$observer).wait_for_element(details_).then($9HbP8$catchify1(() => set_is_in_dom(true)));
6187
+ $9HbP8$createEffect($9HbP8$catchify1(async () => {
6106
6188
  const is_open = is_open_memo();
6107
6189
  if (!is_in_dom())
6108
6190
  // wait with setting state until we're in DOM, animation won't work otherwise
6109
6191
  return;
6110
6192
  if (dont_animate_if_instant_open_ && fresh_component && !timeout_started) {
6111
6193
  timeout_started = true;
6112
- setTimeout($9HbP8$catchify(() => fresh_component = false));
6194
+ setTimeout($9HbP8$catchify1(() => fresh_component = false));
6113
6195
  }
6114
6196
  if (is_open) {
6115
6197
  details_.open = true; // open up the toggle so the animation can happen
@@ -6117,10 +6199,10 @@ function $6bb0a0c563dff4bb$export$6c6d7a51fa9aa15d(props) {
6117
6199
  await expand(0, do_duration);
6118
6200
  } else {
6119
6201
  const animation = await collapse();
6120
- animation?.addEventListener("finish", $9HbP8$catchify(() => details_.open = false));
6202
+ animation?.addEventListener("finish", $9HbP8$catchify1(() => details_.open = false));
6121
6203
  }
6122
6204
  }));
6123
- details_.addEventListener("toggle", $9HbP8$catchify(() => {
6205
+ details_.addEventListener("toggle", $9HbP8$catchify1(() => {
6124
6206
  const {
6125
6207
  open: open
6126
6208
  } = details_;
@@ -6130,11 +6212,11 @@ function $6bb0a0c563dff4bb$export$6c6d7a51fa9aa15d(props) {
6130
6212
  }) // in case someone somehow toggles it without us intercepting it at least follow suit
6131
6213
  );
6132
6214
 
6133
- summary_.addEventListener("click", $9HbP8$catchify(ev => {
6215
+ summary_.addEventListener("click", $9HbP8$catchify1(ev => {
6134
6216
  ev.preventDefault();
6135
6217
  toggle();
6136
6218
  }));
6137
- summary_.addEventListener("keydown", $9HbP8$catchify(ev => {
6219
+ summary_.addEventListener("keydown", $9HbP8$catchify1(ev => {
6138
6220
  const {
6139
6221
  key: key
6140
6222
  } = ev;
@@ -6173,7 +6255,7 @@ function $bf52d9f9eebd1938$export$5196e4c01fa56fcb({
6173
6255
  }) {
6174
6256
  let close_toast_;
6175
6257
  const stay_open_promise = new Promise(r => close_toast_ = r);
6176
- $9HbP8$catchify(async () => {
6258
+ $9HbP8$catchify1(async () => {
6177
6259
  const closing_animation_duration = 300; // ms
6178
6260
  const element = (() => {
6179
6261
  var _el$ = $9HbP8$getNextElement($bf52d9f9eebd1938$var$_tmpl$);
@@ -6184,8 +6266,8 @@ function $bf52d9f9eebd1938$export$5196e4c01fa56fcb({
6184
6266
  })();
6185
6267
  const [, set_is_showing_toast] = $bf52d9f9eebd1938$export$22970a0140fc759c;
6186
6268
  // if this is a memory leak the garbage collector is stupid - does someone know?
6187
- for (const ev of ["pointerover", "focusin"]) element.addEventListener(ev, $9HbP8$catchify(() => closing_animation.pause()));
6188
- for (const ev of ["pointerout", "focusout"]) element.addEventListener(ev, $9HbP8$catchify(() => closing_animation.play()));
6269
+ for (const ev of ["pointerover", "focusin"]) element.addEventListener(ev, $9HbP8$catchify1(() => closing_animation.pause()));
6270
+ for (const ev of ["pointerout", "focusout"]) element.addEventListener(ev, $9HbP8$catchify1(() => closing_animation.play()));
6189
6271
  const body = await (0, $9HbP8$observer).wait_for_element("body");
6190
6272
  const x_translate = "translateX(-50%) ";
6191
6273
  let remove_keyboard_listener;
@@ -6210,7 +6292,7 @@ function $bf52d9f9eebd1938$export$5196e4c01fa56fcb({
6210
6292
  // let other toasts close us if they open while we're still here
6211
6293
  $bf52d9f9eebd1938$var$closing_functions.add(close_toast_);
6212
6294
  set_is_showing_toast(true);
6213
- const handler = $9HbP8$catchify(({
6295
+ const handler = $9HbP8$catchify1(({
6214
6296
  key: key
6215
6297
  }) => {
6216
6298
  if (key === "Escape")
@@ -6322,7 +6404,7 @@ function $e9342fb3ac73a54a$export$8895d39404bd2bb1(props) {
6322
6404
  var _el$2 = $9HbP8$getNextElement($e9342fb3ac73a54a$var$_tmpl$2),
6323
6405
  _el$3 = _el$2.firstChild,
6324
6406
  _el$4 = _el$3.nextSibling;
6325
- $9HbP8$addEventListener(_el$3, "click", $9HbP8$catchify(() => {
6407
+ $9HbP8$addEventListener(_el$3, "click", $9HbP8$catchify1(() => {
6326
6408
  set_selected_filters(previous_selected_filters);
6327
6409
  set_expanded_hierarchical_filters(previous_expanded_hierarchical_filters);
6328
6410
  if (previousExpandedFilters) expanded_filters_?.[1](previousExpandedFilters);
@@ -6399,7 +6481,7 @@ function $1adfe60f3a14a1d7$export$fecbb157621501bd({
6399
6481
  get children() {
6400
6482
  return [(() => {
6401
6483
  var _el$6 = $9HbP8$getNextElement($1adfe60f3a14a1d7$var$_tmpl$);
6402
- $9HbP8$addEventListener(_el$6, "click", $9HbP8$catchify(() =>
6484
+ $9HbP8$addEventListener(_el$6, "click", $9HbP8$catchify1(() =>
6403
6485
  // click event handlers don't have an owner, carry it over
6404
6486
  $9HbP8$runWithOwner(owner, () => $e9342fb3ac73a54a$export$8895d39404bd2bb1({
6405
6487
  selected_filters_: selected_filters_,
@@ -6581,7 +6663,7 @@ function $1adfe60f3a14a1d7$export$fecbb157621501bd({
6581
6663
  _el$28 = _el$26.firstChild,
6582
6664
  [_el$29, _co$10] = $9HbP8$getNextMarker(_el$28.nextSibling),
6583
6665
  _el$27 = _el$29.nextSibling;
6584
- $9HbP8$addEventListener(_el$26, "click", $9HbP8$catchify(() => {
6666
+ $9HbP8$addEventListener(_el$26, "click", $9HbP8$catchify1(() => {
6585
6667
  const to_remove = selected_data();
6586
6668
  const cloned_selected_filters = [...read_selected_filters()];
6587
6669
  cloned_selected_filters.splice(index_in_selected_filters, 1);
@@ -6637,9 +6719,9 @@ function $1adfe60f3a14a1d7$export$fecbb157621501bd({
6637
6719
  });
6638
6720
  const [is_in_dom, set_is_in_dom] = $9HbP8$createSignal(document.documentElement.contains(outmost_element));
6639
6721
  const hidden = $9HbP8$createMemo(() => get_search_filters_open_() || get_search_sorting_open_());
6640
- if (!$9HbP8$untrack(is_in_dom)) (0, $9HbP8$observer).wait_for_element(outmost_element).then($9HbP8$catchify(() => set_is_in_dom(true)));
6722
+ if (!$9HbP8$untrack(is_in_dom)) (0, $9HbP8$observer).wait_for_element(outmost_element).then($9HbP8$catchify1(() => set_is_in_dom(true)));
6641
6723
  outmost_element.classList.add("selected-filters");
6642
- $9HbP8$createEffect($9HbP8$catchify(async () => {
6724
+ $9HbP8$createEffect($9HbP8$catchify1(async () => {
6643
6725
  if (!is_in_dom())
6644
6726
  // wait with setting state until we're in DOM, animation won't work otherwise
6645
6727
  return;
@@ -6676,7 +6758,7 @@ const $49b79728e7d9e2a1$export$48513f6b9f8ce62d = props => {
6676
6758
  // The reason for that being that we re-use the checkboxes. That means if one box was unchecked by the user and then removed, the "checked" value of "another" checkbox (that now had position 0) had changed to 0 (because the user unchecked the box with position 0) while solid js still believed that it was checked because it's checked signal hadn't changed.
6677
6759
  // I've worked around this by restoring the state of the checkbox to what it is in solid js a bit after it was changed
6678
6760
  // Why it can't be done instantaneously I don't know.
6679
- input_el.addEventListener("change", $9HbP8$catchify(() => requestAnimationFrame($9HbP8$catchify(() => {
6761
+ input_el.addEventListener("change", $9HbP8$catchify1(() => requestAnimationFrame($9HbP8$catchify1(() => {
6680
6762
  if (input_el.checked !== checked()) input_el.checked = checked();
6681
6763
  }))));
6682
6764
  props.input_ref_?.(input_el);
@@ -6735,7 +6817,7 @@ function $67b173f9db427028$export$ca21a16d65b3dd8({
6735
6817
  _el$3 = _el$.firstChild,
6736
6818
  [_el$4, _co$] = $9HbP8$getNextMarker(_el$3.nextSibling),
6737
6819
  _el$2 = _el$4.nextSibling;
6738
- $9HbP8$addEventListener(_el$, "click", $9HbP8$catchify(() => set_show_extras(p => !p)), true);
6820
+ $9HbP8$addEventListener(_el$, "click", $9HbP8$catchify1(() => set_show_extras(p => !p)), true);
6739
6821
  $9HbP8$insert(_el$, $9HbP8$createComponent((0, $f8a56ba74eedd0c6$export$f21ab0717a89c77f), {}), _el$4, _co$);
6740
6822
  $9HbP8$insert(_el$2, (() => {
6741
6823
  var _c$ = $9HbP8$memo(() => !!get_show_extras());
@@ -6848,7 +6930,7 @@ function $a4601e6bea3ed1e6$export$dd948f91abc3a1c4({
6848
6930
  }) : []);
6849
6931
  });
6850
6932
  $9HbP8$onCleanup(() => set_view_more_button_below_group_());
6851
- $9HbP8$createEffect($9HbP8$catchify(async () => {
6933
+ $9HbP8$createEffect($9HbP8$catchify1(async () => {
6852
6934
  if (!togglable_rest()) {
6853
6935
  await collapse();
6854
6936
  return;
@@ -6861,7 +6943,7 @@ function $a4601e6bea3ed1e6$export$dd948f91abc3a1c4({
6861
6943
  [_el$3, _co$] = $9HbP8$getNextMarker(_el$2.nextSibling),
6862
6944
  _el$4 = _el$3.nextSibling,
6863
6945
  [_el$5, _co$2] = $9HbP8$getNextMarker(_el$4.nextSibling);
6864
- $9HbP8$addEventListener(_el$, "change", $9HbP8$catchify(() => {
6946
+ $9HbP8$addEventListener(_el$, "change", $9HbP8$catchify1(() => {
6865
6947
  const set_filter = existing_filter();
6866
6948
  const {
6867
6949
  field: field,
@@ -6936,7 +7018,7 @@ function $eb8d9bf3b5700c26$export$430444115f70a734({
6936
7018
  _el$9 = _el$3.nextSibling,
6937
7019
  [_el$10, _co$2] = $9HbP8$getNextMarker(_el$9.nextSibling);
6938
7020
  $9HbP8$setAttribute(_el$2, "for", random_selector);
6939
- $9HbP8$addEventListener(_el$4, "change", $9HbP8$catchify(() => {
7021
+ $9HbP8$addEventListener(_el$4, "change", $9HbP8$catchify1(() => {
6940
7022
  const filter_object = {
6941
7023
  op: filter_().op,
6942
7024
  field: filter_().field,
@@ -7025,7 +7107,7 @@ function $a6b08770e164eced$export$e0d834a0ad870cda({
7025
7107
  });
7026
7108
  $9HbP8$createComputed(() => {
7027
7109
  clearTimeout(debounce_timeout);
7028
- debounce_timeout = setTimeout($9HbP8$catchify(range => $9HbP8$untrack(() => {
7110
+ debounce_timeout = setTimeout($9HbP8$catchify1(range => $9HbP8$untrack(() => {
7029
7111
  const default_data = defaultRange();
7030
7112
  const filter_object = {
7031
7113
  op: filter_().op,
@@ -7103,20 +7185,20 @@ function $a6b08770e164eced$var$RangeSelector({
7103
7185
  [_el$22, _co$6] = $9HbP8$getNextMarker(_el$21.nextSibling);
7104
7186
  var _ref$ = price_input_1;
7105
7187
  typeof _ref$ === "function" ? $9HbP8$use(_ref$, _el$4) : price_input_1 = _el$4;
7106
- $9HbP8$addEventListener(_el$4, "keydown", $9HbP8$catchify(({
7188
+ $9HbP8$addEventListener(_el$4, "keydown", $9HbP8$catchify1(({
7107
7189
  key: key
7108
7190
  }) => {
7109
7191
  if (key === "Enter") $a6b08770e164eced$var$set_range_with_sanitation(min_, max_, current_range_, 0, price_input_1);
7110
7192
  }), true);
7111
- $9HbP8$addEventListener(_el$4, "blur", $9HbP8$catchify(() => $a6b08770e164eced$var$set_range_with_sanitation(min_, max_, current_range_, 0, price_input_1)));
7193
+ $9HbP8$addEventListener(_el$4, "blur", $9HbP8$catchify1(() => $a6b08770e164eced$var$set_range_with_sanitation(min_, max_, current_range_, 0, price_input_1)));
7112
7194
  var _ref$2 = price_input_2;
7113
7195
  typeof _ref$2 === "function" ? $9HbP8$use(_ref$2, _el$7) : price_input_2 = _el$7;
7114
- $9HbP8$addEventListener(_el$7, "keydown", $9HbP8$catchify(({
7196
+ $9HbP8$addEventListener(_el$7, "keydown", $9HbP8$catchify1(({
7115
7197
  key: key
7116
7198
  }) => {
7117
7199
  if (key === "Enter") $a6b08770e164eced$var$set_range_with_sanitation(min_, max_, current_range_, 1, price_input_2);
7118
7200
  }), true);
7119
- $9HbP8$addEventListener(_el$7, "blur", $9HbP8$catchify(() => $a6b08770e164eced$var$set_range_with_sanitation(min_, max_, current_range_, 1, price_input_2)));
7201
+ $9HbP8$addEventListener(_el$7, "blur", $9HbP8$catchify1(() => $a6b08770e164eced$var$set_range_with_sanitation(min_, max_, current_range_, 1, price_input_2)));
7120
7202
  $9HbP8$insert(_el$, $9HbP8$createComponent($a6b08770e164eced$var$ExponentialSlider, {
7121
7203
  max_: max_,
7122
7204
  min_: min_,
@@ -7256,7 +7338,7 @@ function $a6b08770e164eced$var$LinearSlider({
7256
7338
  return [(() => {
7257
7339
  var _el$25 = $9HbP8$getNextElement($a6b08770e164eced$var$_tmpl$2),
7258
7340
  _el$26 = _el$25.firstChild;
7259
- $9HbP8$addEventListener(_el$25, "click", $9HbP8$catchify(e => {
7341
+ $9HbP8$addEventListener(_el$25, "click", $9HbP8$catchify1(e => {
7260
7342
  const rect = clickable_slider.getBoundingClientRect();
7261
7343
  const slider_beginning_left = rect.left;
7262
7344
  const slider_width = rect.width;
@@ -7282,12 +7364,12 @@ function $a6b08770e164eced$var$LinearSlider({
7282
7364
  range_input_1 = el;
7283
7365
  set_value(range_input_1, 0);
7284
7366
  }, _el$28);
7285
- $9HbP8$addEventListener(_el$28, "input", $9HbP8$catchify(() => $a6b08770e164eced$var$set_range_with_sanitation(min_, max_, current_range_, 0, range_input_1, offset_value_calculator_)), true);
7367
+ $9HbP8$addEventListener(_el$28, "input", $9HbP8$catchify1(() => $a6b08770e164eced$var$set_range_with_sanitation(min_, max_, current_range_, 0, range_input_1, offset_value_calculator_)), true);
7286
7368
  $9HbP8$use(el => {
7287
7369
  range_input_2 = el;
7288
7370
  set_value(range_input_2, 1);
7289
7371
  }, _el$29);
7290
- $9HbP8$addEventListener(_el$29, "input", $9HbP8$catchify(() => $a6b08770e164eced$var$set_range_with_sanitation(min_, max_, current_range_, 1, range_input_2, offset_value_calculator_)), true);
7372
+ $9HbP8$addEventListener(_el$29, "input", $9HbP8$catchify1(() => $a6b08770e164eced$var$set_range_with_sanitation(min_, max_, current_range_, 1, range_input_2, offset_value_calculator_)), true);
7291
7373
  $9HbP8$effect(_p$ => {
7292
7374
  var _v$10 = should_be_disabled_(),
7293
7375
  _v$11 = i18n_.range_filter_low_point_aria_label_(),
@@ -7733,7 +7815,7 @@ function $1c8cac76cb67e9af$export$a32086fa6616eafd({
7733
7815
  }
7734
7816
  while (execute_when_structure_finished.length) execute_when_structure_finished.pop()();
7735
7817
  $1c8cac76cb67e9af$var$expand_until_choice(data_structure);
7736
- $9HbP8$dlog("CheckboxHierarchicalFilter: Recomputed structured_categories", data_structure);
7818
+ $9HbP8$dlog1("CheckboxHierarchicalFilter: Recomputed structured_categories", data_structure);
7737
7819
  return data_structure;
7738
7820
  });
7739
7821
  const some_top_level_are_hidden = $9HbP8$createMemo(() => Object.keys(structured_categories()).length > $1c8cac76cb67e9af$var$max_visible_without_collapsing);
@@ -7763,7 +7845,7 @@ function $1c8cac76cb67e9af$export$a32086fa6616eafd({
7763
7845
  }) : []);
7764
7846
  });
7765
7847
  $9HbP8$onCleanup(() => set_view_more_button_below_group());
7766
- $9HbP8$createEffect($9HbP8$catchify(async () => {
7848
+ $9HbP8$createEffect($9HbP8$catchify1(async () => {
7767
7849
  if (!some_top_level_are_hidden()) {
7768
7850
  await collapse();
7769
7851
  return;
@@ -7841,7 +7923,7 @@ function $1c8cac76cb67e9af$var$render_stuff(data, existing_filter, i18n_, filter
7841
7923
  return value()?.is_checked_?.[0]?.() ?? false;
7842
7924
  },
7843
7925
  input_ref_: input => {
7844
- input.addEventListener("change", $9HbP8$catchify(() => $9HbP8$untrack(() => {
7926
+ input.addEventListener("change", $9HbP8$catchify1(() => $9HbP8$untrack(() => {
7845
7927
  const {
7846
7928
  checked: checked
7847
7929
  } = input;
@@ -7930,7 +8012,7 @@ function $1c8cac76cb67e9af$var$batching_filter_state_syncer(props) {
7930
8012
  existing_filter_: existing_filter_
7931
8013
  } = props;
7932
8014
  let sync_queued = false;
7933
- const sync_fn = $9HbP8$catchify(async () => {
8015
+ const sync_fn = $9HbP8$catchify1(async () => {
7934
8016
  sync_queued = false;
7935
8017
  // if we change, update filter state - next microtask, so that "reactions" to the change can process before we send it off to the API
7936
8018
  const set_filter = existing_filter_();
@@ -7954,7 +8036,7 @@ function $1c8cac76cb67e9af$var$batching_filter_state_syncer(props) {
7954
8036
  ...base_object,
7955
8037
  data: data
7956
8038
  };
7957
- $9HbP8$dlog("CheckboxHierarchicalFilter: Updating API state", filter_object);
8039
+ $9HbP8$dlog1("CheckboxHierarchicalFilter: Updating API state", filter_object);
7958
8040
  const selected_filters = [...selected_filters_[0]()];
7959
8041
  if (set_filter) selected_filters.splice(selected_filters.indexOf(set_filter), 1);
7960
8042
  if (filter_object.data.length) selected_filters.push(filter_object);
@@ -7987,13 +8069,13 @@ function $1c8cac76cb67e9af$var$create_updating_signal({
7987
8069
  $9HbP8$createComputed($9HbP8$on(read_checked, trigger_sync_, {
7988
8070
  defer: true
7989
8071
  }));
7990
- $9HbP8$createComputed($9HbP8$on(read_checked, $9HbP8$catchify(new_value => {
8072
+ $9HbP8$createComputed($9HbP8$on(read_checked, $9HbP8$catchify1(new_value => {
7991
8073
  if (updating_blocked) return;
7992
8074
  for (const child of child_objects) child.is_checked_[1](new_value);
7993
8075
  }), {
7994
8076
  defer: true
7995
8077
  }));
7996
- $9HbP8$createEffect($9HbP8$on(get_child_object_values, $9HbP8$catchify(() => {
8078
+ $9HbP8$createEffect($9HbP8$on(get_child_object_values, $9HbP8$catchify1(() => {
7997
8079
  const all_kids_checked = get_child_object_values.every(accessor => accessor());
7998
8080
  if (all_kids_checked === read_checked()) return;
7999
8081
  updating_blocked = true;
@@ -8179,7 +8261,7 @@ const $93716a9ad0dea854$export$414f6a19d38e655c = ({
8179
8261
  };
8180
8262
  },
8181
8263
  get onClick() {
8182
- return $9HbP8$catchify(() => {
8264
+ return $9HbP8$catchify1(() => {
8183
8265
  const set_filter = existing_filter();
8184
8266
  const {
8185
8267
  field: field,
@@ -8462,7 +8544,7 @@ function $e731d52d97444b7c$export$82ed4b28ecb67608({
8462
8544
  }) : []);
8463
8545
  });
8464
8546
  $9HbP8$onCleanup(() => set_view_more_button_below_group_());
8465
- $9HbP8$createEffect($9HbP8$catchify(async () => {
8547
+ $9HbP8$createEffect($9HbP8$catchify1(async () => {
8466
8548
  if (!togglable_rest()) {
8467
8549
  await collapse();
8468
8550
  set_having_expanding_in_dom(false); // Once animation has finished, remove expanding from DOM
@@ -8477,7 +8559,7 @@ function $e731d52d97444b7c$export$82ed4b28ecb67608({
8477
8559
  [_el$3, _co$] = $9HbP8$getNextMarker(_el$2.nextSibling),
8478
8560
  _el$4 = _el$3.nextSibling,
8479
8561
  [_el$5, _co$2] = $9HbP8$getNextMarker(_el$4.nextSibling);
8480
- $9HbP8$addEventListener(_el$, "change", $9HbP8$catchify(() => {
8562
+ $9HbP8$addEventListener(_el$, "change", $9HbP8$catchify1(() => {
8481
8563
  const set_filter = existing_filter();
8482
8564
  const {
8483
8565
  field: field,
@@ -8993,7 +9075,7 @@ function $fab07f52c9861732$var$ActualFilterBody(props) {
8993
9075
  _el$11 = _el$9.firstChild,
8994
9076
  [_el$12, _co$3] = $9HbP8$getNextMarker(_el$11.nextSibling),
8995
9077
  _el$10 = _el$12.nextSibling;
8996
- $9HbP8$addEventListener(_el$9, "click", $9HbP8$catchify(() => {
9078
+ $9HbP8$addEventListener(_el$9, "click", $9HbP8$catchify1(() => {
8997
9079
  const new_filter_obj = [...props.selected_filters_[0]()];
8998
9080
  for (const filter of filter_array_()) {
8999
9081
  const index = new_filter_obj.findIndex(({
@@ -9059,7 +9141,7 @@ function $fab07f52c9861732$var$ActualFilterBody(props) {
9059
9141
  },
9060
9142
  get children() {
9061
9143
  var _el$29 = $9HbP8$getNextElement($fab07f52c9861732$var$_tmpl$8);
9062
- $9HbP8$addEventListener(_el$29, "click", $9HbP8$catchify(() => $e9342fb3ac73a54a$export$8895d39404bd2bb1({
9144
+ $9HbP8$addEventListener(_el$29, "click", $9HbP8$catchify1(() => $e9342fb3ac73a54a$export$8895d39404bd2bb1({
9063
9145
  user_triggered_: true,
9064
9146
  selected_filters_: props.selected_filters_,
9065
9147
  i18n_: props.i18n_,
@@ -9228,13 +9310,13 @@ async function $a0f0e923bad68a9b$export$58e808b1db15d3bc(options) {
9228
9310
  headers: headers
9229
9311
  } : {}),
9230
9312
  method: "POST"
9231
- }).catch(e => $9HbP8$dlog("fetch_retry threw", e)).then(async maybe_response => {
9313
+ }).catch(e => $9HbP8$dlog1("fetch_retry threw", e)).then(async maybe_response => {
9232
9314
  if (!maybe_response) return [];
9233
9315
  let decoded;
9234
9316
  try {
9235
9317
  decoded = await maybe_response.json();
9236
9318
  } catch (e) {
9237
- $9HbP8$dlog("Failed to decode JSON", e);
9319
+ $9HbP8$dlog1("Failed to decode JSON", e);
9238
9320
  }
9239
9321
  return decoded?.displays || [];
9240
9322
  });
@@ -9292,7 +9374,7 @@ const $a6e23a834336fc19$export$824dde41348efed1 = /*@__PURE__*/(() => {
9292
9374
 
9293
9375
  const observe_to_signal = (element, setter) => {
9294
9376
  const computed_style = getComputedStyle(element);
9295
- const resize_observer = new ResizeObserver($9HbP8$catchify(() => {
9377
+ const resize_observer = new ResizeObserver($9HbP8$catchify1(() => {
9296
9378
  setter(element.getBoundingClientRect().width + parseFloat(computed_style.marginLeft) + parseFloat(computed_style.marginRight) + parseFloat(computed_style.borderRightWidth) + parseFloat(computed_style.borderLeftWidth));
9297
9379
  }));
9298
9380
  resize_observer.observe(element);
@@ -9346,7 +9428,7 @@ async function $4b2134398dfa83fa$export$c1a6b039e689a58e(merchant, market, local
9346
9428
  const in_ls = localStorage[localstorage_key];
9347
9429
  if (in_ls) localstorage_value = JSON.parse(in_ls);
9348
9430
  } catch (e) {
9349
- $9HbP8$dlog("Failed parsing JSON from localStorage", e);
9431
+ $9HbP8$dlog1("Failed parsing JSON from localStorage", e);
9350
9432
  }
9351
9433
  const updated = localstorage_value?.updated;
9352
9434
  const now = +new Date();
@@ -9390,12 +9472,12 @@ async function $4b2134398dfa83fa$var$download_categories(merchant, market, local
9390
9472
  if (!fetched) return [];
9391
9473
  try {
9392
9474
  if (fetched.status !== 200) {
9393
- $9HbP8$dlog("failed to fetch queries, server responded with", fetched.status, fetched, await fetched.text());
9475
+ $9HbP8$dlog1("failed to fetch queries, server responded with", fetched.status, fetched, await fetched.text());
9394
9476
  return [];
9395
9477
  }
9396
9478
  return await fetched.json();
9397
9479
  } catch (e) {
9398
- $9HbP8$dlog("failed to decode queries json", fetched, e);
9480
+ $9HbP8$dlog1("failed to decode queries json", fetched, e);
9399
9481
  return [];
9400
9482
  }
9401
9483
  }
@@ -9525,9 +9607,9 @@ class $7fa23e2a0079eca4$export$e015ed2f2950f2e3 {
9525
9607
  return this.#cache_objs[endpoint] ||= {
9526
9608
  in_progress_: {},
9527
9609
  cache_: {},
9528
- finalization_registry_: this.#supports_finalization_registry ? new FinalizationRegistry($9HbP8$catchify(key => {
9610
+ finalization_registry_: this.#supports_finalization_registry ? new FinalizationRegistry($9HbP8$catchify1(key => {
9529
9611
  const our_cache = this.#cache_objs[endpoint].cache_;
9530
- $9HbP8$dlog("[Search API]: removing", key, "from", our_cache);
9612
+ $9HbP8$dlog1("[Search API]: removing", key, "from", our_cache);
9531
9613
  delete our_cache[key];
9532
9614
  })) : undefined
9533
9615
  };
@@ -9673,11 +9755,11 @@ class $7fa23e2a0079eca4$export$e015ed2f2950f2e3 {
9673
9755
  result = $e5014ccd0b76d9f4$export$967e966fca9515e(result);
9674
9756
  cache_obj.cache_[body] = new WeakRef(result);
9675
9757
  resolve_in_progress(result);
9676
- setTimeout($9HbP8$catchify(() => {
9758
+ setTimeout($9HbP8$catchify1(() => {
9677
9759
  if (this.#supports_finalization_registry) cache_obj.finalization_registry_.register(result, body); // delete key from cache when value (WeakRefs) are collected
9678
9760
  else
9679
9761
  // delete things from cache after 5 minutes, so it doesn't get too heavy
9680
- setTimeout($9HbP8$catchify(() => delete cache_obj.cache_[body]), 300000);
9762
+ setTimeout($9HbP8$catchify1(() => delete cache_obj.cache_[body]), 300000);
9681
9763
  }), 60000 // cache values for at least 60 seconds
9682
9764
  );
9683
9765
 
@@ -9807,7 +9889,7 @@ function $ccd5db07a3a069c5$export$477caf01aecaeb2a(options) {
9807
9889
  const [get_selected_filters_, set_selected_filters] = selected_filters_;
9808
9890
  const [get_has_sideways_filter_clearing_flag_, set_has_sideways_filter_clearing_flag] = sideways_filter_clearing_flag_;
9809
9891
  const [get_current_href, set_current_href] = $9HbP8$createSignal(globalThis?.location?.href ?? "https://example.com");
9810
- const history_change_handler = $9HbP8$catchify(() => set_current_href(location.href));
9892
+ const history_change_handler = $9HbP8$catchify1(() => set_current_href(location.href));
9811
9893
  const owner = $9HbP8$getOwner() || $9HbP8$createRoot(() => $9HbP8$getOwner());
9812
9894
  const {
9813
9895
  sorting_query_param_: sorting_query_param_,
@@ -9818,7 +9900,8 @@ function $ccd5db07a3a069c5$export$477caf01aecaeb2a(options) {
9818
9900
  $9HbP8$onCleanup(() => (0, $9HbP8$instant_exec_on_suspect_history_change).delete(history_change_handler));
9819
9901
  $9HbP8$createComputed(() => {
9820
9902
  const {
9821
- searchParams: searchParams
9903
+ searchParams: searchParams,
9904
+ hash: hash
9822
9905
  } = new URL(get_current_href());
9823
9906
  $9HbP8$batch(() => {
9824
9907
  const found_sorting = $4147651646da990a$export$766e9676e74997d3(searchParams, sorting_query_param_);
@@ -9847,10 +9930,10 @@ function $ccd5db07a3a069c5$export$477caf01aecaeb2a(options) {
9847
9930
  if (override_listing_id_query_param_names_) {
9848
9931
  const found_override_listing_id = override_listing_id_query_param_names_.map(n => searchParams.get(n)).find(n => n);
9849
9932
  set_override_listing_id(found_override_listing_id || null);
9850
- if (found_override_listing_id) $9HbP8$dlog("Found override query id:", found_override_listing_id); // This stuff might get confusing so better log it
9933
+ if (found_override_listing_id) $9HbP8$dlog1("Found override query id:", found_override_listing_id); // This stuff might get confusing so better log it
9851
9934
  }
9852
9935
 
9853
- if (searchParams.get((0, $4147651646da990a$export$cf5feb2102aec7f2)) === "true") set_has_sideways_filter_clearing_flag(true);
9936
+ if (hash === (0, $4147651646da990a$export$84daa4fa1471698b)) set_has_sideways_filter_clearing_flag(true);
9854
9937
  if (!writer_started) {
9855
9938
  // 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
9856
9939
  $9HbP8$runWithOwner(owner, () => $ccd5db07a3a069c5$var$start_href_writer({
@@ -9891,21 +9974,21 @@ function $ccd5db07a3a069c5$var$start_href_writer({
9891
9974
  filter_query_param_prefix_: filter_query_param_prefix_
9892
9975
  }) {
9893
9976
  $9HbP8$createEffect($9HbP8$on([get_sorting_, get_selected_filters_, get_has_sideways_filter_clearing_flag_], ([sorting, filters, has_sideways_filter_clearing_flag]) => {
9894
- const current_href = location.href;
9895
- const url_object = new URL(current_href);
9977
+ const url_object = new URL(location.href);
9978
+ const unmodified_search_params = [...url_object.searchParams];
9979
+ const unmodified_hash = url_object.hash;
9896
9980
  const {
9897
9981
  searchParams: searchParams
9898
9982
  } = url_object;
9899
9983
  $4147651646da990a$export$916e6850778505f6(searchParams, filter_query_param_prefix_, sorting_query_param_);
9900
9984
  $4147651646da990a$export$62acb285a7579555(sorting, searchParams, sorting_query_param_);
9901
9985
  $4147651646da990a$export$58aa3f171519b6d7(filters, searchParams, filter_query_param_prefix_);
9902
- if (!has_sideways_filter_clearing_flag) $ccd5db07a3a069c5$var$delete_sideways_param_flag(searchParams);
9986
+ if (!has_sideways_filter_clearing_flag) $ccd5db07a3a069c5$var$delete_sideways_param_flag(url_object);
9903
9987
  // 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
9904
- const unmodified_search_params = [...new URL(current_href).searchParams];
9905
9988
  const new_search_params = [...searchParams];
9906
9989
  // 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
9907
9990
  const new_search_params_map = new Map(new_search_params);
9908
- if (unmodified_search_params.length !== new_search_params.length || !unmodified_search_params.every(([key, value]) => new_search_params_map.get(key) === value))
9991
+ 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)
9909
9992
  // Only update URL if it actually changed
9910
9993
  router_.navigate_.go_to_({
9911
9994
  is_replace_: true,
@@ -9917,8 +10000,8 @@ function $ccd5db07a3a069c5$var$start_href_writer({
9917
10000
  defer: true
9918
10001
  }));
9919
10002
  }
9920
- function $ccd5db07a3a069c5$var$delete_sideways_param_flag(searchParams) {
9921
- if (searchParams.get((0, $4147651646da990a$export$cf5feb2102aec7f2)) === "true") searchParams.delete((0, $4147651646da990a$export$cf5feb2102aec7f2));
10003
+ function $ccd5db07a3a069c5$var$delete_sideways_param_flag(url_object) {
10004
+ if (url_object.hash === (0, $4147651646da990a$export$84daa4fa1471698b)) url_object.hash = "";
9922
10005
  }
9923
10006
 
9924
10007
  // 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
@@ -10070,7 +10153,7 @@ function $897bd4a76f611b38$export$d757d54550ebfb3d({
10070
10153
  _el$2 = _el$.firstChild,
10071
10154
  _el$4 = _el$2.nextSibling,
10072
10155
  [_el$5, _co$] = $9HbP8$getNextMarker(_el$4.nextSibling);
10073
- $9HbP8$addEventListener(_el$, "click", $9HbP8$catchify(e => {
10156
+ $9HbP8$addEventListener(_el$, "click", $9HbP8$catchify1(e => {
10074
10157
  router_.navigate_.go_to_({
10075
10158
  new_url_: category_suggestion_().page_url,
10076
10159
  is_replace_: false,
@@ -10223,7 +10306,7 @@ function $48d7e4a9707315b6$export$e026af0c7b64ea5f({
10223
10306
  }, {
10224
10307
  defer: true
10225
10308
  }));
10226
- $9HbP8$createComputed($9HbP8$on(get_search_query_, $9HbP8$catchify(() => {
10309
+ $9HbP8$createComputed($9HbP8$on(get_search_query_, $9HbP8$catchify1(() => {
10227
10310
  // when a query was submitted, clear filters if clear was pressed before
10228
10311
  const clear_value = $9HbP8$untrack(get_clear_filters_next_submit);
10229
10312
  if (clear_value) {
@@ -10250,11 +10333,11 @@ function $21f51c14cb3f586f$export$84bba84a7b837187(read_search_query) {
10250
10333
  const key = "depict_searches";
10251
10334
  const previous_searches = $9HbP8$createSignal(JSON.parse(ls[key] || "[]"));
10252
10335
  const [read_previous_searches, write_previous_searches] = previous_searches;
10253
- $9HbP8$createEffect($9HbP8$catchify(() => {
10336
+ $9HbP8$createEffect($9HbP8$catchify1(() => {
10254
10337
  const json_encoded = JSON.stringify(read_previous_searches());
10255
10338
  if (ls[key] !== json_encoded) ls[key] = json_encoded;
10256
10339
  }));
10257
- $9HbP8$createComputed($9HbP8$catchify(() => {
10340
+ $9HbP8$createComputed($9HbP8$catchify1(() => {
10258
10341
  const searches = $9HbP8$untrack(read_previous_searches);
10259
10342
  const current_query = read_search_query();
10260
10343
  if (!current_query)
@@ -10297,7 +10380,7 @@ async function $bfd908d13d90934c$export$e16630ecb9644a1c({
10297
10380
  after_submit_?.();
10298
10381
  }
10299
10382
  function $8f9120a1ca151e6a$export$205efb947c7ffd78(handler, passive = true, override_element) {
10300
- const catchified_handler = $9HbP8$catchify(handler);
10383
+ const catchified_handler = $9HbP8$catchify1(handler);
10301
10384
  const owner = $9HbP8$getOwner();
10302
10385
  // 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.
10303
10386
  // Use observer in case that this gets called before body exists
@@ -10339,7 +10422,7 @@ function $d68658730065de95$export$181cceed5c91919e(callback, alsoRaF, passiveLis
10339
10422
  $9HbP8$createEffect(() => {
10340
10423
  if (alsoRaF?.()) {
10341
10424
  let disposed = false;
10342
- const fn = $9HbP8$catchify(() => {
10425
+ const fn = $9HbP8$catchify1(() => {
10343
10426
  if (disposed) return;
10344
10427
  probablyCallCallback();
10345
10428
  requestAnimationFrame(fn);
@@ -10352,10 +10435,10 @@ function $d68658730065de95$export$181cceed5c91919e(callback, alsoRaF, passiveLis
10352
10435
  // "resize" doesn't fire sometimes when it should, also it doesn't when showing/hiding scrollbars which disabling scrolling does
10353
10436
  // this works
10354
10437
  // keeping resize just in case
10355
- const resize_resize_observer = new ResizeObserver($9HbP8$catchify(probablyCallCallback));
10438
+ const resize_resize_observer = new ResizeObserver($9HbP8$catchify1(probablyCallCallback));
10356
10439
  resize_resize_observer.observe(document.documentElement);
10357
10440
  (0, $9HbP8$observer).wait_for_element("body").then(resize_resize_observer.observe.bind(resize_resize_observer));
10358
- $9HbP8$onCleanup($9HbP8$catchify(() => resize_resize_observer.disconnect()));
10441
+ $9HbP8$onCleanup($9HbP8$catchify1(() => resize_resize_observer.disconnect()));
10359
10442
  return probablyCallCallback;
10360
10443
  }
10361
10444
  const $b6d5529b253681aa$export$3f238c96c45e6cc6 = 1;
@@ -10386,7 +10469,7 @@ function $b6d5529b253681aa$export$b3ad617e9036868({
10386
10469
  }, pollAlignment);
10387
10470
  let ro;
10388
10471
  if (alignment & $b6d5529b253681aa$export$902f8b4a7dae5d78 || alignment & $b6d5529b253681aa$export$5097308c5200105a) {
10389
- ro = new ResizeObserver($9HbP8$catchify(records => {
10472
+ ro = new ResizeObserver($9HbP8$catchify1(records => {
10390
10473
  records.forEach(({
10391
10474
  contentRect: {
10392
10475
  width: width
@@ -10409,7 +10492,7 @@ function $b6d5529b253681aa$export$b3ad617e9036868({
10409
10492
  }));
10410
10493
  ro.observe(input_field);
10411
10494
  }
10412
- $9HbP8$onCleanup($9HbP8$catchify(() => ro?.disconnect()));
10495
+ $9HbP8$onCleanup($9HbP8$catchify1(() => ro?.disconnect()));
10413
10496
  return ensureAlignedPosition;
10414
10497
  }
10415
10498
  const $fc5a12f3a857ca30$var$get_available_range = (available_filters_, search_for_field) => {
@@ -10615,7 +10698,7 @@ function $6db49ca163afa2c3$export$83fd5de5504a7a67({
10615
10698
  fill: "forwards",
10616
10699
  easing: "ease-in-out"
10617
10700
  });
10618
- animation.addEventListener("finish", $9HbP8$catchify(() => {
10701
+ animation.addEventListener("finish", $9HbP8$catchify1(() => {
10619
10702
  if (unpermit_when_possible) set_permitted_to_show(false);
10620
10703
  animation = undefined;
10621
10704
  element.style.display = "none";
@@ -10676,7 +10759,7 @@ function $598245ecfe38f34b$export$ef6006467f04ee41({
10676
10759
  },
10677
10760
  get children() {
10678
10761
  var _el$3 = $9HbP8$getNextElement($598245ecfe38f34b$var$_tmpl$);
10679
- $9HbP8$addEventListener(_el$3, "click", $9HbP8$catchify(() => $9HbP8$runWithOwner(root, () => $e9342fb3ac73a54a$export$8895d39404bd2bb1({
10762
+ $9HbP8$addEventListener(_el$3, "click", $9HbP8$catchify1(() => $9HbP8$runWithOwner(root, () => $e9342fb3ac73a54a$export$8895d39404bd2bb1({
10680
10763
  user_triggered_: true,
10681
10764
  selected_filters_: selected_filters_,
10682
10765
  also_clear_sorting_: false,
@@ -10718,7 +10801,7 @@ function $056f6ac0a6caa919$export$5e4aed86c12acdd9({
10718
10801
  is_first_load = true;
10719
10802
  });
10720
10803
  // 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
10721
- $9HbP8$createEffect($9HbP8$catchify(async () => {
10804
+ $9HbP8$createEffect($9HbP8$catchify1(async () => {
10722
10805
  const be_above_percentage = is_first_load ? 50 : 75; // if first load, load earlier
10723
10806
  if (percentage_in_view_() < be_above_percentage || is_loading_more) return;
10724
10807
  if (!get_last_cursor()) {
@@ -11446,7 +11529,7 @@ function $f8c929beb82c512b$export$9dd50d35b9d94fdf({
11446
11529
  number_of_results_: number_of_results_,
11447
11530
  type: type
11448
11531
  }) {
11449
- const contents = $9HbP8$createMemo($9HbP8$catchify(() => {
11532
+ const contents = $9HbP8$createMemo($9HbP8$catchify1(() => {
11450
11533
  const q = get_search_query_();
11451
11534
  return i18n_[type === $f8c929beb82c512b$export$2452208c79fe93ea.content ? "get_showing_pages_for_" : "get_showing_results_for_"]()((() => {
11452
11535
  var _el$ = $9HbP8$getNextElement($f8c929beb82c512b$var$_tmpl$);
@@ -11528,7 +11611,7 @@ function $68a258a92b88f02f$export$1f1775a58da589b5({
11528
11611
  _el$13 = _el$12.nextSibling,
11529
11612
  _el$14 = _el$13.nextSibling,
11530
11613
  [_el$15, _co$2] = $9HbP8$getNextMarker(_el$14.nextSibling);
11531
- $9HbP8$addEventListener(_el$12, "change", $9HbP8$catchify(() => set_current_sorting(item())));
11614
+ $9HbP8$addEventListener(_el$12, "change", $9HbP8$catchify1(() => set_current_sorting(item())));
11532
11615
  $9HbP8$setAttribute(_el$12, "name", title_radio_name);
11533
11616
  $9HbP8$insert(_el$11, () => item().meta.title, _el$15, _co$2);
11534
11617
  $9HbP8$effect(() => $9HbP8$setProperty(_el$12, "checked", is_checked()));
@@ -11557,7 +11640,7 @@ function $68a258a92b88f02f$export$1f1775a58da589b5({
11557
11640
  _el$19 = _el$18.nextSibling,
11558
11641
  _el$20 = _el$19.nextSibling,
11559
11642
  [_el$21, _co$3] = $9HbP8$getNextMarker(_el$20.nextSibling);
11560
- $9HbP8$addEventListener(_el$18, "change", $9HbP8$catchify(() => set_current_sorting(c => c && {
11643
+ $9HbP8$addEventListener(_el$18, "change", $9HbP8$catchify1(() => set_current_sorting(c => c && {
11561
11644
  ...c,
11562
11645
  order: order_value()
11563
11646
  })));
@@ -11651,7 +11734,7 @@ function $757dac7f7c6c5241$export$9bf11afa910f536e({
11651
11734
  set_search_sorting_open(true);
11652
11735
  }
11653
11736
  });
11654
- $9HbP8$onCleanup($9HbP8$catchify(() => {
11737
+ $9HbP8$onCleanup($9HbP8$catchify1(() => {
11655
11738
  if (!sorting_expanded() && !filters_expanded()) {
11656
11739
  set_search_filters_open(false);
11657
11740
  set_search_sorting_open(false);
@@ -11683,16 +11766,16 @@ function $757dac7f7c6c5241$export$9bf11afa910f536e({
11683
11766
  _el$12 = _el$14.nextSibling;
11684
11767
  $9HbP8$use(el => {
11685
11768
  background = el;
11686
- (0, $9HbP8$observer).wait_for_element(el).then($9HbP8$catchify(() => {
11769
+ (0, $9HbP8$observer).wait_for_element(el).then($9HbP8$catchify1(() => {
11687
11770
  set_background_style("transition", "all 200ms ease-in");
11688
11771
  // For some reason this needs a requestAnimationFrame but the other modal-opening animations don't
11689
- requestAnimationFrame($9HbP8$catchify(() => set_background_style("opacity", "1")));
11772
+ requestAnimationFrame($9HbP8$catchify1(() => set_background_style("opacity", "1")));
11690
11773
  }));
11691
11774
  }, _el$2);
11692
11775
  $9HbP8$addEventListener(_el$2, "click", dismiss_modal_, true);
11693
11776
  $9HbP8$use(el => {
11694
11777
  dismiss_button = el;
11695
- (0, $9HbP8$observer).wait_for_element(el).then($9HbP8$catchify(() => {
11778
+ (0, $9HbP8$observer).wait_for_element(el).then($9HbP8$catchify1(() => {
11696
11779
  set_button_style("transition", "all 200ms ease-in");
11697
11780
  set_button_fraction_in(1);
11698
11781
  }));
@@ -11705,11 +11788,11 @@ function $757dac7f7c6c5241$export$9bf11afa910f536e({
11705
11788
  }) => {
11706
11789
  // touchstart should always only have one changed touch, track it here
11707
11790
  if (touches >= 1) {
11708
- $9HbP8$dlog("Got new touch", changedTouches, "ignoring"); // only support 1 touch for now
11791
+ $9HbP8$dlog1("Got new touch", changedTouches, "ignoring"); // only support 1 touch for now
11709
11792
  return;
11710
11793
  }
11711
11794
  if (target.closest($757dac7f7c6c5241$var$no_go_selector) || target.matches($757dac7f7c6c5241$var$no_go_selector)) {
11712
- $9HbP8$dlog("Got touch on slider, ignoring for UX", target, changedTouches);
11795
+ $9HbP8$dlog1("Got touch on slider, ignoring for UX", target, changedTouches);
11713
11796
  return;
11714
11797
  }
11715
11798
  set_modal_style("transition", "unset");
@@ -11725,7 +11808,7 @@ function $757dac7f7c6c5241$export$9bf11afa910f536e({
11725
11808
  let last_move_page_y = start_page_y;
11726
11809
  let first_move_was_downwards = false;
11727
11810
  let distance_from_start_of_gesture = 0;
11728
- const end_handler = $9HbP8$catchify(e => {
11811
+ const end_handler = $9HbP8$catchify1(e => {
11729
11812
  const changedTouches = e?.changedTouches;
11730
11813
  if (changedTouches && changedTouches[0].identifier !== our_fingers_identifier)
11731
11814
  // other finger stopped touch, ignore it
@@ -11749,7 +11832,7 @@ function $757dac7f7c6c5241$export$9bf11afa910f536e({
11749
11832
  modal.removeEventListener("touchcancel", end_handler);
11750
11833
  modal.removeEventListener("touchmove", move_handler);
11751
11834
  });
11752
- const move_handler = $9HbP8$catchify(e => {
11835
+ const move_handler = $9HbP8$catchify1(e => {
11753
11836
  const {
11754
11837
  changedTouches: changedTouches
11755
11838
  } = e;
@@ -11799,7 +11882,7 @@ function $757dac7f7c6c5241$export$9bf11afa910f536e({
11799
11882
  };
11800
11883
  $9HbP8$use(el => {
11801
11884
  modal = el;
11802
- (0, $9HbP8$observer).wait_for_element(el).then($9HbP8$catchify(() => {
11885
+ (0, $9HbP8$observer).wait_for_element(el).then($9HbP8$catchify1(() => {
11803
11886
  set_modal_style("transition", "all 200ms ease-in");
11804
11887
  set_modal_style("transform", "translateY(0)");
11805
11888
  }));
@@ -11888,7 +11971,7 @@ function $757dac7f7c6c5241$export$9bf11afa910f536e({
11888
11971
  },
11889
11972
  get children() {
11890
11973
  var _el$11 = $9HbP8$getNextElement($757dac7f7c6c5241$var$_tmpl$);
11891
- $9HbP8$addEventListener(_el$11, "click", $9HbP8$catchify(() => {
11974
+ $9HbP8$addEventListener(_el$11, "click", $9HbP8$catchify1(() => {
11892
11975
  const show_toast = $e9342fb3ac73a54a$export$8895d39404bd2bb1({
11893
11976
  user_triggered_: true,
11894
11977
  expanded_hierarchical_filters_: args_for_filtering_.expanded_hierarchical_filters_,
@@ -11898,7 +11981,7 @@ function $757dac7f7c6c5241$export$9bf11afa910f536e({
11898
11981
  also_clear_sorting_: false,
11899
11982
  delay_toast_: true
11900
11983
  });
11901
- cleanup_promise.then($9HbP8$catchify(show_toast));
11984
+ cleanup_promise.then($9HbP8$catchify1(show_toast));
11902
11985
  }), true);
11903
11986
  $9HbP8$insert(_el$11, () => i18n_.clear_individual_filter_());
11904
11987
  $9HbP8$runHydrationEvents();
@@ -11973,7 +12056,7 @@ function $cdea4cf8c5c071ef$export$d7841e452f2e59a8({
11973
12056
  const [sorting_open, set_sorting_open] = search_sorting_open_;
11974
12057
  const [get_current_sorting_] = current_sorting_;
11975
12058
  const [is_small, set_is_small] = $9HbP8$createSignal(false);
11976
- const dismiss_modal_ = $9HbP8$catchify(() => {
12059
+ const dismiss_modal_ = $9HbP8$catchify1(() => {
11977
12060
  set_filters_open(false);
11978
12061
  set_sorting_open(false);
11979
12062
  });
@@ -12067,7 +12150,7 @@ function $cdea4cf8c5c071ef$export$d7841e452f2e59a8({
12067
12150
  })());
12068
12151
  }
12069
12152
  });
12070
- $9HbP8$catchify(async () => {
12153
+ $9HbP8$catchify1(async () => {
12071
12154
  ({
12072
12155
  open_modal_: open_modal_,
12073
12156
  close_modal_: close_modal_
@@ -12157,7 +12240,7 @@ function $cdea4cf8c5c071ef$var$OpenFiltersButton({
12157
12240
  return _el$15;
12158
12241
  }
12159
12242
  }), _el$21, _co$5);
12160
- $9HbP8$addEventListener(_el$16, "click", $9HbP8$catchify(() => $9HbP8$batch(() => {
12243
+ $9HbP8$addEventListener(_el$16, "click", $9HbP8$catchify1(() => $9HbP8$batch(() => {
12161
12244
  if (search_filters_open_[0]()) {
12162
12245
  search_filters_open_[1](false);
12163
12246
  return;
@@ -12223,7 +12306,7 @@ function $cdea4cf8c5c071ef$var$OpenSortingButton({
12223
12306
  _el$23 = _el$22.firstChild,
12224
12307
  _el$24 = _el$23.nextSibling,
12225
12308
  [_el$25, _co$6] = $9HbP8$getNextMarker(_el$24.nextSibling);
12226
- $9HbP8$addEventListener(_el$22, "click", $9HbP8$catchify(() => $9HbP8$batch(() => {
12309
+ $9HbP8$addEventListener(_el$22, "click", $9HbP8$catchify1(() => $9HbP8$batch(() => {
12227
12310
  if (search_sorting_open_[0]()) {
12228
12311
  search_sorting_open_[1](false);
12229
12312
  return;
@@ -12330,7 +12413,7 @@ function $0b0380f75d729d63$var$ActualFloatingButtons({
12330
12413
  }
12331
12414
  old_pos = new_pos;
12332
12415
  });
12333
- const touchstart_handler = $9HbP8$catchify(e => {
12416
+ const touchstart_handler = $9HbP8$catchify1(e => {
12334
12417
  is_in_touch_scroll = true;
12335
12418
  if (e.touches.length === 1) {
12336
12419
  // 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
@@ -12338,12 +12421,12 @@ function $0b0380f75d729d63$var$ActualFloatingButtons({
12338
12421
  diff_over_second_or_touch = 0;
12339
12422
  }
12340
12423
  });
12341
- const touchend_handler = $9HbP8$catchify(e => {
12424
+ const touchend_handler = $9HbP8$catchify1(e => {
12342
12425
  if (e.touches.length === 0)
12343
12426
  // scroll gesture of any type (pinch can also be used as scroll, etc.) ended
12344
12427
  inertia_timeout = setTimeout(
12345
12428
  // inertia ends after 500ms (educated guess)
12346
- $9HbP8$catchify(() => {
12429
+ $9HbP8$catchify1(() => {
12347
12430
  is_in_touch_scroll = false;
12348
12431
  diff_over_second_or_touch = 0;
12349
12432
  }), 500);
@@ -12361,9 +12444,9 @@ function $0b0380f75d729d63$var$ActualFloatingButtons({
12361
12444
  const everything_closed = !get_search_filters_open_() && !get_search_sorting_open_();
12362
12445
  if (!$9HbP8$untrack(modal_is_closed) && everything_closed)
12363
12446
  // I think the point of this is to delay the animation a bit IIRC
12364
- timeout = setTimeout($9HbP8$catchify(() => set_if_modal_is_closed(true)), 200);else set_if_modal_is_closed(everything_closed);
12447
+ timeout = setTimeout($9HbP8$catchify1(() => set_if_modal_is_closed(true)), 200);else set_if_modal_is_closed(everything_closed);
12365
12448
  });
12366
- $9HbP8$createComputed($9HbP8$catchify(async () => {
12449
+ $9HbP8$createComputed($9HbP8$catchify1(async () => {
12367
12450
  const element = sort_and_filter_element_();
12368
12451
  if (!element) return;
12369
12452
  await (0, $9HbP8$observer).wait_for_element(element);
@@ -12382,12 +12465,12 @@ function $0b0380f75d729d63$var$ActualFloatingButtons({
12382
12465
  _el$5 = _el$4.firstChild,
12383
12466
  _el$6 = _el$4.nextSibling,
12384
12467
  _el$7 = _el$6.firstChild;
12385
- $9HbP8$addEventListener(_el$2, "click", $9HbP8$catchify(() => {
12468
+ $9HbP8$addEventListener(_el$2, "click", $9HbP8$catchify1(() => {
12386
12469
  set_search_filters_open_(true);
12387
12470
  set_search_sorting_open_(false);
12388
12471
  }), true);
12389
12472
  $9HbP8$insert(_el$3, $9HbP8$createComponent((0, $b9bf7fce0ae60241$export$28f6150e232898de), {}));
12390
- $9HbP8$addEventListener(_el$4, "click", $9HbP8$catchify(() => {
12473
+ $9HbP8$addEventListener(_el$4, "click", $9HbP8$catchify1(() => {
12391
12474
  set_search_filters_open_(false);
12392
12475
  set_search_sorting_open_(true);
12393
12476
  }), true);
@@ -12395,7 +12478,7 @@ function $0b0380f75d729d63$var$ActualFloatingButtons({
12395
12478
  var _c$ = $9HbP8$memo(() => current_sorting_[0]()?.order === "asc");
12396
12479
  return () => _c$() ? $9HbP8$createComponent((0, $e1bb71e65e01a3a0$export$da32f7add8a22e86), {}) : $9HbP8$createComponent((0, $05fbe84eb34564ec$export$d10e63059ddb9fd4), {});
12397
12480
  })());
12398
- $9HbP8$addEventListener(_el$6, "click", $9HbP8$catchify(() => scrollTo({
12481
+ $9HbP8$addEventListener(_el$6, "click", $9HbP8$catchify1(() => scrollTo({
12399
12482
  top: 0,
12400
12483
  behavior: "smooth"
12401
12484
  })), true);
@@ -12427,7 +12510,7 @@ function $587cd61972788655$export$210f130a61ac1e8d(fn) {
12427
12510
  let last_queued;
12428
12511
  let last_value;
12429
12512
  let initial_run = true;
12430
- $9HbP8$createComputed($9HbP8$catchify(async () => {
12513
+ $9HbP8$createComputed($9HbP8$catchify1(async () => {
12431
12514
  last_value = fn();
12432
12515
  if (initial_run) {
12433
12516
  initial_run = false;
@@ -12474,7 +12557,7 @@ function $641bba2917fe862b$export$6e49da55e449af7c({
12474
12557
  }]); // get rid of old data the browser saves the old state and will restore it later on
12475
12558
  };
12476
12559
 
12477
- $9HbP8$createComputed($9HbP8$catchify(() => {
12560
+ $9HbP8$createComputed($9HbP8$catchify1(() => {
12478
12561
  const last_result = get_last_result_in_viewport_();
12479
12562
  if (last_result == undefined || last_result <= 0 || last_result == Infinity) return;
12480
12563
  if (isNaN(last_result)) {
@@ -12501,7 +12584,7 @@ function $641bba2917fe862b$export$6e49da55e449af7c({
12501
12584
  set_to_later = last_result;
12502
12585
  // If a delayed push timeout is already running, just changing the value that will be pushed is sufficient
12503
12586
  if (timeout) return;
12504
- timeout = setTimeout($9HbP8$catchify(() => {
12587
+ timeout = setTimeout($9HbP8$catchify1(() => {
12505
12588
  timeout = undefined;
12506
12589
  last_time_history_changed = +new Date();
12507
12590
  set_min_results_loaded(set_to_later);
@@ -12605,7 +12688,7 @@ function $b2bf2cdcff8142d8$export$f631859cab12b342({
12605
12688
  if (!result) return;
12606
12689
  return {
12607
12690
  href: result.page_url,
12608
- onClick: $9HbP8$catchify(ev => router_.navigate_.go_to_({
12691
+ onClick: $9HbP8$catchify1(ev => router_.navigate_.go_to_({
12609
12692
  new_url_: result.page_url,
12610
12693
  is_replace_: false,
12611
12694
  event_: ev
@@ -13014,7 +13097,7 @@ function $0e562a5b247b1fc2$export$44f738469d5570cf({
13014
13097
  // We might only have changed the left position which align_field doesn't know about, make it poll the position for a while
13015
13098
  setPollAlignment_(true);
13016
13099
  if (disableResizePollingTimeout) clearTimeout(disableResizePollingTimeout);
13017
- disableResizePollingTimeout = setTimeout($9HbP8$catchify(() => {
13100
+ disableResizePollingTimeout = setTimeout($9HbP8$catchify1(() => {
13018
13101
  setPollAlignment_(false);
13019
13102
  disableResizePollingTimeout = undefined;
13020
13103
  }), 1000);
@@ -13146,7 +13229,7 @@ function $7097477c78a89208$export$a54ec244c8863715({
13146
13229
  } : {})
13147
13230
  };
13148
13231
  });
13149
- const [search_results_] = $9HbP8$createResource(search_query_base_, $9HbP8$catchify(async base_query => {
13232
+ const [search_results_] = $9HbP8$createResource(search_query_base_, $9HbP8$catchify1(async base_query => {
13150
13233
  set_all_products_loaded(false);
13151
13234
  // only first page of results
13152
13235
  return await $641bba2917fe862b$export$cc42dd29bf655ab6({
@@ -13185,7 +13268,7 @@ function $7097477c78a89208$export$a54ec244c8863715({
13185
13268
  const [, setModalFieldStyle] = modal_field_style;
13186
13269
  const [, setModalBackdropStyle] = modal_backdrop_style;
13187
13270
  const [get_search_field_elements, set_search_field_elements] = $9HbP8$createSignal();
13188
- const SafeSearchField = $9HbP8$catchify((0, $5285d2814d0fac0c$export$b94867ecbd698f21));
13271
+ const SafeSearchField = $9HbP8$catchify1((0, $5285d2814d0fac0c$export$b94867ecbd698f21));
13189
13272
  const [sort_or_filter_open_, set_sort_or_filter_open_] = $9HbP8$createSignal(false);
13190
13273
  const [desktop_filter_elements_, set_desktop_filter_elements] = $9HbP8$createSignal();
13191
13274
  const n_hits = $9HbP8$createMemo(() => search_results_()?.n_hits);
@@ -13244,7 +13327,7 @@ function $7097477c78a89208$export$a54ec244c8863715({
13244
13327
  })()));
13245
13328
  }).remove);
13246
13329
  $2ab89d64b7f1d5ef$export$d31a1a1a83ad9413(search_results_, selected_filters_);
13247
- $9HbP8$catchify((0, $641bba2917fe862b$export$6e49da55e449af7c))({
13330
+ $9HbP8$catchify1((0, $641bba2917fe862b$export$6e49da55e449af7c))({
13248
13331
  scroll_restoration_data_: scroll_restoration_data_,
13249
13332
  last_result_in_viewport_: last_result_in_viewport_,
13250
13333
  id_: get_search_query_,
@@ -13290,8 +13373,8 @@ function $7097477c78a89208$export$a54ec244c8863715({
13290
13373
  setModalBodyStyle({});
13291
13374
  modalAlignmentSignalsRef_?.(alignmentSignals_);
13292
13375
  const [pollAlignment, setPollAlignment_] = $9HbP8$createSignal(false);
13293
- const align_position = $9HbP8$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);
13294
- div_with_field_class.addEventListener("click", $9HbP8$catchify(e => {
13376
+ const align_position = $9HbP8$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);
13377
+ div_with_field_class.addEventListener("click", $9HbP8$catchify1(e => {
13295
13378
  const target = e.target;
13296
13379
  const sel = ".submit";
13297
13380
  if (target?.matches?.(sel) || target?.closest?.(sel))
@@ -13669,7 +13752,7 @@ class $806c97b931758897$export$ac6237957a15b3f0 {
13669
13752
  BackIcon_: BackIcon_
13670
13753
  });
13671
13754
  $90980bd87c9960f9$export$5162a71f252e6122();
13672
- $9HbP8$catchify(async () => {
13755
+ $9HbP8$catchify1(async () => {
13673
13756
  const {
13674
13757
  open_modal_: open_modal_,
13675
13758
  close_modal_: close_modal_
@@ -13910,7 +13993,7 @@ function $806c97b931758897$export$f2dc7e4e4aa11abb(props) {
13910
13993
  function $4ca91518c9a35379$export$828dcdd425fd3231(aligner) {
13911
13994
  const style_element = document.createElement("style");
13912
13995
  document.head.append(style_element);
13913
- const resize_observer = new ResizeObserver($9HbP8$catchify(() => {
13996
+ const resize_observer = new ResizeObserver($9HbP8$catchify1(() => {
13914
13997
  const styles = $926b1b5ba2239356$export$1233ca167bf71f9a({
13915
13998
  ".depict.plp .depict-search-modal .search-field": {
13916
13999
  "height": `${aligner?.clientHeight}px`
@@ -13979,7 +14062,7 @@ const $6891c018a834cfdd$export$d86a33413558014e = openModalParams => {
13979
14062
  }, dispose_aligner];
13980
14063
  };
13981
14064
  function $6e8944558258054f$export$d0596b5cae35ad4(open_search) {
13982
- const handler = $9HbP8$catchify(e => {
14065
+ const handler = $9HbP8$catchify1(e => {
13983
14066
  const {
13984
14067
  key: key,
13985
14068
  target: target
@@ -13998,7 +14081,7 @@ function $6e8944558258054f$export$d0596b5cae35ad4(open_search) {
13998
14081
  function $6936724b9e0b98d5$export$689e204eadb33baf(pr) {
13999
14082
  let old_url;
14000
14083
  let disconnect_link_observer;
14001
- const link_handler = $9HbP8$catchify(e => {
14084
+ const link_handler = $9HbP8$catchify1(e => {
14002
14085
  const link = e.currentTarget || e.target;
14003
14086
  if (link.href === old_url) {
14004
14087
  history.pushState(history.state, "", link.href);
@@ -14007,7 +14090,7 @@ function $6936724b9e0b98d5$export$689e204eadb33baf(pr) {
14007
14090
  });
14008
14091
  let remove_added_listeners;
14009
14092
  let resolve_remove_added_listeners;
14010
- pr.addEventListener("open", $9HbP8$catchify(() => {
14093
+ pr.addEventListener("open", $9HbP8$catchify1(() => {
14011
14094
  remove_added_listeners = new Promise(r => resolve_remove_added_listeners = r);
14012
14095
  disconnect_link_observer = (0, $9HbP8$observer).onexists("a", async ({
14013
14096
  element: element
@@ -14017,11 +14100,11 @@ function $6936724b9e0b98d5$export$689e204eadb33baf(pr) {
14017
14100
  element.removeEventListener("click", link_handler);
14018
14101
  });
14019
14102
  }));
14020
- pr.addEventListener("close", $9HbP8$catchify(() => {
14103
+ pr.addEventListener("close", $9HbP8$catchify1(() => {
14021
14104
  disconnect_link_observer?.();
14022
14105
  resolve_remove_added_listeners?.();
14023
14106
  }));
14024
- $9HbP8$catchify(async () => {
14107
+ $9HbP8$catchify1(async () => {
14025
14108
  for await (const href of (0, $9HbP8$href_change_ipns)) if (!pr.is_page_(new URL(href))) old_url = href;
14026
14109
  })();
14027
14110
  }
@@ -14033,7 +14116,7 @@ class $753e9b2889a47c89$export$3ccaa27d81dd8556 extends EventTarget {
14033
14116
  static #reverting_permitted = true;
14034
14117
  static #visited_urls = /*@__PURE__*/(() => {
14035
14118
  // 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).
14036
- $9HbP8$catchify(async () => {
14119
+ $9HbP8$catchify1(async () => {
14037
14120
  // Static initialization blocks aren't supported in MobileSafari yet, otherwise this would be one.
14038
14121
  // 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).
14039
14122
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Static_initialization_blocks
@@ -14051,7 +14134,7 @@ class $753e9b2889a47c89$export$3ccaa27d81dd8556 extends EventTarget {
14051
14134
  async #listen() {
14052
14135
  const [exit_ipns, exitable_ipns] = $9HbP8$make_asyncIterable_exiter((0, $9HbP8$href_change_ipns));
14053
14136
  this.#stop_listening = exit_ipns;
14054
- const caught_page_check_fn = $9HbP8$catchify(this.is_page_, "page check failed");
14137
+ const caught_page_check_fn = $9HbP8$catchify1(this.is_page_, "page check failed");
14055
14138
  for await (const href of exitable_ipns) {
14056
14139
  const url = new URL(href);
14057
14140
  if (!caught_page_check_fn(url)) {
@@ -14069,17 +14152,17 @@ class $753e9b2889a47c89$export$3ccaa27d81dd8556 extends EventTarget {
14069
14152
  this.addEventListener("close", dispose, {
14070
14153
  once: true
14071
14154
  });
14072
- return $9HbP8$catchify(this.render_, "rendering failed")() || [];
14155
+ return $9HbP8$catchify1(this.render_, "rendering failed")() || [];
14073
14156
  });
14074
14157
  }
14075
- #unload = /*@__PURE__*/$9HbP8$catchify(() => {
14158
+ #unload = /*@__PURE__*/$9HbP8$catchify1(() => {
14076
14159
  if (!this.#is_open) return;
14077
14160
  this.#disconnect_observer?.();
14078
14161
  if ($753e9b2889a47c89$export$3ccaa27d81dd8556.#reverting_permitted) while (this.#revert_fns.length) this.#revert_fns.pop()?.();
14079
14162
  this.#is_open = false;
14080
14163
  this.dispatchEvent(new CustomEvent("close"));
14081
14164
  }, "failed to close page");
14082
- #load = /*@__PURE__*/$9HbP8$catchify(async els => {
14165
+ #load = /*@__PURE__*/$9HbP8$catchify1(async els => {
14083
14166
  this.#is_open = true;
14084
14167
  // So that #load doesn't get called again
14085
14168
  let set_should_stay_inserted;
@@ -14129,7 +14212,7 @@ class $753e9b2889a47c89$export$3ccaa27d81dd8556 extends EventTarget {
14129
14212
  }, "failed to open page");
14130
14213
  #empty_page_bugfix() {
14131
14214
  // Called when a "page" is "opened" using PageReplacer
14132
- const on_maybe_popstate = $9HbP8$catchify(what_happened => {
14215
+ const on_maybe_popstate = $9HbP8$catchify1(what_happened => {
14133
14216
  if (what_happened !== "popstate") return;
14134
14217
  const cleaned_current_url = $753e9b2889a47c89$var$clean_url(location.href);
14135
14218
  if (!$753e9b2889a47c89$export$3ccaa27d81dd8556.#visited_urls.has(cleaned_current_url)) {
@@ -14153,7 +14236,7 @@ class $753e9b2889a47c89$export$3ccaa27d81dd8556 extends EventTarget {
14153
14236
  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.
14154
14237
  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.
14155
14238
  */
14156
- $9HbP8$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");
14239
+ $9HbP8$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");
14157
14240
  location.reload();
14158
14241
  $753e9b2889a47c89$export$3ccaa27d81dd8556.#reverting_permitted = false; // Disallow any reverting since we can't - it would flash a white page until the reload has finished.
14159
14242
  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.
@@ -14231,7 +14314,7 @@ function $58b3487626e85ece$export$316f6f283ae64765(props) {
14231
14314
  field_: $9HbP8$createSignal({}),
14232
14315
  backdrop_: backdropAlignmentSignal_
14233
14316
  };
14234
- const defaultHandler = $9HbP8$catchify(e => {
14317
+ const defaultHandler = $9HbP8$catchify1(e => {
14235
14318
  const {
14236
14319
  modalVersionUsed_: modalVersionUsed_
14237
14320
  } = shared_properties;
@@ -14362,7 +14445,7 @@ function $06edf3aec9073663$export$466cdc317043f6cb({
14362
14445
  }];
14363
14446
  $9HbP8$createComputed(() => {
14364
14447
  if (place_holdey_quicklinks_data()?.[0]?.listing_id) {
14365
- if (last_was_placeholder) queueMicrotask($9HbP8$catchify(() => {
14448
+ if (last_was_placeholder) queueMicrotask($9HbP8$catchify1(() => {
14366
14449
  sliding_element?.scrollTo({
14367
14450
  left: 0
14368
14451
  }); // for some reason we land one element to the right after placeholder rendering otherwise
@@ -14429,7 +14512,7 @@ function $06edf3aec9073663$export$466cdc317043f6cb({
14429
14512
  } else if (!(intersecting_items_object[selected_index()]?.intersectionRatio >= 0.95)) {
14430
14513
  // negated larger than to handle left side of comparison being undefined
14431
14514
  let done_work = false;
14432
- $9HbP8$runWithOwner(owner, () => $9HbP8$createComputed($9HbP8$catchify(() => {
14515
+ $9HbP8$runWithOwner(owner, () => $9HbP8$createComputed($9HbP8$catchify1(() => {
14433
14516
  if (done_work || !Array.isArray(quicklinks_data_())) return;
14434
14517
  const sel_index = selected_index();
14435
14518
  const target_element = sel_index >= 0 ? sel_index : 0;
@@ -14476,7 +14559,7 @@ function $06edf3aec9073663$export$466cdc317043f6cb({
14476
14559
  }));
14477
14560
  return (() => {
14478
14561
  var _el$3 = $9HbP8$getNextElement($06edf3aec9073663$var$_tmpl$3);
14479
- $9HbP8$addEventListener(_el$3, "click", $9HbP8$catchify(ev => {
14562
+ $9HbP8$addEventListener(_el$3, "click", $9HbP8$catchify1(ev => {
14480
14563
  const url = href();
14481
14564
  if (is_selected() && !$a281666e5c15c2ec$export$29d28dadc2d6b631(ev) || !url)
14482
14565
  // allow open currently selected one in new tab but otherwise prevent clicks
@@ -14612,7 +14695,7 @@ function $e7fce80abe608e01$export$3945d6db2dfd3d12({
14612
14695
  const handler = () => allow_filter_clearing = false;
14613
14696
  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
14614
14697
  $9HbP8$onCleanup(() => window.removeEventListener("popstate", handler));
14615
- $9HbP8$createEffect($9HbP8$on(crumb_data_, $9HbP8$catchify(new_crumb_data => {
14698
+ $9HbP8$createEffect($9HbP8$on(crumb_data_, $9HbP8$catchify1(new_crumb_data => {
14616
14699
  const id_of_new_data = id_to_query_for_();
14617
14700
  const type_of_id_of_new_data = id_type_();
14618
14701
  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_)) {
@@ -14662,7 +14745,7 @@ function $e7fce80abe608e01$var$clear_if_opened_new_tab_with_sideways_url_params_
14662
14745
  // 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
14663
14746
  if (!$9HbP8$untrack(get_sideways_filter_clearing_flag_)) return;
14664
14747
  set_sideways_filter_clearing_flag_(false);
14665
- $9HbP8$dlog("Flag to clear filters was set, clearing filters");
14748
+ $9HbP8$dlog1("Flag to clear filters was set, clearing filters");
14666
14749
  $9HbP8$queueMacroTask(() => {
14667
14750
  // Do it next task so that all the filters have time to populate
14668
14751
  $e9342fb3ac73a54a$export$8895d39404bd2bb1({
@@ -14787,7 +14870,7 @@ function $df5d81d0fe61ff21$export$f7d2f673fc2f091d({
14787
14870
  // Make "Get products in listing" request to get products in listing
14788
14871
  const [plp_products_] = $9HbP8$createResource(products_query_base_,
14789
14872
  // 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)
14790
- $9HbP8$catchify1(base_query => $641bba2917fe862b$export$cc42dd29bf655ab6({
14873
+ $9HbP8$catchify(base_query => $641bba2917fe862b$export$cc42dd29bf655ab6({
14791
14874
  id_: $9HbP8$untrack(id_to_query_for_),
14792
14875
  scroll_restoration_data_: scroll_restoration_data_,
14793
14876
  min_products_to_fetch_: min_products_to_fetch_,
@@ -14807,7 +14890,7 @@ function $df5d81d0fe61ff21$export$f7d2f673fc2f091d({
14807
14890
  id_type_: id_type_()
14808
14891
  }));
14809
14892
  // Make "Get Listing" request to get quicklinks, breadcrumbs, title, etc
14810
- const [plp_meta] = $9HbP8$createResource(meta_query_base, $9HbP8$catchify1(query => depict_api_.get_listing(query)));
14893
+ const [plp_meta] = $9HbP8$createResource(meta_query_base, $9HbP8$catchify(query => depict_api_.get_listing(query)));
14811
14894
  const available_sortings_ = $9HbP8$createMemo(() => plp_products_()?.sorts?.map(sort => ({
14812
14895
  ...sort,
14813
14896
  order: sort.order ?? "desc"
@@ -14926,7 +15009,7 @@ function $df5d81d0fe61ff21$export$f7d2f673fc2f091d({
14926
15009
  filterModalParent_: filterModalParent_,
14927
15010
  ...extra_sort_and_filter_args_
14928
15011
  });
14929
- $9HbP8$catchify1((0, $641bba2917fe862b$export$6e49da55e449af7c))({
15012
+ $9HbP8$catchify((0, $641bba2917fe862b$export$6e49da55e449af7c))({
14930
15013
  scroll_restoration_data_: scroll_restoration_data_,
14931
15014
  last_result_in_viewport_: last_result_in_viewport_,
14932
15015
  id_: id_to_query_for_,
@@ -14939,7 +15022,7 @@ function $df5d81d0fe61ff21$export$f7d2f673fc2f091d({
14939
15022
  $9HbP8$createComputed(() => {
14940
15023
  if (plp_products_.loading) set_can_write_scroll_restoration(false);else if (plp_products_()) set_can_write_scroll_restoration(true);
14941
15024
  });
14942
- $9HbP8$createRenderEffect($9HbP8$catchify1(async () => {
15025
+ $9HbP8$createRenderEffect($9HbP8$catchify(async () => {
14943
15026
  const slim = is_slim_();
14944
15027
  const only_show_filters_opener = only_show_filters_opener_?.();
14945
15028
  const owner = $9HbP8$getOwner();
@@ -15220,4 +15303,4 @@ function $442f32a4d80abbde$export$e2bf8ce7779e827e(props) {
15220
15303
  }, "Entire CategoryPage failed");
15221
15304
  }
15222
15305
  $9HbP8$add_to_version_info("ui", (0, $ec291e0010116877$export$83d89fbfd8236492));
15223
- 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 };
15306
+ 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 };