@depict-ai/ui 4.7.18 → 4.7.20

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 CHANGED
@@ -19,6 +19,7 @@ function $parcel$interopDefault(a) {
19
19
  return a && a.__esModule ? a.default : a;
20
20
  }
21
21
  $parcel$export(module.exports, "useProductCardIsVisible", () => $a52942afacbced93$export$80bb7300ce6a8be3);
22
+ $parcel$export(module.exports, "CurrentlyIntersectingContext", () => $a52942afacbced93$export$f223d69ed12f5fb7);
22
23
  $parcel$export(module.exports, "useExpandingContainerReactive", () => $d6d51b09cb2116a6$export$5bad61ecde080b1f);
23
24
  $parcel$export(module.exports, "LooksSliderOrGrid", () => $e57cd46536ad992e$export$2c9f9bf2092486aa);
24
25
  $parcel$export(module.exports, "LookCard", () => $47e3c3102c78121b$export$44809a8a3e867e30);
@@ -105,7 +106,7 @@ $parcel$export(module.exports, "BreadCrumbs", () => $335c02c1241a9ca8$export$5b7
105
106
  $parcel$export(module.exports, "QuickLinks", () => $335c02c1241a9ca8$export$de035477d6fef996);
106
107
  $parcel$export(module.exports, "CategoryPage", () => $c10e33c4681f8c9b$export$e2bf8ce7779e827e);
107
108
  /*! Depict.ai search and product listing SDK */
108
- const $aa1938dec50d6c12$export$83d89fbfd8236492 = "4.7.18";
109
+ const $aa1938dec50d6c12$export$83d89fbfd8236492 = "4.7.20";
109
110
 
110
111
  /**
111
112
  * Gets product_id (the thing we key the rendering on) from a display
@@ -347,7 +348,7 @@ function $76012c4468a53d1f$var$deep_equal(obj1, obj2) {
347
348
  }
348
349
  return true;
349
350
  }
350
- const $a52942afacbced93$var$CurrentlyIntersectingContext = /*@__PURE__*/$52FdA$solidjs.createContext();
351
+ const $a52942afacbced93$export$f223d69ed12f5fb7 = /*@__PURE__*/$52FdA$solidjs.createContext();
351
352
  function $a52942afacbced93$export$4a14175d33d81a96(_ref) {
352
353
  let {
353
354
  displays_by_key_: displays_by_key_,
@@ -389,7 +390,7 @@ function $a52942afacbced93$export$4a14175d33d81a96(_ref) {
389
390
  }
390
391
  setCurrentlyIntersecting(intersectingValue);
391
392
  }, "renderDisplays IO failed"));
