@depict-ai/ui 4.7.32 → 4.7.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ES10/index.cjs +1648 -1615
- package/ES10/index.d.ts +182 -165
- package/ES10/index.js +1866 -1836
- package/latest/index.cjs +1322 -1296
- package/latest/index.d.ts +182 -165
- package/latest/index.js +1805 -1782
- package/package.json +1 -1
- package/server/ES10/index.cjs +588 -555
- package/server/ES10/index.d.ts +182 -165
- package/server/ES10/index.js +748 -718
- package/server/latest/index.cjs +598 -572
- package/server/latest/index.d.ts +182 -165
- package/server/latest/index.js +756 -733
package/server/ES10/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { add_to_version_info as $b8hua$add_to_version_info,
|
|
2
|
-
import { createComponent as $b8hua$createComponent,
|
|
3
|
-
import {
|
|
1
|
+
import { add_to_version_info as $b8hua$add_to_version_info, queueMacroTask as $b8hua$queueMacroTask, catchify as $b8hua$catchify, findMostFrequentItem as $b8hua$findMostFrequentItem, dwarn as $b8hua$dwarn, observer as $b8hua$observer, layout_media_query_header as $b8hua$layout_media_query_header, javascript_media_query as $b8hua$javascript_media_query, slider_fading_factory as $b8hua$slider_fading_factory, Amazing_Slider as $b8hua$Amazing_Slider, slider_snap_css as $b8hua$slider_snap_css, dlog as $b8hua$dlog1, camelCasifyObject as $b8hua$camelCasifyObject, useExpandingContainer as $b8hua$useExpandingContainer, fetch_retry as $b8hua$fetch_retry, base_url as $b8hua$base_url, slider_fractional_factory as $b8hua$slider_fractional_factory, make_random_classname as $b8hua$make_random_classname, n_col_styling_with_dist as $b8hua$n_col_styling_with_dist, layout_get_visible_recs_without_partial_rows as $b8hua$layout_get_visible_recs_without_partial_rows, layout_get_total_rec_amount_for_row as $b8hua$layout_get_total_rec_amount_for_row, report as $b8hua$report, standard_price_format as $b8hua$standard_price_format, instant_exec_on_suspect_history_change as $b8hua$instant_exec_on_suspect_history_change, deparallelize_no_drop as $b8hua$deparallelize_no_drop, ContainedImage as $b8hua$ContainedImage, make_asyncIterable_exiter as $b8hua$make_asyncIterable_exiter, href_change_ipns as $b8hua$href_change_ipns, base64_encode_unicode as $b8hua$base64_encode_unicode, base64_decode_unicode as $b8hua$base64_decode_unicode, use_href_accessor as $b8hua$use_href_accessor, get_session_id as $b8hua$get_session_id, add_version_query_params as $b8hua$add_version_query_params, hex_to_rgb as $b8hua$hex_to_rgb, relative_luminance_from_rgb as $b8hua$relative_luminance_from_rgb, snakeCasifyObject as $b8hua$snakeCasifyObject, make_url_with_query_params as $b8hua$make_url_with_query_params, sort_obj as $b8hua$sort_obj, insert_surfaces as $b8hua$insert_surfaces } from "@depict-ai/utilishared/ES10";
|
|
2
|
+
import { createComponent as $b8hua$createComponent, mergeProps as $b8hua$mergeProps, insert as $b8hua$insert, ssr as $b8hua$ssr, ssrHydrationKey as $b8hua$ssrHydrationKey, ssrStyle as $b8hua$ssrStyle, ssrAttribute as $b8hua$ssrAttribute, escape as $b8hua$escape, spread as $b8hua$spread, isServer as $b8hua$isServer, ssrElement as $b8hua$ssrElement, ssrClassList as $b8hua$ssrClassList, Dynamic as $b8hua$Dynamic } from "solid-js/web";
|
|
3
|
+
import { createSignal as $b8hua$createSignal, getOwner as $b8hua$getOwner, createEffect as $b8hua$createEffect, runWithOwner as $b8hua$runWithOwner, onCleanup as $b8hua$onCleanup, createContext as $b8hua$createContext, useContext as $b8hua$useContext, createMemo as $b8hua$createMemo, splitProps as $b8hua$splitProps, mergeProps as $b8hua$mergeProps1, untrack as $b8hua$untrack, createRenderEffect as $b8hua$createRenderEffect, Show as $b8hua$Show, batch as $b8hua$batch, createComputed as $b8hua$createComputed, mapArray as $b8hua$mapArray, createResource as $b8hua$createResource, Suspense as $b8hua$Suspense, createRoot as $b8hua$createRoot, For as $b8hua$For, Index as $b8hua$Index, createUniqueId as $b8hua$createUniqueId, ErrorBoundary as $b8hua$ErrorBoundary, on as $b8hua$on, createSelector as $b8hua$createSelector, children as $b8hua$children, createReaction as $b8hua$createReaction } from "solid-js";
|
|
4
4
|
import { createStore as $b8hua$createStore, reconcile as $b8hua$reconcile } from "solid-js/store";
|
|
5
|
-
import { dlog as $b8hua$dlog, catchify as $b8hua$
|
|
5
|
+
import { dlog as $b8hua$dlog, catchify as $b8hua$catchify1, ListenableSet as $b8hua$ListenableSet, use_href_accessor as $b8hua$use_href_accessor1, queueMacroTask as $b8hua$queueMacroTask1, report as $b8hua$report1 } from "@depict-ai/utilishared/ES10";
|
|
6
6
|
import $b8hua$babelruntimehelpersdefineProperty from "@babel/runtime/helpers/defineProperty";
|
|
7
7
|
import $b8hua$babelruntimehelpersclassPrivateFieldSet from "@babel/runtime/helpers/classPrivateFieldSet";
|
|
8
8
|
import $b8hua$babelruntimehelpersclassPrivateFieldGet from "@babel/runtime/helpers/classPrivateFieldGet";
|
|
@@ -10,37 +10,248 @@ import $b8hua$babelruntimehelpersclassPrivateFieldGet from "@babel/runtime/helpe
|
|
|
10
10
|
/*! Depict.ai search and product listing SDK */
|
|
11
11
|
import { register_es_version } from "../../multi_import_deduplicator.mjs";
|
|
12
12
|
register_es_version("ui", "ES10");
|
|
13
|
-
const $8db9a15135765c11$export$83d89fbfd8236492 = "4.7.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
13
|
+
const $8db9a15135765c11$export$83d89fbfd8236492 = "4.7.34";
|
|
14
|
+
const $5441862cd2f5e111$var$ListingContext = /*@__PURE__*/$b8hua$createContext();
|
|
15
|
+
function $5441862cd2f5e111$export$e68cff63f76bd15b(props) {
|
|
16
|
+
const our_object = {};
|
|
17
|
+
return $b8hua$createComponent($5441862cd2f5e111$var$ListingContext.Provider, {
|
|
18
|
+
value: our_object,
|
|
19
|
+
get children() {
|
|
20
|
+
return props.children;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
23
|
}
|
|
24
|
-
function $
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
24
|
+
function $5441862cd2f5e111$export$8d0c4fdbb05a2f2e() {
|
|
25
|
+
return $b8hua$useContext($5441862cd2f5e111$var$ListingContext);
|
|
26
|
+
}
|
|
27
|
+
var $801e8845d3fa3653$var$_tmpl$ = ["<div", ' style="', '"', ">", "</div>"];
|
|
28
|
+
function $801e8845d3fa3653$export$94026ee33dbabc26(props) {
|
|
29
|
+
return $b8hua$ssr($801e8845d3fa3653$var$_tmpl$, $b8hua$ssrHydrationKey(), $b8hua$ssrStyle("padding-bottom:calc(calc(1 / ".concat(props.aspectRatio, ") * 100%)")), $b8hua$ssrAttribute("class", "s-image-container" + (props.class ? " " + $b8hua$escape(props.class, true) : ""), false), $b8hua$escape(props.children));
|
|
30
|
+
}
|
|
31
|
+
const $1e69163caedaab4e$var$ProductCardIndexContext = /*@__PURE__*/$b8hua$createContext();
|
|
32
|
+
function $1e69163caedaab4e$export$11354f017ddc9790(props) {
|
|
33
|
+
return $b8hua$createComponent($1e69163caedaab4e$var$ProductCardIndexContext.Provider, {
|
|
34
|
+
get value() {
|
|
35
|
+
return props.index_;
|
|
36
|
+
},
|
|
37
|
+
get children() {
|
|
38
|
+
return props.children;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function $1e69163caedaab4e$export$e3faf4d95300054f() {
|
|
43
|
+
return $b8hua$useContext($1e69163caedaab4e$var$ProductCardIndexContext);
|
|
44
|
+
}
|
|
45
|
+
let $6db93f70c2db1486$var$browserIsBugged = false;
|
|
46
|
+
function $6db93f70c2db1486$export$2972b890694ced75(callback, _ref) {
|
|
47
|
+
let {
|
|
48
|
+
timeout: timeout
|
|
49
|
+
} = _ref;
|
|
50
|
+
if ($6db93f70c2db1486$var$browserIsBugged) timeout /= 4;
|
|
51
|
+
const cancel = () => {
|
|
52
|
+
cancelIdleCallback(idleHandle);
|
|
53
|
+
clearTimeout(racingTimeout);
|
|
54
|
+
};
|
|
55
|
+
const idleHandle = requestIdleCallback(deadline => {
|
|
56
|
+
cancel();
|
|
57
|
+
return callback(deadline);
|
|
58
|
+
}, {
|
|
59
|
+
timeout: timeout
|
|
60
|
+
});
|
|
61
|
+
const racingTimeout = setTimeout(() => {
|
|
62
|
+
$b8hua$dwarn("Browser did not respect requestIdleCallback timeout");
|
|
63
|
+
$6db93f70c2db1486$var$browserIsBugged = true;
|
|
64
|
+
cancel();
|
|
65
|
+
callback({
|
|
66
|
+
didTimeout: false,
|
|
67
|
+
timeRemaining() {
|
|
68
|
+
return 500;
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}, timeout + 1000);
|
|
72
|
+
return cancel;
|
|
73
|
+
}
|
|
74
|
+
const $56047603f9d212b6$var$onIdleFunctionsSymbol = /*@__PURE__*/Symbol("onIdleFunctions");
|
|
75
|
+
const $56047603f9d212b6$export$f8945274f08a3105 = /*@__PURE__*/Symbol("listingContextAspectRatios");
|
|
76
|
+
const $56047603f9d212b6$export$6066eb417ed2e9f7 = /*@__PURE__*/Symbol("listingContextAspectRatios");
|
|
77
|
+
function $56047603f9d212b6$export$6e5611bc7e57e477(props) {
|
|
78
|
+
const img = new Image(); // Need to use new Image or browser might not start loading image before it's in the DOM
|
|
79
|
+
const [ourRatioKeyed, setOurRatioKeyed] = $b8hua$createSignal();
|
|
80
|
+
const sizeToUse = $b8hua$createMemo(() => {
|
|
81
|
+
var _props$sizeHeight;
|
|
82
|
+
// props.size could be a getter that expects a cleanup so get it in this memo instead of where we set img.sizes (also we need to multiply, and it's good with some diffing here so people calling the comp don't have to)
|
|
83
|
+
const incomingSize = props.size();
|
|
84
|
+
const ratio = ourRatioKeyed();
|
|
85
|
+
const containerHeight = (_props$sizeHeight = props.sizeHeight) === null || _props$sizeHeight === void 0 ? void 0 : _props$sizeHeight.call(props);
|
|
86
|
+
if (!incomingSize || !ratio || !containerHeight || getComputedStyle(img).objectFit !== "cover") return incomingSize;
|
|
87
|
+
const maybeCorrectedSize = ratio * containerHeight;
|
|
88
|
+
return Math.round(Math.max(incomingSize, maybeCorrectedSize));
|
|
89
|
+
});
|
|
90
|
+
const src_options = $b8hua$createMemo(() => {
|
|
91
|
+
const {
|
|
92
|
+
src: src,
|
|
93
|
+
customUrls: customUrls
|
|
94
|
+
} = props;
|
|
95
|
+
const fallback_src = (customUrls || $56047603f9d212b6$export$1d6267828870adda)(src, 400);
|
|
96
|
+
const srcset = $56047603f9d212b6$var$make_srcset(props.src, props.resolutions || [64, 128, 256, 300, 400, 512, 640, 768, 1024, 1280, 1536, 2048, 2560, 3072, 3584, 4096], customUrls);
|
|
97
|
+
// The order here *might* matter - I've seen mobile safari always start with loading the 400px version when it was reversed
|
|
98
|
+
return {
|
|
99
|
+
srcset: srcset,
|
|
100
|
+
src: fallback_src
|
|
101
|
+
};
|
|
102
|
+
});
|
|
103
|
+
// Work around https://github.com/solidjs/solid/issues/1828
|
|
104
|
+
const [, otherAttributes] = $b8hua$splitProps(props, ["resolutions", "size", "src", "srcSet", "loading", "keyRatioUpdating", "sizeHeight", "customUrls" // Can't have properties ending on underscore because the property name mangling will get confused by this <-
|
|
105
|
+
]);
|
|
106
|
+
|
|
107
|
+
const [hasSetSize, setHasSetSize] = $b8hua$createSignal(false);
|
|
108
|
+
const [hasDecoded, setHasDecoded] = $b8hua$createSignal(false);
|
|
109
|
+
const productCardIndexAccessor = $1e69163caedaab4e$export$e3faf4d95300054f();
|
|
110
|
+
const listingContext = $5441862cd2f5e111$export$8d0c4fdbb05a2f2e();
|
|
111
|
+
const isPrioritisedImage = $b8hua$createMemo(() => (productCardIndexAccessor === null || productCardIndexAccessor === void 0 ? void 0 : productCardIndexAccessor()) < 8);
|
|
112
|
+
const shouldActuallyEnableLazyLoading = $b8hua$createMemo(() => {
|
|
113
|
+
const {
|
|
114
|
+
loading: loading
|
|
115
|
+
} = props;
|
|
116
|
+
if (loading === "force-lazy") return true;
|
|
117
|
+
return loading === "lazy" && !isPrioritisedImage();
|
|
118
|
+
});
|
|
119
|
+
const modifiedOtherAttributes = $b8hua$mergeProps1(otherAttributes, {
|
|
120
|
+
get loading() {
|
|
121
|
+
return shouldActuallyEnableLazyLoading() ? "lazy" : undefined;
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
// Batch idle callbacks so that MutationObserver can batch the resulting mutations better, so we don't lose tons of CPU time to MutationObservers doing lots of things for each image
|
|
125
|
+
// Happened on singular, they have some weird observer (+we also have one but ours is at least 3x more efficient)
|
|
126
|
+
const executeWhenIdleBatched = (fn, isSizesUpdate) => {
|
|
127
|
+
if (typeof requestIdleCallback !== "function") return setTimeout(fn); // Old browsers don't get optimisation
|
|
128
|
+
if ((!isSizesUpdate || !sizeSetFastPath) && $b8hua$untrack(isPrioritisedImage)) return fn(); // If we're one of the first 8 images, execute the callbacks immediately (improves lighthouse metrics)
|
|
129
|
+
// unless we're just a `sizes` update after the initial sizes setting (this optimisation makes the looks animation a lot smoother on low-cpu devices)
|
|
130
|
+
const existingStack = listingContext === null || listingContext === void 0 ? void 0 : listingContext[$56047603f9d212b6$var$onIdleFunctionsSymbol];
|
|
131
|
+
if (existingStack) return existingStack.add(fn);
|
|
132
|
+
const newStack = new Set([fn]);
|
|
133
|
+
if (listingContext) listingContext[$56047603f9d212b6$var$onIdleFunctionsSymbol] = newStack;
|
|
134
|
+
const processStackWhenIdle = () => $6db93f70c2db1486$export$2972b890694ced75($b8hua$catchify(deadline => {
|
|
135
|
+
const start = performance.now();
|
|
136
|
+
const thirdDeadlineTime = deadline.timeRemaining() / 3; // observers coming after this take up 2-3x the time so don't use all of it
|
|
137
|
+
for (const fn of newStack) {
|
|
138
|
+
newStack.delete(fn);
|
|
139
|
+
fn();
|
|
140
|
+
const timeTaken = performance.now() - start;
|
|
141
|
+
if ((!deadline.timeRemaining() || timeTaken > thirdDeadlineTime) && newStack.size) {
|
|
142
|
+
// There's still work to be done but no time, so schedule another idle callback
|
|
143
|
+
processStackWhenIdle();
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// Stack is empty
|
|
148
|
+
if (listingContext) delete listingContext[$56047603f9d212b6$var$onIdleFunctionsSymbol];
|
|
149
|
+
}), {
|
|
150
|
+
timeout: 15000
|
|
151
|
+
} // long timeout, better to not have images than to freeze the browser. But also we don't want to confuse user why no iamges are loading
|
|
152
|
+
);
|
|
153
|
+
|
|
154
|
+
processStackWhenIdle();
|
|
155
|
+
};
|
|
156
|
+
let sizeSetFastPath = false;
|
|
157
|
+
let hasDecodedFastPath = false;
|
|
158
|
+
let timeoutSet = false;
|
|
159
|
+
let gotCleanedUp = false;
|
|
160
|
+
let srcJustChanged = true;
|
|
161
|
+
img.classList.add("s-responsive-image");
|
|
162
|
+
if (listingContext) {
|
|
163
|
+
let prevValue;
|
|
164
|
+
const aspectRatios = listingContext[$56047603f9d212b6$export$f8945274f08a3105] || (listingContext[$56047603f9d212b6$export$f8945274f08a3105] = new Set());
|
|
165
|
+
const [, setMostPrevalentAspectRatio] = listingContext[$56047603f9d212b6$export$6066eb417ed2e9f7] || (listingContext[$56047603f9d212b6$export$6066eb417ed2e9f7] = $b8hua$createSignal());
|
|
166
|
+
img.addEventListener("load", $b8hua$catchify(() => {
|
|
167
|
+
const aspectRatio_ = img.naturalWidth / img.naturalHeight;
|
|
168
|
+
if (srcJustChanged)
|
|
169
|
+
// Always key object-fit-cover compensation to avoid loading-different-images-infinite-loop
|
|
170
|
+
setOurRatioKeyed(aspectRatio_);else if (props.keyRatioUpdating) return;
|
|
171
|
+
srcJustChanged = false;
|
|
172
|
+
// Save our aspect ratio whenever it changes, so that we can base the containers on the most dominant aspect ratio, used in SearchModalV2 and LookItem
|
|
173
|
+
if (prevValue) aspectRatios.delete(prevValue);
|
|
174
|
+
const newValue = !isNaN(aspectRatio_) ? {
|
|
175
|
+
aspectRatio_: aspectRatio_
|
|
176
|
+
} : undefined;
|
|
177
|
+
if (newValue) aspectRatios.add(newValue);
|
|
178
|
+
prevValue = newValue;
|
|
179
|
+
// Do all calculations resulting of an update directly, for performance
|
|
180
|
+
const asArray = [...aspectRatios].map(_ref => {
|
|
181
|
+
let {
|
|
182
|
+
aspectRatio_: aspectRatio_
|
|
183
|
+
} = _ref;
|
|
184
|
+
return aspectRatio_;
|
|
36
185
|
});
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
186
|
+
const mostPrevalentAspectRatio = $b8hua$findMostFrequentItem(asArray);
|
|
187
|
+
setMostPrevalentAspectRatio(mostPrevalentAspectRatio);
|
|
188
|
+
}));
|
|
189
|
+
$b8hua$onCleanup(() => prevValue && aspectRatios.delete(prevValue));
|
|
190
|
+
}
|
|
191
|
+
$b8hua$onCleanup(() => gotCleanedUp = true);
|
|
192
|
+
$b8hua$spread(img, $b8hua$mergeProps1(modifiedOtherAttributes), false, true);
|
|
193
|
+
$b8hua$createRenderEffect(() => {
|
|
194
|
+
props.src;
|
|
195
|
+
srcJustChanged = true;
|
|
196
|
+
});
|
|
197
|
+
$b8hua$createEffect(() => {
|
|
198
|
+
if (!sizeToUse()) return; // wait until we have a size, run every time the size changes
|
|
199
|
+
if (timeoutSet) return;
|
|
200
|
+
const handler = $b8hua$catchify(() => {
|
|
201
|
+
if (gotCleanedUp) return;
|
|
202
|
+
img.sizes = "".concat(sizeToUse(), "px"); // use latest available value of size in case it has changed
|
|
203
|
+
if (!sizeSetFastPath) {
|
|
204
|
+
setHasSetSize(true);
|
|
205
|
+
sizeSetFastPath = true;
|
|
206
|
+
}
|
|
207
|
+
timeoutSet = false;
|
|
208
|
+
});
|
|
209
|
+
// Throttle the updating of sizes to avoid unnecessary image re-fetches during resize
|
|
210
|
+
// And also because we first set src after sizes has been set, wait with loading and decoding images until browser is idle
|
|
211
|
+
// This greatly improves performance when loading (more) products
|
|
212
|
+
// See https://depictaiworkspace.slack.com/archives/C05NJ0K3WRL/p1698220617663139
|
|
213
|
+
timeoutSet = true; // Important to set timeoutSet before the call to executeWhenIdleBatched since if this is an important image executeWhenIdleBatched will execute fn immediately
|
|
214
|
+
executeWhenIdleBatched(handler, true);
|
|
215
|
+
});
|
|
216
|
+
const dontLoadImageYet = $b8hua$createMemo(() => !sizeToUse() || !hasSetSize()); // Moving this condition into a memo saves us from re-setting src and srcset (expensive) if just props.size changes
|
|
217
|
+
$b8hua$createEffect(() => {
|
|
218
|
+
if (dontLoadImageYet()) return; // If size isn't known or set, don't assign src yet since it would cause the most low res image to load
|
|
219
|
+
Object.assign(img, src_options());
|
|
220
|
+
// Add to DOM once decoded to not require/block any paints before image has completed loading and avoid showing broken image symbol
|
|
221
|
+
// We can do this because there has to be a container around us giving us a size
|
|
222
|
+
// No need to listen if we're already in the DOM
|
|
223
|
+
if (hasDecodedFastPath) return;
|
|
224
|
+
if (shouldActuallyEnableLazyLoading()) {
|
|
225
|
+
// For lazy loading there's no decoding to wait for as it only occurs when the image is visible
|
|
226
|
+
// Make sure src is set before we put the image into the DOM though so no broken image symbol is shown
|
|
227
|
+
setHasDecoded(true);
|
|
228
|
+
hasDecodedFastPath = true;
|
|
229
|
+
return;
|
|
41
230
|
}
|
|
231
|
+
img.decode().catch(e => $b8hua$dwarn("Failed to decode image", e, img)) // Display the image also if loading failed so webdev can debug and doesn't get "no image"
|
|
232
|
+
.then(async () => {
|
|
233
|
+
// Also wait with inserting image (i.e. paint) until browser is idle
|
|
234
|
+
await new Promise(r => executeWhenIdleBatched(r, false));
|
|
235
|
+
if (gotCleanedUp) return;
|
|
236
|
+
setHasDecoded(true);
|
|
237
|
+
hasDecodedFastPath = true;
|
|
238
|
+
});
|
|
42
239
|
});
|
|
43
|
-
return
|
|
240
|
+
return $b8hua$createComponent((0, $b8hua$Show), {
|
|
241
|
+
get when() {
|
|
242
|
+
return hasDecoded();
|
|
243
|
+
},
|
|
244
|
+
children: img
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
function $56047603f9d212b6$var$make_srcset(url, resolutions, customGenerateImageUrl_) {
|
|
248
|
+
return resolutions.map(width => "".concat((customGenerateImageUrl_ || $56047603f9d212b6$export$1d6267828870adda)(url, width), " ").concat(width, "w")).join(", ");
|
|
249
|
+
}
|
|
250
|
+
function $56047603f9d212b6$export$1d6267828870adda(url, width) {
|
|
251
|
+
// Even just creating one `URL` object per image src and then setting the search parameter is quite slow (0.25ms to set the width param)
|
|
252
|
+
// We're making the assumptions that the url has already at least one query parameter and that the image resizing service will choose the last one out of a duplicate width parameter (shopify's does)
|
|
253
|
+
// That way we can just to string concatenation which is insanely fast
|
|
254
|
+
return url + "&width=" + encodeURIComponent(width);
|
|
44
255
|
}
|
|
45
256
|
var $bc2337c9a05ecd18$var$_tmpl$ = ["<span", ' class="', '" style="', '"></span>'];
|
|
46
257
|
function $bc2337c9a05ecd18$export$acb3eaade4b23afd(props) {
|
|
@@ -78,23 +289,210 @@ function $3ab4aa97880fb88d$export$3f37af283f8fb843(props) {
|
|
|
78
289
|
}
|
|
79
290
|
});
|
|
80
291
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
292
|
+
function $ceafb6fb91c6f394$export$89c6019e4baa40b1(props) {
|
|
293
|
+
const style = $b8hua$createMemo(() => {
|
|
294
|
+
const {
|
|
295
|
+
style: style,
|
|
296
|
+
height: height,
|
|
297
|
+
width: width
|
|
298
|
+
} = props;
|
|
299
|
+
return {
|
|
300
|
+
...(style || {}),
|
|
301
|
+
height: height !== null && height !== void 0 ? height : "1em",
|
|
302
|
+
...(width && {
|
|
303
|
+
width: width
|
|
304
|
+
})
|
|
305
|
+
};
|
|
306
|
+
});
|
|
307
|
+
return $b8hua$createComponent((0, $bc2337c9a05ecd18$export$acb3eaade4b23afd), {
|
|
308
|
+
get style() {
|
|
309
|
+
return style();
|
|
310
|
+
},
|
|
311
|
+
get ["class"]() {
|
|
312
|
+
return props.class;
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
var $5eaa00b951637e96$var$_tmpl$ = ["<div", ' class="instant-card"><div class="img-part">', '</div><div class="right-part"><div class="title-brand-tagline"><span class="title">', '</span></div><div class="price-container">', "</div></div></div>"];
|
|
317
|
+
const $5eaa00b951637e96$export$8a2234b5b1a5ebd4 = "--image-aspect-ratio";
|
|
318
|
+
function $5eaa00b951637e96$export$ee1733d9a8495996() {
|
|
319
|
+
return $b8hua$ssr($5eaa00b951637e96$var$_tmpl$, $b8hua$ssrHydrationKey(), $b8hua$escape($b8hua$createComponent((0, $3ab4aa97880fb88d$export$3f37af283f8fb843), {
|
|
320
|
+
aspectRatio: "var(".concat($5eaa00b951637e96$export$8a2234b5b1a5ebd4, ", 1)")
|
|
321
|
+
})), $b8hua$escape($b8hua$createComponent((0, $ceafb6fb91c6f394$export$89c6019e4baa40b1), {
|
|
322
|
+
width: "20ch",
|
|
323
|
+
height: "1em"
|
|
324
|
+
})), $b8hua$escape($b8hua$createComponent((0, $ceafb6fb91c6f394$export$89c6019e4baa40b1), {
|
|
325
|
+
width: "5ch",
|
|
326
|
+
height: "1em",
|
|
327
|
+
"class": "price"
|
|
328
|
+
})));
|
|
329
|
+
}
|
|
330
|
+
function $4be619ec2cd7bba3$export$54c6d6ff54e72743(whatToWatch) {
|
|
331
|
+
const [width, setWidth] = $b8hua$createSignal(0);
|
|
332
|
+
const [height, setHeight] = $b8hua$createSignal(0);
|
|
333
|
+
const resizeObserver = new ResizeObserver($b8hua$catchify(records => $b8hua$batch(() => {
|
|
334
|
+
for (let j = 0; j < records.length; j++) {
|
|
335
|
+
const {
|
|
336
|
+
width: width,
|
|
337
|
+
height: height
|
|
338
|
+
} = records[j].contentRect;
|
|
339
|
+
// Padding hack makes that we can't use contentRect to get the height since that's apparently without padding
|
|
340
|
+
const definitiveHeight = height || whatToWatch.getBoundingClientRect().height;
|
|
341
|
+
if (definitiveHeight) setHeight(Math.ceil(definitiveHeight));
|
|
342
|
+
if (width) setWidth(Math.ceil(width));
|
|
343
|
+
}
|
|
344
|
+
})));
|
|
345
|
+
// If we start observing elements before they're in the DOM Chrome (Version 117.0.5938.92 (Official Build) (arm64)) sometimes gives us a resize event with a width of 0 and then doesn't dispatch one with the actual width once it's in the DOM. So we wait until the element is in the DOM before we start observing it.
|
|
346
|
+
// It doesn't seem to work even when waiting for it to be in the DOM, also wait an animation frame
|
|
347
|
+
const disconnect = (0, $b8hua$observer).onexists(whatToWatch, _ref => {
|
|
348
|
+
let {
|
|
349
|
+
element: element
|
|
350
|
+
} = _ref;
|
|
351
|
+
return requestAnimationFrame($b8hua$catchify(() => resizeObserver.observe(element)));
|
|
352
|
+
});
|
|
353
|
+
$b8hua$onCleanup(() => {
|
|
354
|
+
resizeObserver.disconnect();
|
|
355
|
+
disconnect();
|
|
356
|
+
});
|
|
357
|
+
return [width, height];
|
|
358
|
+
}
|
|
359
|
+
const $4df489344a0f97c7$var$backupSizeSignal = /*@__PURE__*/$b8hua$createSignal();
|
|
360
|
+
const $4df489344a0f97c7$export$d7b7ab832c20e2f4 = /*@__PURE__*/Symbol("ShopifyContainedImage");
|
|
361
|
+
function $4df489344a0f97c7$export$e4b984597b71e989(props) {
|
|
362
|
+
const context = $5441862cd2f5e111$export$8d0c4fdbb05a2f2e();
|
|
363
|
+
if (context && !context[$4df489344a0f97c7$export$d7b7ab832c20e2f4])
|
|
364
|
+
// create a signal that's the same for all items in this listing
|
|
365
|
+
context[$4df489344a0f97c7$export$d7b7ab832c20e2f4] = $b8hua$createSignal();
|
|
366
|
+
const [currentImageSize, setCurrentImageSize] = (context === null || context === void 0 ? void 0 : context[$4df489344a0f97c7$export$d7b7ab832c20e2f4]) || $4df489344a0f97c7$var$backupSizeSignal; // use global fallback signal (might lead to blurry images) if no context is available
|
|
367
|
+
const [mostPrevalentAspectRatio] = context ? context[(0, $56047603f9d212b6$export$6066eb417ed2e9f7)] || (context[(0, $56047603f9d212b6$export$6066eb417ed2e9f7)] = $b8hua$createSignal()) : [];
|
|
368
|
+
const container = $801e8845d3fa3653$export$94026ee33dbabc26({
|
|
369
|
+
// Write getters manually instead of using JSX, so we can do more complex logic in the aspectRatio getter without increasing bundle size
|
|
370
|
+
get class() {
|
|
371
|
+
return props.class;
|
|
372
|
+
},
|
|
373
|
+
get aspectRatio() {
|
|
374
|
+
if (props.autoAdjustAspectRatio) {
|
|
375
|
+
const targetRatio = mostPrevalentAspectRatio === null || mostPrevalentAspectRatio === void 0 ? void 0 : mostPrevalentAspectRatio();
|
|
376
|
+
if (targetRatio != undefined) return "var(".concat((0, $5eaa00b951637e96$export$8a2234b5b1a5ebd4), ", ").concat(targetRatio, ")");
|
|
377
|
+
}
|
|
378
|
+
return props.aspectRatio;
|
|
379
|
+
}
|
|
380
|
+
});
|
|
381
|
+
const owner = $b8hua$getOwner();
|
|
382
|
+
let createdSizeAccessor = false;
|
|
383
|
+
let wasCleanedUp = false;
|
|
384
|
+
$b8hua$createEffect(() => {
|
|
385
|
+
if (currentImageSize() || wasCleanedUp) return; // We get into the effect when onCleanup is called if we don't have wasCleanedUp
|
|
386
|
+
// ensure we always have a size accessor
|
|
387
|
+
// what this whole thing does is set the sizes attribute to the actual size of one of the existing image containers, therefore the value doesn't have to manually be specified
|
|
388
|
+
createdSizeAccessor = true;
|
|
389
|
+
setCurrentImageSize(() => $b8hua$runWithOwner(owner, () => $4be619ec2cd7bba3$export$54c6d6ff54e72743(container)));
|
|
390
|
+
});
|
|
391
|
+
$b8hua$onCleanup(() => {
|
|
392
|
+
wasCleanedUp = true; // important to set this before the function call below and always, so the dead effects don't create dead size accessors
|
|
393
|
+
if (!createdSizeAccessor) return;
|
|
394
|
+
$b8hua$queueMacroTask(() => setCurrentImageSize()); // unset the size accessor next event loop iteration, so that all onCleanup's have time to run, since the effects run more aggressively and can create a size accessor with a cleaned up owner otherwise
|
|
395
|
+
});
|
|
396
|
+
|
|
397
|
+
$b8hua$insert(container, $b8hua$createComponent((0, $56047603f9d212b6$export$6e5611bc7e57e477), $b8hua$mergeProps({
|
|
398
|
+
size: () => {
|
|
399
|
+
var _currentImageSize, _currentImageSize$;
|
|
400
|
+
return ((_currentImageSize = currentImageSize()) === null || _currentImageSize === void 0 ? void 0 : (_currentImageSize$ = _currentImageSize[0]) === null || _currentImageSize$ === void 0 ? void 0 : _currentImageSize$.call(_currentImageSize)) || 0;
|
|
401
|
+
},
|
|
402
|
+
sizeHeight: () => {
|
|
403
|
+
var _currentImageSize2, _currentImageSize2$;
|
|
404
|
+
return ((_currentImageSize2 = currentImageSize()) === null || _currentImageSize2 === void 0 ? void 0 : (_currentImageSize2$ = _currentImageSize2[1]) === null || _currentImageSize2$ === void 0 ? void 0 : _currentImageSize2$.call(_currentImageSize2)) || 0;
|
|
405
|
+
},
|
|
406
|
+
get src() {
|
|
407
|
+
return props.src;
|
|
408
|
+
}
|
|
409
|
+
}, () => props.imgProps, {
|
|
410
|
+
get style() {
|
|
411
|
+
var _props$imgProps;
|
|
412
|
+
return (_props$imgProps = props.imgProps) === null || _props$imgProps === void 0 ? void 0 : _props$imgProps.style;
|
|
413
|
+
}
|
|
414
|
+
})));
|
|
415
|
+
return container;
|
|
416
|
+
}
|
|
417
|
+
const $98688279b9059f50$var$customUrls = (url, width) => {
|
|
418
|
+
var _url$startsWith;
|
|
419
|
+
if (url !== null && url !== void 0 && (_url$startsWith = url.startsWith) !== null && _url$startsWith !== void 0 && _url$startsWith.call(url, "https://cdn.shopify.com"))
|
|
420
|
+
// The shopify image resizing CDN blocks Cloudflare's image resizer. It's possible that we can't detect shopify image URLs sometimes because they go to the merchant's domain,
|
|
421
|
+
// but it seems like the URLs returned by the Depict API always goes to the cdn.shopify.com version of an image, so this simple workaround works.
|
|
422
|
+
return $56047603f9d212b6$export$1d6267828870adda(url, width);
|
|
423
|
+
// Use cloudflare image resizer instead of img.depict.ai because it's a lot faster (and also auto-chooses other formats if webp is not supported)
|
|
424
|
+
return "https://app.depict.ai/cdn-cgi/image/width=".concat(width, ",format=auto/").concat(url);
|
|
425
|
+
};
|
|
426
|
+
function $98688279b9059f50$export$9d4a4b669b1929ab(props) {
|
|
427
|
+
return $b8hua$createComponent((0, $4df489344a0f97c7$export$e4b984597b71e989), $b8hua$mergeProps(props, {
|
|
428
|
+
get imgProps() {
|
|
429
|
+
return {
|
|
430
|
+
...props.imgProps,
|
|
431
|
+
customUrls: $98688279b9059f50$var$customUrls
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
}));
|
|
435
|
+
}
|
|
436
|
+
function $98688279b9059f50$export$140423fa4bfb6d63(props) {
|
|
437
|
+
return $b8hua$createComponent((0, $56047603f9d212b6$export$6e5611bc7e57e477), $b8hua$mergeProps(props, {
|
|
438
|
+
customUrls: $98688279b9059f50$var$customUrls
|
|
439
|
+
}));
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
// Value first so shopify merchants can set (extra) display transformers in the shopify app
|
|
443
|
+
// Calling these functions normally doesn't do anything, but our shopify app respects them
|
|
444
|
+
// Them being here is value first too because this can be easily imported in the product card editor
|
|
445
|
+
let $80c7883e020be192$var$extraDisplayTransformers;
|
|
446
|
+
const $80c7883e020be192$export$b2d94be4f02525b2 = () => $80c7883e020be192$var$extraDisplayTransformers;
|
|
447
|
+
const $80c7883e020be192$export$f98b8d5ea7207a1 = displayTransformers => $80c7883e020be192$var$extraDisplayTransformers = displayTransformers;
|
|
448
|
+
function $00a5b94f0c11efbb$export$d9f36cf74e24d595(media_query) {
|
|
449
|
+
const signal = $b8hua$createSignal(false);
|
|
450
|
+
$b8hua$onCleanup($b8hua$javascript_media_query(media_query, _ref => {
|
|
451
|
+
let {
|
|
452
|
+
matches: matches
|
|
453
|
+
} = _ref;
|
|
454
|
+
return signal[1](matches);
|
|
455
|
+
}).remove);
|
|
456
|
+
return signal[0];
|
|
457
|
+
}
|
|
458
|
+
function $40e2fa435715a1a0$export$a79e666719b3647c(cols_at_size_) {
|
|
459
|
+
const size_active = $b8hua$createMemo(() => cols_at_size_().map(_ref => {
|
|
460
|
+
let [n_cols, min_width, max_width] = _ref;
|
|
461
|
+
const media_query = $b8hua$layout_media_query_header(min_width, max_width).replaceAll("@media", "");
|
|
462
|
+
const matches = $00a5b94f0c11efbb$export$d9f36cf74e24d595(media_query);
|
|
463
|
+
return [matches, n_cols];
|
|
464
|
+
}));
|
|
465
|
+
const n_cols_currently_showing = $b8hua$createMemo(() => {
|
|
466
|
+
try {
|
|
467
|
+
const [, n_cols_currently_showing] = size_active().find(_ref2 => {
|
|
468
|
+
let [media_query] = _ref2;
|
|
469
|
+
return media_query();
|
|
470
|
+
});
|
|
471
|
+
return n_cols_currently_showing;
|
|
472
|
+
} catch (e) {
|
|
473
|
+
$b8hua$dwarn("No active size found in columnsAtSize - can't render content blocks or looks");
|
|
474
|
+
return null;
|
|
475
|
+
}
|
|
476
|
+
});
|
|
477
|
+
return n_cols_currently_showing;
|
|
478
|
+
}
|
|
479
|
+
var $ff7feae4dddd6073$var$_tmpl$ = ["<div", ' class="', '" style="', '">', "</div>"];
|
|
480
|
+
function $ff7feae4dddd6073$export$791ef57e62e21c3f(_ref) {
|
|
481
|
+
let {
|
|
482
|
+
content_blocks_: incoming_content_blocks,
|
|
483
|
+
cols_at_size_: cols_at_size_,
|
|
484
|
+
set_top_row_shortened_by_: set_top_row_shortened_by_
|
|
485
|
+
} = _ref;
|
|
486
|
+
// these are by row
|
|
487
|
+
const [content_blocks, set_content_blocks] = $b8hua$createStore([]);
|
|
488
|
+
const n_cols_currently_showing_ = $40e2fa435715a1a0$export$a79e666719b3647c(cols_at_size_);
|
|
489
|
+
$b8hua$createEffect(() => {
|
|
490
|
+
const incoming_value = incoming_content_blocks();
|
|
491
|
+
if (!incoming_value) {
|
|
492
|
+
set_content_blocks([]);
|
|
493
|
+
return;
|
|
494
|
+
}
|
|
495
|
+
set_content_blocks($b8hua$reconcile(incoming_value, {
|
|
98
496
|
key: "content"
|
|
99
497
|
})); // key: Make moving blocks faster, see https://github.com/solidjs/solid/issues/1925#issuecomment-1769671596
|
|
100
498
|
});
|
|
@@ -217,7 +615,7 @@ function $ff7feae4dddd6073$var$wrap_blocks_in_div(rendered_content_blocks, max_s
|
|
|
217
615
|
})));
|
|
218
616
|
}
|
|
219
617
|
});
|
|
220
|
-
return $b8hua$
|
|
618
|
+
return $b8hua$mergeProps1(block, {
|
|
221
619
|
// Create content divs for the blocks with as much fine-grained diffing as possible?
|
|
222
620
|
content: () => {
|
|
223
621
|
// Sneaky on-demand rendering, so we don't render more blocks than we can show: we have the rendered value here and don't return a function that renders because if our block would be moved around we'd be guaranteed to re-render
|
|
@@ -288,11 +686,11 @@ function $715f7f2e53146662$var$doHeavyCalculations() {
|
|
|
288
686
|
const [, setElementsHovered] = $715f7f2e53146662$var$elementsHoveredSignal;
|
|
289
687
|
const elementAtTouch = new Map();
|
|
290
688
|
const updateSet = () => setElementsHovered(new Set([...elementAtTouch.values()].filter(v => v)));
|
|
291
|
-
const setPositionHandler = $b8hua$
|
|
689
|
+
const setPositionHandler = $b8hua$catchify1(evt => {
|
|
292
690
|
for (const touch of evt.changedTouches) elementAtTouch.set(touch.identifier, document.elementFromPoint(touch.clientX, touch.clientY));
|
|
293
691
|
updateSet();
|
|
294
692
|
});
|
|
295
|
-
const deleteTouchHandler = $b8hua$
|
|
693
|
+
const deleteTouchHandler = $b8hua$catchify1(evt => {
|
|
296
694
|
for (const touch of evt.changedTouches) elementAtTouch.delete(touch.identifier);
|
|
297
695
|
updateSet();
|
|
298
696
|
});
|
|
@@ -418,20 +816,6 @@ function $cb64b315b25cfc59$var$unwrapping_helper(elements) {
|
|
|
418
816
|
} else if (typeof elements == "function") result.push(...$cb64b315b25cfc59$var$unwrapping_helper(elements()));else if (elements != undefined && typeof elements != "boolean") result.push(elements);
|
|
419
817
|
return result;
|
|
420
818
|
}
|
|
421
|
-
const $1e69163caedaab4e$var$ProductCardIndexContext = /*@__PURE__*/$b8hua$createContext();
|
|
422
|
-
function $1e69163caedaab4e$export$11354f017ddc9790(props) {
|
|
423
|
-
return $b8hua$createComponent($1e69163caedaab4e$var$ProductCardIndexContext.Provider, {
|
|
424
|
-
get value() {
|
|
425
|
-
return props.index_;
|
|
426
|
-
},
|
|
427
|
-
get children() {
|
|
428
|
-
return props.children;
|
|
429
|
-
}
|
|
430
|
-
});
|
|
431
|
-
}
|
|
432
|
-
function $1e69163caedaab4e$export$e3faf4d95300054f() {
|
|
433
|
-
return $b8hua$useContext($1e69163caedaab4e$var$ProductCardIndexContext);
|
|
434
|
-
}
|
|
435
819
|
|
|
436
820
|
/**
|
|
437
821
|
* This is a function that will safely clone an object that may contain promises.
|
|
@@ -660,7 +1044,7 @@ function $618bd53ea0a41cd4$export$4a14175d33d81a96(_ref) {
|
|
|
660
1044
|
};
|
|
661
1045
|
// 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.
|
|
662
1046
|
const shouldObserve = $b8hua$createMemo(() => alwaysObserveCards_ || listenersForIntersecting() > 0);
|
|
663
|
-
const intersection_observer = new IntersectionObserver($b8hua$
|
|
1047
|
+
const intersection_observer = new IntersectionObserver($b8hua$catchify(records => {
|
|
664
1048
|
const intersectingValue = currentlyIntersecting();
|
|
665
1049
|
for (let i = 0; i < records.length; i++) {
|
|
666
1050
|
const record = records[i];
|
|
@@ -956,7 +1340,7 @@ var $63f1f8dbcd07d3b0$var$_tmpl$ = ["<div", ' class="', '">', "</div>"],
|
|
|
956
1340
|
$63f1f8dbcd07d3b0$var$_tmpl$2 = ["<style", ' type="text/css">', "</style>"];
|
|
957
1341
|
function $63f1f8dbcd07d3b0$export$d21e32dfedac04be(props) {
|
|
958
1342
|
const container_class = "x" + $b8hua$createUniqueId();
|
|
959
|
-
const container_element_ = $b8hua$ssrElement("div", $b8hua$
|
|
1343
|
+
const container_element_ = $b8hua$ssrElement("div", $b8hua$mergeProps(() => props.element_attributes, {
|
|
960
1344
|
classList: {
|
|
961
1345
|
[container_class]: true
|
|
962
1346
|
}
|
|
@@ -1026,516 +1410,160 @@ function $63f1f8dbcd07d3b0$export$445d8d3f5f706a40(props, container_element) {
|
|
|
1026
1410
|
}
|
|
1027
1411
|
update_children_count();
|
|
1028
1412
|
if (!(0, $b8hua$isServer)) {
|
|
1029
|
-
const mutation_observer = new MutationObserver($b8hua$
|
|
1030
|
-
mutation_observer.observe(container_element, {
|
|
1031
|
-
childList: true
|
|
1032
|
-
});
|
|
1033
|
-
$b8hua$onCleanup(() => mutation_observer.disconnect());
|
|
1034
|
-
}
|
|
1035
|
-
set_styling(
|
|
1036
|
-
// this is needed because solid will think that the memo-accessor is a setter function otherwise
|
|
1037
|
-
() => $b8hua$createMemo(() => {
|
|
1038
|
-
const {
|
|
1039
|
-
rows_per_click: rows_per_click,
|
|
1040
|
-
max_rows = -1,
|
|
1041
|
-
start_rows: start_rows
|
|
1042
|
-
} = rows_or_empty_object();
|
|
1043
|
-
const rows_visible = get_rows_visible();
|
|
1044
|
-
const children_count = get_children_count();
|
|
1045
|
-
return force_style_update() + col_styling() + props.cols_at_size.map(options => {
|
|
1046
|
-
const [recs_per_row, min, max] = options;
|
|
1047
|
-
let should_hide_view_more_button;
|
|
1048
|
-
let visible_recs;
|
|
1049
|
-
if (props.disable_partial_rows) {
|
|
1050
|
-
visible_recs = $b8hua$layout_get_visible_recs_without_partial_rows(rows_visible, children_count, options);
|
|
1051
|
-
const visible_recs_next_show_more = $b8hua$layout_get_visible_recs_without_partial_rows(rows_visible + (rows_per_click || 0),
|
|
1052
|
-
// Should this really be zero when we default rows_per_click to 1?
|
|
1053
|
-
children_count, options);
|
|
1054
|
-
should_hide_view_more_button = visible_recs === visible_recs_next_show_more;
|
|
1055
|
-
} else {
|
|
1056
|
-
visible_recs = $b8hua$layout_get_total_rec_amount_for_row(rows_visible, options);
|
|
1057
|
-
should_hide_view_more_button = visible_recs >= children_count;
|
|
1058
|
-
}
|
|
1059
|
-
const should_hide_button_final = should_hide_view_more_button || max_rows !== -1 && rows_visible >= max_rows;
|
|
1060
|
-
// I don't really understand the logic for when the view more button gets hidden so IDK if below is correct, but it works how it should for now
|
|
1061
|
-
const should_hide_view_less_button = !should_hide_view_more_button || start_rows == undefined || rows_visible <= start_rows || children_count <= recs_per_row * start_rows;
|
|
1062
|
-
return "".concat($b8hua$layout_media_query_header(min, max), "{").concat(selector_beginning, ":nth-child(n+").concat(visible_recs + 1, "){display:none}").concat(props.layout == "slider" ? "".concat(selector_beginning, ":nth-child(n+").concat(visible_recs, "){margin-right:0}") : "").concat(should_hide_button_final ? ".depict .".concat(view_more_button_class, "{display:none!important}") : "").concat(should_hide_view_less_button ? ".depict .".concat(view_less_button_class, "{display:none!important}") : "", "}");
|
|
1063
|
-
}).join("");
|
|
1064
|
-
}));
|
|
1065
|
-
});
|
|
1066
|
-
const style_element = $b8hua$ssr($63f1f8dbcd07d3b0$var$_tmpl$2, $b8hua$ssrHydrationKey(), get_styling); // need to create this after set_styling has been called or else there will be no styling in the SSR'd output
|
|
1067
|
-
if (insert_after_container) container_element.after(style_element);
|
|
1068
|
-
return [container_element, view_more_button_container(), view_less_button_container(), style_element];
|
|
1069
|
-
}
|
|
1070
|
-
var $39ddb986053fb759$var$_tmpl$ = ["<h2", ' class="recs-title">', "</h2>"];
|
|
1071
|
-
function $39ddb986053fb759$export$d41d19e89346fa2(_ref) {
|
|
1072
|
-
let {
|
|
1073
|
-
recommendations_resource_: recommendations_resource_,
|
|
1074
|
-
product_card_template_: product_card_template_,
|
|
1075
|
-
layout_options_: layout_options_,
|
|
1076
|
-
title_: title_,
|
|
1077
|
-
NoResultsFallback_: NoResultsFallback_,
|
|
1078
|
-
placeholderCacheKey_: placeholderCacheKey_
|
|
1079
|
-
} = _ref;
|
|
1080
|
-
const is_showing_something = $b8hua$createMemo(() => {
|
|
1081
|
-
var _recommendations_reso;
|
|
1082
|
-
return recommendations_resource_.loading || ((_recommendations_reso = recommendations_resource_()) === null || _recommendations_reso === void 0 ? void 0 : _recommendations_reso.length);
|
|
1083
|
-
});
|
|
1084
|
-
const title = $b8hua$createMemo(() => title_ === null || title_ === void 0 ? void 0 : title_()); // In case getter/accessor creates elements, don't create them twice
|
|
1085
|
-
const num_placeholders_ = () => 20;
|
|
1086
|
-
const slider = [$b8hua$createComponent((0, $b8hua$Show), {
|
|
1087
|
-
get when() {
|
|
1088
|
-
return title();
|
|
1089
|
-
},
|
|
1090
|
-
get children() {
|
|
1091
|
-
return $b8hua$ssr($39ddb986053fb759$var$_tmpl$, $b8hua$ssrHydrationKey(), $b8hua$escape(title()));
|
|
1092
|
-
}
|
|
1093
|
-
}), $b8hua$createComponent((0, $002f09d00aac50b2$export$6649caad96ef8870), {
|
|
1094
|
-
arrow_height_: 25,
|
|
1095
|
-
arrow_width_: 12.5,
|
|
1096
|
-
disable_fading_: true,
|
|
1097
|
-
slider_ref_: slider => {
|
|
1098
|
-
const {
|
|
1099
|
-
insert_here: insert_here,
|
|
1100
|
-
container: container
|
|
1101
|
-
} = slider;
|
|
1102
|
-
const Layout = props => $63f1f8dbcd07d3b0$export$445d8d3f5f706a40(props, insert_here, true);
|
|
1103
|
-
// Do like this, so we don't have to call mergeProps ourselves
|
|
1104
|
-
$b8hua$createComponent(Layout, $b8hua$mergeProps1({
|
|
1105
|
-
rows: "all",
|
|
1106
|
-
layout: "slider"
|
|
1107
|
-
}, layout_options_));
|
|
1108
|
-
$b8hua$slider_fractional_factory(0, 0.75).constructor_plugin.call(slider, {}); // enable fractional scrolling
|
|
1109
|
-
insert_here.before($ca55612a53dbbdd2$export$a2cc176055f8f08());
|
|
1110
|
-
container.classList.add("products");
|
|
1111
|
-
},
|
|
1112
|
-
get children() {
|
|
1113
|
-
return $b8hua$createComponent((0, $b8hua$Suspense), {
|
|
1114
|
-
get fallback() {
|
|
1115
|
-
return $bdd80c7862246dc2$export$f33414a4df0afd3f({
|
|
1116
|
-
num_placeholders_: num_placeholders_,
|
|
1117
|
-
product_card_template_: product_card_template_,
|
|
1118
|
-
placeholderCacheKey_: placeholderCacheKey_
|
|
1119
|
-
});
|
|
1120
|
-
},
|
|
1121
|
-
get children() {
|
|
1122
|
-
return (() => {
|
|
1123
|
-
// IIFE to make sure we access both the recommendations_resource and the resources containing the product card rendering results themselves within the Suspense boundary
|
|
1124
|
-
const displays_by_key_ = $2d7bad8684bc7f44$export$7f8bd308237ab5a5($b8hua$createMemo(() => recommendations_resource_() || []));
|
|
1125
|
-
const {
|
|
1126
|
-
renderedDisplays_: renderedDisplays_
|
|
1127
|
-
} = $618bd53ea0a41cd4$export$4a14175d33d81a96({
|
|
1128
|
-
displays_by_key_: displays_by_key_,
|
|
1129
|
-
product_card_template_: product_card_template_
|
|
1130
|
-
});
|
|
1131
|
-
return renderedDisplays_;
|
|
1132
|
-
})();
|
|
1133
|
-
}
|
|
1134
|
-
});
|
|
1135
|
-
}
|
|
1136
|
-
})];
|
|
1137
|
-
return $b8hua$createComponent((0, $b8hua$Show), {
|
|
1138
|
-
get when() {
|
|
1139
|
-
return is_showing_something();
|
|
1140
|
-
},
|
|
1141
|
-
get fallback() {
|
|
1142
|
-
return NoResultsFallback_ === null || NoResultsFallback_ === void 0 ? void 0 : NoResultsFallback_();
|
|
1143
|
-
},
|
|
1144
|
-
children: slider
|
|
1145
|
-
});
|
|
1146
|
-
}
|
|
1147
|
-
function $83e8cf2c0b87a58a$export$23fca46f3143581f(component, error_message) {
|
|
1148
|
-
const component_in_error_boundary = do_with_elements => {
|
|
1149
|
-
const error_boundary_wrapped = $74777e8fe65b3dcb$export$b69d0d92862de18b({
|
|
1150
|
-
severity_: "error",
|
|
1151
|
-
message_: error_message,
|
|
1152
|
-
get children() {
|
|
1153
|
-
const elements = component();
|
|
1154
|
-
do_with_elements === null || do_with_elements === void 0 || do_with_elements(elements);
|
|
1155
|
-
return elements;
|
|
1156
|
-
}
|
|
1157
|
-
});
|
|
1158
|
-
// This might return an accessor, in that case we need to "unwrap" it since our SDK consumers expect HTML elements or arrays thereof
|
|
1159
|
-
if (typeof error_boundary_wrapped === "function")
|
|
1160
|
-
// @ts-ignore
|
|
1161
|
-
return error_boundary_wrapped();
|
|
1162
|
-
// On the server it returns a string, so we just return that
|
|
1163
|
-
return error_boundary_wrapped;
|
|
1164
|
-
};
|
|
1165
|
-
const owner = $b8hua$getOwner();
|
|
1166
|
-
if (owner == null) return $b8hua$createRoot(dispose => {
|
|
1167
|
-
// if we're not already run in a root, create a root and automatically dispose it when the first returned element is removed from the DOM
|
|
1168
|
-
return component_in_error_boundary(elements => {
|
|
1169
|
-
const have_multiple = Array.isArray(elements);
|
|
1170
|
-
if (have_multiple ? !(elements !== null && elements !== void 0 && elements.length) : !elements) return;
|
|
1171
|
-
(0, $b8hua$observer).onremoved(have_multiple ? elements[0] : elements, _ref => {
|
|
1172
|
-
let {
|
|
1173
|
-
element: element
|
|
1174
|
-
} = _ref;
|
|
1175
|
-
if (document.documentElement.contains(element)) return; // If element has instantly been re-inserted, don't dispose
|
|
1176
|
-
// See https://depictaiworkspace.slack.com/archives/C050GHEPBTR/p1695809102791259?thread_ts=1695106805.459729&cid=C050GHEPBTR
|
|
1177
|
-
dispose();
|
|
1178
|
-
});
|
|
1179
|
-
});
|
|
1180
|
-
});else
|
|
1181
|
-
// we're already in a root so cleanups are handled
|
|
1182
|
-
return component_in_error_boundary();
|
|
1183
|
-
}
|
|
1184
|
-
const $5441862cd2f5e111$var$ListingContext = /*@__PURE__*/$b8hua$createContext();
|
|
1185
|
-
function $5441862cd2f5e111$export$e68cff63f76bd15b(props) {
|
|
1186
|
-
const our_object = {};
|
|
1187
|
-
return $b8hua$createComponent($5441862cd2f5e111$var$ListingContext.Provider, {
|
|
1188
|
-
value: our_object,
|
|
1189
|
-
get children() {
|
|
1190
|
-
return props.children;
|
|
1191
|
-
}
|
|
1192
|
-
});
|
|
1193
|
-
}
|
|
1194
|
-
function $5441862cd2f5e111$export$8d0c4fdbb05a2f2e() {
|
|
1195
|
-
return $b8hua$useContext($5441862cd2f5e111$var$ListingContext);
|
|
1196
|
-
}
|
|
1197
|
-
function $ceafb6fb91c6f394$export$89c6019e4baa40b1(props) {
|
|
1198
|
-
const style = $b8hua$createMemo(() => {
|
|
1199
|
-
const {
|
|
1200
|
-
style: style,
|
|
1201
|
-
height: height,
|
|
1202
|
-
width: width
|
|
1203
|
-
} = props;
|
|
1204
|
-
return {
|
|
1205
|
-
...(style || {}),
|
|
1206
|
-
height: height !== null && height !== void 0 ? height : "1em",
|
|
1207
|
-
...(width && {
|
|
1208
|
-
width: width
|
|
1209
|
-
})
|
|
1210
|
-
};
|
|
1211
|
-
});
|
|
1212
|
-
return $b8hua$createComponent((0, $bc2337c9a05ecd18$export$acb3eaade4b23afd), {
|
|
1213
|
-
get style() {
|
|
1214
|
-
return style();
|
|
1215
|
-
},
|
|
1216
|
-
get ["class"]() {
|
|
1217
|
-
return props.class;
|
|
1218
|
-
}
|
|
1219
|
-
});
|
|
1220
|
-
}
|
|
1221
|
-
var $5eaa00b951637e96$var$_tmpl$ = ["<div", ' class="instant-card"><div class="img-part">', '</div><div class="right-part"><div class="title-brand-tagline"><span class="title">', '</span></div><div class="price-container">', "</div></div></div>"];
|
|
1222
|
-
const $5eaa00b951637e96$export$8a2234b5b1a5ebd4 = "--image-aspect-ratio";
|
|
1223
|
-
function $5eaa00b951637e96$export$ee1733d9a8495996() {
|
|
1224
|
-
return $b8hua$ssr($5eaa00b951637e96$var$_tmpl$, $b8hua$ssrHydrationKey(), $b8hua$escape($b8hua$createComponent((0, $3ab4aa97880fb88d$export$3f37af283f8fb843), {
|
|
1225
|
-
aspectRatio: "var(".concat($5eaa00b951637e96$export$8a2234b5b1a5ebd4, ", 1)")
|
|
1226
|
-
})), $b8hua$escape($b8hua$createComponent((0, $ceafb6fb91c6f394$export$89c6019e4baa40b1), {
|
|
1227
|
-
width: "20ch",
|
|
1228
|
-
height: "1em"
|
|
1229
|
-
})), $b8hua$escape($b8hua$createComponent((0, $ceafb6fb91c6f394$export$89c6019e4baa40b1), {
|
|
1230
|
-
width: "5ch",
|
|
1231
|
-
height: "1em",
|
|
1232
|
-
"class": "price"
|
|
1233
|
-
})));
|
|
1234
|
-
}
|
|
1235
|
-
var $801e8845d3fa3653$var$_tmpl$ = ["<div", ' style="', '"', ">", "</div>"];
|
|
1236
|
-
function $801e8845d3fa3653$export$94026ee33dbabc26(props) {
|
|
1237
|
-
return $b8hua$ssr($801e8845d3fa3653$var$_tmpl$, $b8hua$ssrHydrationKey(), $b8hua$ssrStyle("padding-bottom:calc(calc(1 / ".concat(props.aspectRatio, ") * 100%)")), $b8hua$ssrAttribute("class", "s-image-container" + (props.class ? " " + $b8hua$escape(props.class, true) : ""), false), $b8hua$escape(props.children));
|
|
1238
|
-
}
|
|
1239
|
-
let $6db93f70c2db1486$var$browserIsBugged = false;
|
|
1240
|
-
function $6db93f70c2db1486$export$2972b890694ced75(callback, _ref) {
|
|
1241
|
-
let {
|
|
1242
|
-
timeout: timeout
|
|
1243
|
-
} = _ref;
|
|
1244
|
-
if ($6db93f70c2db1486$var$browserIsBugged) timeout /= 4;
|
|
1245
|
-
const cancel = () => {
|
|
1246
|
-
cancelIdleCallback(idleHandle);
|
|
1247
|
-
clearTimeout(racingTimeout);
|
|
1248
|
-
};
|
|
1249
|
-
const idleHandle = requestIdleCallback(deadline => {
|
|
1250
|
-
cancel();
|
|
1251
|
-
return callback(deadline);
|
|
1252
|
-
}, {
|
|
1253
|
-
timeout: timeout
|
|
1254
|
-
});
|
|
1255
|
-
const racingTimeout = setTimeout(() => {
|
|
1256
|
-
$b8hua$dwarn("Browser did not respect requestIdleCallback timeout");
|
|
1257
|
-
$6db93f70c2db1486$var$browserIsBugged = true;
|
|
1258
|
-
cancel();
|
|
1259
|
-
callback({
|
|
1260
|
-
didTimeout: false,
|
|
1261
|
-
timeRemaining() {
|
|
1262
|
-
return 500;
|
|
1263
|
-
}
|
|
1264
|
-
});
|
|
1265
|
-
}, timeout + 1000);
|
|
1266
|
-
return cancel;
|
|
1267
|
-
}
|
|
1268
|
-
function $56047603f9d212b6$export$e6fffe67d4cdd848(whatToWatch) {
|
|
1269
|
-
const [size, setSize] = $b8hua$createSignal(0);
|
|
1270
|
-
const resizeObserver = new ResizeObserver($b8hua$catchify1(records => {
|
|
1271
|
-
for (let j = 0; j < records.length; j++) {
|
|
1272
|
-
const {
|
|
1273
|
-
width: width
|
|
1274
|
-
} = records[j].contentRect;
|
|
1275
|
-
if (!width) continue;
|
|
1276
|
-
setSize(Math.ceil(width));
|
|
1277
|
-
}
|
|
1278
|
-
}));
|
|
1279
|
-
// If we start observing elements before they're in the DOM Chrome (Version 117.0.5938.92 (Official Build) (arm64)) sometimes gives us a resize event with a width of 0 and then doesn't dispatch one with the actual width once it's in the DOM. So we wait until the element is in the DOM before we start observing it.
|
|
1280
|
-
// It doesn't seem to work even when waiting for it to be in the DOM, also wait an animation frame
|
|
1281
|
-
const disconnect = (0, $b8hua$observer).onexists(whatToWatch, _ref => {
|
|
1282
|
-
let {
|
|
1283
|
-
element: element
|
|
1284
|
-
} = _ref;
|
|
1285
|
-
return requestAnimationFrame($b8hua$catchify1(() => resizeObserver.observe(element)));
|
|
1286
|
-
});
|
|
1287
|
-
$b8hua$onCleanup(() => {
|
|
1288
|
-
resizeObserver.disconnect();
|
|
1289
|
-
disconnect();
|
|
1290
|
-
});
|
|
1291
|
-
return size;
|
|
1292
|
-
}
|
|
1293
|
-
const $56047603f9d212b6$var$onIdleFunctionsSymbol = /*@__PURE__*/Symbol("onIdleFunctions");
|
|
1294
|
-
const $56047603f9d212b6$export$f8945274f08a3105 = /*@__PURE__*/Symbol("listingContextAspectRatios");
|
|
1295
|
-
const $56047603f9d212b6$export$6066eb417ed2e9f7 = /*@__PURE__*/Symbol("listingContextAspectRatios");
|
|
1296
|
-
function $56047603f9d212b6$export$6e5611bc7e57e477(props) {
|
|
1297
|
-
const src_options = $b8hua$createMemo(() => {
|
|
1298
|
-
const {
|
|
1299
|
-
src: src,
|
|
1300
|
-
customUrls: customUrls
|
|
1301
|
-
} = props;
|
|
1302
|
-
const fallback_src = (customUrls || $56047603f9d212b6$export$1d6267828870adda)(src, 400);
|
|
1303
|
-
const srcset = $56047603f9d212b6$var$make_srcset(props.src, props.resolutions || [64, 128, 256, 300, 400, 512, 640, 768, 1024, 1280, 1536, 2048, 2560, 3072, 3584, 4096], customUrls);
|
|
1304
|
-
// The order here *might* matter - I've seen mobile safari always start with loading the 400px version when it was reversed
|
|
1305
|
-
return {
|
|
1306
|
-
srcset: srcset,
|
|
1307
|
-
src: fallback_src
|
|
1308
|
-
};
|
|
1309
|
-
});
|
|
1310
|
-
// Work around https://github.com/solidjs/solid/issues/1828
|
|
1311
|
-
const img = new Image(); // Need to use new Image or browser might not start loading image before it's in the DOM
|
|
1312
|
-
const [, otherAttributes] = $b8hua$splitProps(props, ["resolutions", "size", "src", "srcSet", "loading", "keyRatioUpdating", "customUrls" // Can't have properties ending on underscore because the property name mangling will get confused by this <-
|
|
1313
|
-
]);
|
|
1314
|
-
|
|
1315
|
-
const [hasSetSize, setHasSetSize] = $b8hua$createSignal(false);
|
|
1316
|
-
const [hasDecoded, setHasDecoded] = $b8hua$createSignal(false);
|
|
1317
|
-
const productCardIndexAccessor = $1e69163caedaab4e$export$e3faf4d95300054f();
|
|
1318
|
-
const sizePX = $b8hua$createMemo(() => "".concat(props.size(), "px")); // props.size could be a getter that expects a cleanup so get it in this memo instead of where we set img.sizes
|
|
1319
|
-
const listingContext = $5441862cd2f5e111$export$8d0c4fdbb05a2f2e();
|
|
1320
|
-
const isPrioritisedImage = $b8hua$createMemo(() => (productCardIndexAccessor === null || productCardIndexAccessor === void 0 ? void 0 : productCardIndexAccessor()) < 8);
|
|
1321
|
-
const shouldActuallyEnableLazyLoading = $b8hua$createMemo(() => {
|
|
1322
|
-
const {
|
|
1323
|
-
loading: loading
|
|
1324
|
-
} = props;
|
|
1325
|
-
if (loading === "force-lazy") return true;
|
|
1326
|
-
return loading === "lazy" && !isPrioritisedImage();
|
|
1327
|
-
});
|
|
1328
|
-
const modifiedOtherAttributes = $b8hua$mergeProps(otherAttributes, {
|
|
1329
|
-
get loading() {
|
|
1330
|
-
return shouldActuallyEnableLazyLoading() ? "lazy" : undefined;
|
|
1331
|
-
}
|
|
1332
|
-
});
|
|
1333
|
-
// Batch idle callbacks so that MutationObserver can batch the resulting mutations better, so we don't lose tons of CPU time to MutationObservers doing lots of things for each image
|
|
1334
|
-
// Happened on singular, they have some weird observer (+we also have one but ours is at least 3x more efficient)
|
|
1335
|
-
const executeWhenIdleBatched = (fn, isSizesUpdate) => {
|
|
1336
|
-
if (typeof requestIdleCallback !== "function") return setTimeout(fn); // Old browsers don't get optimisation
|
|
1337
|
-
if ((!isSizesUpdate || !sizeSetFastPath) && $b8hua$untrack(isPrioritisedImage)) return fn(); // If we're one of the first 8 images, execute the callbacks immediately (improves lighthouse metrics)
|
|
1338
|
-
// unless we're just a `sizes` update after the initial sizes setting (this optimisation makes the looks animation a lot smoother on low-cpu devices)
|
|
1339
|
-
const existingStack = listingContext === null || listingContext === void 0 ? void 0 : listingContext[$56047603f9d212b6$var$onIdleFunctionsSymbol];
|
|
1340
|
-
if (existingStack) return existingStack.add(fn);
|
|
1341
|
-
const newStack = new Set([fn]);
|
|
1342
|
-
if (listingContext) listingContext[$56047603f9d212b6$var$onIdleFunctionsSymbol] = newStack;
|
|
1343
|
-
const processStackWhenIdle = () => $6db93f70c2db1486$export$2972b890694ced75($b8hua$catchify1(deadline => {
|
|
1344
|
-
const start = performance.now();
|
|
1345
|
-
const thirdDeadlineTime = deadline.timeRemaining() / 3; // observers coming after this take up 2-3x the time so don't use all of it
|
|
1346
|
-
for (const fn of newStack) {
|
|
1347
|
-
newStack.delete(fn);
|
|
1348
|
-
fn();
|
|
1349
|
-
const timeTaken = performance.now() - start;
|
|
1350
|
-
if ((!deadline.timeRemaining() || timeTaken > thirdDeadlineTime) && newStack.size) {
|
|
1351
|
-
// There's still work to be done but no time, so schedule another idle callback
|
|
1352
|
-
processStackWhenIdle();
|
|
1353
|
-
return;
|
|
1354
|
-
}
|
|
1355
|
-
}
|
|
1356
|
-
// Stack is empty
|
|
1357
|
-
if (listingContext) delete listingContext[$56047603f9d212b6$var$onIdleFunctionsSymbol];
|
|
1358
|
-
}), {
|
|
1359
|
-
timeout: 15000
|
|
1360
|
-
} // long timeout, better to not have images than to freeze the browser. But also we don't want to confuse user why no iamges are loading
|
|
1361
|
-
);
|
|
1362
|
-
|
|
1363
|
-
processStackWhenIdle();
|
|
1364
|
-
};
|
|
1365
|
-
let sizeSetFastPath = false;
|
|
1366
|
-
let hasDecodedFastPath = false;
|
|
1367
|
-
let timeoutSet = false;
|
|
1368
|
-
let gotCleanedUp = false;
|
|
1369
|
-
let srcJustChanged = true;
|
|
1370
|
-
img.classList.add("s-responsive-image");
|
|
1371
|
-
if (listingContext) {
|
|
1372
|
-
let prevValue;
|
|
1373
|
-
const aspectRatios = listingContext[$56047603f9d212b6$export$f8945274f08a3105] || (listingContext[$56047603f9d212b6$export$f8945274f08a3105] = new Set());
|
|
1374
|
-
const [, setMostPrevalentAspectRatio] = listingContext[$56047603f9d212b6$export$6066eb417ed2e9f7] || (listingContext[$56047603f9d212b6$export$6066eb417ed2e9f7] = $b8hua$createSignal());
|
|
1375
|
-
img.addEventListener("load", $b8hua$catchify1(() => {
|
|
1376
|
-
if (props.keyRatioUpdating) {
|
|
1377
|
-
if (!srcJustChanged) return;
|
|
1378
|
-
srcJustChanged = false;
|
|
1379
|
-
}
|
|
1380
|
-
// Save our aspect ratio whenever it changes, so that we can base the containers on the most dominant aspect ratio, used in SearchModalV2 and LookItem
|
|
1381
|
-
const aspectRatio_ = img.naturalWidth / img.naturalHeight;
|
|
1382
|
-
if (prevValue) aspectRatios.delete(prevValue);
|
|
1383
|
-
const newValue = !isNaN(aspectRatio_) ? {
|
|
1384
|
-
aspectRatio_: aspectRatio_
|
|
1385
|
-
} : undefined;
|
|
1386
|
-
if (newValue) aspectRatios.add(newValue);
|
|
1387
|
-
prevValue = newValue;
|
|
1388
|
-
// Do all calculations resulting of an update directly, for performance
|
|
1389
|
-
const asArray = [...aspectRatios].map(_ref2 => {
|
|
1390
|
-
let {
|
|
1391
|
-
aspectRatio_: aspectRatio_
|
|
1392
|
-
} = _ref2;
|
|
1393
|
-
return aspectRatio_;
|
|
1413
|
+
const mutation_observer = new MutationObserver($b8hua$catchify(update_children_count));
|
|
1414
|
+
mutation_observer.observe(container_element, {
|
|
1415
|
+
childList: true
|
|
1394
1416
|
});
|
|
1395
|
-
|
|
1396
|
-
|
|
1417
|
+
$b8hua$onCleanup(() => mutation_observer.disconnect());
|
|
1418
|
+
}
|
|
1419
|
+
set_styling(
|
|
1420
|
+
// this is needed because solid will think that the memo-accessor is a setter function otherwise
|
|
1421
|
+
() => $b8hua$createMemo(() => {
|
|
1422
|
+
const {
|
|
1423
|
+
rows_per_click: rows_per_click,
|
|
1424
|
+
max_rows = -1,
|
|
1425
|
+
start_rows: start_rows
|
|
1426
|
+
} = rows_or_empty_object();
|
|
1427
|
+
const rows_visible = get_rows_visible();
|
|
1428
|
+
const children_count = get_children_count();
|
|
1429
|
+
return force_style_update() + col_styling() + props.cols_at_size.map(options => {
|
|
1430
|
+
const [recs_per_row, min, max] = options;
|
|
1431
|
+
let should_hide_view_more_button;
|
|
1432
|
+
let visible_recs;
|
|
1433
|
+
if (props.disable_partial_rows) {
|
|
1434
|
+
visible_recs = $b8hua$layout_get_visible_recs_without_partial_rows(rows_visible, children_count, options);
|
|
1435
|
+
const visible_recs_next_show_more = $b8hua$layout_get_visible_recs_without_partial_rows(rows_visible + (rows_per_click || 0),
|
|
1436
|
+
// Should this really be zero when we default rows_per_click to 1?
|
|
1437
|
+
children_count, options);
|
|
1438
|
+
should_hide_view_more_button = visible_recs === visible_recs_next_show_more;
|
|
1439
|
+
} else {
|
|
1440
|
+
visible_recs = $b8hua$layout_get_total_rec_amount_for_row(rows_visible, options);
|
|
1441
|
+
should_hide_view_more_button = visible_recs >= children_count;
|
|
1442
|
+
}
|
|
1443
|
+
const should_hide_button_final = should_hide_view_more_button || max_rows !== -1 && rows_visible >= max_rows;
|
|
1444
|
+
// I don't really understand the logic for when the view more button gets hidden so IDK if below is correct, but it works how it should for now
|
|
1445
|
+
const should_hide_view_less_button = !should_hide_view_more_button || start_rows == undefined || rows_visible <= start_rows || children_count <= recs_per_row * start_rows;
|
|
1446
|
+
return "".concat($b8hua$layout_media_query_header(min, max), "{").concat(selector_beginning, ":nth-child(n+").concat(visible_recs + 1, "){display:none}").concat(props.layout == "slider" ? "".concat(selector_beginning, ":nth-child(n+").concat(visible_recs, "){margin-right:0}") : "").concat(should_hide_button_final ? ".depict .".concat(view_more_button_class, "{display:none!important}") : "").concat(should_hide_view_less_button ? ".depict .".concat(view_less_button_class, "{display:none!important}") : "", "}");
|
|
1447
|
+
}).join("");
|
|
1397
1448
|
}));
|
|
1398
|
-
$b8hua$onCleanup(() => prevValue && aspectRatios.delete(prevValue));
|
|
1399
|
-
}
|
|
1400
|
-
$b8hua$onCleanup(() => gotCleanedUp = true);
|
|
1401
|
-
$b8hua$spread(img, $b8hua$mergeProps(modifiedOtherAttributes), false, true);
|
|
1402
|
-
$b8hua$createRenderEffect(() => {
|
|
1403
|
-
props.src;
|
|
1404
|
-
srcJustChanged = true;
|
|
1405
1449
|
});
|
|
1406
|
-
$b8hua$
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
executeWhenIdleBatched(handler, true);
|
|
1450
|
+
const style_element = $b8hua$ssr($63f1f8dbcd07d3b0$var$_tmpl$2, $b8hua$ssrHydrationKey(), get_styling); // need to create this after set_styling has been called or else there will be no styling in the SSR'd output
|
|
1451
|
+
if (insert_after_container) container_element.after(style_element);
|
|
1452
|
+
return [container_element, view_more_button_container(), view_less_button_container(), style_element];
|
|
1453
|
+
}
|
|
1454
|
+
var $39ddb986053fb759$var$_tmpl$ = ["<h2", ' class="recs-title">', "</h2>"];
|
|
1455
|
+
function $39ddb986053fb759$export$d41d19e89346fa2(_ref) {
|
|
1456
|
+
let {
|
|
1457
|
+
recommendations_resource_: recommendations_resource_,
|
|
1458
|
+
product_card_template_: product_card_template_,
|
|
1459
|
+
layout_options_: layout_options_,
|
|
1460
|
+
title_: title_,
|
|
1461
|
+
NoResultsFallback_: NoResultsFallback_,
|
|
1462
|
+
placeholderCacheKey_: placeholderCacheKey_
|
|
1463
|
+
} = _ref;
|
|
1464
|
+
const is_showing_something = $b8hua$createMemo(() => {
|
|
1465
|
+
var _recommendations_reso;
|
|
1466
|
+
return recommendations_resource_.loading || ((_recommendations_reso = recommendations_resource_()) === null || _recommendations_reso === void 0 ? void 0 : _recommendations_reso.length);
|
|
1424
1467
|
});
|
|
1425
|
-
const
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
if (shouldActuallyEnableLazyLoading()) {
|
|
1434
|
-
// For lazy loading there's no decoding to wait for as it only occurs when the image is visible
|
|
1435
|
-
// Make sure src is set before we put the image into the DOM though so no broken image symbol is shown
|
|
1436
|
-
setHasDecoded(true);
|
|
1437
|
-
hasDecodedFastPath = true;
|
|
1438
|
-
return;
|
|
1468
|
+
const title = $b8hua$createMemo(() => title_ === null || title_ === void 0 ? void 0 : title_()); // In case getter/accessor creates elements, don't create them twice
|
|
1469
|
+
const num_placeholders_ = () => 20;
|
|
1470
|
+
const slider = [$b8hua$createComponent((0, $b8hua$Show), {
|
|
1471
|
+
get when() {
|
|
1472
|
+
return title();
|
|
1473
|
+
},
|
|
1474
|
+
get children() {
|
|
1475
|
+
return $b8hua$ssr($39ddb986053fb759$var$_tmpl$, $b8hua$ssrHydrationKey(), $b8hua$escape(title()));
|
|
1439
1476
|
}
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1477
|
+
}), $b8hua$createComponent((0, $002f09d00aac50b2$export$6649caad96ef8870), {
|
|
1478
|
+
arrow_height_: 25,
|
|
1479
|
+
arrow_width_: 12.5,
|
|
1480
|
+
disable_fading_: true,
|
|
1481
|
+
slider_ref_: slider => {
|
|
1482
|
+
const {
|
|
1483
|
+
insert_here: insert_here,
|
|
1484
|
+
container: container
|
|
1485
|
+
} = slider;
|
|
1486
|
+
const Layout = props => $63f1f8dbcd07d3b0$export$445d8d3f5f706a40(props, insert_here, true);
|
|
1487
|
+
// Do like this, so we don't have to call mergeProps ourselves
|
|
1488
|
+
$b8hua$createComponent(Layout, $b8hua$mergeProps({
|
|
1489
|
+
rows: "all",
|
|
1490
|
+
layout: "slider"
|
|
1491
|
+
}, layout_options_));
|
|
1492
|
+
$b8hua$slider_fractional_factory(0, 0.75).constructor_plugin.call(slider, {}); // enable fractional scrolling
|
|
1493
|
+
insert_here.before($ca55612a53dbbdd2$export$a2cc176055f8f08());
|
|
1494
|
+
container.classList.add("products");
|
|
1495
|
+
},
|
|
1496
|
+
get children() {
|
|
1497
|
+
return $b8hua$createComponent((0, $b8hua$Suspense), {
|
|
1498
|
+
get fallback() {
|
|
1499
|
+
return $bdd80c7862246dc2$export$f33414a4df0afd3f({
|
|
1500
|
+
num_placeholders_: num_placeholders_,
|
|
1501
|
+
product_card_template_: product_card_template_,
|
|
1502
|
+
placeholderCacheKey_: placeholderCacheKey_
|
|
1503
|
+
});
|
|
1504
|
+
},
|
|
1505
|
+
get children() {
|
|
1506
|
+
return (() => {
|
|
1507
|
+
// IIFE to make sure we access both the recommendations_resource and the resources containing the product card rendering results themselves within the Suspense boundary
|
|
1508
|
+
const displays_by_key_ = $2d7bad8684bc7f44$export$7f8bd308237ab5a5($b8hua$createMemo(() => recommendations_resource_() || []));
|
|
1509
|
+
const {
|
|
1510
|
+
renderedDisplays_: renderedDisplays_
|
|
1511
|
+
} = $618bd53ea0a41cd4$export$4a14175d33d81a96({
|
|
1512
|
+
displays_by_key_: displays_by_key_,
|
|
1513
|
+
product_card_template_: product_card_template_
|
|
1514
|
+
});
|
|
1515
|
+
return renderedDisplays_;
|
|
1516
|
+
})();
|
|
1517
|
+
}
|
|
1518
|
+
});
|
|
1519
|
+
}
|
|
1520
|
+
})];
|
|
1449
1521
|
return $b8hua$createComponent((0, $b8hua$Show), {
|
|
1450
1522
|
get when() {
|
|
1451
|
-
return
|
|
1523
|
+
return is_showing_something();
|
|
1452
1524
|
},
|
|
1453
|
-
|
|
1525
|
+
get fallback() {
|
|
1526
|
+
return NoResultsFallback_ === null || NoResultsFallback_ === void 0 ? void 0 : NoResultsFallback_();
|
|
1527
|
+
},
|
|
1528
|
+
children: slider
|
|
1454
1529
|
});
|
|
1455
1530
|
}
|
|
1456
|
-
function $
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
const $4df489344a0f97c7$var$backupSizeSignal = /*@__PURE__*/$b8hua$createSignal();
|
|
1466
|
-
const $4df489344a0f97c7$export$d7b7ab832c20e2f4 = /*@__PURE__*/Symbol("ShopifyContainedImage");
|
|
1467
|
-
function $4df489344a0f97c7$export$e4b984597b71e989(props) {
|
|
1468
|
-
const context = $5441862cd2f5e111$export$8d0c4fdbb05a2f2e();
|
|
1469
|
-
if (context && !context[$4df489344a0f97c7$export$d7b7ab832c20e2f4])
|
|
1470
|
-
// create a signal that's the same for all items in this listing
|
|
1471
|
-
context[$4df489344a0f97c7$export$d7b7ab832c20e2f4] = $b8hua$createSignal();
|
|
1472
|
-
const [currentImageSize, setCurrentImageSize] = (context === null || context === void 0 ? void 0 : context[$4df489344a0f97c7$export$d7b7ab832c20e2f4]) || $4df489344a0f97c7$var$backupSizeSignal; // use global fallback signal (might lead to blurry images) if no context is available
|
|
1473
|
-
const [mostPrevalentAspectRatio] = context ? context[(0, $56047603f9d212b6$export$6066eb417ed2e9f7)] || (context[(0, $56047603f9d212b6$export$6066eb417ed2e9f7)] = $b8hua$createSignal()) : [];
|
|
1474
|
-
const container = $801e8845d3fa3653$export$94026ee33dbabc26({
|
|
1475
|
-
// Write getters manually instead of using JSX, so we can do more complex logic in the aspectRatio getter without increasing bundle size
|
|
1476
|
-
get class() {
|
|
1477
|
-
return props.class;
|
|
1478
|
-
},
|
|
1479
|
-
get aspectRatio() {
|
|
1480
|
-
if (props.autoAdjustAspectRatio) {
|
|
1481
|
-
const targetRatio = mostPrevalentAspectRatio === null || mostPrevalentAspectRatio === void 0 ? void 0 : mostPrevalentAspectRatio();
|
|
1482
|
-
if (targetRatio != undefined) return "var(".concat((0, $5eaa00b951637e96$export$8a2234b5b1a5ebd4), ", ").concat(targetRatio, ")");
|
|
1531
|
+
function $83e8cf2c0b87a58a$export$23fca46f3143581f(component, error_message) {
|
|
1532
|
+
const component_in_error_boundary = do_with_elements => {
|
|
1533
|
+
const error_boundary_wrapped = $74777e8fe65b3dcb$export$b69d0d92862de18b({
|
|
1534
|
+
severity_: "error",
|
|
1535
|
+
message_: error_message,
|
|
1536
|
+
get children() {
|
|
1537
|
+
const elements = component();
|
|
1538
|
+
do_with_elements === null || do_with_elements === void 0 || do_with_elements(elements);
|
|
1539
|
+
return elements;
|
|
1483
1540
|
}
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1541
|
+
});
|
|
1542
|
+
// This might return an accessor, in that case we need to "unwrap" it since our SDK consumers expect HTML elements or arrays thereof
|
|
1543
|
+
if (typeof error_boundary_wrapped === "function")
|
|
1544
|
+
// @ts-ignore
|
|
1545
|
+
return error_boundary_wrapped();
|
|
1546
|
+
// On the server it returns a string, so we just return that
|
|
1547
|
+
return error_boundary_wrapped;
|
|
1548
|
+
};
|
|
1487
1549
|
const owner = $b8hua$getOwner();
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
$b8hua$queueMacroTask(() => setCurrentImageSize()); // unset the size accessor next event loop iteration, so that all onCleanup's have time to run, since the effects run more aggressively and can create a size accessor with a cleaned up owner otherwise
|
|
1501
|
-
});
|
|
1502
|
-
|
|
1503
|
-
$b8hua$insert(container, $b8hua$createComponent((0, $56047603f9d212b6$export$6e5611bc7e57e477), $b8hua$mergeProps1({
|
|
1504
|
-
get size() {
|
|
1505
|
-
return $b8hua$createMemo(() => {
|
|
1506
|
-
var _currentImageSize;
|
|
1507
|
-
return ((_currentImageSize = currentImageSize()) === null || _currentImageSize === void 0 ? void 0 : _currentImageSize()) || 0;
|
|
1550
|
+
if (owner == null) return $b8hua$createRoot(dispose => {
|
|
1551
|
+
// if we're not already run in a root, create a root and automatically dispose it when the first returned element is removed from the DOM
|
|
1552
|
+
return component_in_error_boundary(elements => {
|
|
1553
|
+
const have_multiple = Array.isArray(elements);
|
|
1554
|
+
if (have_multiple ? !(elements !== null && elements !== void 0 && elements.length) : !elements) return;
|
|
1555
|
+
(0, $b8hua$observer).onremoved(have_multiple ? elements[0] : elements, _ref => {
|
|
1556
|
+
let {
|
|
1557
|
+
element: element
|
|
1558
|
+
} = _ref;
|
|
1559
|
+
if (document.documentElement.contains(element)) return; // If element has instantly been re-inserted, don't dispose
|
|
1560
|
+
// See https://depictaiworkspace.slack.com/archives/C050GHEPBTR/p1695809102791259?thread_ts=1695106805.459729&cid=C050GHEPBTR
|
|
1561
|
+
dispose();
|
|
1508
1562
|
});
|
|
1509
|
-
}
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
}, () => props.imgProps, {
|
|
1514
|
-
get style() {
|
|
1515
|
-
var _props$imgProps;
|
|
1516
|
-
return (_props$imgProps = props.imgProps) === null || _props$imgProps === void 0 ? void 0 : _props$imgProps.style;
|
|
1517
|
-
}
|
|
1518
|
-
})));
|
|
1519
|
-
return container;
|
|
1520
|
-
}
|
|
1521
|
-
function $98688279b9059f50$export$9d4a4b669b1929ab(props) {
|
|
1522
|
-
return $b8hua$createComponent((0, $4df489344a0f97c7$export$e4b984597b71e989), $b8hua$mergeProps1(props, {
|
|
1523
|
-
get imgProps() {
|
|
1524
|
-
return {
|
|
1525
|
-
...props.imgProps,
|
|
1526
|
-
customUrls: (url, width // Apparently don't have to encode url for CF's service
|
|
1527
|
-
) => {
|
|
1528
|
-
var _url$startsWith;
|
|
1529
|
-
if (url !== null && url !== void 0 && (_url$startsWith = url.startsWith) !== null && _url$startsWith !== void 0 && _url$startsWith.call(url, "https://cdn.shopify.com"))
|
|
1530
|
-
// The shopify image resizing CDN blocks Cloudflare's image resizer. It's possible that we can't detect shopify image URLs sometimes because they go to the merchant's domain,
|
|
1531
|
-
// but it seems like the URLs returned by the Depict API always goes to the cdn.shopify.com version of an image, so this simple workaround works.
|
|
1532
|
-
return $56047603f9d212b6$export$1d6267828870adda(url, width);
|
|
1533
|
-
// Use cloudflare image resizer instead of img.depict.ai because it's a lot faster (and also auto-chooses other formats if webp is not supported)
|
|
1534
|
-
return "https://app.depict.ai/cdn-cgi/image/width=".concat(width, ",format=auto/").concat(url);
|
|
1535
|
-
}
|
|
1536
|
-
};
|
|
1537
|
-
}
|
|
1538
|
-
}));
|
|
1563
|
+
});
|
|
1564
|
+
});else
|
|
1565
|
+
// we're already in a root so cleanups are handled
|
|
1566
|
+
return component_in_error_boundary();
|
|
1539
1567
|
}
|
|
1540
1568
|
function $60ec7a29849d81db$export$a71e92cfbb498adc(props) {
|
|
1541
1569
|
return $b8hua$createMemo(() => {
|
|
@@ -1587,7 +1615,7 @@ function $f84b097e079b0a33$export$b73ed90f0ee50dc3(_ref) {
|
|
|
1587
1615
|
var _variantToUse5;
|
|
1588
1616
|
return (_variantToUse5 = variantToUse()) === null || _variantToUse5 === void 0 ? void 0 : _variantToUse5.title;
|
|
1589
1617
|
});
|
|
1590
|
-
return $b8hua$ssrElement("a", $b8hua$
|
|
1618
|
+
return $b8hua$ssrElement("a", $b8hua$mergeProps({
|
|
1591
1619
|
"class": "look-item"
|
|
1592
1620
|
}, () => enableLink() ? {
|
|
1593
1621
|
href: href()
|
|
@@ -1631,7 +1659,7 @@ function $f84b097e079b0a33$export$b73ed90f0ee50dc3(_ref) {
|
|
|
1631
1659
|
return (animationEffectExists() ? isExpandedThrottledByOurEffectRun() : userWantsExpanded()) || animationIsRunning();
|
|
1632
1660
|
},
|
|
1633
1661
|
get children() {
|
|
1634
|
-
return $b8hua$ssr($f84b097e079b0a33$var$_tmpl$3, $b8hua$ssrHydrationKey(), $b8hua$ssrElement("span", $b8hua$
|
|
1662
|
+
return $b8hua$ssr($f84b097e079b0a33$var$_tmpl$3, $b8hua$ssrHydrationKey(), $b8hua$ssrElement("span", $b8hua$mergeProps({
|
|
1635
1663
|
"class": "d-title line-clamp"
|
|
1636
1664
|
}, () => title() && {
|
|
1637
1665
|
title: title()
|
|
@@ -1727,7 +1755,7 @@ async function $c4103af154850e50$var$checkIfIsAffectedByChromeBug326498383() {
|
|
|
1727
1755
|
const waitAFrame = () => new Promise(r => requestAnimationFrame(() => requestAnimationFrame(r)));
|
|
1728
1756
|
const timeoutPromise = new Promise(r => {
|
|
1729
1757
|
resolveTimeoutPromise = r;
|
|
1730
|
-
setTimeout($b8hua$
|
|
1758
|
+
setTimeout($b8hua$catchify(() => {
|
|
1731
1759
|
r();
|
|
1732
1760
|
div.remove();
|
|
1733
1761
|
}), 500);
|
|
@@ -1812,7 +1840,7 @@ function $275d06a183ca0a29$export$ebf0b1d4f90c09ae(_ref) {
|
|
|
1812
1840
|
priceFormatting_: priceFormatting_,
|
|
1813
1841
|
outerRef_: el => $b8hua$createEffect(() => {
|
|
1814
1842
|
if (index !== 0) return;
|
|
1815
|
-
const resizeObserver = new ResizeObserver($b8hua$
|
|
1843
|
+
const resizeObserver = new ResizeObserver($b8hua$catchify(records => setLookItemHeight(records.at(-1).contentRect.height)));
|
|
1816
1844
|
resizeObserver.observe(el);
|
|
1817
1845
|
$b8hua$onCleanup(() => resizeObserver.disconnect());
|
|
1818
1846
|
})
|
|
@@ -1831,7 +1859,7 @@ function $275d06a183ca0a29$var$scrollingFunctionForChrome(element, targetScrollY
|
|
|
1831
1859
|
let start;
|
|
1832
1860
|
const startingY = element.scrollTop;
|
|
1833
1861
|
const diff = targetScrollY - startingY;
|
|
1834
|
-
const step = $b8hua$
|
|
1862
|
+
const step = $b8hua$catchify(timestamp => {
|
|
1835
1863
|
if (!start) start = timestamp;
|
|
1836
1864
|
// Elapsed milliseconds since start of scrolling.
|
|
1837
1865
|
const time = timestamp - start;
|
|
@@ -1863,7 +1891,7 @@ function $22dd375b476673e2$export$44809a8a3e867e30(_ref) {
|
|
|
1863
1891
|
const index = $1e69163caedaab4e$export$e3faf4d95300054f();
|
|
1864
1892
|
const [containerWidth_, setContainerWidth] = $b8hua$createSignal();
|
|
1865
1893
|
const [containerHeight_, setContainerHeight] = $b8hua$createSignal();
|
|
1866
|
-
const clickHandler = $b8hua$
|
|
1894
|
+
const clickHandler = $b8hua$catchify(_ref2 => {
|
|
1867
1895
|
let {
|
|
1868
1896
|
target: target
|
|
1869
1897
|
} = _ref2;
|
|
@@ -1993,7 +2021,7 @@ class $ac571292d606f30b$export$7e1297a3a19f10d8 {
|
|
|
1993
2021
|
* @param is_replace_ if you want to replace the current URL in history instead of pushing a new one
|
|
1994
2022
|
* @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
|
|
1995
2023
|
*/
|
|
1996
|
-
go_to_: $b8hua$
|
|
2024
|
+
go_to_: $b8hua$catchify(async _ref => {
|
|
1997
2025
|
let {
|
|
1998
2026
|
new_url_: raw_new_url,
|
|
1999
2027
|
event_: event_,
|
|
@@ -2107,7 +2135,7 @@ function $e3efeb558d952696$export$7da560f849543dff(_ref) {
|
|
|
2107
2135
|
get children() {
|
|
2108
2136
|
return $b8hua$ssr($e3efeb558d952696$var$_tmpl$2, $b8hua$ssrHydrationKey(), $b8hua$escape(title()));
|
|
2109
2137
|
}
|
|
2110
|
-
}), $b8hua$ssr($e3efeb558d952696$var$_tmpl$3, $b8hua$ssrHydrationKey(), $b8hua$escape($ca55612a53dbbdd2$export$a2cc176055f8f08()), $b8hua$escape($b8hua$createComponent((0, $63f1f8dbcd07d3b0$export$d21e32dfedac04be), $b8hua$
|
|
2138
|
+
}), $b8hua$ssr($e3efeb558d952696$var$_tmpl$3, $b8hua$ssrHydrationKey(), $b8hua$escape($ca55612a53dbbdd2$export$a2cc176055f8f08()), $b8hua$escape($b8hua$createComponent((0, $63f1f8dbcd07d3b0$export$d21e32dfedac04be), $b8hua$mergeProps({
|
|
2111
2139
|
get rows() {
|
|
2112
2140
|
return rows_object_();
|
|
2113
2141
|
},
|
|
@@ -2238,7 +2266,7 @@ function $bb34cd283e904784$export$2c9f9bf2092486aa(props) {
|
|
|
2238
2266
|
return $b8hua$createComponent((0, $39ddb986053fb759$export$d41d19e89346fa2), sharedOptions);
|
|
2239
2267
|
},
|
|
2240
2268
|
get children() {
|
|
2241
|
-
return $b8hua$createComponent((0, $e3efeb558d952696$export$7da560f849543dff), $b8hua$
|
|
2269
|
+
return $b8hua$createComponent((0, $e3efeb558d952696$export$7da560f849543dff), $b8hua$mergeProps(sharedOptions, {
|
|
2242
2270
|
view_more_button_: () => {
|
|
2243
2271
|
var _props$gridOptions_;
|
|
2244
2272
|
return (_props$gridOptions_ = props.gridOptions_) === null || _props$gridOptions_ === void 0 ? void 0 : _props$gridOptions_.view_more_button;
|
|
@@ -2297,7 +2325,7 @@ async function $bb34cd283e904784$var$runDisplayTransformersForLooks(baseData, li
|
|
|
2297
2325
|
}) : displaysToTransform;
|
|
2298
2326
|
const transformedListings = await transformedListingsPromise;
|
|
2299
2327
|
const transformedDisplayById = Object.fromEntries(transformedProducts.map(display => [$6a4c7ed6d005505c$export$548d053aba053d79(display), display]));
|
|
2300
|
-
return transformedListings.map(listing => $b8hua$
|
|
2328
|
+
return transformedListings.map(listing => $b8hua$mergeProps1(listing, {
|
|
2301
2329
|
// use mergeProps because in preview browser we add getters in this object, that would be called too early otherwise
|
|
2302
2330
|
displays: (displayIdsPerListingId[listing.listing_id] || []).map(displayId => transformedDisplayById[displayId]).filter(v => v)
|
|
2303
2331
|
}));
|
|
@@ -2536,7 +2564,7 @@ function $f7414b949aeabc90$export$62f101a8aa597bf8(_ref) {
|
|
|
2536
2564
|
// don't wait if it's the first request
|
|
2537
2565
|
write_current_instant_query(value);
|
|
2538
2566
|
clearTimeout(timeout);
|
|
2539
|
-
timeout = setTimeout($b8hua$
|
|
2567
|
+
timeout = setTimeout($b8hua$catchify(() => write_current_instant_query(value)), 250);
|
|
2540
2568
|
});
|
|
2541
2569
|
const [search_results] = $b8hua$createResource($b8hua$createMemo(() => ({
|
|
2542
2570
|
// <-- key order important, see comment below
|
|
@@ -2544,7 +2572,7 @@ function $f7414b949aeabc90$export$62f101a8aa597bf8(_ref) {
|
|
|
2544
2572
|
market: market_(),
|
|
2545
2573
|
locale: i18n_.backend_locale_(),
|
|
2546
2574
|
query: read_current_instant_query()
|
|
2547
|
-
})), $b8hua$
|
|
2575
|
+
})), $b8hua$catchify(async variable_data => {
|
|
2548
2576
|
return depict_api_.query({
|
|
2549
2577
|
// 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
|
|
2550
2578
|
limit: $b8hua$untrack(has_sort_or_filters_) ? max_cards : min_products_to_fetch_,
|
|
@@ -2660,7 +2688,7 @@ function $a09bb7c652acf957$export$3340fdd8259bd4fd(_ref) {
|
|
|
2660
2688
|
if (process.env.GA === "false") return;
|
|
2661
2689
|
let debounce_timeout;
|
|
2662
2690
|
const stop_timeout = () => clearTimeout(debounce_timeout);
|
|
2663
|
-
const send_to_ga = $b8hua$
|
|
2691
|
+
const send_to_ga = $b8hua$catchify(() => {
|
|
2664
2692
|
const fake_url = new URL(location.href);
|
|
2665
2693
|
const {
|
|
2666
2694
|
searchParams: searchParams
|
|
@@ -2673,12 +2701,12 @@ function $a09bb7c652acf957$export$3340fdd8259bd4fd(_ref) {
|
|
|
2673
2701
|
$b8hua$onCleanup(() => {
|
|
2674
2702
|
setTimeout(
|
|
2675
2703
|
// 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
|
|
2676
|
-
$b8hua$
|
|
2704
|
+
$b8hua$catchify(() => {
|
|
2677
2705
|
if ($b8hua$untrack(get_search_query_) === $b8hua$untrack(get_search_field_value_)) stop_timeout();
|
|
2678
2706
|
}));
|
|
2679
2707
|
});
|
|
2680
2708
|
let first_call = true;
|
|
2681
|
-
$b8hua$createEffect($b8hua$
|
|
2709
|
+
$b8hua$createEffect($b8hua$catchify(() => {
|
|
2682
2710
|
get_search_field_value_();
|
|
2683
2711
|
if (first_call) {
|
|
2684
2712
|
// we only want to do stuff when it changes
|
|
@@ -2698,7 +2726,7 @@ function $e8776b492383c292$export$91c3b6774e8be0f5(_ref) {
|
|
|
2698
2726
|
const [get_current_href, set_current_href] = $b8hua$createSignal(location.href);
|
|
2699
2727
|
const [exit_iterable, exitable_iterable] = $b8hua$make_asyncIterable_exiter((0, $b8hua$href_change_ipns));
|
|
2700
2728
|
$b8hua$onCleanup(exit_iterable);
|
|
2701
|
-
$b8hua$
|
|
2729
|
+
$b8hua$catchify(async () => {
|
|
2702
2730
|
for await (const href of exitable_iterable)
|
|
2703
2731
|
// use native links so ppl can cmdclick/right click and open in new tab and see target URL
|
|
2704
2732
|
set_current_href(href);
|
|
@@ -2717,7 +2745,7 @@ function $6d95ef50ee01d5a1$export$5d2caaa6b530761c() {
|
|
|
2717
2745
|
var $9783d437ad61594c$var$_tmpl$ = '<path d="M11.669 10.531l9.156-9.156a.78.78 0 0 0 .237-.569c0-.221-.079-.412-.237-.569A.8.8 0 0 0 20.24 0a.77.77 0 0 0-.569.237l-9.14 9.14-9.14-9.14A.79.79 0 0 0 .807 0a.77.77 0 0 0-.569.237A.78.78 0 0 0 0 .807a.77.77 0 0 0 .237.569l9.156 9.156-9.156 9.14c-.159.157-.237.349-.237.569s.079.412.237.569c.085.085.174.148.268.19a1.095 1.095 0 0 0 .316.048.894.894 0 0 0 .285-.048.84.84 0 0 0 .285-.19l9.139-9.14 9.14 9.14a.894.894 0 0 0 .268.19 1.049 1.049 0 0 0 .301.048.941.941 0 0 0 .301-.048.84.84 0 0 0 .285-.19.78.78 0 0 0 .237-.569c0-.221-.079-.412-.237-.569z"></path>';
|
|
2718
2746
|
function $9783d437ad61594c$export$3b621d86b1566b2() {
|
|
2719
2747
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
2720
|
-
return $b8hua$ssrElement("svg", $b8hua$
|
|
2748
|
+
return $b8hua$ssrElement("svg", $b8hua$mergeProps({
|
|
2721
2749
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2722
2750
|
width: "21.064",
|
|
2723
2751
|
height: "21.064",
|
|
@@ -2823,7 +2851,7 @@ function $02b6641aa50ce528$export$ba17c5b7e6dda39f(_ref) {
|
|
|
2823
2851
|
var $ef0f18a578b32578$var$_tmpl$ = '<path d="M19.811 20.174l-6.234-6.809a7.96 7.96 0 0 0 .923-1.179c.274-.424.502-.865.687-1.323a8.04 8.04 0 0 0 .42-1.436 7.88 7.88 0 0 0 .144-1.507c0-.526-.051-1.042-.154-1.548-.096-.506-.243-.995-.441-1.466s-.441-.919-.728-1.343a8.28 8.28 0 0 0-.984-1.21 7.86 7.86 0 0 0-1.2-.984A7.56 7.56 0 0 0 10.89.651C10.418.453 9.929.302 9.423.2S8.401.046 7.875.046 6.833.097 6.327.2 5.332.453 4.86.651a7.56 7.56 0 0 0-1.354.718c-.431.287-.831.615-1.2.984a8.28 8.28 0 0 0-.984 1.21 7.73 7.73 0 0 0-.728 1.343c-.198.472-.349.96-.451 1.466A8.31 8.31 0 0 0 0 7.921a8.31 8.31 0 0 0 .144 1.548c.103.506.253.995.451 1.466a8.08 8.08 0 0 0 .728 1.354 7.86 7.86 0 0 0 .984 1.2 7.54 7.54 0 0 0 1.2.995c.431.287.882.53 1.354.728.472.191.96.338 1.466.441a8.31 8.31 0 0 0 1.548.144c.451 0 .896-.038 1.333-.113a7.83 7.83 0 0 0 1.282-.328 7.55 7.55 0 0 0 1.2-.533 8.08 8.08 0 0 0 1.107-.749l6.245 6.809a.45.45 0 0 0 .174.123.55.55 0 0 0 .205.041.61.61 0 0 0 .195-.031c.061-.021.116-.055.164-.102.109-.096.164-.219.164-.369.007-.144-.038-.267-.133-.369zM1.046 7.921c0-.937.178-1.818.533-2.646.362-.834.851-1.559 1.466-2.174.622-.615 1.347-1.101 2.174-1.456.827-.362 1.712-.543 2.656-.543s1.829.181 2.656.543c.827.355 1.548.841 2.164 1.456.622.615 1.111 1.34 1.466 2.174a6.52 6.52 0 0 1 .543 2.646c0 .943-.181 1.829-.543 2.656a6.89 6.89 0 0 1-1.466 2.174c-.615.615-1.336 1.104-2.164 1.466-.827.356-1.712.533-2.656.533s-1.829-.178-2.656-.533c-.827-.362-1.552-.851-2.174-1.466-.615-.622-1.104-1.347-1.466-2.174-.355-.827-.533-1.712-.533-2.656z"></path>';
|
|
2824
2852
|
function $ef0f18a578b32578$export$82eafebb825fc23f() {
|
|
2825
2853
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
2826
|
-
return $b8hua$ssrElement("svg", $b8hua$
|
|
2854
|
+
return $b8hua$ssrElement("svg", $b8hua$mergeProps({
|
|
2827
2855
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2828
2856
|
width: "20",
|
|
2829
2857
|
height: "22",
|
|
@@ -2833,7 +2861,7 @@ function $ef0f18a578b32578$export$82eafebb825fc23f() {
|
|
|
2833
2861
|
var $3c5e15c6ee4227a9$var$_tmpl$ = '<path d="M56 26.455a13.71 13.71 0 0 0-9.578 3.967A13.71 13.71 0 0 0 42.455 40v176a13.71 13.71 0 0 0 3.967 9.578A13.71 13.71 0 0 0 56 229.545h144A13.71 13.71 0 0 0 213.545 216V88a2.456 2.456 0 0 1 0-.002c.001-1.452-.597-2.895-1.623-3.922l-55.998-55.998a5.61 5.61 0 0 0-3.922-1.623 2.456 2.456 0 0 1-.002 0zm0 11.09h88A2.456 2.456 0 0 1 146.455 40v48c0 2.903 2.642 5.545 5.545 5.545h48A2.456 2.456 0 0 1 202.455 96v120a2.456 2.456 0 0 1-2.455 2.455H56A2.456 2.456 0 0 1 53.545 216V40A2.456 2.456 0 0 1 56 37.545zm103.061 11.498a2.456 2.456 0 0 1 2.676.531l28.689 28.689a2.456 2.456 0 0 1-1.736 4.191H160A2.456 2.456 0 0 1 157.545 80V51.311a2.456 2.456 0 0 1 1.516-2.268zM96 130.455c-2.903 0-5.545 2.642-5.545 5.545s2.642 5.545 5.545 5.545h64c2.903 0 5.545-2.642 5.545-5.545s-2.642-5.545-5.545-5.545zm0 32c-2.903 0-5.545 2.642-5.545 5.545s2.642 5.545 5.545 5.545h64c2.903 0 5.545-2.642 5.545-5.545s-2.642-5.545-5.545-5.545z"></path>';
|
|
2834
2862
|
function $3c5e15c6ee4227a9$export$605674723bcc715c() {
|
|
2835
2863
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
2836
|
-
return $b8hua$ssrElement("svg", $b8hua$
|
|
2864
|
+
return $b8hua$ssrElement("svg", $b8hua$mergeProps({
|
|
2837
2865
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2838
2866
|
width: "32",
|
|
2839
2867
|
height: "32",
|
|
@@ -3112,7 +3140,7 @@ function $75e33704f2a83029$var$actual_navigation_working_on_fake_data(_ref2) {
|
|
|
3112
3140
|
if (!$b8hua$untrack(() => read_updating_blocked())) previous_value = sfv;
|
|
3113
3141
|
});
|
|
3114
3142
|
const owner = $b8hua$getOwner();
|
|
3115
|
-
const handler = $b8hua$
|
|
3143
|
+
const handler = $b8hua$catchify(_ref3 => {
|
|
3116
3144
|
let {
|
|
3117
3145
|
keyCode: keyCode
|
|
3118
3146
|
} = _ref3;
|
|
@@ -3179,7 +3207,7 @@ function $75e33704f2a83029$var$actual_navigation_working_on_fake_data(_ref2) {
|
|
|
3179
3207
|
const el = element_();
|
|
3180
3208
|
if (!el) return;
|
|
3181
3209
|
el.addEventListener("keyup", handler);
|
|
3182
|
-
$b8hua$onCleanup($b8hua$
|
|
3210
|
+
$b8hua$onCleanup($b8hua$catchify(() => el.removeEventListener("keyup", handler)));
|
|
3183
3211
|
});
|
|
3184
3212
|
}
|
|
3185
3213
|
function $c4dee1ef44de29ca$export$af0124069c150252(_ref) {
|
|
@@ -3392,7 +3420,7 @@ let $c3820807ac1e6fd7$export$44dad306455dddf;
|
|
|
3392
3420
|
|
|
3393
3421
|
function $fc830a7ee59416ef$export$ebdc3711f7e02ccd(what_to_watch) {
|
|
3394
3422
|
const [width, setWidth] = $b8hua$createSignal();
|
|
3395
|
-
const resizeObserver = new ResizeObserver($b8hua$
|
|
3423
|
+
const resizeObserver = new ResizeObserver($b8hua$catchify(records => {
|
|
3396
3424
|
for (let j = 0; j < records.length; j++) {
|
|
3397
3425
|
var _records$j$borderBoxS, _records$j$borderBoxS2, _records$j$borderBoxS3;
|
|
3398
3426
|
const width = (_records$j$borderBoxS = (_records$j$borderBoxS2 = records[j].borderBoxSize) === null || _records$j$borderBoxS2 === void 0 ? void 0 : (_records$j$borderBoxS3 = _records$j$borderBoxS2[0]) === null || _records$j$borderBoxS3 === void 0 ? void 0 : _records$j$borderBoxS3.inlineSize) !== null && _records$j$borderBoxS !== void 0 ? _records$j$borderBoxS : what_to_watch.getBoundingClientRect().width;
|
|
@@ -3405,7 +3433,7 @@ function $fc830a7ee59416ef$export$ebdc3711f7e02ccd(what_to_watch) {
|
|
|
3405
3433
|
let {
|
|
3406
3434
|
element: element
|
|
3407
3435
|
} = _ref;
|
|
3408
|
-
return requestAnimationFrame($b8hua$
|
|
3436
|
+
return requestAnimationFrame($b8hua$catchify(() => {
|
|
3409
3437
|
const current_size = what_to_watch.getBoundingClientRect().width;
|
|
3410
3438
|
if (current_size)
|
|
3411
3439
|
// 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.
|
|
@@ -3422,7 +3450,7 @@ function $fc830a7ee59416ef$export$ebdc3711f7e02ccd(what_to_watch) {
|
|
|
3422
3450
|
var $83c36ed4520d0335$var$_tmpl$ = '<path fill-rule="evenodd" d="M9.563 3.438c-3.107 0-5.625 2.518-5.625 5.625s2.518 5.625 5.625 5.625 5.625-2.518 5.625-5.625-2.518-5.625-5.625-5.625zm-7.5 5.625a7.5 7.5 0 1 1 15 0c0 1.733-.588 3.329-1.575 4.599l3.176 3.176a.94.94 0 0 1 0 1.326.94.94 0 0 1-1.326 0l-3.176-3.176a7.47 7.47 0 0 1-4.599 1.575 7.5 7.5 0 0 1-7.5-7.5z" fill="#0f0f0f"></path>';
|
|
3423
3451
|
function $83c36ed4520d0335$export$f7658c347b037c3f() {
|
|
3424
3452
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
3425
|
-
return $b8hua$ssrElement("svg", $b8hua$
|
|
3453
|
+
return $b8hua$ssrElement("svg", $b8hua$mergeProps({
|
|
3426
3454
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3427
3455
|
width: "21",
|
|
3428
3456
|
height: "20",
|
|
@@ -3452,7 +3480,7 @@ function $584c06c09cf4609d$export$b94867ecbd698f21(_ref) {
|
|
|
3452
3480
|
let input_element;
|
|
3453
3481
|
// This is the div where we recommend (and ourselves do) attach the event listener to that opens the search modal.
|
|
3454
3482
|
let field_div;
|
|
3455
|
-
$b8hua$createEffect($b8hua$
|
|
3483
|
+
$b8hua$createEffect($b8hua$catchify(async () => {
|
|
3456
3484
|
if (disabled_) return;
|
|
3457
3485
|
// we aren't in DOM yet unfortunately, wouldn't even be with onMount
|
|
3458
3486
|
await (0, $b8hua$observer).wait_for_element(input_element);
|
|
@@ -3470,7 +3498,7 @@ function $584c06c09cf4609d$export$b94867ecbd698f21(_ref) {
|
|
|
3470
3498
|
const BackButton = () => $b8hua$createComponent((0, $b8hua$Show), {
|
|
3471
3499
|
when: on_back_,
|
|
3472
3500
|
get children() {
|
|
3473
|
-
return $b8hua$ssrElement("button", $b8hua$
|
|
3501
|
+
return $b8hua$ssrElement("button", $b8hua$mergeProps({
|
|
3474
3502
|
"class": "back",
|
|
3475
3503
|
type: "button",
|
|
3476
3504
|
get ["aria-label"]() {
|
|
@@ -3484,7 +3512,7 @@ function $584c06c09cf4609d$export$b94867ecbd698f21(_ref) {
|
|
|
3484
3512
|
}), () => isNewModal ? $b8hua$escape($b8hua$createComponent((0, $9783d437ad61594c$export$3b621d86b1566b2), {})) : $b8hua$escape($b8hua$createComponent(BackIcon_, {})), true);
|
|
3485
3513
|
}
|
|
3486
3514
|
});
|
|
3487
|
-
const ClearButton = () => $b8hua$ssrElement("button", $b8hua$
|
|
3515
|
+
const ClearButton = () => $b8hua$ssrElement("button", $b8hua$mergeProps({
|
|
3488
3516
|
type: "button",
|
|
3489
3517
|
get ["class"]() {
|
|
3490
3518
|
return "clear ".concat(searchFieldEmpty() ? "empty" : "");
|
|
@@ -3532,7 +3560,7 @@ function $e56d241d0f33d459$export$fe334901e8bebd57() {
|
|
|
3532
3560
|
offset: 0
|
|
3533
3561
|
}, 1);
|
|
3534
3562
|
animation.pause();
|
|
3535
|
-
const fn = $b8hua$
|
|
3563
|
+
const fn = $b8hua$catchify(animation.play.bind(animation));
|
|
3536
3564
|
cleanup_fns.push(fn);
|
|
3537
3565
|
$b8hua$onCleanup(fn);
|
|
3538
3566
|
} catch (e) {
|
|
@@ -3543,7 +3571,7 @@ function $e56d241d0f33d459$export$fe334901e8bebd57() {
|
|
|
3543
3571
|
const style = element.style;
|
|
3544
3572
|
const original_value = style.overflow;
|
|
3545
3573
|
style.overflow = "hidden";
|
|
3546
|
-
const fn = $b8hua$
|
|
3574
|
+
const fn = $b8hua$catchify(() => style.overflow = original_value);
|
|
3547
3575
|
cleanup_fns.push(fn);
|
|
3548
3576
|
$b8hua$onCleanup(fn);
|
|
3549
3577
|
}
|
|
@@ -3566,8 +3594,8 @@ function $a82a41ab7188eda2$export$93d9bfd0c9c1a5b8(close_modal, search_query_url
|
|
|
3566
3594
|
let set_initial_values = false;
|
|
3567
3595
|
let old_pathname;
|
|
3568
3596
|
let old_param_value;
|
|
3569
|
-
$b8hua$onCleanup($b8hua$
|
|
3570
|
-
$b8hua$
|
|
3597
|
+
$b8hua$onCleanup($b8hua$catchify(exit_iterable));
|
|
3598
|
+
$b8hua$catchify(async () => {
|
|
3571
3599
|
for await (const href of exitable_iterable) {
|
|
3572
3600
|
const u_o = new URL(href);
|
|
3573
3601
|
const new_pathname = u_o.pathname;
|
|
@@ -3639,7 +3667,7 @@ function $40411f2ec772c376$var$RawClassicSearchModal(_ref) {
|
|
|
3639
3667
|
} = alignmentSignals_ || {};
|
|
3640
3668
|
const [bodyAlignmentStyle] = bodyAlignmentSignal;
|
|
3641
3669
|
const [get_modal_search_results, set_modal_search_results_] = $b8hua$createSignal();
|
|
3642
|
-
const close_on_escape_handler = $b8hua$
|
|
3670
|
+
const close_on_escape_handler = $b8hua$catchify(_ref2 => {
|
|
3643
3671
|
let {
|
|
3644
3672
|
key: key
|
|
3645
3673
|
} = _ref2;
|
|
@@ -3666,7 +3694,7 @@ function $40411f2ec772c376$var$RawClassicSearchModal(_ref) {
|
|
|
3666
3694
|
if (disable_scrolling_) $e56d241d0f33d459$export$fe334901e8bebd57();
|
|
3667
3695
|
$a82a41ab7188eda2$export$93d9bfd0c9c1a5b8(close_modal_, search_query_url_param_name_);
|
|
3668
3696
|
window.addEventListener("keydown", close_on_escape_handler);
|
|
3669
|
-
$b8hua$onCleanup($b8hua$
|
|
3697
|
+
$b8hua$onCleanup($b8hua$catchify(() => window.removeEventListener("keydown", close_on_escape_handler)));
|
|
3670
3698
|
if (closing_animation_) register_closing_animation_(closing_animation_);
|
|
3671
3699
|
$a09bb7c652acf957$export$3340fdd8259bd4fd({
|
|
3672
3700
|
get_search_field_value_: get_search_field_value_,
|
|
@@ -4053,7 +4081,7 @@ function $26db6925469636a4$export$67152d26d4f56ee8(_ref) {
|
|
|
4053
4081
|
var _listing_;
|
|
4054
4082
|
return (_listing_ = listing_()) === null || _listing_ === void 0 ? void 0 : _listing_.page_url;
|
|
4055
4083
|
}); // <- could be made reactive getter created in displayTransformers, read it in memo here since it might create computations (for example in the preview-brower), and there's no owner in the onClick handler
|
|
4056
|
-
const LinkToListing = props => $b8hua$ssrElement("a", $b8hua$
|
|
4084
|
+
const LinkToListing = props => $b8hua$ssrElement("a", $b8hua$mergeProps(props, {
|
|
4057
4085
|
get href() {
|
|
4058
4086
|
return href();
|
|
4059
4087
|
}
|
|
@@ -4364,7 +4392,7 @@ function $4acc866f8fdfc002$export$af1fb307bbba2417(_ref) {
|
|
|
4364
4392
|
$b8hua$createComputed($b8hua$on(search_field_value_[0], () => !suggestions_updating_blocked() && set_selected_index(undefined), {
|
|
4365
4393
|
defer: true
|
|
4366
4394
|
})); // reset autocomplete position if query changes
|
|
4367
|
-
return [$b8hua$createComponent((0, $5175a47d13b7c228$export$d4994a86c6235f72), $b8hua$
|
|
4395
|
+
return [$b8hua$createComponent((0, $5175a47d13b7c228$export$d4994a86c6235f72), $b8hua$mergeProps(sharedSuggestionProps, {
|
|
4368
4396
|
get title_() {
|
|
4369
4397
|
return i18n_.popular_;
|
|
4370
4398
|
},
|
|
@@ -4374,7 +4402,7 @@ function $4acc866f8fdfc002$export$af1fb307bbba2417(_ref) {
|
|
|
4374
4402
|
return itemIndexes_.suggestionsIndex_;
|
|
4375
4403
|
},
|
|
4376
4404
|
showPlaceholders_: () => showPlaceholders() || noResults_() && !noResultsPopularSuggestions.latest
|
|
4377
|
-
})), $b8hua$createComponent((0, $5175a47d13b7c228$export$d4994a86c6235f72), $b8hua$
|
|
4405
|
+
})), $b8hua$createComponent((0, $5175a47d13b7c228$export$d4994a86c6235f72), $b8hua$mergeProps(sharedSuggestionProps, {
|
|
4378
4406
|
get title_() {
|
|
4379
4407
|
return i18n_.previous_;
|
|
4380
4408
|
},
|
|
@@ -4385,7 +4413,7 @@ function $4acc866f8fdfc002$export$af1fb307bbba2417(_ref) {
|
|
|
4385
4413
|
},
|
|
4386
4414
|
extraTitleRowElements_: () => $b8hua$ssr($4acc866f8fdfc002$var$_tmpl$, $b8hua$ssrHydrationKey(), $b8hua$escape(i18n_.clear_all_from_filter_crumbs_())),
|
|
4387
4415
|
showPlaceholders_: () => false
|
|
4388
|
-
})), $b8hua$createComponent((0, $5175a47d13b7c228$export$d4994a86c6235f72), $b8hua$
|
|
4416
|
+
})), $b8hua$createComponent((0, $5175a47d13b7c228$export$d4994a86c6235f72), $b8hua$mergeProps(sharedSuggestionProps, {
|
|
4389
4417
|
get title_() {
|
|
4390
4418
|
return i18n_.content_;
|
|
4391
4419
|
},
|
|
@@ -4525,7 +4553,7 @@ function $06fcd2a345efd24d$var$RawSearchModalV2(_ref) {
|
|
|
4525
4553
|
const random_classname_body = $b8hua$make_random_classname();
|
|
4526
4554
|
const backdropRandomClassname = $b8hua$make_random_classname();
|
|
4527
4555
|
const [get_modal_search_results_, set_modal_search_results_] = $b8hua$createSignal();
|
|
4528
|
-
const close_on_escape_handler = $b8hua$
|
|
4556
|
+
const close_on_escape_handler = $b8hua$catchify(evt => {
|
|
4529
4557
|
if (evt.key === "Escape") {
|
|
4530
4558
|
evt.preventDefault(); // Prevent the browser from closing/cancelling the modal so our animations have time to run
|
|
4531
4559
|
close_modal_();
|
|
@@ -4628,7 +4656,7 @@ function $06fcd2a345efd24d$var$RawSearchModalV2(_ref) {
|
|
|
4628
4656
|
$b8hua$createEffect($b8hua$on(get_search_field_value_, () => {
|
|
4629
4657
|
setShowStaleListingSuggestions(true);
|
|
4630
4658
|
clearTimeout(listingSuggestionsDebounceTimeout);
|
|
4631
|
-
listingSuggestionsDebounceTimeout = setTimeout($b8hua$
|
|
4659
|
+
listingSuggestionsDebounceTimeout = setTimeout($b8hua$catchify(() => setShowStaleListingSuggestions(false)), 350);
|
|
4632
4660
|
}, {
|
|
4633
4661
|
defer: true
|
|
4634
4662
|
}));
|
|
@@ -4766,7 +4794,7 @@ function $06fcd2a345efd24d$var$RawSearchModalV2(_ref) {
|
|
|
4766
4794
|
}
|
|
4767
4795
|
});
|
|
4768
4796
|
if (setSearchFieldOuterWidth_) {
|
|
4769
|
-
const resizeObserver = new ResizeObserver($b8hua$
|
|
4797
|
+
const resizeObserver = new ResizeObserver($b8hua$catchify(records => setSearchFieldOuterWidth_(records.at(-1).contentRect.width)));
|
|
4770
4798
|
resizeObserver.observe(search_field);
|
|
4771
4799
|
$b8hua$onCleanup(() => resizeObserver.disconnect());
|
|
4772
4800
|
}
|
|
@@ -4800,7 +4828,7 @@ function $6a439680ae7e9ba3$export$b2539bed5023c21c(props) {
|
|
|
4800
4828
|
return $b8hua$createComponent($6a439680ae7e9ba3$var$TabsContext.Provider, {
|
|
4801
4829
|
value: new (0, $b8hua$ListenableSet)(),
|
|
4802
4830
|
get children() {
|
|
4803
|
-
return $b8hua$createComponent($6a439680ae7e9ba3$var$ActualTabs, $b8hua$
|
|
4831
|
+
return $b8hua$createComponent($6a439680ae7e9ba3$var$ActualTabs, $b8hua$mergeProps(props, {
|
|
4804
4832
|
get children() {
|
|
4805
4833
|
return props.children;
|
|
4806
4834
|
}
|
|
@@ -4816,7 +4844,7 @@ function $6a439680ae7e9ba3$var$ActualTabs(props) {
|
|
|
4816
4844
|
});
|
|
4817
4845
|
const isSelected = $b8hua$createSelector(currentlySelected);
|
|
4818
4846
|
const owner = $b8hua$getOwner();
|
|
4819
|
-
const updateTabsSignal = $b8hua$
|
|
4847
|
+
const updateTabsSignal = $b8hua$catchify1(() => $b8hua$runWithOwner(owner, () => setTabsReactive([...ourTabsSet])));
|
|
4820
4848
|
const ourTabsSet = $6a439680ae7e9ba3$var$useTabs();
|
|
4821
4849
|
const location = $b8hua$use_href_accessor1();
|
|
4822
4850
|
const linkWithChangedHash = hash => {
|
|
@@ -4830,7 +4858,7 @@ function $6a439680ae7e9ba3$var$ActualTabs(props) {
|
|
|
4830
4858
|
},
|
|
4831
4859
|
children: item => {
|
|
4832
4860
|
const weSelected = $b8hua$createMemo(() => isSelected(item().id));
|
|
4833
|
-
return $b8hua$createComponent((0, $b8hua$Dynamic), $b8hua$
|
|
4861
|
+
return $b8hua$createComponent((0, $b8hua$Dynamic), $b8hua$mergeProps({
|
|
4834
4862
|
get component() {
|
|
4835
4863
|
return props.AnchorComponent;
|
|
4836
4864
|
},
|
|
@@ -4913,7 +4941,7 @@ function $6a439680ae7e9ba3$export$3e41faf802a29e71(props) {
|
|
|
4913
4941
|
if (!currentTabs) throw new Error("Tab must be a child of Tabs");
|
|
4914
4942
|
const id = $b8hua$createUniqueId();
|
|
4915
4943
|
const ourSet = currentTabs;
|
|
4916
|
-
const extendedProps = $b8hua$
|
|
4944
|
+
const extendedProps = $b8hua$mergeProps1({
|
|
4917
4945
|
id: id
|
|
4918
4946
|
}, props);
|
|
4919
4947
|
ourSet.add(extendedProps);
|
|
@@ -4923,7 +4951,7 @@ function $6a439680ae7e9ba3$export$3e41faf802a29e71(props) {
|
|
|
4923
4951
|
async function $d5f1e6a0f9117286$export$79b1565500412d9b(search_modal, modal_fn_opts, parent) {
|
|
4924
4952
|
const body = parent || document.body || (await (0, $b8hua$observer).wait_for_element("body"));
|
|
4925
4953
|
let dispose_and_remove;
|
|
4926
|
-
const open_modal_ = $b8hua$
|
|
4954
|
+
const open_modal_ = $b8hua$catchify(async function () {
|
|
4927
4955
|
let extra_options_for_modal = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
4928
4956
|
let on_dispose = arguments.length > 1 ? arguments[1] : undefined;
|
|
4929
4957
|
// Below await is very intentional,
|
|
@@ -4958,7 +4986,7 @@ async function $d5f1e6a0f9117286$export$79b1565500412d9b(search_modal, modal_fn_
|
|
|
4958
4986
|
actually_close();else if (!animation_started && closing_animation) {
|
|
4959
4987
|
var _catchify;
|
|
4960
4988
|
animation_started = +new Date();
|
|
4961
|
-
(_catchify = $b8hua$
|
|
4989
|
+
(_catchify = $b8hua$catchify(closing_animation)()) === null || _catchify === void 0 || _catchify.then($b8hua$catchify(actually_close));
|
|
4962
4990
|
} else actually_close();
|
|
4963
4991
|
};
|
|
4964
4992
|
return search_modal({
|
|
@@ -4971,7 +4999,7 @@ async function $d5f1e6a0f9117286$export$79b1565500412d9b(search_modal, modal_fn_
|
|
|
4971
4999
|
});
|
|
4972
5000
|
body.append(...modal_els);
|
|
4973
5001
|
});
|
|
4974
|
-
const close_modal_ = $b8hua$
|
|
5002
|
+
const close_modal_ = $b8hua$catchify(() => {
|
|
4975
5003
|
if (dispose_and_remove) {
|
|
4976
5004
|
// modal is open
|
|
4977
5005
|
const dispose_fn = dispose_and_remove;
|
|
@@ -4988,7 +5016,7 @@ async function $d5f1e6a0f9117286$export$79b1565500412d9b(search_modal, modal_fn_
|
|
|
4988
5016
|
function $972f6bce0f9d61be$export$e183a13865960371(params_to_default_value, router_) {
|
|
4989
5017
|
const signals = {};
|
|
4990
5018
|
const entries = Object.entries(params_to_default_value);
|
|
4991
|
-
const event_handler = $b8hua$
|
|
5019
|
+
const event_handler = $b8hua$catchify((what_happened, args) => {
|
|
4992
5020
|
// 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
|
|
4993
5021
|
if (what_happened !== "popstate") return;
|
|
4994
5022
|
// 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.
|
|
@@ -5020,8 +5048,8 @@ function $972f6bce0f9d61be$export$e183a13865960371(params_to_default_value, rout
|
|
|
5020
5048
|
});
|
|
5021
5049
|
// 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
|
|
5022
5050
|
(0, $b8hua$instant_exec_on_suspect_history_change).add(event_handler);
|
|
5023
|
-
$b8hua$onCleanup($b8hua$
|
|
5024
|
-
$b8hua$createEffect($b8hua$
|
|
5051
|
+
$b8hua$onCleanup($b8hua$catchify(() => (0, $b8hua$instant_exec_on_suspect_history_change).delete(event_handler)));
|
|
5052
|
+
$b8hua$createEffect($b8hua$catchify(() => $b8hua$untrack($b8hua$catchify(() => $972f6bce0f9d61be$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
|
|
5025
5053
|
return signals;
|
|
5026
5054
|
}
|
|
5027
5055
|
function $972f6bce0f9d61be$var$history_state_change(signals, entries, state) {
|
|
@@ -5159,7 +5187,7 @@ function $0706a7702baafc06$export$6b35356958ae5587(props) {
|
|
|
5159
5187
|
// If someone clicks on a product card in the shop the look modal, close the modal the next time the href changes
|
|
5160
5188
|
for (const item of resolved()) {
|
|
5161
5189
|
if (!(item instanceof Element)) return;
|
|
5162
|
-
item.addEventListener("click", $b8hua$
|
|
5190
|
+
item.addEventListener("click", $b8hua$catchify(() =>
|
|
5163
5191
|
// run with modal owner so we don't do stuff after the modal closes
|
|
5164
5192
|
// 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)
|
|
5165
5193
|
$b8hua$runWithOwner(props.modalOwner_, () => $b8hua$createEffect($b8hua$on(hrefWithoutHash, props.actually_close_modal_, {
|
|
@@ -5349,7 +5377,7 @@ function $6b0fd8fd20df8ccf$var$ActualShopTheLookButton(props) {
|
|
|
5349
5377
|
}, true);
|
|
5350
5378
|
$b8hua$createEffect(() => button.style.display = displayStyleValue()); // Set our attributes like this, so we allow total control over the button from the outside via buttonAttributes
|
|
5351
5379
|
$b8hua$createEffect(() => !hasAnythingToShow() && closeModal()); // close modal if we ever get into the state of having it open and not having anything to show
|
|
5352
|
-
$6b0fd8fd20df8ccf$var$modalProps = $b8hua$
|
|
5380
|
+
$6b0fd8fd20df8ccf$var$modalProps = $b8hua$mergeProps1(partForModal, {
|
|
5353
5381
|
products_to_shop_: products_to_shop_
|
|
5354
5382
|
});
|
|
5355
5383
|
button.addEventListener("click", openModal);
|
|
@@ -5380,7 +5408,7 @@ function $6b0fd8fd20df8ccf$var$actualSetupModal() {
|
|
|
5380
5408
|
(0, $68e6625c8d51f847$export$3064e1e8c6513da3).add(history_key);
|
|
5381
5409
|
const actually_close_modal_ = () => set_history_value(false);
|
|
5382
5410
|
const owner = $b8hua$getOwner();
|
|
5383
|
-
$b8hua$
|
|
5411
|
+
$b8hua$catchify(async () => {
|
|
5384
5412
|
const {
|
|
5385
5413
|
open_modal_: open_modal_,
|
|
5386
5414
|
close_modal_: close_modal_
|
|
@@ -5455,15 +5483,15 @@ function $ad371564683947ab$export$6c6d7a51fa9aa15d(props) {
|
|
|
5455
5483
|
$b8hua$insert(details_, [summary_, $b8hua$createComponent(ExpandingContainer, {
|
|
5456
5484
|
children: children
|
|
5457
5485
|
})], null);
|
|
5458
|
-
if (!$b8hua$untrack(is_in_dom)) (0, $b8hua$observer).wait_for_element(details_).then($b8hua$
|
|
5459
|
-
$b8hua$createEffect($b8hua$
|
|
5486
|
+
if (!$b8hua$untrack(is_in_dom)) (0, $b8hua$observer).wait_for_element(details_).then($b8hua$catchify(() => set_is_in_dom(true)));
|
|
5487
|
+
$b8hua$createEffect($b8hua$catchify(async () => {
|
|
5460
5488
|
const is_open = is_open_memo();
|
|
5461
5489
|
if (!is_in_dom())
|
|
5462
5490
|
// wait with setting state until we're in DOM, animation won't work otherwise
|
|
5463
5491
|
return;
|
|
5464
5492
|
if (dont_animate_if_instant_open_ && fresh_component && !timeout_started) {
|
|
5465
5493
|
timeout_started = true;
|
|
5466
|
-
setTimeout($b8hua$
|
|
5494
|
+
setTimeout($b8hua$catchify(() => fresh_component = false));
|
|
5467
5495
|
}
|
|
5468
5496
|
if (is_open) {
|
|
5469
5497
|
details_.open = true; // open up the toggle so the animation can happen
|
|
@@ -5471,10 +5499,10 @@ function $ad371564683947ab$export$6c6d7a51fa9aa15d(props) {
|
|
|
5471
5499
|
await expand(0, do_duration);
|
|
5472
5500
|
} else {
|
|
5473
5501
|
const animation = await collapse();
|
|
5474
|
-
animation === null || animation === void 0 || animation.addEventListener("finish", $b8hua$
|
|
5502
|
+
animation === null || animation === void 0 || animation.addEventListener("finish", $b8hua$catchify(() => details_.open = false));
|
|
5475
5503
|
}
|
|
5476
5504
|
}));
|
|
5477
|
-
details_.addEventListener("toggle", $b8hua$
|
|
5505
|
+
details_.addEventListener("toggle", $b8hua$catchify(() => {
|
|
5478
5506
|
const {
|
|
5479
5507
|
open: open
|
|
5480
5508
|
} = details_;
|
|
@@ -5484,11 +5512,11 @@ function $ad371564683947ab$export$6c6d7a51fa9aa15d(props) {
|
|
|
5484
5512
|
}) // in case someone somehow toggles it without us intercepting it at least follow suit
|
|
5485
5513
|
);
|
|
5486
5514
|
|
|
5487
|
-
summary_.addEventListener("click", $b8hua$
|
|
5515
|
+
summary_.addEventListener("click", $b8hua$catchify(ev => {
|
|
5488
5516
|
ev.preventDefault();
|
|
5489
5517
|
toggle();
|
|
5490
5518
|
}));
|
|
5491
|
-
summary_.addEventListener("keydown", $b8hua$
|
|
5519
|
+
summary_.addEventListener("keydown", $b8hua$catchify(ev => {
|
|
5492
5520
|
const {
|
|
5493
5521
|
key: key
|
|
5494
5522
|
} = ev;
|
|
@@ -5725,9 +5753,9 @@ function $4711a82d08d2021b$export$fecbb157621501bd(_ref) {
|
|
|
5725
5753
|
});
|
|
5726
5754
|
const [is_in_dom, set_is_in_dom] = $b8hua$createSignal(document.documentElement.contains(outmost_element));
|
|
5727
5755
|
const hidden = $b8hua$createMemo(() => get_search_filters_open_() || get_search_sorting_open_());
|
|
5728
|
-
if (!$b8hua$untrack(is_in_dom)) (0, $b8hua$observer).wait_for_element(outmost_element).then($b8hua$
|
|
5756
|
+
if (!$b8hua$untrack(is_in_dom)) (0, $b8hua$observer).wait_for_element(outmost_element).then($b8hua$catchify(() => set_is_in_dom(true)));
|
|
5729
5757
|
outmost_element.classList.add("selected-filters");
|
|
5730
|
-
$b8hua$createEffect($b8hua$
|
|
5758
|
+
$b8hua$createEffect($b8hua$catchify(async () => {
|
|
5731
5759
|
if (!is_in_dom())
|
|
5732
5760
|
// wait with setting state until we're in DOM, animation won't work otherwise
|
|
5733
5761
|
return;
|
|
@@ -5760,7 +5788,7 @@ const $19e828709c7723a0$export$48513f6b9f8ce62d = props => {
|
|
|
5760
5788
|
};
|
|
5761
5789
|
var $ff3225aef892a467$var$_tmpl$ = '<path d="M10.173 5.548H5.5V.875c0-.075-.027-.14-.081-.193S5.301.601 5.226.601s-.14.027-.193.081-.081.118-.081.193v4.673H.274c-.075 0-.14.027-.193.081A.27.27 0 0 0 0 5.827c0 .075.027.14.081.193s.118.081.193.081h4.678v4.673c0 .075.027.14.081.193s.118.081.193.081.14-.027.193-.081.081-.118.081-.193V6.101h4.673a.27.27 0 0 0 .199-.081c.054-.054.08-.118.08-.193a.27.27 0 0 0-.279-.279z" fill="#000"></path>';
|
|
5762
5790
|
function $ff3225aef892a467$export$f21ab0717a89c77f(props) {
|
|
5763
|
-
return $b8hua$ssrElement("svg", $b8hua$
|
|
5791
|
+
return $b8hua$ssrElement("svg", $b8hua$mergeProps(props, {
|
|
5764
5792
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5765
5793
|
width: "11",
|
|
5766
5794
|
height: "12"
|
|
@@ -5883,7 +5911,7 @@ function $133484ef10e4e954$export$dd948f91abc3a1c4(_ref) {
|
|
|
5883
5911
|
}) : []);
|
|
5884
5912
|
});
|
|
5885
5913
|
$b8hua$onCleanup(() => set_view_more_button_below_group_());
|
|
5886
|
-
$b8hua$createEffect($b8hua$
|
|
5914
|
+
$b8hua$createEffect($b8hua$catchify(async () => {
|
|
5887
5915
|
if (!togglable_rest()) {
|
|
5888
5916
|
await collapse();
|
|
5889
5917
|
return;
|
|
@@ -6009,7 +6037,7 @@ function $1e7465a8ffa97f6c$export$e0d834a0ad870cda(_ref) {
|
|
|
6009
6037
|
});
|
|
6010
6038
|
$b8hua$createComputed(() => {
|
|
6011
6039
|
clearTimeout(debounce_timeout);
|
|
6012
|
-
debounce_timeout = setTimeout($b8hua$
|
|
6040
|
+
debounce_timeout = setTimeout($b8hua$catchify(range => $b8hua$untrack(() => {
|
|
6013
6041
|
const default_data = defaultRange();
|
|
6014
6042
|
const filter_object = {
|
|
6015
6043
|
op: filter_().op,
|
|
@@ -6592,7 +6620,7 @@ function $0ae614c5c7babb43$export$a32086fa6616eafd(_ref) {
|
|
|
6592
6620
|
}) : []);
|
|
6593
6621
|
});
|
|
6594
6622
|
$b8hua$onCleanup(() => set_view_more_button_below_group());
|
|
6595
|
-
$b8hua$createEffect($b8hua$
|
|
6623
|
+
$b8hua$createEffect($b8hua$catchify(async () => {
|
|
6596
6624
|
if (!some_top_level_are_hidden()) {
|
|
6597
6625
|
await collapse();
|
|
6598
6626
|
return;
|
|
@@ -6665,7 +6693,7 @@ function $0ae614c5c7babb43$var$render_stuff(data, existing_filter, i18n_, filter
|
|
|
6665
6693
|
return (_value$is_checked_$ = (_value7 = value()) === null || _value7 === void 0 ? void 0 : (_value7$is_checked_ = _value7.is_checked_) === null || _value7$is_checked_ === void 0 ? void 0 : (_value7$is_checked_$ = _value7$is_checked_[0]) === null || _value7$is_checked_$ === void 0 ? void 0 : _value7$is_checked_$.call(_value7$is_checked_)) !== null && _value$is_checked_$ !== void 0 ? _value$is_checked_$ : false;
|
|
6666
6694
|
},
|
|
6667
6695
|
input_ref_: input => {
|
|
6668
|
-
input.addEventListener("change", $b8hua$
|
|
6696
|
+
input.addEventListener("change", $b8hua$catchify(() => $b8hua$untrack(() => {
|
|
6669
6697
|
var _value9;
|
|
6670
6698
|
const {
|
|
6671
6699
|
checked: checked
|
|
@@ -6752,7 +6780,7 @@ function $0ae614c5c7babb43$var$batching_filter_state_syncer(props) {
|
|
|
6752
6780
|
existing_filter_: existing_filter_
|
|
6753
6781
|
} = props;
|
|
6754
6782
|
let sync_queued = false;
|
|
6755
|
-
const sync_fn = $b8hua$
|
|
6783
|
+
const sync_fn = $b8hua$catchify(async () => {
|
|
6756
6784
|
sync_queued = false;
|
|
6757
6785
|
// if we change, update filter state - next microtask, so that "reactions" to the change can process before we send it off to the API
|
|
6758
6786
|
const set_filter = existing_filter_();
|
|
@@ -6814,13 +6842,13 @@ function $0ae614c5c7babb43$var$create_updating_signal(_ref3) {
|
|
|
6814
6842
|
$b8hua$createComputed($b8hua$on(read_checked, trigger_sync_, {
|
|
6815
6843
|
defer: true
|
|
6816
6844
|
}));
|
|
6817
|
-
$b8hua$createComputed($b8hua$on(read_checked, $b8hua$
|
|
6845
|
+
$b8hua$createComputed($b8hua$on(read_checked, $b8hua$catchify(new_value => {
|
|
6818
6846
|
if (updating_blocked) return;
|
|
6819
6847
|
for (const child of child_objects) child.is_checked_[1](new_value);
|
|
6820
6848
|
}), {
|
|
6821
6849
|
defer: true
|
|
6822
6850
|
}));
|
|
6823
|
-
$b8hua$createEffect($b8hua$on(get_child_object_values, $b8hua$
|
|
6851
|
+
$b8hua$createEffect($b8hua$on(get_child_object_values, $b8hua$catchify(() => {
|
|
6824
6852
|
const all_kids_checked = get_child_object_values.every(accessor => accessor());
|
|
6825
6853
|
if (all_kids_checked === read_checked()) return;
|
|
6826
6854
|
updating_blocked = true;
|
|
@@ -7001,7 +7029,7 @@ const $830ea8efda59884e$export$414f6a19d38e655c = _ref => {
|
|
|
7001
7029
|
const MakeButton = attributes => {
|
|
7002
7030
|
const label = $b8hua$createMemo(() => value().name_ || value().value_ + "");
|
|
7003
7031
|
const count_zero = $b8hua$createMemo(() => value().count_ === 0);
|
|
7004
|
-
return $b8hua$ssrElement("button", $b8hua$
|
|
7032
|
+
return $b8hua$ssrElement("button", $b8hua$mergeProps(attributes, {
|
|
7005
7033
|
get disabled() {
|
|
7006
7034
|
return count_zero() && !is_selected();
|
|
7007
7035
|
},
|
|
@@ -7272,7 +7300,7 @@ function $2cb856c297c53e6c$export$82ed4b28ecb67608(_ref) {
|
|
|
7272
7300
|
}) : []);
|
|
7273
7301
|
});
|
|
7274
7302
|
$b8hua$onCleanup(() => set_view_more_button_below_group_());
|
|
7275
|
-
$b8hua$createEffect($b8hua$
|
|
7303
|
+
$b8hua$createEffect($b8hua$catchify(async () => {
|
|
7276
7304
|
if (!togglable_rest()) {
|
|
7277
7305
|
await collapse();
|
|
7278
7306
|
set_having_expanding_in_dom(false); // Once animation has finished, remove expanding from DOM
|
|
@@ -7313,7 +7341,7 @@ var $d2988f745661df9c$export$2e2bcd8739ae039 = {
|
|
|
7313
7341
|
var $905f44be08b7378e$var$_tmpl$ = '<path d="M4.617 12.738a.48.48 0 0 1-.164-.027c-.051-.023-.094-.055-.129-.098L.125 8.414A.39.39 0 0 1 0 8.117c0-.113.039-.211.125-.293s.18-.125.293-.125.215.043.297.125l3.902 3.902L16.086.262c.082-.082.18-.125.297-.125s.211.043.293.125.125.184.125.301-.043.215-.125.297L4.914 12.613c-.039.043-.086.078-.141.098s-.102.027-.156.027zm0 0"></path>';
|
|
7314
7342
|
function $905f44be08b7378e$export$f2ca6fc699ca1fb4() {
|
|
7315
7343
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7316
|
-
return $b8hua$ssrElement("svg", $b8hua$
|
|
7344
|
+
return $b8hua$ssrElement("svg", $b8hua$mergeProps({
|
|
7317
7345
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7318
7346
|
width: "16.8",
|
|
7319
7347
|
height: "14"
|
|
@@ -8018,7 +8046,7 @@ const $702d7656a373973e$export$824dde41348efed1 = /*@__PURE__*/(() => {
|
|
|
8018
8046
|
|
|
8019
8047
|
const observe_to_signal = (element, setter) => {
|
|
8020
8048
|
const computed_style = getComputedStyle(element);
|
|
8021
|
-
const resize_observer = new ResizeObserver($b8hua$
|
|
8049
|
+
const resize_observer = new ResizeObserver($b8hua$catchify(() => {
|
|
8022
8050
|
setter(element.getBoundingClientRect().width + parseFloat(computed_style.marginLeft) + parseFloat(computed_style.marginRight) + parseFloat(computed_style.borderRightWidth) + parseFloat(computed_style.borderLeftWidth));
|
|
8023
8051
|
}));
|
|
8024
8052
|
resize_observer.observe(element);
|
|
@@ -8429,7 +8457,7 @@ function $284849364a6ef73a$var$_get_cache_obj_for_endpoint2(endpoint) {
|
|
|
8429
8457
|
return (_classPrivateFieldGet4 = $b8hua$babelruntimehelpersclassPrivateFieldGet(this, $284849364a6ef73a$var$_cache_objs))[endpoint] || (_classPrivateFieldGet4[endpoint] = {
|
|
8430
8458
|
in_progress_: {},
|
|
8431
8459
|
cache_: {},
|
|
8432
|
-
finalization_registry_: $b8hua$babelruntimehelpersclassPrivateFieldGet(this, $284849364a6ef73a$var$_supports_finalization_registry) ? new FinalizationRegistry($b8hua$
|
|
8460
|
+
finalization_registry_: $b8hua$babelruntimehelpersclassPrivateFieldGet(this, $284849364a6ef73a$var$_supports_finalization_registry) ? new FinalizationRegistry($b8hua$catchify(key => {
|
|
8433
8461
|
const our_cache = $b8hua$babelruntimehelpersclassPrivateFieldGet(this, $284849364a6ef73a$var$_cache_objs)[endpoint].cache_;
|
|
8434
8462
|
$b8hua$dlog1("[Search API]: removing", key, "from", our_cache);
|
|
8435
8463
|
delete our_cache[key];
|
|
@@ -8471,7 +8499,7 @@ async function $284849364a6ef73a$var$_run_url_creator_for_suggest2(merchant, mar
|
|
|
8471
8499
|
// Filter out our transformed ancestors
|
|
8472
8500
|
const transformedAncestors = Object.fromEntries(transformerResult.filter(item => item.is_suggestion === false).map(item => [item.listing_id, item]));
|
|
8473
8501
|
// Add the now transformed ancestors into the ancestors of the listing suggestions
|
|
8474
|
-
const transformedSuggestions = transformerResult.filter(item => item.is_suggestion !== false).map(item => $b8hua$
|
|
8502
|
+
const transformedSuggestions = transformerResult.filter(item => item.is_suggestion !== false).map(item => $b8hua$mergeProps1(item, {
|
|
8475
8503
|
// Use mergeProps instead of spread since page_url and other properties could be a getter that solid components should call
|
|
8476
8504
|
ancestors: item.ancestors.map(ancestor => {
|
|
8477
8505
|
const newAncestor = transformedAncestors[ancestor.listing_id];
|
|
@@ -8568,11 +8596,11 @@ async function $284849364a6ef73a$var$_cached_request2(_ref4) {
|
|
|
8568
8596
|
result = $ed0fefda39a0f15d$export$967e966fca9515e(result);
|
|
8569
8597
|
cache_obj.cache_[body] = new WeakRef(result);
|
|
8570
8598
|
resolve_in_progress(result);
|
|
8571
|
-
setTimeout($b8hua$
|
|
8599
|
+
setTimeout($b8hua$catchify(() => {
|
|
8572
8600
|
if ($b8hua$babelruntimehelpersclassPrivateFieldGet(this, $284849364a6ef73a$var$_supports_finalization_registry)) cache_obj.finalization_registry_.register(result, body); // delete key from cache when value (WeakRefs) are collected
|
|
8573
8601
|
else
|
|
8574
8602
|
// delete things from cache after 5 minutes, so it doesn't get too heavy
|
|
8575
|
-
setTimeout($b8hua$
|
|
8603
|
+
setTimeout($b8hua$catchify(() => delete cache_obj.cache_[body]), 300000);
|
|
8576
8604
|
}), 60000 // cache values for at least 60 seconds
|
|
8577
8605
|
);
|
|
8578
8606
|
|
|
@@ -8604,7 +8632,7 @@ function $9d3d794b62318ecc$export$477caf01aecaeb2a(options) {
|
|
|
8604
8632
|
const [get_selected_filters_, set_selected_filters] = selected_filters_;
|
|
8605
8633
|
const [get_has_sideways_filter_clearing_flag_, set_has_sideways_filter_clearing_flag] = sideways_filter_clearing_flag_;
|
|
8606
8634
|
const [get_current_href, set_current_href] = $b8hua$createSignal((_globalThis$location$ = globalThis === null || globalThis === void 0 ? void 0 : (_globalThis$location = globalThis.location) === null || _globalThis$location === void 0 ? void 0 : _globalThis$location.href) !== null && _globalThis$location$ !== void 0 ? _globalThis$location$ : "https://example.com");
|
|
8607
|
-
const history_change_handler = $b8hua$
|
|
8635
|
+
const history_change_handler = $b8hua$catchify(() => set_current_href(location.href));
|
|
8608
8636
|
const owner = $b8hua$getOwner() || $b8hua$createRoot(() => $b8hua$getOwner());
|
|
8609
8637
|
const {
|
|
8610
8638
|
sorting_query_param_: sorting_query_param_,
|
|
@@ -8980,7 +9008,7 @@ function $8ef6232475d44150$export$7de92c4c2205ebf3(_ref) {
|
|
|
8980
9008
|
return (0, $981356a8bf29ad72$export$6c9030e511152266) + get_showing_recommendation_rows() * Math.max(...possible_num_columns);
|
|
8981
9009
|
});
|
|
8982
9010
|
// Don't tear down elements every time one updates the page - don't put them within <Show>
|
|
8983
|
-
const elements = $b8hua$ssr($8ef6232475d44150$var$_tmpl$, $b8hua$ssrHydrationKey(), $b8hua$escape(i18n_.search_recs_title_()), $b8hua$escape($ca55612a53dbbdd2$export$a2cc176055f8f08()), $b8hua$escape($b8hua$createComponent((0, $63f1f8dbcd07d3b0$export$d21e32dfedac04be), $b8hua$
|
|
9011
|
+
const elements = $b8hua$ssr($8ef6232475d44150$var$_tmpl$, $b8hua$ssrHydrationKey(), $b8hua$escape(i18n_.search_recs_title_()), $b8hua$escape($ca55612a53dbbdd2$export$a2cc176055f8f08()), $b8hua$escape($b8hua$createComponent((0, $63f1f8dbcd07d3b0$export$d21e32dfedac04be), $b8hua$mergeProps({
|
|
8984
9012
|
rows: rows_object,
|
|
8985
9013
|
layout: "grid",
|
|
8986
9014
|
element_attributes: {
|
|
@@ -9053,13 +9081,13 @@ function $a61a2051e15c8d7a$export$5196e4c01fa56fcb(_ref) {
|
|
|
9053
9081
|
} = _ref;
|
|
9054
9082
|
let close_toast_;
|
|
9055
9083
|
const stay_open_promise = new Promise(r => close_toast_ = r);
|
|
9056
|
-
$b8hua$
|
|
9084
|
+
$b8hua$catchify(async () => {
|
|
9057
9085
|
const closing_animation_duration = 300; // ms
|
|
9058
9086
|
const element = $b8hua$ssrElement("div", more_attributes, () => $b8hua$escape(children), true);
|
|
9059
9087
|
const [, set_is_showing_toast] = $a61a2051e15c8d7a$export$22970a0140fc759c;
|
|
9060
9088
|
// if this is a memory leak the garbage collector is stupid - does someone know?
|
|
9061
|
-
for (const ev of ["pointerover", "focusin"]) element.addEventListener(ev, $b8hua$
|
|
9062
|
-
for (const ev of ["pointerout", "focusout"]) element.addEventListener(ev, $b8hua$
|
|
9089
|
+
for (const ev of ["pointerover", "focusin"]) element.addEventListener(ev, $b8hua$catchify(() => closing_animation.pause()));
|
|
9090
|
+
for (const ev of ["pointerout", "focusout"]) element.addEventListener(ev, $b8hua$catchify(() => closing_animation.play()));
|
|
9063
9091
|
const body = await (0, $b8hua$observer).wait_for_element("body");
|
|
9064
9092
|
const x_translate = "translateX(-50%) ";
|
|
9065
9093
|
let remove_keyboard_listener;
|
|
@@ -9084,7 +9112,7 @@ function $a61a2051e15c8d7a$export$5196e4c01fa56fcb(_ref) {
|
|
|
9084
9112
|
// let other toasts close us if they open while we're still here
|
|
9085
9113
|
$a61a2051e15c8d7a$var$closing_functions.add(close_toast_);
|
|
9086
9114
|
set_is_showing_toast(true);
|
|
9087
|
-
const handler = $b8hua$
|
|
9115
|
+
const handler = $b8hua$catchify(_ref2 => {
|
|
9088
9116
|
let {
|
|
9089
9117
|
key: key
|
|
9090
9118
|
} = _ref2;
|
|
@@ -9219,7 +9247,7 @@ function $d8a66ba54a42eb3e$export$e026af0c7b64ea5f(_ref) {
|
|
|
9219
9247
|
}, {
|
|
9220
9248
|
defer: true
|
|
9221
9249
|
}));
|
|
9222
|
-
$b8hua$createComputed($b8hua$on(get_search_query_, $b8hua$
|
|
9250
|
+
$b8hua$createComputed($b8hua$on(get_search_query_, $b8hua$catchify(() => {
|
|
9223
9251
|
// when a query was submitted, clear filters if clear was pressed before
|
|
9224
9252
|
const clear_value = $b8hua$untrack(get_clear_filters_next_submit);
|
|
9225
9253
|
if (clear_value) {
|
|
@@ -9246,11 +9274,11 @@ function $07d90b8270ece8de$export$84bba84a7b837187(read_search_query) {
|
|
|
9246
9274
|
const key = "depict_searches";
|
|
9247
9275
|
const previous_searches = $b8hua$createSignal(JSON.parse(ls[key] || "[]"));
|
|
9248
9276
|
const [read_previous_searches, write_previous_searches] = previous_searches;
|
|
9249
|
-
$b8hua$createEffect($b8hua$
|
|
9277
|
+
$b8hua$createEffect($b8hua$catchify(() => {
|
|
9250
9278
|
const json_encoded = JSON.stringify(read_previous_searches());
|
|
9251
9279
|
if (ls[key] !== json_encoded) ls[key] = json_encoded;
|
|
9252
9280
|
}));
|
|
9253
|
-
$b8hua$createComputed($b8hua$
|
|
9281
|
+
$b8hua$createComputed($b8hua$catchify(() => {
|
|
9254
9282
|
const searches = $b8hua$untrack(read_previous_searches);
|
|
9255
9283
|
const current_query = read_search_query();
|
|
9256
9284
|
if (!current_query)
|
|
@@ -9296,7 +9324,7 @@ async function $86b0ff0c85e5fc6c$export$e16630ecb9644a1c(_ref) {
|
|
|
9296
9324
|
function $33e7d1906c93db7d$export$205efb947c7ffd78(handler) {
|
|
9297
9325
|
let passive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
9298
9326
|
let override_element = arguments.length > 2 ? arguments[2] : undefined;
|
|
9299
|
-
const catchified_handler = $b8hua$
|
|
9327
|
+
const catchified_handler = $b8hua$catchify(handler);
|
|
9300
9328
|
const owner = $b8hua$getOwner();
|
|
9301
9329
|
// 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.
|
|
9302
9330
|
// Use observer in case that this gets called before body exists
|
|
@@ -9341,7 +9369,7 @@ function $96d57a48e7bce64f$export$181cceed5c91919e(callback, alsoRaF, passiveLis
|
|
|
9341
9369
|
$b8hua$createEffect(() => {
|
|
9342
9370
|
if (alsoRaF !== null && alsoRaF !== void 0 && alsoRaF()) {
|
|
9343
9371
|
let disposed = false;
|
|
9344
|
-
const fn = $b8hua$
|
|
9372
|
+
const fn = $b8hua$catchify(() => {
|
|
9345
9373
|
if (disposed) return;
|
|
9346
9374
|
probablyCallCallback();
|
|
9347
9375
|
requestAnimationFrame(fn);
|
|
@@ -9354,10 +9382,10 @@ function $96d57a48e7bce64f$export$181cceed5c91919e(callback, alsoRaF, passiveLis
|
|
|
9354
9382
|
// "resize" doesn't fire sometimes when it should, also it doesn't when showing/hiding scrollbars which disabling scrolling does
|
|
9355
9383
|
// this works
|
|
9356
9384
|
// keeping resize just in case
|
|
9357
|
-
const resize_resize_observer = new ResizeObserver($b8hua$
|
|
9385
|
+
const resize_resize_observer = new ResizeObserver($b8hua$catchify(probablyCallCallback));
|
|
9358
9386
|
resize_resize_observer.observe(document.documentElement);
|
|
9359
9387
|
(0, $b8hua$observer).wait_for_element("body").then(resize_resize_observer.observe.bind(resize_resize_observer));
|
|
9360
|
-
$b8hua$onCleanup($b8hua$
|
|
9388
|
+
$b8hua$onCleanup($b8hua$catchify(() => resize_resize_observer.disconnect()));
|
|
9361
9389
|
return probablyCallCallback;
|
|
9362
9390
|
}
|
|
9363
9391
|
const $1308a7816c3d4f2d$export$3f238c96c45e6cc6 = 1;
|
|
@@ -9390,7 +9418,7 @@ function $1308a7816c3d4f2d$export$b3ad617e9036868(_ref, input_field, alignment,
|
|
|
9390
9418
|
}, pollAlignment);
|
|
9391
9419
|
let ro;
|
|
9392
9420
|
if (alignment & $1308a7816c3d4f2d$export$902f8b4a7dae5d78 || alignment & $1308a7816c3d4f2d$export$5097308c5200105a) {
|
|
9393
|
-
ro = new ResizeObserver($b8hua$
|
|
9421
|
+
ro = new ResizeObserver($b8hua$catchify(records => {
|
|
9394
9422
|
records.forEach(_ref2 => {
|
|
9395
9423
|
let {
|
|
9396
9424
|
contentRect: {
|
|
@@ -9414,7 +9442,7 @@ function $1308a7816c3d4f2d$export$b3ad617e9036868(_ref, input_field, alignment,
|
|
|
9414
9442
|
}));
|
|
9415
9443
|
ro.observe(input_field);
|
|
9416
9444
|
}
|
|
9417
|
-
$b8hua$onCleanup($b8hua$
|
|
9445
|
+
$b8hua$onCleanup($b8hua$catchify(() => {
|
|
9418
9446
|
var _ro;
|
|
9419
9447
|
return (_ro = ro) === null || _ro === void 0 ? void 0 : _ro.disconnect();
|
|
9420
9448
|
}));
|
|
@@ -9629,7 +9657,7 @@ function $b69740fc6de9f17e$export$83fd5de5504a7a67(_ref) {
|
|
|
9629
9657
|
fill: "forwards",
|
|
9630
9658
|
easing: "ease-in-out"
|
|
9631
9659
|
});
|
|
9632
|
-
animation.addEventListener("finish", $b8hua$
|
|
9660
|
+
animation.addEventListener("finish", $b8hua$catchify(() => {
|
|
9633
9661
|
if (unpermit_when_possible) set_permitted_to_show(false);
|
|
9634
9662
|
animation = undefined;
|
|
9635
9663
|
element.style.display = "none";
|
|
@@ -9697,7 +9725,7 @@ function $6d2962bc9370f884$export$5e4aed86c12acdd9(_ref) {
|
|
|
9697
9725
|
is_first_load = true;
|
|
9698
9726
|
});
|
|
9699
9727
|
// 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
|
|
9700
|
-
$b8hua$createEffect($b8hua$
|
|
9728
|
+
$b8hua$createEffect($b8hua$catchify(async () => {
|
|
9701
9729
|
const be_above_percentage = is_first_load ? 50 : 75; // if first load, load earlier
|
|
9702
9730
|
if (percentage_in_view_() < be_above_percentage || is_loading_more) return;
|
|
9703
9731
|
if (!get_last_cursor()) {
|
|
@@ -9831,7 +9859,7 @@ var $64d94dcaa058dc7b$var$_tmpl$ = ["<style", ' type="text/css">', "</style>"];
|
|
|
9831
9859
|
const $64d94dcaa058dc7b$export$c500183c31c2b22e = "--spans-columns";
|
|
9832
9860
|
function $64d94dcaa058dc7b$export$ab6b147eec64fea5(props) {
|
|
9833
9861
|
const container_class = "x" + $b8hua$createUniqueId();
|
|
9834
|
-
const container_element_ = $b8hua$ssrElement("div", $b8hua$
|
|
9862
|
+
const container_element_ = $b8hua$ssrElement("div", $b8hua$mergeProps(() => props.element_attributes, {
|
|
9835
9863
|
classList: {
|
|
9836
9864
|
[container_class]: true
|
|
9837
9865
|
}
|
|
@@ -10142,7 +10170,7 @@ function $7faea0096f14b59b$export$3925f87b1545cfc6(_ref) {
|
|
|
10142
10170
|
} = slider;
|
|
10143
10171
|
const Layout = props => $63f1f8dbcd07d3b0$export$445d8d3f5f706a40(props, insert_here, true);
|
|
10144
10172
|
// Do like this, so we don't have to call mergeProps ourselves
|
|
10145
|
-
$b8hua$createComponent(Layout, $b8hua$
|
|
10173
|
+
$b8hua$createComponent(Layout, $b8hua$mergeProps(layout_options_, {
|
|
10146
10174
|
rows: "all",
|
|
10147
10175
|
get cols_at_size() {
|
|
10148
10176
|
return modified_cols_at_size();
|
|
@@ -10217,7 +10245,7 @@ function $69602b3d8fd54c38$export$9dd50d35b9d94fdf(_ref) {
|
|
|
10217
10245
|
number_of_results_: number_of_results_,
|
|
10218
10246
|
type: type
|
|
10219
10247
|
} = _ref;
|
|
10220
|
-
const contents = $b8hua$createMemo($b8hua$
|
|
10248
|
+
const contents = $b8hua$createMemo($b8hua$catchify(() => {
|
|
10221
10249
|
const q = get_search_query_();
|
|
10222
10250
|
return i18n_[type === $69602b3d8fd54c38$export$2452208c79fe93ea.content ? "get_showing_pages_for_" : "get_showing_results_for_"]()($b8hua$ssr($69602b3d8fd54c38$var$_tmpl$, $b8hua$ssrHydrationKey(), $b8hua$escape(q)), $b8hua$ssr($69602b3d8fd54c38$var$_tmpl$, $b8hua$ssrHydrationKey(), $b8hua$escape(formatted_number_of_results_())), !!q, number_of_results_());
|
|
10223
10251
|
}));
|
|
@@ -10303,7 +10331,7 @@ var $79af35736fe8e5c8$var$_tmpl$ = '<path d="M6.199 10.254a.35.35 0 0 0-.496 0L3
|
|
|
10303
10331
|
$79af35736fe8e5c8$var$_tmpl$2 = '<path d="M10.852 6.301H8.051a.35.35 0 0 1-.352-.352V4.551a.35.35 0 0 1 .352-.352h2.801a.35.35 0 0 1 .348.352v1.398a.35.35 0 0 1-.348.352zm-2.453-.699H10.5v-.703H8.398zm3.851 3.5H8.051c-.195 0-.352-.16-.352-.352V7.352A.35.35 0 0 1 8.051 7h4.199c.191 0 .352.156.352.352V8.75c0 .191-.16.352-.352.352zm-3.852-.703h3.5V7.7h-3.5zm5.25 3.499H8.051a.35.35 0 0 1-.352-.348v-1.402a.35.35 0 0 1 .352-.348h5.598a.35.35 0 0 1 .352.348v1.402a.35.35 0 0 1-.352.348zm-5.25-.699H13.3V10.5H8.398zm0 0"></path>';
|
|
10304
10332
|
function $79af35736fe8e5c8$export$da32f7add8a22e86() {
|
|
10305
10333
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
10306
|
-
return $b8hua$ssrElement("svg", $b8hua$
|
|
10334
|
+
return $b8hua$ssrElement("svg", $b8hua$mergeProps({
|
|
10307
10335
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10308
10336
|
width: "14",
|
|
10309
10337
|
height: "14",
|
|
@@ -10313,7 +10341,7 @@ function $79af35736fe8e5c8$export$da32f7add8a22e86() {
|
|
|
10313
10341
|
var $73e3c96bc365e0e9$var$_tmpl$ = '<path d="M6.199 10.254a.35.35 0 0 0-.496 0L3.5 12.453V.348a.35.35 0 0 0-.7 0v12.105L.598 10.254c-.137-.137-.359-.137-.492 0a.35.35 0 0 0 0 .492l2.797 2.801a.35.35 0 0 0 .496 0L6.2 10.746c.137-.137.137-.355 0-.492zm3.25 1.644H8.051a.35.35 0 0 1-.352-.348v-1.402a.35.35 0 0 1 .352-.348h1.398a.35.35 0 0 1 .352.348v1.402a.35.35 0 0 1-.352.348zm-1.051-.699h.703V10.5h-.703zm2.454-2.097H8.051c-.195 0-.352-.16-.352-.352V7.352A.35.35 0 0 1 8.051 7h2.801a.35.35 0 0 1 .348.352V8.75c0 .191-.156.352-.348.352zm-2.453-.703H10.5V7.7H8.398zm3.851-2.098H8.051a.35.35 0 0 1-.352-.352V4.551a.35.35 0 0 1 .352-.352h4.199c.191 0 .352.156.352.352v1.398c0 .195-.16.352-.352.352zm-3.852-.699h3.5v-.703h-3.5zm5.25-2.102H8.051a.35.35 0 0 1-.352-.352V1.75c0-.191.156-.352.352-.352h5.598c.195 0 .352.16.352.352v1.398a.35.35 0 0 1-.352.352zm-5.25-.699H13.3v-.699H8.398zm0 0"></path>';
|
|
10314
10342
|
function $73e3c96bc365e0e9$export$d10e63059ddb9fd4() {
|
|
10315
10343
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
10316
|
-
return $b8hua$ssrElement("svg", $b8hua$
|
|
10344
|
+
return $b8hua$ssrElement("svg", $b8hua$mergeProps({
|
|
10317
10345
|
xmlns: "http://www.w3.org/2000/svg",
|
|
10318
10346
|
width: "14",
|
|
10319
10347
|
height: "14",
|
|
@@ -10381,7 +10409,7 @@ function $082c4ed3e22f8d71$export$9bf11afa910f536e(_ref) {
|
|
|
10381
10409
|
set_search_sorting_open(true);
|
|
10382
10410
|
}
|
|
10383
10411
|
});
|
|
10384
|
-
$b8hua$onCleanup($b8hua$
|
|
10412
|
+
$b8hua$onCleanup($b8hua$catchify(() => {
|
|
10385
10413
|
if (!sorting_expanded() && !filters_expanded()) {
|
|
10386
10414
|
set_search_filters_open(false);
|
|
10387
10415
|
set_search_sorting_open(false);
|
|
@@ -10429,7 +10457,7 @@ function $082c4ed3e22f8d71$export$9bf11afa910f536e(_ref) {
|
|
|
10429
10457
|
})));
|
|
10430
10458
|
},
|
|
10431
10459
|
get children() {
|
|
10432
|
-
return $b8hua$ssr($082c4ed3e22f8d71$var$_tmpl$5, $b8hua$ssrHydrationKey(), $b8hua$escape($b8hua$createComponent((0, $f6b0500577e1b210$export$3f1a388cc0d8fed7), $b8hua$
|
|
10460
|
+
return $b8hua$ssr($082c4ed3e22f8d71$var$_tmpl$5, $b8hua$ssrHydrationKey(), $b8hua$escape($b8hua$createComponent((0, $f6b0500577e1b210$export$3f1a388cc0d8fed7), $b8hua$mergeProps(args_for_filtering_, {
|
|
10433
10461
|
are_in_modal_: true
|
|
10434
10462
|
}))));
|
|
10435
10463
|
}
|
|
@@ -10493,7 +10521,7 @@ function $7396052a1484264f$export$d7841e452f2e59a8(_ref) {
|
|
|
10493
10521
|
const [sorting_open, set_sorting_open] = search_sorting_open_;
|
|
10494
10522
|
const [get_current_sorting_] = current_sorting_;
|
|
10495
10523
|
const [is_small, set_is_small] = $b8hua$createSignal(false);
|
|
10496
|
-
const dismiss_modal_ = $b8hua$
|
|
10524
|
+
const dismiss_modal_ = $b8hua$catchify(() => {
|
|
10497
10525
|
set_filters_open(false);
|
|
10498
10526
|
set_sorting_open(false);
|
|
10499
10527
|
});
|
|
@@ -10594,7 +10622,7 @@ function $7396052a1484264f$export$d7841e452f2e59a8(_ref) {
|
|
|
10594
10622
|
}));else set_extra_els_in_results_container_($b8hua$ssr($7396052a1484264f$var$_tmpl$2, $b8hua$ssrHydrationKey(), $b8hua$escape($b8hua$createComponent((0, $cfdbd124dd09d713$export$1f1775a58da589b5), sorting_options))));
|
|
10595
10623
|
}
|
|
10596
10624
|
});
|
|
10597
|
-
$b8hua$
|
|
10625
|
+
$b8hua$catchify(async () => {
|
|
10598
10626
|
({
|
|
10599
10627
|
open_modal_: open_modal_,
|
|
10600
10628
|
close_modal_: close_modal_
|
|
@@ -10772,7 +10800,7 @@ function $6a16b21155984cef$var$ActualFloatingButtons(_ref2) {
|
|
|
10772
10800
|
}
|
|
10773
10801
|
old_pos = new_pos;
|
|
10774
10802
|
});
|
|
10775
|
-
const touchstart_handler = $b8hua$
|
|
10803
|
+
const touchstart_handler = $b8hua$catchify(e => {
|
|
10776
10804
|
is_in_touch_scroll = true;
|
|
10777
10805
|
if (e.touches.length === 1) {
|
|
10778
10806
|
// 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
|
|
@@ -10780,12 +10808,12 @@ function $6a16b21155984cef$var$ActualFloatingButtons(_ref2) {
|
|
|
10780
10808
|
diff_over_second_or_touch = 0;
|
|
10781
10809
|
}
|
|
10782
10810
|
});
|
|
10783
|
-
const touchend_handler = $b8hua$
|
|
10811
|
+
const touchend_handler = $b8hua$catchify(e => {
|
|
10784
10812
|
if (e.touches.length === 0)
|
|
10785
10813
|
// scroll gesture of any type (pinch can also be used as scroll, etc.) ended
|
|
10786
10814
|
inertia_timeout = setTimeout(
|
|
10787
10815
|
// inertia ends after 500ms (educated guess)
|
|
10788
|
-
$b8hua$
|
|
10816
|
+
$b8hua$catchify(() => {
|
|
10789
10817
|
is_in_touch_scroll = false;
|
|
10790
10818
|
diff_over_second_or_touch = 0;
|
|
10791
10819
|
}), 500);
|
|
@@ -10803,9 +10831,9 @@ function $6a16b21155984cef$var$ActualFloatingButtons(_ref2) {
|
|
|
10803
10831
|
const everything_closed = !get_search_filters_open_() && !get_search_sorting_open_();
|
|
10804
10832
|
if (!$b8hua$untrack(modal_is_closed) && everything_closed)
|
|
10805
10833
|
// I think the point of this is to delay the animation a bit IIRC
|
|
10806
|
-
timeout = setTimeout($b8hua$
|
|
10834
|
+
timeout = setTimeout($b8hua$catchify(() => set_if_modal_is_closed(true)), 200);else set_if_modal_is_closed(everything_closed);
|
|
10807
10835
|
});
|
|
10808
|
-
$b8hua$createComputed($b8hua$
|
|
10836
|
+
$b8hua$createComputed($b8hua$catchify(async () => {
|
|
10809
10837
|
const element = sort_and_filter_element_();
|
|
10810
10838
|
if (!element) return;
|
|
10811
10839
|
await (0, $b8hua$observer).wait_for_element(element);
|
|
@@ -10824,7 +10852,7 @@ function $ec225bf1f1627ea8$export$210f130a61ac1e8d(fn) {
|
|
|
10824
10852
|
let last_queued;
|
|
10825
10853
|
let last_value;
|
|
10826
10854
|
let initial_run = true;
|
|
10827
|
-
$b8hua$createComputed($b8hua$
|
|
10855
|
+
$b8hua$createComputed($b8hua$catchify(async () => {
|
|
10828
10856
|
last_value = fn();
|
|
10829
10857
|
if (initial_run) {
|
|
10830
10858
|
initial_run = false;
|
|
@@ -10872,7 +10900,7 @@ function $5e6abec0dab4e610$export$6e49da55e449af7c(_ref) {
|
|
|
10872
10900
|
}]); // get rid of old data the browser saves the old state and will restore it later on
|
|
10873
10901
|
};
|
|
10874
10902
|
|
|
10875
|
-
$b8hua$createComputed($b8hua$
|
|
10903
|
+
$b8hua$createComputed($b8hua$catchify(() => {
|
|
10876
10904
|
const last_result = get_last_result_in_viewport_();
|
|
10877
10905
|
if (last_result == undefined || last_result <= 0 || last_result == Infinity) return;
|
|
10878
10906
|
if (isNaN(last_result)) {
|
|
@@ -10899,7 +10927,7 @@ function $5e6abec0dab4e610$export$6e49da55e449af7c(_ref) {
|
|
|
10899
10927
|
set_to_later = last_result;
|
|
10900
10928
|
// If a delayed push timeout is already running, just changing the value that will be pushed is sufficient
|
|
10901
10929
|
if (timeout) return;
|
|
10902
|
-
timeout = setTimeout($b8hua$
|
|
10930
|
+
timeout = setTimeout($b8hua$catchify(() => {
|
|
10903
10931
|
timeout = undefined;
|
|
10904
10932
|
last_time_history_changed = +new Date();
|
|
10905
10933
|
set_min_results_loaded(set_to_later);
|
|
@@ -11010,7 +11038,7 @@ function $22470de5f42cc35d$export$f631859cab12b342(_ref) {
|
|
|
11010
11038
|
if (!result) return;
|
|
11011
11039
|
return {
|
|
11012
11040
|
href: result.page_url,
|
|
11013
|
-
onClick: $b8hua$
|
|
11041
|
+
onClick: $b8hua$catchify(ev => router_.navigate_.go_to_({
|
|
11014
11042
|
new_url_: result.page_url,
|
|
11015
11043
|
is_replace_: false,
|
|
11016
11044
|
event_: ev
|
|
@@ -11025,7 +11053,7 @@ function $22470de5f42cc35d$export$f631859cab12b342(_ref) {
|
|
|
11025
11053
|
if (content_result_) return $b8hua$ssrElement("a", attributes, () => $b8hua$escape(children), true);
|
|
11026
11054
|
return $b8hua$ssrElement("div", attributes, () => $b8hua$escape(children), true);
|
|
11027
11055
|
};
|
|
11028
|
-
return $b8hua$ssr($22470de5f42cc35d$var$_tmpl$2, $b8hua$ssrHydrationKey(), $b8hua$escape($b8hua$createComponent(LinkIfPossible, $b8hua$
|
|
11056
|
+
return $b8hua$ssr($22470de5f42cc35d$var$_tmpl$2, $b8hua$ssrHydrationKey(), $b8hua$escape($b8hua$createComponent(LinkIfPossible, $b8hua$mergeProps(make_link_attributes, {
|
|
11029
11057
|
tabIndex: "-1",
|
|
11030
11058
|
get children() {
|
|
11031
11059
|
return $b8hua$createComponent((0, $3c5e15c6ee4227a9$export$605674723bcc715c), {
|
|
@@ -11033,7 +11061,7 @@ function $22470de5f42cc35d$export$f631859cab12b342(_ref) {
|
|
|
11033
11061
|
height: "28"
|
|
11034
11062
|
});
|
|
11035
11063
|
}
|
|
11036
|
-
}))), $b8hua$escape($b8hua$createComponent(LinkIfPossible, $b8hua$
|
|
11064
|
+
}))), $b8hua$escape($b8hua$createComponent(LinkIfPossible, $b8hua$mergeProps({
|
|
11037
11065
|
"class": "content-title line-clamp"
|
|
11038
11066
|
}, make_link_attributes, {
|
|
11039
11067
|
get title() {
|
|
@@ -11191,7 +11219,7 @@ function $d53ebed6f63304e4$export$6d0c9c22f6652669(_ref) {
|
|
|
11191
11219
|
return (0, $69602b3d8fd54c38$export$2452208c79fe93ea).content;
|
|
11192
11220
|
},
|
|
11193
11221
|
number_of_results_: num_results
|
|
11194
|
-
})), $b8hua$escape($b8hua$createComponent((0, $63f1f8dbcd07d3b0$export$d21e32dfedac04be), $b8hua$
|
|
11222
|
+
})), $b8hua$escape($b8hua$createComponent((0, $63f1f8dbcd07d3b0$export$d21e32dfedac04be), $b8hua$mergeProps({
|
|
11195
11223
|
layout: "grid",
|
|
11196
11224
|
element_attributes: {
|
|
11197
11225
|
class: "cards"
|
|
@@ -11394,7 +11422,7 @@ function $937791b86d3d1509$export$44f738469d5570cf(_ref) {
|
|
|
11394
11422
|
// We might only have changed the left position which align_field doesn't know about, make it poll the position for a while
|
|
11395
11423
|
setPollAlignment_(true);
|
|
11396
11424
|
if (disableResizePollingTimeout) clearTimeout(disableResizePollingTimeout);
|
|
11397
|
-
disableResizePollingTimeout = setTimeout($b8hua$
|
|
11425
|
+
disableResizePollingTimeout = setTimeout($b8hua$catchify(() => {
|
|
11398
11426
|
setPollAlignment_(false);
|
|
11399
11427
|
disableResizePollingTimeout = undefined;
|
|
11400
11428
|
}), 1000);
|
|
@@ -11527,7 +11555,7 @@ function $da279c5a540c6846$export$a54ec244c8863715(_ref) {
|
|
|
11527
11555
|
} : {})
|
|
11528
11556
|
};
|
|
11529
11557
|
});
|
|
11530
|
-
const [search_results_] = $b8hua$createResource(search_query_base_, $b8hua$
|
|
11558
|
+
const [search_results_] = $b8hua$createResource(search_query_base_, $b8hua$catchify(async base_query => {
|
|
11531
11559
|
set_all_products_loaded(false);
|
|
11532
11560
|
// only first page of results
|
|
11533
11561
|
return await $5e6abec0dab4e610$export$cc42dd29bf655ab6({
|
|
@@ -11575,7 +11603,7 @@ function $da279c5a540c6846$export$a54ec244c8863715(_ref) {
|
|
|
11575
11603
|
const [, setModalFieldStyle] = modal_field_style;
|
|
11576
11604
|
const [, setModalBackdropStyle] = modal_backdrop_style;
|
|
11577
11605
|
const [get_search_field_elements, set_search_field_elements] = $b8hua$createSignal();
|
|
11578
|
-
const SafeSearchField = $b8hua$
|
|
11606
|
+
const SafeSearchField = $b8hua$catchify((0, $584c06c09cf4609d$export$b94867ecbd698f21));
|
|
11579
11607
|
const [sort_or_filter_open_, set_sort_or_filter_open_] = $b8hua$createSignal(false);
|
|
11580
11608
|
const [desktop_filter_elements_, set_desktop_filter_elements] = $b8hua$createSignal();
|
|
11581
11609
|
const n_hits = $b8hua$createMemo(() => {
|
|
@@ -11591,7 +11619,7 @@ function $da279c5a540c6846$export$a54ec244c8863715(_ref) {
|
|
|
11591
11619
|
var _search_results_4, _search_results_4$con;
|
|
11592
11620
|
return ((_search_results_4 = search_results_()) !== null && _search_results_4 !== void 0 && (_search_results_4$con = _search_results_4.content_search_links) !== null && _search_results_4$con !== void 0 && _search_results_4$con.length ? i18n_.no_products_ : i18n_.no_results_text_)();
|
|
11593
11621
|
});
|
|
11594
|
-
const results_for = $b8hua$createComponent((0, $69602b3d8fd54c38$export$9dd50d35b9d94fdf), $b8hua$
|
|
11622
|
+
const results_for = $b8hua$createComponent((0, $69602b3d8fd54c38$export$9dd50d35b9d94fdf), $b8hua$mergeProps({
|
|
11595
11623
|
get type() {
|
|
11596
11624
|
return (0, $69602b3d8fd54c38$export$2452208c79fe93ea).products;
|
|
11597
11625
|
},
|
|
@@ -11635,7 +11663,7 @@ function $da279c5a540c6846$export$a54ec244c8863715(_ref) {
|
|
|
11635
11663
|
$b8hua$runWithOwner(owner, () => results_filters[1](matches ? [results_for, filters_opener] : $b8hua$ssr($da279c5a540c6846$var$_tmpl$, $b8hua$ssrHydrationKey(), $b8hua$escape(results_for), $b8hua$escape(filters_opener))));
|
|
11636
11664
|
}).remove);
|
|
11637
11665
|
$3a2bed57c9a57e21$export$d31a1a1a83ad9413(search_results_, selected_filters_);
|
|
11638
|
-
$b8hua$
|
|
11666
|
+
$b8hua$catchify((0, $5e6abec0dab4e610$export$6e49da55e449af7c))({
|
|
11639
11667
|
scroll_restoration_data_: scroll_restoration_data_,
|
|
11640
11668
|
last_result_in_viewport_: last_result_in_viewport_,
|
|
11641
11669
|
id_: get_search_query_,
|
|
@@ -11681,8 +11709,8 @@ function $da279c5a540c6846$export$a54ec244c8863715(_ref) {
|
|
|
11681
11709
|
setModalBodyStyle({});
|
|
11682
11710
|
modalAlignmentSignalsRef_ === null || modalAlignmentSignalsRef_ === void 0 || modalAlignmentSignalsRef_(alignmentSignals_);
|
|
11683
11711
|
const [pollAlignment, setPollAlignment_] = $b8hua$createSignal(false);
|
|
11684
|
-
const align_position = $b8hua$
|
|
11685
|
-
div_with_field_class.addEventListener("click", $b8hua$
|
|
11712
|
+
const align_position = $b8hua$catchify((0, $1308a7816c3d4f2d$export$b3ad617e9036868))(alignmentSignals_, search_field, (0, $1308a7816c3d4f2d$export$3f238c96c45e6cc6) | (0, $1308a7816c3d4f2d$export$7895aadd1956b1c7) | (modalVersionUsed_ === 1 ? (0, $1308a7816c3d4f2d$export$902f8b4a7dae5d78) : (0, $1308a7816c3d4f2d$export$6060bc6bee850eb6) | (0, $1308a7816c3d4f2d$export$5097308c5200105a)), true, pollAlignment);
|
|
11713
|
+
div_with_field_class.addEventListener("click", $b8hua$catchify(e => {
|
|
11686
11714
|
var _target$matches, _target$closest, _on_open_, _ref4;
|
|
11687
11715
|
const target = e.target;
|
|
11688
11716
|
const sel = ".submit";
|
|
@@ -12089,7 +12117,7 @@ class $eb064bc3350276c1$export$ac6237957a15b3f0 {
|
|
|
12089
12117
|
BackIcon_: BackIcon_
|
|
12090
12118
|
});
|
|
12091
12119
|
$68e6625c8d51f847$export$5162a71f252e6122();
|
|
12092
|
-
$b8hua$
|
|
12120
|
+
$b8hua$catchify(async () => {
|
|
12093
12121
|
const {
|
|
12094
12122
|
open_modal_: open_modal_,
|
|
12095
12123
|
close_modal_: close_modal_
|
|
@@ -12353,7 +12381,7 @@ function $eb064bc3350276c1$export$f2dc7e4e4aa11abb(props) {
|
|
|
12353
12381
|
function $37e8c97bb6876197$export$828dcdd425fd3231(aligner) {
|
|
12354
12382
|
const style_element = document.createElement("style");
|
|
12355
12383
|
document.head.append(style_element);
|
|
12356
|
-
const resize_observer = new ResizeObserver($b8hua$
|
|
12384
|
+
const resize_observer = new ResizeObserver($b8hua$catchify(() => {
|
|
12357
12385
|
const styles = $cc64aabf2c7a1f1a$export$1233ca167bf71f9a({
|
|
12358
12386
|
".depict.plp .depict-search-modal .search-field": {
|
|
12359
12387
|
"height": "".concat(aligner === null || aligner === void 0 ? void 0 : aligner.clientHeight, "px")
|
|
@@ -12424,7 +12452,7 @@ const $169c13c0531d91d2$export$d86a33413558014e = openModalParams => {
|
|
|
12424
12452
|
}, dispose_aligner];
|
|
12425
12453
|
};
|
|
12426
12454
|
function $573c007c697a1831$export$d0596b5cae35ad4(open_search) {
|
|
12427
|
-
const handler = $b8hua$
|
|
12455
|
+
const handler = $b8hua$catchify(e => {
|
|
12428
12456
|
const {
|
|
12429
12457
|
key: key,
|
|
12430
12458
|
target: target
|
|
@@ -12443,7 +12471,7 @@ function $573c007c697a1831$export$d0596b5cae35ad4(open_search) {
|
|
|
12443
12471
|
function $e60a76195ac6d408$export$689e204eadb33baf(pr) {
|
|
12444
12472
|
let old_url;
|
|
12445
12473
|
let disconnect_link_observer;
|
|
12446
|
-
const link_handler = $b8hua$
|
|
12474
|
+
const link_handler = $b8hua$catchify(e => {
|
|
12447
12475
|
const link = e.currentTarget || e.target;
|
|
12448
12476
|
if (link.href === old_url) {
|
|
12449
12477
|
history.pushState(history.state, "", link.href);
|
|
@@ -12452,7 +12480,7 @@ function $e60a76195ac6d408$export$689e204eadb33baf(pr) {
|
|
|
12452
12480
|
});
|
|
12453
12481
|
let remove_added_listeners;
|
|
12454
12482
|
let resolve_remove_added_listeners;
|
|
12455
|
-
pr.addEventListener("open", $b8hua$
|
|
12483
|
+
pr.addEventListener("open", $b8hua$catchify(() => {
|
|
12456
12484
|
remove_added_listeners = new Promise(r => resolve_remove_added_listeners = r);
|
|
12457
12485
|
disconnect_link_observer = (0, $b8hua$observer).onexists("a", async _ref => {
|
|
12458
12486
|
let {
|
|
@@ -12463,12 +12491,12 @@ function $e60a76195ac6d408$export$689e204eadb33baf(pr) {
|
|
|
12463
12491
|
element.removeEventListener("click", link_handler);
|
|
12464
12492
|
});
|
|
12465
12493
|
}));
|
|
12466
|
-
pr.addEventListener("close", $b8hua$
|
|
12494
|
+
pr.addEventListener("close", $b8hua$catchify(() => {
|
|
12467
12495
|
var _disconnect_link_obse, _resolve_remove_added;
|
|
12468
12496
|
(_disconnect_link_obse = disconnect_link_observer) === null || _disconnect_link_obse === void 0 || _disconnect_link_obse();
|
|
12469
12497
|
(_resolve_remove_added = resolve_remove_added_listeners) === null || _resolve_remove_added === void 0 || _resolve_remove_added();
|
|
12470
12498
|
}));
|
|
12471
|
-
$b8hua$
|
|
12499
|
+
$b8hua$catchify(async () => {
|
|
12472
12500
|
for await (const href of (0, $b8hua$href_change_ipns)) if (!pr.is_page_(new URL(href))) old_url = href;
|
|
12473
12501
|
})();
|
|
12474
12502
|
}
|
|
@@ -12566,7 +12594,7 @@ class $f9fd3017c20b774a$export$3ccaa27d81dd8556 extends EventTarget {
|
|
|
12566
12594
|
});
|
|
12567
12595
|
$f9fd3017c20b774a$var$_classPrivateFieldInitSpec(this, $f9fd3017c20b774a$var$_unload, {
|
|
12568
12596
|
writable: true,
|
|
12569
|
-
value: /*@__PURE__*/$b8hua$
|
|
12597
|
+
value: /*@__PURE__*/$b8hua$catchify(() => {
|
|
12570
12598
|
var _classPrivateFieldGet3;
|
|
12571
12599
|
if (!$b8hua$babelruntimehelpersclassPrivateFieldGet(this, $f9fd3017c20b774a$var$_is_open)) return;
|
|
12572
12600
|
(_classPrivateFieldGet3 = $b8hua$babelruntimehelpersclassPrivateFieldGet(this, $f9fd3017c20b774a$var$_disconnect_observer)) === null || _classPrivateFieldGet3 === void 0 || _classPrivateFieldGet3.call(this);
|
|
@@ -12580,7 +12608,7 @@ class $f9fd3017c20b774a$export$3ccaa27d81dd8556 extends EventTarget {
|
|
|
12580
12608
|
});
|
|
12581
12609
|
$f9fd3017c20b774a$var$_classPrivateFieldInitSpec(this, $f9fd3017c20b774a$var$_load, {
|
|
12582
12610
|
writable: true,
|
|
12583
|
-
value: /*@__PURE__*/$b8hua$
|
|
12611
|
+
value: /*@__PURE__*/$b8hua$catchify(async els => {
|
|
12584
12612
|
$b8hua$babelruntimehelpersclassPrivateFieldSet(this, $f9fd3017c20b774a$var$_is_open, true);
|
|
12585
12613
|
// So that #load doesn't get called again
|
|
12586
12614
|
let set_should_stay_inserted;
|
|
@@ -12644,7 +12672,7 @@ class $f9fd3017c20b774a$export$3ccaa27d81dd8556 extends EventTarget {
|
|
|
12644
12672
|
async function $f9fd3017c20b774a$var$_listen2() {
|
|
12645
12673
|
const [exit_ipns, exitable_ipns] = $b8hua$make_asyncIterable_exiter((0, $b8hua$href_change_ipns));
|
|
12646
12674
|
$b8hua$babelruntimehelpersclassPrivateFieldSet(this, $f9fd3017c20b774a$var$_stop_listening, exit_ipns);
|
|
12647
|
-
const caught_page_check_fn = $b8hua$
|
|
12675
|
+
const caught_page_check_fn = $b8hua$catchify(this.is_page_, "page check failed");
|
|
12648
12676
|
for await (const href of exitable_ipns) {
|
|
12649
12677
|
const url = new URL(href);
|
|
12650
12678
|
if (!caught_page_check_fn(url)) {
|
|
@@ -12662,12 +12690,12 @@ function $f9fd3017c20b774a$var$_get_rendered_recs2() {
|
|
|
12662
12690
|
this.addEventListener("close", dispose, {
|
|
12663
12691
|
once: true
|
|
12664
12692
|
});
|
|
12665
|
-
return $b8hua$
|
|
12693
|
+
return $b8hua$catchify(this.render_, "rendering failed")() || [];
|
|
12666
12694
|
});
|
|
12667
12695
|
}
|
|
12668
12696
|
function $f9fd3017c20b774a$var$_empty_page_bugfix2() {
|
|
12669
12697
|
// Called when a "page" is "opened" using PageReplacer
|
|
12670
|
-
const on_maybe_popstate = $b8hua$
|
|
12698
|
+
const on_maybe_popstate = $b8hua$catchify(what_happened => {
|
|
12671
12699
|
if (what_happened !== "popstate") return;
|
|
12672
12700
|
const cleaned_current_url = $f9fd3017c20b774a$var$clean_url(location.href);
|
|
12673
12701
|
if (!$f9fd3017c20b774a$var$_classStaticPrivateFieldSpecGet($f9fd3017c20b774a$export$3ccaa27d81dd8556, $f9fd3017c20b774a$export$3ccaa27d81dd8556, $f9fd3017c20b774a$var$_visited_urls).has(cleaned_current_url)) {
|
|
@@ -12710,7 +12738,7 @@ var $f9fd3017c20b774a$var$_visited_urls = {
|
|
|
12710
12738
|
writable: true,
|
|
12711
12739
|
value: /*@__PURE__*/(() => {
|
|
12712
12740
|
// 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).
|
|
12713
|
-
$b8hua$
|
|
12741
|
+
$b8hua$catchify(async () => {
|
|
12714
12742
|
// Static initialization blocks aren't supported in MobileSafari yet, otherwise this would be one.
|
|
12715
12743
|
// 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).
|
|
12716
12744
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Static_initialization_blocks
|
|
@@ -12767,7 +12795,7 @@ function $a3026fb727bc7550$export$316f6f283ae64765(props) {
|
|
|
12767
12795
|
field_: $b8hua$createSignal({}),
|
|
12768
12796
|
backdrop_: backdropAlignmentSignal_
|
|
12769
12797
|
};
|
|
12770
|
-
const defaultHandler = $b8hua$
|
|
12798
|
+
const defaultHandler = $b8hua$catchify(e => {
|
|
12771
12799
|
const {
|
|
12772
12800
|
modalVersionUsed_: modalVersionUsed_
|
|
12773
12801
|
} = shared_properties;
|
|
@@ -12899,7 +12927,7 @@ function $43fbb365ed0ac99e$export$466cdc317043f6cb(_ref) {
|
|
|
12899
12927
|
$b8hua$createComputed(() => {
|
|
12900
12928
|
var _place_holdey_quickli, _place_holdey_quickli2;
|
|
12901
12929
|
if ((_place_holdey_quickli = place_holdey_quicklinks_data()) !== null && _place_holdey_quickli !== void 0 && (_place_holdey_quickli2 = _place_holdey_quickli[0]) !== null && _place_holdey_quickli2 !== void 0 && _place_holdey_quickli2.listing_id) {
|
|
12902
|
-
if (last_was_placeholder) queueMicrotask($b8hua$
|
|
12930
|
+
if (last_was_placeholder) queueMicrotask($b8hua$catchify(() => {
|
|
12903
12931
|
var _sliding_element;
|
|
12904
12932
|
(_sliding_element = sliding_element) === null || _sliding_element === void 0 || _sliding_element.scrollTo({
|
|
12905
12933
|
left: 0
|
|
@@ -12968,7 +12996,7 @@ function $43fbb365ed0ac99e$export$466cdc317043f6cb(_ref) {
|
|
|
12968
12996
|
} else if (!(((_intersecting_items_o = intersecting_items_object[selected_index()]) === null || _intersecting_items_o === void 0 ? void 0 : _intersecting_items_o.intersectionRatio) >= 0.95)) {
|
|
12969
12997
|
// negated larger than to handle left side of comparison being undefined
|
|
12970
12998
|
let done_work = false;
|
|
12971
|
-
$b8hua$runWithOwner(owner, () => $b8hua$createComputed($b8hua$
|
|
12999
|
+
$b8hua$runWithOwner(owner, () => $b8hua$createComputed($b8hua$catchify(() => {
|
|
12972
13000
|
if (done_work || !Array.isArray(quicklinks_data_())) return;
|
|
12973
13001
|
const sel_index = selected_index();
|
|
12974
13002
|
const target_element = sel_index >= 0 ? sel_index : 0;
|
|
@@ -13125,7 +13153,7 @@ function $a4777acaffa35a82$export$3945d6db2dfd3d12(_ref) {
|
|
|
13125
13153
|
const handler = () => allow_filter_clearing = false;
|
|
13126
13154
|
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
|
|
13127
13155
|
$b8hua$onCleanup(() => window.removeEventListener("popstate", handler));
|
|
13128
|
-
$b8hua$createEffect($b8hua$on(crumb_data_, $b8hua$
|
|
13156
|
+
$b8hua$createEffect($b8hua$on(crumb_data_, $b8hua$catchify(new_crumb_data => {
|
|
13129
13157
|
const id_of_new_data = id_to_query_for_();
|
|
13130
13158
|
const type_of_id_of_new_data = id_type_();
|
|
13131
13159
|
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_)) {
|
|
@@ -13210,11 +13238,11 @@ function $3b772ef9a35560fe$export$780a853d15174484(_ref) {
|
|
|
13210
13238
|
} = _ref;
|
|
13211
13239
|
if (type === "image") {
|
|
13212
13240
|
const [wrapperSize, setWrapperSize] = $b8hua$createSignal();
|
|
13213
|
-
return $b8hua$createComponent((0, $b8hua$Dynamic), $b8hua$
|
|
13241
|
+
return $b8hua$createComponent((0, $b8hua$Dynamic), $b8hua$mergeProps({
|
|
13214
13242
|
component: link ? "a" : "div",
|
|
13215
13243
|
"class": "d-standard-content-wrapper",
|
|
13216
13244
|
get onClick() {
|
|
13217
|
-
return $b8hua$
|
|
13245
|
+
return $b8hua$catchify1(ev => link && router_.navigate_.go_to_({
|
|
13218
13246
|
new_url_: link,
|
|
13219
13247
|
is_replace_: false,
|
|
13220
13248
|
event_: ev
|
|
@@ -13224,12 +13252,14 @@ function $3b772ef9a35560fe$export$780a853d15174484(_ref) {
|
|
|
13224
13252
|
href: link
|
|
13225
13253
|
}, {
|
|
13226
13254
|
get children() {
|
|
13227
|
-
return $b8hua$createComponent((0, $
|
|
13228
|
-
|
|
13229
|
-
|
|
13230
|
-
|
|
13231
|
-
|
|
13232
|
-
|
|
13255
|
+
return $b8hua$createComponent((0, $98688279b9059f50$export$140423fa4bfb6d63), {
|
|
13256
|
+
size: () => {
|
|
13257
|
+
var _wrapperSize, _wrapperSize$;
|
|
13258
|
+
return ((_wrapperSize = wrapperSize()) === null || _wrapperSize === void 0 ? void 0 : (_wrapperSize$ = _wrapperSize[0]) === null || _wrapperSize$ === void 0 ? void 0 : _wrapperSize$.call(_wrapperSize)) || 0;
|
|
13259
|
+
},
|
|
13260
|
+
sizeHeight: () => {
|
|
13261
|
+
var _wrapperSize2, _wrapperSize2$;
|
|
13262
|
+
return ((_wrapperSize2 = wrapperSize()) === null || _wrapperSize2 === void 0 ? void 0 : (_wrapperSize2$ = _wrapperSize2[1]) === null || _wrapperSize2$ === void 0 ? void 0 : _wrapperSize2$.call(_wrapperSize2)) || 0;
|
|
13233
13263
|
},
|
|
13234
13264
|
src: mediaUrl,
|
|
13235
13265
|
"class": "d-standard-content"
|
|
@@ -13344,7 +13374,7 @@ function $4b4b262708b516ee$export$f7d2f673fc2f091d(_ref) {
|
|
|
13344
13374
|
// Make "Get products in listing" request to get products in listing
|
|
13345
13375
|
const [plp_products_] = $b8hua$createResource(products_query_base_,
|
|
13346
13376
|
// 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)
|
|
13347
|
-
$b8hua$
|
|
13377
|
+
$b8hua$catchify1(base_query => $5e6abec0dab4e610$export$cc42dd29bf655ab6({
|
|
13348
13378
|
id_: $b8hua$untrack(id_to_query_for_),
|
|
13349
13379
|
scroll_restoration_data_: scroll_restoration_data_,
|
|
13350
13380
|
min_products_to_fetch_: min_products_to_fetch_,
|
|
@@ -13364,7 +13394,7 @@ function $4b4b262708b516ee$export$f7d2f673fc2f091d(_ref) {
|
|
|
13364
13394
|
id_type_: id_type_()
|
|
13365
13395
|
}));
|
|
13366
13396
|
// Make "Get Listing" request to get quicklinks, breadcrumbs, title, etc
|
|
13367
|
-
const [plp_meta] = $b8hua$createResource(meta_query_base, $b8hua$
|
|
13397
|
+
const [plp_meta] = $b8hua$createResource(meta_query_base, $b8hua$catchify1(query => depict_api_.get_listing(query)));
|
|
13368
13398
|
const contentBlocksByRow = $12ff24fdc4b26d88$export$7a92d995f1bf3592(history_content_blocks_, plp_meta, content_blocks_by_row_, router_);
|
|
13369
13399
|
const available_sortings_ = $b8hua$createMemo(() => {
|
|
13370
13400
|
var _plp_products_, _plp_products_$sorts;
|
|
@@ -13499,7 +13529,7 @@ function $4b4b262708b516ee$export$f7d2f673fc2f091d(_ref) {
|
|
|
13499
13529
|
filterModalParent_: filterModalParent_,
|
|
13500
13530
|
...extra_sort_and_filter_args_
|
|
13501
13531
|
});
|
|
13502
|
-
$b8hua$
|
|
13532
|
+
$b8hua$catchify1((0, $5e6abec0dab4e610$export$6e49da55e449af7c))({
|
|
13503
13533
|
scroll_restoration_data_: scroll_restoration_data_,
|
|
13504
13534
|
last_result_in_viewport_: last_result_in_viewport_,
|
|
13505
13535
|
id_: id_to_query_for_,
|
|
@@ -13513,7 +13543,7 @@ function $4b4b262708b516ee$export$f7d2f673fc2f091d(_ref) {
|
|
|
13513
13543
|
$b8hua$createComputed(() => {
|
|
13514
13544
|
if (plp_products_.loading) set_can_write_scroll_restoration(false);else if (plp_products_()) set_can_write_scroll_restoration(true);
|
|
13515
13545
|
});
|
|
13516
|
-
$b8hua$createRenderEffect($b8hua$
|
|
13546
|
+
$b8hua$createRenderEffect($b8hua$catchify1(async () => {
|
|
13517
13547
|
var _only_show_filters_op;
|
|
13518
13548
|
const slim = is_slim_();
|
|
13519
13549
|
const only_show_filters_opener = (_only_show_filters_op = only_show_filters_opener_) === null || _only_show_filters_op === void 0 ? void 0 : _only_show_filters_op();
|
|
@@ -13656,7 +13686,7 @@ function $4b4b262708b516ee$var$add_us_to_crumbs(plp_meta) {
|
|
|
13656
13686
|
var _plp_meta3;
|
|
13657
13687
|
const api_value = (_plp_meta3 = plp_meta()) === null || _plp_meta3 === void 0 ? void 0 : _plp_meta3.breadcrumbs;
|
|
13658
13688
|
if (!api_value) return api_value;
|
|
13659
|
-
return [...api_value, $b8hua$
|
|
13689
|
+
return [...api_value, $b8hua$mergeProps1(plp_meta(), {
|
|
13660
13690
|
get page_url() {
|
|
13661
13691
|
return href_accessor();
|
|
13662
13692
|
}
|
|
@@ -13770,4 +13800,4 @@ function $8821a19349c36651$export$e2bf8ce7779e827e(props) {
|
|
|
13770
13800
|
}, "Entire CategoryPage failed");
|
|
13771
13801
|
}
|
|
13772
13802
|
$b8hua$add_to_version_info("ui", (0, $8db9a15135765c11$export$83d89fbfd8236492));
|
|
13773
|
-
export { $ff7feae4dddd6073$export$92aa5d691d588f3f as remap_blocks_to_index, $715f7f2e53146662$export$d4d96868197be50e as useMobileHover, $a35e6f680c5bbc60$export$54299a3c81f5425 as useVisibilityState, $002f09d00aac50b2$export$eaa625fb39439e37 as useSlidableInformation, $618bd53ea0a41cd4$export$80bb7300ce6a8be3 as useProductCardIsVisible, $618bd53ea0a41cd4$export$f223d69ed12f5fb7 as CurrentlyIntersectingContext, $8e8b179489080711$export$5bad61ecde080b1f as useExpandingContainerReactive, $bb34cd283e904784$export$2c9f9bf2092486aa as LooksSliderOrGrid, $22dd375b476673e2$export$44809a8a3e867e30 as LookCard, $ac571292d606f30b$export$7e1297a3a19f10d8 as PseudoRouter, $6d75ec14f537c37f$export$83bb9af5671e1dbe as promiseSafeStructuredClone, $68e6625c8d51f847$export$5162a71f252e6122 as preserve_items_in_history_dot_state, $68e6625c8d51f847$export$3064e1e8c6513da3 as prefixes_to_preserve_in_history_dot_state, $9b35d1384e31813a$export$29d28dadc2d6b631 as allowNativeNavigation, $b026fa9c9c904a98$export$1ea76ea778b880dd as modalVersionSymbol, $a604a8ffa4e4c03f$export$e417c49320921907 as createDeparallelizedNoDropResource, $01c33966d9ddb108$export$f50b88e2a00918b5 as throw_globally, $40411f2ec772c376$export$9265e66f26f8e383 as ClassicSearchModal, $06fcd2a345efd24d$export$b0c55aa2e87c4be7 as SearchModalV2, $98688279b9059f50$export$9d4a4b669b1929ab as ModernResponsiveContainedImage, $6a439680ae7e9ba3$export$3e41faf802a29e71 as Tab, $6a439680ae7e9ba3$export$b2539bed5023c21c as Tabs, $6b0fd8fd20df8ccf$export$d4973c31938cbfd1 as ShopTheLookButton, $972f6bce0f9d61be$export$e183a13865960371 as history_dot_state_to_state, $2855bffe06ef7a03$export$916e6850778505f6 as strip_encoded_filter_and_sort, $2855bffe06ef7a03$export$58aa3f171519b6d7 as encode_filters, $2855bffe06ef7a03$export$f934fa24c3a86811 as decode_filters, $2855bffe06ef7a03$export$62acb285a7579555 as encode_sorting, $2855bffe06ef7a03$export$766e9676e74997d3 as decode_sorting, $4df489344a0f97c7$export$d7b7ab832c20e2f4 as shopifyContainedImageContextSymbol, $5441862cd2f5e111$export$e68cff63f76bd15b as ListingProvider, $5441862cd2f5e111$export$8d0c4fdbb05a2f2e as useListing, $1e69163caedaab4e$export$11354f017ddc9790 as ProductCardIndexProvider, $1e69163caedaab4e$export$e3faf4d95300054f as useProductCardIndex, $4df489344a0f97c7$export$e4b984597b71e989 as ShopifyContainedImage, $002f09d00aac50b2$export$6649caad96ef8870 as SlidableItems, $fc830a7ee59416ef$export$ebdc3711f7e02ccd as make_accurate_width_accessor, $d5d7e58c5c9d8db0$export$9574e176201e5e8d as RecommendationSlider, $b432b11321ad4c97$export$9756467d34d91cdb as RecommendationGrid, $56047603f9d212b6$export$6e5611bc7e57e477 as ShopifyResponsiveImg, $
|
|
13803
|
+
export { $98688279b9059f50$export$140423fa4bfb6d63 as ModernResponsiveImage, $80c7883e020be192$export$f98b8d5ea7207a1 as setExtraDisplayTransformers, $80c7883e020be192$export$b2d94be4f02525b2 as getExtraDisplayTransformers, $ff7feae4dddd6073$export$92aa5d691d588f3f as remap_blocks_to_index, $715f7f2e53146662$export$d4d96868197be50e as useMobileHover, $a35e6f680c5bbc60$export$54299a3c81f5425 as useVisibilityState, $002f09d00aac50b2$export$eaa625fb39439e37 as useSlidableInformation, $618bd53ea0a41cd4$export$80bb7300ce6a8be3 as useProductCardIsVisible, $618bd53ea0a41cd4$export$f223d69ed12f5fb7 as CurrentlyIntersectingContext, $8e8b179489080711$export$5bad61ecde080b1f as useExpandingContainerReactive, $bb34cd283e904784$export$2c9f9bf2092486aa as LooksSliderOrGrid, $22dd375b476673e2$export$44809a8a3e867e30 as LookCard, $ac571292d606f30b$export$7e1297a3a19f10d8 as PseudoRouter, $6d75ec14f537c37f$export$83bb9af5671e1dbe as promiseSafeStructuredClone, $68e6625c8d51f847$export$5162a71f252e6122 as preserve_items_in_history_dot_state, $68e6625c8d51f847$export$3064e1e8c6513da3 as prefixes_to_preserve_in_history_dot_state, $9b35d1384e31813a$export$29d28dadc2d6b631 as allowNativeNavigation, $b026fa9c9c904a98$export$1ea76ea778b880dd as modalVersionSymbol, $a604a8ffa4e4c03f$export$e417c49320921907 as createDeparallelizedNoDropResource, $01c33966d9ddb108$export$f50b88e2a00918b5 as throw_globally, $40411f2ec772c376$export$9265e66f26f8e383 as ClassicSearchModal, $06fcd2a345efd24d$export$b0c55aa2e87c4be7 as SearchModalV2, $98688279b9059f50$export$9d4a4b669b1929ab as ModernResponsiveContainedImage, $6a439680ae7e9ba3$export$3e41faf802a29e71 as Tab, $6a439680ae7e9ba3$export$b2539bed5023c21c as Tabs, $6b0fd8fd20df8ccf$export$d4973c31938cbfd1 as ShopTheLookButton, $972f6bce0f9d61be$export$e183a13865960371 as history_dot_state_to_state, $2855bffe06ef7a03$export$916e6850778505f6 as strip_encoded_filter_and_sort, $2855bffe06ef7a03$export$58aa3f171519b6d7 as encode_filters, $2855bffe06ef7a03$export$f934fa24c3a86811 as decode_filters, $2855bffe06ef7a03$export$62acb285a7579555 as encode_sorting, $2855bffe06ef7a03$export$766e9676e74997d3 as decode_sorting, $4df489344a0f97c7$export$d7b7ab832c20e2f4 as shopifyContainedImageContextSymbol, $5441862cd2f5e111$export$e68cff63f76bd15b as ListingProvider, $5441862cd2f5e111$export$8d0c4fdbb05a2f2e as useListing, $1e69163caedaab4e$export$11354f017ddc9790 as ProductCardIndexProvider, $1e69163caedaab4e$export$e3faf4d95300054f as useProductCardIndex, $4df489344a0f97c7$export$e4b984597b71e989 as ShopifyContainedImage, $002f09d00aac50b2$export$6649caad96ef8870 as SlidableItems, $fc830a7ee59416ef$export$ebdc3711f7e02ccd as make_accurate_width_accessor, $d5d7e58c5c9d8db0$export$9574e176201e5e8d as RecommendationSlider, $b432b11321ad4c97$export$9756467d34d91cdb as RecommendationGrid, $56047603f9d212b6$export$6e5611bc7e57e477 as ShopifyResponsiveImg, $801e8845d3fa3653$export$94026ee33dbabc26 as ImageContainer, $74777e8fe65b3dcb$export$b69d0d92862de18b as SentryErrorBoundary, $74777e8fe65b3dcb$export$240ecf5363d76c0f as ExtraSentryContextProvider, $ad371564683947ab$export$6c6d7a51fa9aa15d as ExpandingDetails, $e18ab2868df26f40$export$f091cbac892643a4 as accessor_of_object_to_object_with_accessor_values, $4711a82d08d2021b$export$fecbb157621501bd as SelectedFilters, $f6b0500577e1b210$export$3f1a388cc0d8fed7 as FilterBody, $44aa24b1bb793549$export$b288c38ae3fddb56 as create_modified_filters, $63f1f8dbcd07d3b0$export$d21e32dfedac04be as SolidLayout, $63f1f8dbcd07d3b0$export$445d8d3f5f706a40 as SolidLayoutWithProvidedElement, $d5f1e6a0f9117286$export$79b1565500412d9b as general_modal_abstraction, $9783d437ad61594c$export$3b621d86b1566b2 as CrossIcon, $ca6ab5f08bd28bca$export$8be2714ec7f169ee as GenericSliderArrowButton, $50aebf5b445518eb$export$58e808b1db15d3bc as fetchDepictRecommendations, $fa332ea03168857c$export$b91cec6bdc6b32a1 as CategoryTitle, $702d7656a373973e$export$824dde41348efed1 as embedded_num_products, $160ea2b55d8772d2$export$c1a6b039e689a58e as get_listings, $f5f54892fd0c7d9f$export$f34314aa9505732e as DepictCategory, $eb064bc3350276c1$export$ac6237957a15b3f0 as DepictSearch, $eb064bc3350276c1$export$bde3eb976dfded9 as get_search_query_updating_blocked_signal, $eb064bc3350276c1$export$f2dc7e4e4aa11abb as SearchPage, $f3b7124b76123e44$export$aa14a9f43128f61f as ProductCardError, $169c13c0531d91d2$export$d86a33413558014e as open_modal_with_alignment, $5eaa00b951637e96$export$ee1733d9a8495996 as DefaultInstantCardPlaceholder, $1308a7816c3d4f2d$export$b3ad617e9036868 as align_field, $1308a7816c3d4f2d$export$3f238c96c45e6cc6 as ALIGN_TOP, $1308a7816c3d4f2d$export$902f8b4a7dae5d78 as ALIGN_WIDTH_ON_MODAL, $1308a7816c3d4f2d$export$7895aadd1956b1c7 as ALIGN_LEFT, $1308a7816c3d4f2d$export$6060bc6bee850eb6 as SET_CENTERED_LEFT, $a9c7ba6087881ac2$export$6daf8749b65a1b77 as convert_sdk_cols_at_size_to_layout, $cc64aabf2c7a1f1a$export$1233ca167bf71f9a as styles_to_valid_css_string, $e56d241d0f33d459$export$fe334901e8bebd57 as disable_scrolling, $573c007c697a1831$export$d0596b5cae35ad4 as open_search_with_shift_slash, $284849364a6ef73a$export$e015ed2f2950f2e3 as DepictAPI, $00a5b94f0c11efbb$export$d9f36cf74e24d595 as media_query_to_accessor, $e60a76195ac6d408$export$689e204eadb33baf as setup_fast_leave, $a61a2051e15c8d7a$export$5196e4c01fa56fcb as show_toast, $60ec7a29849d81db$export$a71e92cfbb498adc as SolidFormatPrice, $37e8c97bb6876197$export$828dcdd425fd3231 as connect_search_field_height_to_aligner_height, $bc2337c9a05ecd18$export$acb3eaade4b23afd as BasePlaceholder, $ceafb6fb91c6f394$export$89c6019e4baa40b1 as TextPlaceholder, $3ab4aa97880fb88d$export$3f37af283f8fb843 as ImagePlaceholder, $f9fd3017c20b774a$export$3ccaa27d81dd8556 as PageReplacer, $d399250dfa491636$export$864d304a0bc46829 as defaultGridSpacing, $d399250dfa491636$export$c3834fa86c616831 as defaultColsAtSize, $d399250dfa491636$export$7bf543b9d9be2c22 as defaultCategoryTitlePlugin, $8db9a15135765c11$export$83d89fbfd8236492 as version, $a3026fb727bc7550$export$316f6f283ae64765 as SearchField, $62a8813a51fbd22f$export$5b7c3ce0ebe51f86 as BreadCrumbs, $62a8813a51fbd22f$export$de035477d6fef996 as QuickLinks, $8821a19349c36651$export$e2bf8ce7779e827e as CategoryPage, $4be619ec2cd7bba3$export$54c6d6ff54e72743 as makeSizeAccessors };
|