392
- const renderedDisplays_ = $52FdA$solidjsweb.createComponent($a52942afacbced93$var$CurrentlyIntersectingContext.Provider, {
393
+ const renderedDisplays_ = $52FdA$solidjsweb.createComponent($a52942afacbced93$export$f223d69ed12f5fb7.Provider, {
393
394
  value: {
394
395
  currentlyIntersecting_: currentlyIntersecting,
395
396
  setIsListening_: setListenersForIntersecting
@@ -434,7 +435,7 @@ function $a52942afacbced93$export$80bb7300ce6a8be3() {
434
435
  const {
435
436
  setIsListening_: setIsListening_,
436
437
  currentlyIntersecting_: currentlyIntersecting_
437
- } = $52FdA$solidjs.useContext($a52942afacbced93$var$CurrentlyIntersectingContext) || {};
438
+ } = $52FdA$solidjs.useContext($a52942afacbced93$export$f223d69ed12f5fb7) || {};
438
439
  const getOurIndex = $b54645378dfc7280$export$e3faf4d95300054f();
439
440
  const isVisible = $52FdA$solidjs.createMemo(() => currentlyIntersecting_ === null || currentlyIntersecting_ === void 0 ? void 0 : currentlyIntersecting_().has(getOurIndex === null || getOurIndex === void 0 ? void 0 : getOurIndex()));
440
441
  setIsListening_ === null || setIsListening_ === void 0 || setIsListening_(prev => prev + 1);
@@ -513,13 +514,15 @@ function $8edd3cf30d1fd8b4$export$a2cc176055f8f08() {
513
514
  t: "<!-- ".concat(text, " -->")
514
515
  } : document.createComment(text);
515
516
  }
516
- let $e3915574cfd3466c$var$cached_placeholder_element;
517
- let $e3915574cfd3466c$var$rendering_cached_placeholder_element;
517
+ const $e3915574cfd3466c$var$defaultCacheKey = /*@__PURE__*/Symbol();
518
+ const $e3915574cfd3466c$var$cachedPlaceholderElements = {};
519
+ const $e3915574cfd3466c$var$renderingCachedPlaceholderElement = {};
518
520
  function $e3915574cfd3466c$export$f33414a4df0afd3f(_ref) {
519
521
  let {
520
522
  product_card_template_: product_card_template_,
521
523
  num_placeholders_: num_placeholders_,
522
- content_blocks_: content_blocks_
524
+ content_blocks_: content_blocks_,
525
+ placeholderCacheKey_: placeholderCacheKey_
523
526
  } = _ref;
524
527
  const [num_to_actually_show, set_num_to_actually_show] = $52FdA$solidjs.createSignal($52FdA$solidjs.untrack(num_placeholders_));
525
528
  if (0, $52FdA$solidjsweb.isServer)
@@ -556,7 +559,8 @@ function $e3915574cfd3466c$export$f33414a4df0afd3f(_ref) {
556
559
  });
557
560
  // Show content block before product card, so it's *at* that index
558
561
  return [possible_content_block, $e3915574cfd3466c$var$Placeholder({
559
- product_card_template_: product_card_template_
562
+ product_card_template_: product_card_template_,
563
+ placeholderCacheKey_: placeholderCacheKey_
560
564
  })]; // https://github.com/solidjs/solid/releases/tag/v1.7.0
561
565
  }
562
566
  });
@@ -566,23 +570,25 @@ function $e3915574cfd3466c$export$f33414a4df0afd3f(_ref) {
566
570
  */
567
571
  function $e3915574cfd3466c$var$Placeholder(_ref2) {
568
572
  let {
569
- product_card_template_: product_card_template_
573
+ product_card_template_: product_card_template_,
574
+ placeholderCacheKey_ = $e3915574cfd3466c$var$defaultCacheKey
570
575
  } = _ref2;
571
576
  const get_cloned_placeholders = function () {
572
- let element_to_clone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : $e3915574cfd3466c$var$cached_placeholder_element;
577
+ let element_to_clone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : $e3915574cfd3466c$var$cachedPlaceholderElements[placeholderCacheKey_];
573
578
  return Array.isArray(element_to_clone) ? element_to_clone.map(el => el instanceof Node ? el.cloneNode(true) : el) : element_to_clone;
574
579
  };
575
- if ($e3915574cfd3466c$var$cached_placeholder_element) return get_cloned_placeholders();
580
+ if ($e3915574cfd3466c$var$cachedPlaceholderElements[placeholderCacheKey_]) return get_cloned_placeholders();
576
581
  let dispose_original_copy;
577
582
  const get_unwrapped_element = $52FdA$solidjs.createRoot(dispose => {
578
583
  dispose_original_copy = dispose;
579
584
  // if product_card_template_ is async and rejects the resource will take care of throwing upwards here in the solid-js error handling system
580
585
  const [resource] = $52FdA$solidjs.createResource(() => {
581
- if ($e3915574cfd3466c$var$rendering_cached_placeholder_element) return $e3915574cfd3466c$var$rendering_cached_placeholder_element;
586
+ const rendering_cached_placeholder_element = $e3915574cfd3466c$var$renderingCachedPlaceholderElement[placeholderCacheKey_];
587
+ if (rendering_cached_placeholder_element) return rendering_cached_placeholder_element;
582
588
  const return_value = product_card_template_(null, undefined);
583
589
  if (typeof return_value === "object" && typeof (return_value === null || return_value === void 0 ? void 0 : return_value.then) === "function")
584
590
  // Is Promise or promise-like object
585
- $e3915574cfd3466c$var$rendering_cached_placeholder_element = return_value;
591
+ $e3915574cfd3466c$var$renderingCachedPlaceholderElement[placeholderCacheKey_] = return_value;
586
592
  return return_value;
587
593
  });
588
594
  return $52FdA$solidjs.createMemo(() => {
@@ -591,14 +597,14 @@ function $e3915574cfd3466c$var$Placeholder(_ref2) {
591
597
  });
592
598
  });
593
599
  $52FdA$solidjs.onCleanup(() => {
594
- if ($e3915574cfd3466c$var$rendering_cached_placeholder_element) {
595
- var _rendering_cached_pla;
600
+ const rendering = $e3915574cfd3466c$var$renderingCachedPlaceholderElement[placeholderCacheKey_];
601
+ if (rendering) {
596
602
  // If we're still rendering in our separate root, let the rendering finish or other <Placeholder> components waiting for it might get an incomplete result
597
603
  const unset_current_rendering = () => {
598
604
  dispose_original_copy();
599
- $e3915574cfd3466c$var$rendering_cached_placeholder_element = undefined;
605
+ $e3915574cfd3466c$var$renderingCachedPlaceholderElement[placeholderCacheKey_] = undefined;
600
606
  };
601
- (_rendering_cached_pla = $e3915574cfd3466c$var$rendering_cached_placeholder_element) === null || _rendering_cached_pla === void 0 || _rendering_cached_pla.then(unset_current_rendering, unset_current_rendering);
607
+ rendering === null || rendering === void 0 || rendering.then(unset_current_rendering, unset_current_rendering);
602
608
  } else
603
609
  // Otherwise, just make sure we've disposed our root
604
610
  dispose_original_copy();
@@ -610,8 +616,8 @@ function $e3915574cfd3466c$var$Placeholder(_ref2) {
610
616
  return;
611
617
  // placeholders have finished rendering, freeze the elements
612
618
  // here we might receive the result of a promise that has already been received, tore down and put into cached_placeholder_element, so don't overwrite that more valid result if it's already set
613
- $e3915574cfd3466c$var$cached_placeholder_element || ($e3915574cfd3466c$var$cached_placeholder_element = get_cloned_placeholders(unwrapped_array)); // Clone initial return value so that who gave us the elements can't mutate them, which has caused issues before with react
614
- $e3915574cfd3466c$var$rendering_cached_placeholder_element = undefined;
619
+ $e3915574cfd3466c$var$cachedPlaceholderElements[placeholderCacheKey_] || ($e3915574cfd3466c$var$cachedPlaceholderElements[placeholderCacheKey_] = get_cloned_placeholders(unwrapped_array)); // Clone initial return value so that who gave us the elements can't mutate them, which has caused issues before with react
620
+ $e3915574cfd3466c$var$renderingCachedPlaceholderElement[placeholderCacheKey_] = undefined;
615
621
  dispose_original_copy(); // So that this memo will never re-run and the placeholder rendering function can clean up
616
622
  return get_cloned_placeholders(); // clone, just in case. If we wouldn't, someone could modify the copy in the DOM, and it would affect the cached version
617
623
  });
@@ -928,7 +934,8 @@ function $236a257ee52e5414$export$d41d19e89346fa2(_ref) {
928
934
  product_card_template_: product_card_template_,
929
935
  layout_options_: layout_options_,
930
936
  title_: title_,
931
- NoResultsFallback_: NoResultsFallback_
937
+ NoResultsFallback_: NoResultsFallback_,
938
+ placeholderCacheKey_: placeholderCacheKey_
932
939
  } = _ref;
933
940
  const is_showing_something = $52FdA$solidjs.createMemo(() => {
934
941
  var _recommendations_reso;
@@ -969,7 +976,8 @@ function $236a257ee52e5414$export$d41d19e89346fa2(_ref) {
969
976
  get fallback() {
970
977
  return $e3915574cfd3466c$export$f33414a4df0afd3f({
971
978
  num_placeholders_: num_placeholders_,
972
- product_card_template_: product_card_template_
979
+ product_card_template_: product_card_template_,
980
+ placeholderCacheKey_: placeholderCacheKey_
973
981
  });
974
982
  },
975
983
  get children() {
@@ -1969,7 +1977,6 @@ function $47e3c3102c78121b$export$44809a8a3e867e30(_ref) {
1969
1977
  ro.observe(el);
1970
1978
  $52FdA$solidjs.onCleanup(() => ro.disconnect());
1971
1979
  }, _el$);
1972
- _el$.classList.toggle("placeholder", !!!display_);
1973
1980
  $52FdA$solidjsweb.insert(_el$, $52FdA$solidjsweb.createComponent((0, $52FdA$solidjs.Show), {
1974
1981
  get when() {
1975
1982
  return display_();
@@ -2004,6 +2011,7 @@ function $47e3c3102c78121b$export$44809a8a3e867e30(_ref) {
2004
2011
  pseudoRouter_: pseudoRouter_,
2005
2012
  containerHeight_: containerHeight_
2006
2013
  }), _el$5, _co$2);
2014
+ $52FdA$solidjsweb.effect(() => _el$.classList.toggle("placeholder", !display_()));
2007
2015
  $52FdA$solidjsweb.runHydrationEvents();
2008
2016
  return _el$;
2009
2017
  })();
@@ -2144,7 +2152,8 @@ function $2c920813c92d6987$export$7da560f849543dff(_ref) {
2144
2152
  title_: title_,
2145
2153
  max_rows_: max_rows_,
2146
2154
  view_more_button_: view_more_button_,
2147
- NoResultsFallback_: NoResultsFallback_
2155
+ NoResultsFallback_: NoResultsFallback_,
2156
+ placeholderCacheKey_: placeholderCacheKey_
2148
2157
  } = _ref;
2149
2158
  const rows_object_ = $52FdA$solidjs.createMemo(() => {
2150
2159
  var _view_more_button$row;
@@ -2203,7 +2212,8 @@ function $2c920813c92d6987$export$7da560f849543dff(_ref) {
2203
2212
  get fallback() {
2204
2213
  return $e3915574cfd3466c$export$f33414a4df0afd3f({
2205
2214
  num_placeholders_: num_placeholders_,
2206
- product_card_template_: product_card_template_
2215
+ product_card_template_: product_card_template_,
2216
+ placeholderCacheKey_: placeholderCacheKey_
2207
2217
  });
2208
2218
  },
2209
2219
  get children() {
@@ -2236,6 +2246,7 @@ function $2c920813c92d6987$export$7da560f849543dff(_ref) {
2236
2246
  }
2237
2247
  var $e57cd46536ad992e$var$_tmpl$ = /*#__PURE__*/$52FdA$solidjsweb.template(`<div style=--animation-duration:240ms>`);
2238
2248
  let $e57cd46536ad992e$var$expandedLooksSignal_;
2249
+ const $e57cd46536ad992e$var$placeholderCacheKey_ = /*@__PURE__*/Symbol("Looks");
2239
2250
  function $e57cd46536ad992e$export$2c9f9bf2092486aa(props) {
2240
2251
  return $d05611ff6b8c8357$export$23fca46f3143581f(() => {
2241
2252
  $e57cd46536ad992e$var$expandedLooksSignal_ || ($e57cd46536ad992e$var$expandedLooksSignal_ = $52FdA$solidjs.createSignal(new Set(), {
@@ -2301,7 +2312,8 @@ function $e57cd46536ad992e$export$2c9f9bf2092486aa(props) {
2301
2312
  cols_at_size: $5401a6698b0c0658$export$6daf8749b65a1b77(props.columnsAtSize_),
2302
2313
  ...grid_spacing_override()
2303
2314
  })),
2304
- NoResultsFallback_: () => props.NoResultsFallback_
2315
+ NoResultsFallback_: () => props.NoResultsFallback_,
2316
+ placeholderCacheKey_: $e57cd46536ad992e$var$placeholderCacheKey_
2305
2317
  };
2306
2318
  $52FdA$solidjs.createEffect(() => {
2307
2319
  const {
package/ES10/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { JSX, Accessor, Signal, Setter } from "solid-js";
1
+ import { JSX, Accessor, Setter, Signal } from "solid-js";
2
2
  import { Display, useExpandingContainer, ColsAtSize, report, Amazing_Slider, Elem, ModernDisplay, Node_Array } from "@depict-ai/utilishared/ES10";
3
3
  import { SearchFilter, SearchRequestV3, SortModel } from "@depict-ai/types/api/SearchRequestV3";
4
4
  import { ContentLink, SearchResponse, SearchFilter as _SearchFilter1 } from "@depict-ai/types/api/SearchResponse";
@@ -11,7 +11,7 @@ import { GetListingRequest } from "@depict-ai/types/api/GetListingRequest";
11
11
  import { BaseSearchRequestV3 } from "@depict-ai/types/api/BaseSearchRequestV3";
12
12
  import { FeaturedInDisplay } from "@depict-ai/types/api/FeaturedInResponseV3";
13
13
  import { SearchFilter as _SearchFilter3 } from "@depict-ai/types/api/SearchRequestV2";
14
- export const version = "4.7.18";
14
+ export const version = "4.7.20";
15
15
  declare const LISTING_ID = "listingId";
16
16
  declare const EXTERNAL_ID = "externalId";
17
17
  type ScrollRestorationData = {
@@ -52,6 +52,10 @@ export function useProductCardIndex(): Accessor<number> | undefined;
52
52
  * @param obj Anything to clone
53
53
  */
54
54
  export function promiseSafeStructuredClone<T>(obj: T): T;
55
+ export const CurrentlyIntersectingContext: import("solid-js").Context<{
56
+ currentlyIntersecting_: Accessor<Set<number>>;
57
+ setIsListening_: Setter<number>;
58
+ } | undefined>;
55
59
  /**
56
60
  * Returns an accessor that says if said product card is in the viewport or not, when ran within a product card. Throws if not ran within a product card.
57
61
  */
@@ -1436,7 +1440,7 @@ type OpenModalParams<OriginalDisplay extends Display, OutputDisplay extends Mode
1436
1440
  * Open the modal with support for alignment.
1437
1441
  * @returns {void}
1438
1442
  */
1439
- export const open_modal_with_alignment: <OriginalDisplay extends Display, OutputDisplay extends ModernDisplay>(openModalParams: OpenModalParams<OriginalDisplay, OutputDisplay>) => void;
1443
+ export const open_modal_with_alignment: <OriginalDisplay extends Display, OutputDisplay extends unknown>(openModalParams: OpenModalParams<OriginalDisplay, OutputDisplay>) => void;
1440
1444
  export function open_search_with_shift_slash(open_search: VoidFunction): () => void;
1441
1445
  export interface PageReplacer {
1442
1446
  readonly render_: () => Node_Array;
@@ -1515,5 +1519,5 @@ export function CategoryPage<OriginalDisplay extends Display, OutputDisplay exte
1515
1519
  content_blocks_by_row?: ContentBlocksByRow;
1516
1520
  layout?: PossibleLayout;
1517
1521
  filterModalParent_?: HTMLElement | ShadowRoot;
1518
- }): import("@depict-ai/utilishared/latest").Node_Array;
1522
+ }): import("@depict-ai/utilishared").Node_Array;
1519
1523
  export type { SearchFilter } from "@depict-ai/types/api/SearchRequestV3";
package/ES10/index.js CHANGED
@@ -10,7 +10,7 @@ import { createStore as $8tj43$createStore, reconcile as $8tj43$reconcile } from
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.18";
13
+ const $8db9a15135765c11$export$83d89fbfd8236492 = "4.7.20";
14
14
 
15
15
  /**
16
16
  * Gets product_id (the thing we key the rendering on) from a display
@@ -252,7 +252,7 @@ function $2d7bad8684bc7f44$var$deep_equal(obj1, obj2) {
252
252
  }
253
253
  return true;
254
254
  }
255
- const $618bd53ea0a41cd4$var$CurrentlyIntersectingContext = /*@__PURE__*/$8tj43$createContext();
255
+ const $618bd53ea0a41cd4$export$f223d69ed12f5fb7 = /*@__PURE__*/$8tj43$createContext();
256
256
  function $618bd53ea0a41cd4$export$4a14175d33d81a96(_ref) {
257
257
  let {
258
258
  displays_by_key_: displays_by_key_,
@@ -294,7 +294,7 @@ function $618bd53ea0a41cd4$export$4a14175d33d81a96(_ref) {
294
294
  }
295
295
  setCurrentlyIntersecting(intersectingValue);
296
296
  }, "renderDisplays IO failed"));
297
- const renderedDisplays_ = $8tj43$createComponent($618bd53ea0a41cd4$var$CurrentlyIntersectingContext.Provider, {
297
+ const renderedDisplays_ = $8tj43$createComponent($618bd53ea0a41cd4$export$f223d69ed12f5fb7.Provider, {
298
298
  value: {
299
299
  currentlyIntersecting_: currentlyIntersecting,
300
300
  setIsListening_: setListenersForIntersecting
@@ -339,7 +339,7 @@ function $618bd53ea0a41cd4$export$80bb7300ce6a8be3() {
339
339
  const {
340
340
  setIsListening_: setIsListening_,
341
341
  currentlyIntersecting_: currentlyIntersecting_
342
- } = $8tj43$useContext($618bd53ea0a41cd4$var$CurrentlyIntersectingContext) || {};
342
+ } = $8tj43$useContext($618bd53ea0a41cd4$export$f223d69ed12f5fb7) || {};
343
343
  const getOurIndex = $1e69163caedaab4e$export$e3faf4d95300054f();
344
344
  const isVisible = $8tj43$createMemo(() => currentlyIntersecting_ === null || currentlyIntersecting_ === void 0 ? void 0 : currentlyIntersecting_().has(getOurIndex === null || getOurIndex === void 0 ? void 0 : getOurIndex()));
345
345
  setIsListening_ === null || setIsListening_ === void 0 || setIsListening_(prev => prev + 1);
@@ -418,13 +418,15 @@ function $ca55612a53dbbdd2$export$a2cc176055f8f08() {
418
418
  t: "<!-- ".concat(text, " -->")
419
419
  } : document.createComment(text);
420
420
  }
421
- let $bdd80c7862246dc2$var$cached_placeholder_element;
422
- let $bdd80c7862246dc2$var$rendering_cached_placeholder_element;
421
+ const $bdd80c7862246dc2$var$defaultCacheKey = /*@__PURE__*/Symbol();
422
+ const $bdd80c7862246dc2$var$cachedPlaceholderElements = {};
423
+ const $bdd80c7862246dc2$var$renderingCachedPlaceholderElement = {};
423
424
  function $bdd80c7862246dc2$export$f33414a4df0afd3f(_ref) {
424
425
  let {
425
426
  product_card_template_: product_card_template_,
426
427
  num_placeholders_: num_placeholders_,
427
- content_blocks_: content_blocks_
428
+ content_blocks_: content_blocks_,
429
+ placeholderCacheKey_: placeholderCacheKey_
428
430
  } = _ref;
429
431
  const [num_to_actually_show, set_num_to_actually_show] = $8tj43$createSignal($8tj43$untrack(num_placeholders_));
430
432
  if (0, $8tj43$isServer)
@@ -461,7 +463,8 @@ function $bdd80c7862246dc2$export$f33414a4df0afd3f(_ref) {
461
463
  });
462
464
  // Show content block before product card, so it's *at* that index
463
465
  return [possible_content_block, $bdd80c7862246dc2$var$Placeholder({
464
- product_card_template_: product_card_template_
466
+ product_card_template_: product_card_template_,
467
+ placeholderCacheKey_: placeholderCacheKey_
465
468
  })]; // https://github.com/solidjs/solid/releases/tag/v1.7.0
466
469
  }
467
470
  });
@@ -471,23 +474,25 @@ function $bdd80c7862246dc2$export$f33414a4df0afd3f(_ref) {
471
474
  */
472
475
  function $bdd80c7862246dc2$var$Placeholder(_ref2) {
473
476
  let {
474
- product_card_template_: product_card_template_
477
+ product_card_template_: product_card_template_,
478
+ placeholderCacheKey_ = $bdd80c7862246dc2$var$defaultCacheKey
475
479
  } = _ref2;
476
480
  const get_cloned_placeholders = function () {
477
- let element_to_clone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : $bdd80c7862246dc2$var$cached_placeholder_element;
481
+ let element_to_clone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : $bdd80c7862246dc2$var$cachedPlaceholderElements[placeholderCacheKey_];
478
482
  return Array.isArray(element_to_clone) ? element_to_clone.map(el => el instanceof Node ? el.cloneNode(true) : el) : element_to_clone;
479
483
  };
480
- if ($bdd80c7862246dc2$var$cached_placeholder_element) return get_cloned_placeholders();
484
+ if ($bdd80c7862246dc2$var$cachedPlaceholderElements[placeholderCacheKey_]) return get_cloned_placeholders();
481
485
  let dispose_original_copy;
482
486
  const get_unwrapped_element = $8tj43$createRoot(dispose => {
483
487
  dispose_original_copy = dispose;
484
488
  // if product_card_template_ is async and rejects the resource will take care of throwing upwards here in the solid-js error handling system
485
489
  const [resource] = $8tj43$createResource(() => {
486
- if ($bdd80c7862246dc2$var$rendering_cached_placeholder_element) return $bdd80c7862246dc2$var$rendering_cached_placeholder_element;
490
+ const rendering_cached_placeholder_element = $bdd80c7862246dc2$var$renderingCachedPlaceholderElement[placeholderCacheKey_];
491
+ if (rendering_cached_placeholder_element) return rendering_cached_placeholder_element;
487
492
  const return_value = product_card_template_(null, undefined);
488
493
  if (typeof return_value === "object" && typeof (return_value === null || return_value === void 0 ? void 0 : return_value.then) === "function")
489
494
  // Is Promise or promise-like object
490
- $bdd80c7862246dc2$var$rendering_cached_placeholder_element = return_value;
495
+ $bdd80c7862246dc2$var$renderingCachedPlaceholderElement[placeholderCacheKey_] = return_value;
491
496
  return return_value;
492
497
  });
493
498
  return $8tj43$createMemo(() => {
@@ -496,14 +501,14 @@ function $bdd80c7862246dc2$var$Placeholder(_ref2) {
496
501
  });
497
502
  });
498
503
  $8tj43$onCleanup(() => {
499
- if ($bdd80c7862246dc2$var$rendering_cached_placeholder_element) {
500
- var _rendering_cached_pla;
504
+ const rendering = $bdd80c7862246dc2$var$renderingCachedPlaceholderElement[placeholderCacheKey_];
505
+ if (rendering) {
501
506
  // If we're still rendering in our separate root, let the rendering finish or other <Placeholder> components waiting for it might get an incomplete result
502
507
  const unset_current_rendering = () => {
503
508
  dispose_original_copy();
504
- $bdd80c7862246dc2$var$rendering_cached_placeholder_element = undefined;
509
+ $bdd80c7862246dc2$var$renderingCachedPlaceholderElement[placeholderCacheKey_] = undefined;
505
510
  };
506
- (_rendering_cached_pla = $bdd80c7862246dc2$var$rendering_cached_placeholder_element) === null || _rendering_cached_pla === void 0 || _rendering_cached_pla.then(unset_current_rendering, unset_current_rendering);
511
+ rendering === null || rendering === void 0 || rendering.then(unset_current_rendering, unset_current_rendering);
507
512
  } else
508
513
  // Otherwise, just make sure we've disposed our root
509
514
  dispose_original_copy();
@@ -515,8 +520,8 @@ function $bdd80c7862246dc2$var$Placeholder(_ref2) {
515
520
  return;
516
521
  // placeholders have finished rendering, freeze the elements
517
522
  // here we might receive the result of a promise that has already been received, tore down and put into cached_placeholder_element, so don't overwrite that more valid result if it's already set
518
- $bdd80c7862246dc2$var$cached_placeholder_element || ($bdd80c7862246dc2$var$cached_placeholder_element = get_cloned_placeholders(unwrapped_array)); // Clone initial return value so that who gave us the elements can't mutate them, which has caused issues before with react
519
- $bdd80c7862246dc2$var$rendering_cached_placeholder_element = undefined;
523
+ $bdd80c7862246dc2$var$cachedPlaceholderElements[placeholderCacheKey_] || ($bdd80c7862246dc2$var$cachedPlaceholderElements[placeholderCacheKey_] = get_cloned_placeholders(unwrapped_array)); // Clone initial return value so that who gave us the elements can't mutate them, which has caused issues before with react
524
+ $bdd80c7862246dc2$var$renderingCachedPlaceholderElement[placeholderCacheKey_] = undefined;
520
525
  dispose_original_copy(); // So that this memo will never re-run and the placeholder rendering function can clean up
521
526
  return get_cloned_placeholders(); // clone, just in case. If we wouldn't, someone could modify the copy in the DOM, and it would affect the cached version
522
527
  });
@@ -833,7 +838,8 @@ function $39ddb986053fb759$export$d41d19e89346fa2(_ref) {
833
838
  product_card_template_: product_card_template_,
834
839
  layout_options_: layout_options_,
835
840
  title_: title_,
836
- NoResultsFallback_: NoResultsFallback_
841
+ NoResultsFallback_: NoResultsFallback_,
842
+ placeholderCacheKey_: placeholderCacheKey_
837
843
  } = _ref;
838
844
  const is_showing_something = $8tj43$createMemo(() => {
839
845
  var _recommendations_reso;
@@ -874,7 +880,8 @@ function $39ddb986053fb759$export$d41d19e89346fa2(_ref) {
874
880
  get fallback() {
875
881
  return $bdd80c7862246dc2$export$f33414a4df0afd3f({
876
882
  num_placeholders_: num_placeholders_,
877
- product_card_template_: product_card_template_
883
+ product_card_template_: product_card_template_,
884
+ placeholderCacheKey_: placeholderCacheKey_
878
885
  });
879
886
  },
880
887
  get children() {
@@ -1874,7 +1881,6 @@ function $697d8713dc82b9ab$export$44809a8a3e867e30(_ref) {
1874
1881
  ro.observe(el);
1875
1882
  $8tj43$onCleanup(() => ro.disconnect());
1876
1883
  }, _el$);
1877
- _el$.classList.toggle("placeholder", !!!display_);
1878
1884
  $8tj43$insert(_el$, $8tj43$createComponent((0, $8tj43$Show), {
1879
1885
  get when() {
1880
1886
  return display_();
@@ -1909,6 +1915,7 @@ function $697d8713dc82b9ab$export$44809a8a3e867e30(_ref) {
1909
1915
  pseudoRouter_: pseudoRouter_,
1910
1916
  containerHeight_: containerHeight_
1911
1917
  }), _el$5, _co$2);
1918
+ $8tj43$effect(() => _el$.classList.toggle("placeholder", !display_()));
1912
1919
  $8tj43$runHydrationEvents();
1913
1920
  return _el$;
1914
1921
  })();
@@ -2049,7 +2056,8 @@ function $e3efeb558d952696$export$7da560f849543dff(_ref) {
2049
2056
  title_: title_,
2050
2057
  max_rows_: max_rows_,
2051
2058
  view_more_button_: view_more_button_,
2052
- NoResultsFallback_: NoResultsFallback_
2059
+ NoResultsFallback_: NoResultsFallback_,
2060
+ placeholderCacheKey_: placeholderCacheKey_
2053
2061
  } = _ref;
2054
2062
  const rows_object_ = $8tj43$createMemo(() => {
2055
2063
  var _view_more_button$row;
@@ -2108,7 +2116,8 @@ function $e3efeb558d952696$export$7da560f849543dff(_ref) {
2108
2116
  get fallback() {
2109
2117
  return $bdd80c7862246dc2$export$f33414a4df0afd3f({
2110
2118
  num_placeholders_: num_placeholders_,
2111
- product_card_template_: product_card_template_
2119
+ product_card_template_: product_card_template_,
2120
+ placeholderCacheKey_: placeholderCacheKey_
2112
2121
  });
2113
2122
  },
2114
2123
  get children() {
@@ -2141,6 +2150,7 @@ function $e3efeb558d952696$export$7da560f849543dff(_ref) {
2141
2150
  }
2142
2151
  var $bb34cd283e904784$var$_tmpl$ = /*#__PURE__*/$8tj43$template(`<div style=--animation-duration:240ms>`);
2143
2152
  let $bb34cd283e904784$var$expandedLooksSignal_;
2153
+ const $bb34cd283e904784$var$placeholderCacheKey_ = /*@__PURE__*/Symbol("Looks");
2144
2154
  function $bb34cd283e904784$export$2c9f9bf2092486aa(props) {
2145
2155
  return $83e8cf2c0b87a58a$export$23fca46f3143581f(() => {
2146
2156
  $bb34cd283e904784$var$expandedLooksSignal_ || ($bb34cd283e904784$var$expandedLooksSignal_ = $8tj43$createSignal(new Set(), {
@@ -2206,7 +2216,8 @@ function $bb34cd283e904784$export$2c9f9bf2092486aa(props) {
2206
2216
  cols_at_size: $a9c7ba6087881ac2$export$6daf8749b65a1b77(props.columnsAtSize_),
2207
2217
  ...grid_spacing_override()
2208
2218
  })),
2209
- NoResultsFallback_: () => props.NoResultsFallback_
2219
+ NoResultsFallback_: () => props.NoResultsFallback_,
2220
+ placeholderCacheKey_: $bb34cd283e904784$var$placeholderCacheKey_
2210
2221
  };
2211
2222
  $8tj43$createEffect(() => {
2212
2223
  const {
@@ -16270,4 +16281,4 @@ function $8821a19349c36651$export$e2bf8ce7779e827e(props) {
16270
16281
  }, "Entire CategoryPage failed");
16271
16282
  }
16272
16283
  $8tj43$add_to_version_info("ui", (0, $8db9a15135765c11$export$83d89fbfd8236492));
16273
- export { $618bd53ea0a41cd4$export$80bb7300ce6a8be3 as useProductCardIsVisible, $8e8b179489080711$export$5bad61ecde080b1f as useExpandingContainerReactive, $bb34cd283e904784$export$2c9f9bf2092486aa as LooksSliderOrGrid, $697d8713dc82b9ab$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, $56047603f9d212b6$export$e6fffe67d4cdd848 as makeSizeAccessor, $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, $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 };
16284
+ export { $618bd53ea0a41cd4$export$80bb7300ce6a8be3 as useProductCardIsVisible, $618bd53ea0a41cd4$export$f223d69ed12f5fb7 as CurrentlyIntersectingContext, $8e8b179489080711$export$5bad61ecde080b1f as useExpandingContainerReactive, $bb34cd283e904784$export$2c9f9bf2092486aa as LooksSliderOrGrid, $697d8713dc82b9ab$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, $56047603f9d212b6$export$e6fffe67d4cdd848 as makeSizeAccessor, $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, $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 };