@depict-ai/ui 2.0.26 → 2.1.1

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.
@@ -4,6 +4,7 @@ var $3hooq$solidjs = require("solid-js");
4
4
  var $3hooq$babelruntimehelpersclassPrivateFieldSet = require("@babel/runtime/helpers/classPrivateFieldSet");
5
5
  var $3hooq$babelruntimehelpersclassPrivateFieldGet = require("@babel/runtime/helpers/classPrivateFieldGet");
6
6
  var $3hooq$babelruntimehelpersdefineProperty = require("@babel/runtime/helpers/defineProperty");
7
+ var $3hooq$solidjsstore = require("solid-js/store");
7
8
  require("../../multi_import_deduplicator.cjs").register_es_version("ui", "ES10");
8
9
  function $parcel$export(e, n, v, s) {
9
10
  Object.defineProperty(e, n, {
@@ -75,7 +76,7 @@ $parcel$export(module.exports, "defaultColsAtSize", () => $33eed84f447aa0c0$expo
75
76
  $parcel$export(module.exports, "defaultCategoryTitlePlugin", () => $33eed84f447aa0c0$export$7bf543b9d9be2c22);
76
77
  $parcel$export(module.exports, "version", () => $aa1938dec50d6c12$export$83d89fbfd8236492);
77
78
  /*! Depict.ai search and product listing SDK */
78
- const $aa1938dec50d6c12$export$83d89fbfd8236492 = "2.0.26";
79
+ const $aa1938dec50d6c12$export$83d89fbfd8236492 = "2.1.1";
79
80
  const $a68b73fd7ba0853f$var$fallback_operator = "in";
80
81
  const $a68b73fd7ba0853f$var$fallback_token = "";
81
82
  const $a68b73fd7ba0853f$var$legacy_filter_prefix = "filter_";
@@ -320,10 +321,10 @@ function $858fdcf73148519f$export$6e5611bc7e57e477(props) {
320
321
  srcset: srcset
321
322
  };
322
323
  });
323
- return $3hooq$solidjsweb.ssrElement("img", () => ({
324
- ...otherOptions,
325
- ...src_options(),
326
- "sizes": props.size() + "px"
324
+ return $3hooq$solidjsweb.ssrElement("img", $3hooq$solidjsweb.mergeProps(otherOptions, src_options, {
325
+ get sizes() {
326
+ return props.size() + "px";
327
+ }
327
328
  }), undefined, true);
328
329
  }
329
330
  function $858fdcf73148519f$var$make_srcset(url, resolutions) {
@@ -481,7 +482,7 @@ const $5401a6698b0c0658$export$6daf8749b65a1b77 = cols_at_size => {
481
482
  return $5401a6698b0c0658$var$transform_elements(sorted_cols_at_size);
482
483
  };
483
484
  function $8edd3cf30d1fd8b4$export$a2cc176055f8f08() {
484
- const text = "Please try setting `columnsAtSize` on the `SearchPage`/`CategoryPage` components to change the grid before setting it with CSS. If you do with CSS, set `columnsAtSize` to an empty array to ensure no declarations created by the SDK leak through.";
485
+ const text = "Please try setting `columnsAtSize`/`gridSpacing` on the `SearchPage`/`CategoryPage` components to change the grid before setting it with CSS. If you do with CSS, set `columnsAtSize` to an empty array to ensure no declarations created by the SDK leak through.";
485
486
  return (0, $3hooq$solidjsweb.isServer) ? {
486
487
  t: "<!-- ".concat(text, " -->")
487
488
  } : document.createComment(text);
@@ -503,12 +504,13 @@ let $e3915574cfd3466c$var$rendering_cached_placeholder_element;
503
504
  function $e3915574cfd3466c$export$f33414a4df0afd3f(_ref) {
504
505
  let {
505
506
  product_card_template_: product_card_template_,
506
- num_placeholders_: num_placeholders_
507
+ num_placeholders_: num_placeholders_,
508
+ content_blocks_: content_blocks_
507
509
  } = _ref;
508
- const [get_elements, set_elements] = $3hooq$solidjs.createSignal([]);
509
- let existing_num = 0;
510
+ const [num_to_actually_show, set_num_to_actually_show] = $3hooq$solidjs.createSignal($3hooq$solidjs.untrack(num_placeholders_));
510
511
  if (0, $3hooq$solidjsweb.isServer)
511
512
  // want to render simple placeholders on server, effects don't run there
513
+ // FIXME when adding proper SSR: also SSR content blocks
512
514
  return $3hooq$solidjs.createMemo(() => Array.from({
513
515
  length: num_placeholders_()
514
516
  }).map(() => {
@@ -517,19 +519,33 @@ function $e3915574cfd3466c$export$f33414a4df0afd3f(_ref) {
517
519
  if (typeof (template_result === null || template_result === void 0 ? void 0 : template_result.then) !== "function") return template_result;
518
520
  }));
519
521
  $3hooq$solidjs.createRenderEffect(() => {
522
+ const existing_num = num_to_actually_show();
520
523
  const to_add = num_placeholders_() - existing_num;
521
524
  if (to_add <= 0) return;
522
525
  // Below comment is from when we used recommendation renderer and manual DOM manipulation for this, but I'm still scared to remove placeholders and mess up scroll restoration, so I'm keeping the way it worked. Otherwise, <Index> could be used which would be far more elegant.
523
526
  // We don't need to remove placeholders, only need to add. The reason for that is that chrome restores the scroll position once all tasks queued as reaction of the "popstate" events have been completed in the task queue. That means that we need to get the placeholders in fast, or we might lose scroll position if the previous site was shorter.
524
527
  // The query id and the amount might update in separate tasks because one comes from href_change_ipns and the other one from another "popstate" listener. Therefore, we need to be able to dynamically add more placeholders. I'm not entirely sure about this anymore though, since we have the scroll position on a per-id basis it might work anyway but THIS WORKS, and I've been working on this bug for 3 hours so let's just keep it this way.
525
- set_elements(prev => [...prev, ...Array.from({
526
- length: to_add
527
- }).map(() => $e3915574cfd3466c$var$Placeholder({
528
- product_card_template_: product_card_template_
529
- }))]);
530
- existing_num += to_add;
528
+ // Above comments were from when we added elements in this createRenderEffect. Now I changed it to just increment the number and render them from an <Index> instead, so I can add content blocks better
529
+ // Functionality should be the same
530
+ set_num_to_actually_show(existing_num + to_add);
531
+ });
532
+ return $3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Index), {
533
+ get each() {
534
+ return Array.from({
535
+ length: num_to_actually_show()
536
+ });
537
+ },
538
+ children: (_item, index) => {
539
+ const possible_content_block = $3hooq$solidjs.createMemo(() => {
540
+ var _content_blocks_, _content_blocks_2;
541
+ return content_blocks_ === null || content_blocks_ === void 0 ? void 0 : (_content_blocks_ = content_blocks_()) === null || _content_blocks_ === void 0 ? void 0 : (_content_blocks_2 = _content_blocks_()) === null || _content_blocks_2 === void 0 ? void 0 : _content_blocks_2[index];
542
+ });
543
+ // Show content block before product card, so it's *at* that index
544
+ return [possible_content_block, $e3915574cfd3466c$var$Placeholder({
545
+ product_card_template_: product_card_template_
546
+ })]; // https://github.com/solidjs/solid/releases/tag/v1.7.0
547
+ }
531
548
  });
532
- return get_elements; // https://github.com/solidjs/solid/releases/tag/v1.7.0
533
549
  }
534
550
  /**
535
551
  * Get one placeholder element. It will be cloned for each placeholder for ultimate performance even when solid-js isn't rendering the placeholders.
@@ -620,7 +636,8 @@ function $76012c4468a53d1f$export$43f0fb951fcb0c54(_ref) {
620
636
  merchant_: merchant_,
621
637
  market_: market_,
622
638
  product_card_template_: product_card_template_,
623
- do_per_elements_: do_per_elements_
639
+ do_per_elements_: do_per_elements_,
640
+ content_blocks_: content_blocks_
624
641
  } = _ref;
625
642
  return $3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.For), {
626
643
  get each() {
@@ -628,6 +645,10 @@ function $76012c4468a53d1f$export$43f0fb951fcb0c54(_ref) {
628
645
  },
629
646
  children: (product_id, index) => {
630
647
  const owner = $3hooq$solidjs.getOwner();
648
+ const possible_content_block = $3hooq$solidjs.createMemo(() => {
649
+ var _content_blocks_, _content_blocks_2;
650
+ return content_blocks_ === null || content_blocks_ === void 0 ? void 0 : (_content_blocks_ = content_blocks_()) === null || _content_blocks_ === void 0 ? void 0 : (_content_blocks_2 = _content_blocks_()) === null || _content_blocks_2 === void 0 ? void 0 : _content_blocks_2[index()];
651
+ });
631
652
  const display_accessor = $3hooq$solidjs.createMemo(prev => {
632
653
  const new_display = displays_by_key_().get(product_id);
633
654
  if (prev && $76012c4468a53d1f$var$deep_equal(prev, new_display))
@@ -681,7 +702,9 @@ function $76012c4468a53d1f$export$43f0fb951fcb0c54(_ref) {
681
702
  }
682
703
  do_per_elements_ === null || do_per_elements_ === void 0 || do_per_elements_(elements, index);
683
704
  });
684
- return product_card_resource; // https://github.com/solidjs/solid/releases/tag/v1.7.0
705
+ return [
706
+ // Show content block before product card, so it's *at* that index
707
+ possible_content_block, product_card_resource]; // https://github.com/solidjs/solid/releases/tag/v1.7.0
685
708
  }
686
709
  });
687
710
  }
@@ -744,9 +767,8 @@ const $6c2c739b113a8ddf$var$_tmpl$ = ["<div", ' class="', '">', "</div>"],
744
767
  $6c2c739b113a8ddf$var$_tmpl$2 = ["<style", ' type="text/css">', "</style>"];
745
768
  function $6c2c739b113a8ddf$export$d21e32dfedac04be(props) {
746
769
  const container_class = "x" + $3hooq$solidjs.createUniqueId();
747
- const container_element_ = $3hooq$solidjsweb.ssrElement("div", () => ({
748
- ...props.element_attributes,
749
- "classList": {
770
+ const container_element_ = $3hooq$solidjsweb.ssrElement("div", $3hooq$solidjsweb.mergeProps(() => props.element_attributes, {
771
+ classList: {
750
772
  [container_class]: true
751
773
  }
752
774
  }), () => $3hooq$solidjsweb.escape(props.children), true); // Don't want this in the error boundary below, it should only be for the actual layouting
@@ -986,7 +1008,7 @@ function $2badc30d7c6610e1$export$9574e176201e5e8d(props) {
986
1008
  })));
987
1009
  }, "RecommendationSlider failed");
988
1010
  }
989
- const $2c920813c92d6987$var$_tmpl$ = ["<div", ' class="recommendation-grid"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"];
1011
+ const $2c920813c92d6987$var$_tmpl$ = ["<div", ' class="recommendation-grid"><!--$-->', "<!--/--><!--$-->", "<!--/--></div>"];
990
1012
  function $2c920813c92d6987$export$7da560f849543dff(_ref) {
991
1013
  let {
992
1014
  recommendations_resource_: recommendations_resource_,
@@ -1216,12 +1238,11 @@ function $f38f2e64ebe2da86$export$a71e92cfbb498adc(props) {
1216
1238
  const $083b2336093176cf$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>';
1217
1239
  function $083b2336093176cf$export$3b621d86b1566b2() {
1218
1240
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1219
- return $3hooq$solidjsweb.ssrElement("svg", () => ({
1220
- ...props,
1221
- "xmlns": "http://www.w3.org/2000/svg",
1222
- "width": "21.064",
1223
- "height": "21.047",
1224
- "viewBox": "0 0 21.064 21.064"
1241
+ return $3hooq$solidjsweb.ssrElement("svg", $3hooq$solidjsweb.mergeProps(props, {
1242
+ xmlns: "http://www.w3.org/2000/svg",
1243
+ width: "21.064",
1244
+ height: "21.047",
1245
+ viewBox: "0 0 21.064 21.064"
1225
1246
  }), () => $3hooq$solidjsweb.ssr($083b2336093176cf$var$_tmpl$), true);
1226
1247
  }
1227
1248
 
@@ -1233,9 +1254,9 @@ function $e2d74bb03cc5252e$export$325f75597868c4f0(stuff) {
1233
1254
  return stuff.toLowerCase();
1234
1255
  }
1235
1256
  const $c5842bdb10e57229$var$_tmpl$ = ["<button", ' class="clear-all-filters minor">', "</button>"],
1236
- $c5842bdb10e57229$var$_tmpl$2 = ["<div", ' class="inner"><span class="title"><!--#-->', "<!--/-->: </span><!--#-->", "<!--/--></div>"],
1237
- $c5842bdb10e57229$var$_tmpl$3 = ["<button", ' class="clear-filter major"><!--#-->', "<!--/--><span><!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--> – <!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></span></button>"],
1238
- $c5842bdb10e57229$var$_tmpl$4 = ["<button", ' class="clear-filter major"><!--#-->', "<!--/--><span>", "</span></button>"];
1257
+ $c5842bdb10e57229$var$_tmpl$2 = ["<div", ' class="inner"><span class="title"><!--$-->', "<!--/-->: </span><!--$-->", "<!--/--></div>"],
1258
+ $c5842bdb10e57229$var$_tmpl$3 = ["<button", ' class="clear-filter major"><!--$-->', "<!--/--><span><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--> – <!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></span></button>"],
1259
+ $c5842bdb10e57229$var$_tmpl$4 = ["<button", ' class="clear-filter major"><!--$-->', "<!--/--><span>", "</span></button>"];
1239
1260
  function $c5842bdb10e57229$export$fecbb157621501bd(_ref) {
1240
1261
  let {
1241
1262
  number_of_rendered_selected_filters_items_: number_of_rendered_selected_filters_items_,
@@ -1343,25 +1364,23 @@ function $c5842bdb10e57229$export$fecbb157621501bd(_ref) {
1343
1364
  return ((_matching_filter2 = matching_filter()) === null || _matching_filter2 === void 0 ? void 0 : _matching_filter2.op) !== "inrange";
1344
1365
  },
1345
1366
  get fallback() {
1346
- return (() => {
1347
- number_of_rendered_selected_filters_items_[1](prev => prev + 1);
1348
- $3hooq$solidjs.onCleanup(() => number_of_rendered_selected_filters_items_[1](prev => prev - 1));
1349
- return $3hooq$solidjsweb.ssr($c5842bdb10e57229$var$_tmpl$3, $3hooq$solidjsweb.ssrHydrationKey(), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $083b2336093176cf$export$3b621d86b1566b2), {})), $3hooq$solidjsweb.escape(price_formatting_().pre_), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $f38f2e64ebe2da86$export$a71e92cfbb498adc), {
1350
- get price_() {
1351
- return filter().data[0];
1352
- },
1353
- get price_formatting_() {
1354
- return price_formatting_();
1355
- }
1356
- })), $3hooq$solidjsweb.escape(price_formatting_().post_), $3hooq$solidjsweb.escape(price_formatting_().pre_), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $f38f2e64ebe2da86$export$a71e92cfbb498adc), {
1357
- get price_() {
1358
- return filter().data[1];
1359
- },
1360
- get price_formatting_() {
1361
- return price_formatting_();
1362
- }
1363
- })), $3hooq$solidjsweb.escape(price_formatting_().post_));
1364
- })();
1367
+ number_of_rendered_selected_filters_items_[1](prev => prev + 1);
1368
+ $3hooq$solidjs.onCleanup(() => number_of_rendered_selected_filters_items_[1](prev => prev - 1));
1369
+ return $3hooq$solidjsweb.ssr($c5842bdb10e57229$var$_tmpl$3, $3hooq$solidjsweb.ssrHydrationKey(), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $083b2336093176cf$export$3b621d86b1566b2), {})), $3hooq$solidjsweb.escape(price_formatting_().pre_), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $f38f2e64ebe2da86$export$a71e92cfbb498adc), {
1370
+ get price_() {
1371
+ return filter().data[0];
1372
+ },
1373
+ get price_formatting_() {
1374
+ return price_formatting_();
1375
+ }
1376
+ })), $3hooq$solidjsweb.escape(price_formatting_().post_), $3hooq$solidjsweb.escape(price_formatting_().pre_), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $f38f2e64ebe2da86$export$a71e92cfbb498adc), {
1377
+ get price_() {
1378
+ return filter().data[1];
1379
+ },
1380
+ get price_formatting_() {
1381
+ return price_formatting_();
1382
+ }
1383
+ })), $3hooq$solidjsweb.escape(price_formatting_().post_));
1365
1384
  },
1366
1385
  get children() {
1367
1386
  return $3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Index), {
@@ -1450,7 +1469,7 @@ function $c5842bdb10e57229$export$fecbb157621501bd(_ref) {
1450
1469
  return outmost_element;
1451
1470
  }
1452
1471
  const $902a0ca2b52f3898$var$_tmpl$ = ["<span", ' class="count">', "</span>"],
1453
- $902a0ca2b52f3898$var$_tmpl$2 = ["<label", ' class="', '"', '><div class="left"><input type="checkbox"', "", "", '><span class="custom-indicator"></span><span class="text line-clamp">', "</span></div><!--#-->", "<!--/--></label>"];
1472
+ $902a0ca2b52f3898$var$_tmpl$2 = ["<label", ' class="', '"', '><div class="left"><input type="checkbox"', "", "", '><span class="custom-indicator"></span><span class="text line-clamp">', "</span></div><!--$-->", "<!--/--></label>"];
1454
1473
  const $902a0ca2b52f3898$export$48513f6b9f8ce62d = props => {
1455
1474
  // It seems like there's no diffing without memos here (since we often just have computations in the getters above that update to the same result often because their dependencies change with unrelated changes often), so put memos here to avoid unneeded DOM changes
1456
1475
  const count = $3hooq$solidjs.createMemo(() => props.count_);
@@ -1471,14 +1490,13 @@ const $902a0ca2b52f3898$export$48513f6b9f8ce62d = props => {
1471
1490
  };
1472
1491
  const $a904ccf883f60231$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>';
1473
1492
  function $a904ccf883f60231$export$f21ab0717a89c77f(props) {
1474
- return $3hooq$solidjsweb.ssrElement("svg", () => ({
1475
- ...props,
1476
- "xmlns": "http://www.w3.org/2000/svg",
1477
- "width": "11",
1478
- "height": "12"
1493
+ return $3hooq$solidjsweb.ssrElement("svg", $3hooq$solidjsweb.mergeProps(props, {
1494
+ xmlns: "http://www.w3.org/2000/svg",
1495
+ width: "11",
1496
+ height: "12"
1479
1497
  }), () => $3hooq$solidjsweb.ssr($a904ccf883f60231$var$_tmpl$), true);
1480
1498
  }
1481
- const $b0477e4d832f090e$var$_tmpl$ = ["<button", ' type="button" class="', '"><!--#-->', "<!--/--><span>", "</span></button>"];
1499
+ const $b0477e4d832f090e$var$_tmpl$ = ["<button", ' type="button" class="', '"><!--$-->', "<!--/--><span>", "</span></button>"];
1482
1500
  function $b0477e4d832f090e$export$ca21a16d65b3dd8(_ref) {
1483
1501
  let {
1484
1502
  show_extras_: [get_show_extras, set_show_extras],
@@ -1486,7 +1504,7 @@ function $b0477e4d832f090e$export$ca21a16d65b3dd8(_ref) {
1486
1504
  } = _ref;
1487
1505
  return $3hooq$solidjsweb.ssr($b0477e4d832f090e$var$_tmpl$, $3hooq$solidjsweb.ssrHydrationKey(), "expand-filter ".concat(get_show_extras() ? "expanded" : ""), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $a904ccf883f60231$export$f21ab0717a89c77f), {})), get_show_extras() ? $3hooq$solidjsweb.escape(i18n_.view_less_()) : $3hooq$solidjsweb.escape(i18n_.view_more_()));
1488
1506
  }
1489
- const $9b54b9c5381716eb$var$_tmpl$ = ["<form", ' class="checkboxes"><!--#-->', "<!--/--><!--#-->", "<!--/--></form>"];
1507
+ const $9b54b9c5381716eb$var$_tmpl$ = ["<form", ' class="checkboxes"><!--$-->', "<!--/--><!--$-->", "<!--/--></form>"];
1490
1508
  const $9b54b9c5381716eb$var$max_visible_without_collapsing = 15;
1491
1509
  const $9b54b9c5381716eb$var$show_non_collapsible_when_collapsed = 4;
1492
1510
  function $9b54b9c5381716eb$export$dd948f91abc3a1c4(_ref) {
@@ -1593,7 +1611,7 @@ function $9b54b9c5381716eb$export$dd948f91abc3a1c4(_ref) {
1593
1611
  }
1594
1612
  const $d9239dad9a9d899b$var$_tmpl$ = ["<form", ' class="radios">', "</form>"],
1595
1613
  $d9239dad9a9d899b$var$_tmpl$2 = ["<span", ' class="count">', "</span>"],
1596
- $d9239dad9a9d899b$var$_tmpl$3 = ["<label", ' class="', '"', '><div class="left"><input type="radio"', "", '><span class="custom-indicator"></span><!--#-->', "<!--/--></div><!--#-->", "<!--/--></label>"];
1614
+ $d9239dad9a9d899b$var$_tmpl$3 = ["<label", ' class="', '"', '><div class="left"><input type="radio"', "", '><span class="custom-indicator"></span><!--$-->', "<!--/--></div><!--$-->", "<!--/--></label>"];
1597
1615
  function $d9239dad9a9d899b$export$430444115f70a734(_ref) {
1598
1616
  let {
1599
1617
  selected_filters_: selected_filters_,
@@ -1646,7 +1664,7 @@ function $d9239dad9a9d899b$export$430444115f70a734(_ref) {
1646
1664
  }
1647
1665
  })));
1648
1666
  }
1649
- const $0257c760a99bfacb$var$_tmpl$ = ["<div", ' class="', '"><div class="input-group"><div class="field"><input', ' type="number"', '></div><div class="separator">-</div><div class="field"><input', ' type="number"', "></div></div><!--#-->", '<!--/--><div class="value-text"><span class="min"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", '<!--/--></span><span class="max"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></span></div></div>"],
1667
+ const $0257c760a99bfacb$var$_tmpl$ = ["<div", ' class="', '"><div class="input-group"><div class="field"><input', ' type="number"', '></div><div class="separator">-</div><div class="field"><input', ' type="number"', "></div></div><!--$-->", '<!--/--><div class="value-text"><span class="min"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", '<!--/--></span><span class="max"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></span></div></div>"],
1650
1668
  $0257c760a99bfacb$var$_tmpl$2 = ["<div", ' class="slider"><div class="progress" style="', '"></div></div>'],
1651
1669
  $0257c760a99bfacb$var$_tmpl$3 = ["<div", ' class="range-group"><input', ' type="range"', ' step="any"><input', ' type="range"', ' step="any"></div>'];
1652
1670
  function $0257c760a99bfacb$export$e0d834a0ad870cda(_ref) {
@@ -1884,10 +1902,10 @@ function $ac040bdfeed58ee4$export$e5c2828934226505(_ref) {
1884
1902
  });
1885
1903
  return outer_div;
1886
1904
  }
1887
- const $9c1d49181fb3002a$var$_tmpl$ = ["<form", ' class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></form>"],
1888
- $9c1d49181fb3002a$var$_tmpl$2 = ["<div", ' class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
1905
+ const $9c1d49181fb3002a$var$_tmpl$ = ["<form", ' class="', '"><!--$-->', "<!--/--><!--$-->", "<!--/--></form>"],
1906
+ $9c1d49181fb3002a$var$_tmpl$2 = ["<div", ' class="', '"><!--$-->', "<!--/--><!--$-->", "<!--/--></div>"],
1889
1907
  $9c1d49181fb3002a$var$_tmpl$3 = ["<details", "></details>"],
1890
- $9c1d49181fb3002a$var$_tmpl$4 = ["<summary", ' class="category-parent"><div class="summary"><span class="', '">', "</span><!--#-->", "<!--/--></div></summary>"];
1908
+ $9c1d49181fb3002a$var$_tmpl$4 = ["<summary", ' class="category-parent"><div class="summary"><span class="', '">', "</span><!--$-->", "<!--/--></div></summary>"];
1891
1909
  const $9c1d49181fb3002a$var$max_visible_without_collapsing = 15;
1892
1910
  const $9c1d49181fb3002a$var$show_non_collapsible_when_collapsed = 4;
1893
1911
  function $9c1d49181fb3002a$export$a32086fa6616eafd(_ref) {
@@ -2398,15 +2416,18 @@ const $cd0e5524f9476f9b$export$414f6a19d38e655c = _ref => {
2398
2416
  const current_value = $e2d74bb03cc5252e$export$325f75597868c4f0(value().value_);
2399
2417
  return !!(data !== null && data !== void 0 && data.some(item => $e2d74bb03cc5252e$export$325f75597868c4f0(item) === current_value));
2400
2418
  });
2401
- const MakeButton = attributes => $3hooq$solidjsweb.ssrElement("button", () => ({
2402
- ...attributes,
2403
- "disabled": value().count_ === 0 && !is_selected(),
2404
- "classList": {
2405
- minor: !is_selected(),
2406
- major: is_selected(),
2407
- "major-minor-transition": true
2419
+ const MakeButton = attributes => $3hooq$solidjsweb.ssrElement("button", $3hooq$solidjsweb.mergeProps(attributes, {
2420
+ get disabled() {
2421
+ return value().count_ === 0 && !is_selected();
2422
+ },
2423
+ get classList() {
2424
+ return {
2425
+ minor: !is_selected(),
2426
+ major: is_selected(),
2427
+ "major-minor-transition": true
2428
+ };
2408
2429
  }
2409
- }), () => ["<!--#-->", $3hooq$solidjsweb.escape(value().value_), "<!--/-->", "<!--#-->", $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Show), {
2430
+ }), () => ["<!--$-->", $3hooq$solidjsweb.escape(value().value_), "<!--/-->", "<!--$-->", $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Show), {
2410
2431
  get when() {
2411
2432
  return value().count_ != undefined;
2412
2433
  },
@@ -2495,7 +2516,7 @@ function $cd0e5524f9476f9b$var$adjust_sizes(container_width, sizes, set_cols_at_
2495
2516
  overrides: column_to_row_result
2496
2517
  }]]);
2497
2518
  }
2498
- const $476a3dc36afc1938$var$_tmpl$ = ["<form", ' class="checkbox-color"><!--#-->', "<!--/--><!--#-->", "<!--/--></form>"];
2519
+ const $476a3dc36afc1938$var$_tmpl$ = ["<form", ' class="checkbox-color"><!--$-->', "<!--/--><!--$-->", "<!--/--></form>"];
2499
2520
  const $476a3dc36afc1938$var$max_visible_without_collapsing = 30;
2500
2521
  const $476a3dc36afc1938$var$show_non_collapsible_when_collapsed = 8;
2501
2522
  function $476a3dc36afc1938$export$82ed4b28ecb67608(_ref) {
@@ -2659,14 +2680,13 @@ var $f60633ac10c24308$export$2e2bcd8739ae039 = {
2659
2680
  const $44d50abe16a70c25$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>';
2660
2681
  function $44d50abe16a70c25$export$f2ca6fc699ca1fb4() {
2661
2682
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2662
- return $3hooq$solidjsweb.ssrElement("svg", () => ({
2663
- "xmlns": "http://www.w3.org/2000/svg",
2664
- "width": "16.8",
2665
- "height": "14",
2666
- ...props
2667
- }), () => $3hooq$solidjsweb.ssr($44d50abe16a70c25$var$_tmpl$), true);
2668
- }
2669
- const $958981128e559776$var$_tmpl$ = ["<span", ' class="show-selected" aria-hidden="true"><span>', "</span><!--#-->", "<!--/--></span>"];
2683
+ return $3hooq$solidjsweb.ssrElement("svg", $3hooq$solidjsweb.mergeProps({
2684
+ xmlns: "http://www.w3.org/2000/svg",
2685
+ width: "16.8",
2686
+ height: "14"
2687
+ }, props), () => $3hooq$solidjsweb.ssr($44d50abe16a70c25$var$_tmpl$), true);
2688
+ }
2689
+ const $958981128e559776$var$_tmpl$ = ["<span", ' class="show-selected" aria-hidden="true"><span>', "</span><!--$-->", "<!--/--></span>"];
2670
2690
  function $958981128e559776$export$53c59af873b303c9(_ref) {
2671
2691
  let {
2672
2692
  selected_filters_in_group_: selected_filters_in_group_,
@@ -2813,11 +2833,11 @@ function $a7f7d416e6f61504$export$89c6019e4baa40b1(props) {
2813
2833
  });
2814
2834
  }
2815
2835
  const $164d474fea221d77$var$_tmpl$ = ["<div", ' class="filter-collapsible">', "</div>"],
2816
- $164d474fea221d77$var$_tmpl$2 = ["<button", ' class="clear-group"><!--#-->', "<!--/--><span>", "</span></button>"],
2817
- $164d474fea221d77$var$_tmpl$3 = ["<div", ' class="view-more-clear"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
2818
- $164d474fea221d77$var$_tmpl$4 = ["<div", ' class="filter-collapsible-body"><div class="filter-part">', "</div><!--#-->", "<!--/--></div>"],
2836
+ $164d474fea221d77$var$_tmpl$2 = ["<button", ' class="clear-group"><!--$-->', "<!--/--><span>", "</span></button>"],
2837
+ $164d474fea221d77$var$_tmpl$3 = ["<div", ' class="view-more-clear"><!--$-->', "<!--/--><!--$-->", "<!--/--></div>"],
2838
+ $164d474fea221d77$var$_tmpl$4 = ["<div", ' class="filter-collapsible-body"><div class="filter-part">', "</div><!--$-->", "<!--/--></div>"],
2819
2839
  $164d474fea221d77$var$_tmpl$5 = ["<details", ' class="filter-collapsible"', "></details>"],
2820
- $164d474fea221d77$var$_tmpl$6 = ["<summary", ' class="filter-group-summary"><div class="summary"><span>', '</span><div class="selected-w-sign"><!--#-->', "<!--/--><!--#-->", "<!--/--></div></div></summary>"],
2840
+ $164d474fea221d77$var$_tmpl$6 = ["<summary", ' class="filter-group-summary"><div class="summary"><span>', '</span><div class="selected-w-sign"><!--$-->', "<!--/--><!--$-->", "<!--/--></div></div></summary>"],
2821
2841
  $164d474fea221d77$var$_tmpl$7 = ["<div", ' class="ungrouped">', "</div>"],
2822
2842
  $164d474fea221d77$var$_tmpl$8 = ["<button", ' class="clear-all-filters major">', "</button>"];
2823
2843
  function $164d474fea221d77$export$3f1a388cc0d8fed7(props) {
@@ -3776,7 +3796,7 @@ function $1689794f03ba2554$export$205efb947c7ffd78(handler) {
3776
3796
  $3hooq$solidjs.onCleanup(() => removeEventListener(event, catchified_handler));
3777
3797
  }
3778
3798
  }
3779
- const $e03dec587b6e91e3$var$_tmpl$ = ["<div", ' class="scroll-status" style="display:none"><span class="text"><b>', "</b> – <b>", "</b> <!--#-->", "<!--/--> <b>", "</b></span></div>"];
3799
+ const $e03dec587b6e91e3$var$_tmpl$ = ["<div", ' class="scroll-status" style="display:none"><span class="text"><b>', "</b> – <b>", "</b> <!--$-->", "<!--/--> <b>", "</b></span></div>"];
3780
3800
  function $e03dec587b6e91e3$export$83fd5de5504a7a67(_ref) {
3781
3801
  let {
3782
3802
  formatted_number_of_results_: formatted_number_of_results_,
@@ -3897,7 +3917,7 @@ function $e03dec587b6e91e3$export$83fd5de5504a7a67(_ref) {
3897
3917
  })), $3hooq$solidjsweb.escape(of_()), $3hooq$solidjsweb.escape(count_to_show()));
3898
3918
  }
3899
3919
  const $063a16c081021c3f$var$_tmpl$ = ["<a", ' class="hint" href="javascript:void(0)">', "</a>"],
3900
- $063a16c081021c3f$var$_tmpl$2 = ["<div", ' class="no-results"><div class="text">', "</div><!--#-->", "<!--/--></div>"];
3920
+ $063a16c081021c3f$var$_tmpl$2 = ["<div", ' class="no-results"><div class="text">', "</div><!--$-->", "<!--/--></div>"];
3901
3921
  function $063a16c081021c3f$export$ef6006467f04ee41(_ref) {
3902
3922
  let {
3903
3923
  i18n_: i18n_,
@@ -4035,7 +4055,9 @@ function $0d3ee7000f047e67$export$a1fd619a4743ca08(_ref) {
4035
4055
  min_products_to_fetch_: min_products_to_fetch_,
4036
4056
  query_base_: query_base_,
4037
4057
  depict_api_: depict_api_,
4038
- is_loading_: is_loading_
4058
+ is_loading_: is_loading_,
4059
+ content_blocks_: content_blocks_,
4060
+ set_number_loaded_displays_: set_number_loaded_displays_
4039
4061
  } = _ref;
4040
4062
  // The following sets up an intersection observer to determine which results are in the viewport, used for the ScrollStatus indicator and knowing when to load more
4041
4063
  const target_to_index_map = new Map();
@@ -4082,11 +4104,13 @@ function $0d3ee7000f047e67$export$a1fd619a4743ca08(_ref) {
4082
4104
  query_base_: query_base_,
4083
4105
  depict_api_: depict_api_
4084
4106
  });
4107
+ $3hooq$solidjs.createComputed(() => set_number_loaded_displays_(displays_by_key_().size));
4085
4108
  return $76012c4468a53d1f$export$43f0fb951fcb0c54({
4086
4109
  displays_by_key_: displays_by_key_,
4087
4110
  merchant_: merchant_,
4088
4111
  market_: market_,
4089
4112
  product_card_template_: product_card_template_,
4113
+ content_blocks_: content_blocks_,
4090
4114
  do_per_elements_: (elements, index_accessor) =>
4091
4115
  // Adds/removes elements from the "results in viewport" intersection observer above
4092
4116
  $3hooq$solidjs.createEffect(() => {
@@ -4108,7 +4132,337 @@ function $0d3ee7000f047e67$export$a1fd619a4743ca08(_ref) {
4108
4132
  })
4109
4133
  });
4110
4134
  }
4111
- const $484eec37514a982e$var$_tmpl$ = ["<div", ' class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"];
4135
+ const $830518481649feb1$var$_tmpl$ = ["<style", ' type="text/css">', "</style>"];
4136
+ const $830518481649feb1$export$c500183c31c2b22e = "--spans-columns";
4137
+ function $830518481649feb1$export$ab6b147eec64fea5(props) {
4138
+ const container_class = "x" + $3hooq$solidjs.createUniqueId();
4139
+ const container_element_ = $3hooq$solidjsweb.ssrElement("div", $3hooq$solidjsweb.mergeProps(() => props.element_attributes, {
4140
+ classList: {
4141
+ [container_class]: true
4142
+ }
4143
+ }), () => $3hooq$solidjsweb.escape(props.children), true); // Don't want this in the error boundary below, it should only be for the actual layouting
4144
+ return $3hooq$solidjsweb.createComponent((0, $1b3cf201cdd38687$export$b69d0d92862de18b), {
4145
+ message_: "Failed calculating css grid layout",
4146
+ severity_: "error",
4147
+ get children() {
4148
+ return $830518481649feb1$export$e2f22da34aaf310a(props, container_element_, false, container_class);
4149
+ }
4150
+ });
4151
+ }
4152
+ function $830518481649feb1$export$e2f22da34aaf310a(props, container_element) {
4153
+ let insert_after_container = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
4154
+ let container_class = arguments.length > 3 ? arguments[3] : undefined;
4155
+ if (!container_class) {
4156
+ // only try to add if it wasn't provided, so that we have a code path without classList when doing SSR
4157
+ container_class = $3hooq$depictaiutilishared.make_random_classname();
4158
+ container_element.classList.add(container_class);
4159
+ }
4160
+ const container_selector = ".depict .".concat(container_class); // class so ppl can have id if needed
4161
+ const col_styling = $3hooq$solidjs.createMemo(() => $830518481649feb1$var$generate_media_queried_declarations({
4162
+ container_selector_: container_selector,
4163
+ default_grid_spacing_text: props.grid_spacing,
4164
+ cols_at_size_: props.cols_at_size,
4165
+ override_vertical_spacing_: props.override_vertical_spacing,
4166
+ top_row_shortened_by_: props.top_row_shortened_by_()
4167
+ }));
4168
+ const base_styling = $3hooq$solidjs.createMemo(() => {
4169
+ return "".concat(container_selector, "{display:grid;}");
4170
+ });
4171
+ const get_styling = $3hooq$solidjs.createMemo(() => base_styling() + col_styling());
4172
+ const style_element = $3hooq$solidjsweb.ssr($830518481649feb1$var$_tmpl$, $3hooq$solidjsweb.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
4173
+ if (insert_after_container) container_element.after(style_element);
4174
+ return [container_element, style_element];
4175
+ }
4176
+ function $830518481649feb1$var$generate_media_queried_declarations(_ref) {
4177
+ let {
4178
+ container_selector_: container_selector_,
4179
+ default_grid_spacing_text: default_grid_spacing_text,
4180
+ cols_at_size_: cols_at_size_,
4181
+ override_vertical_spacing_: override_vertical_spacing_,
4182
+ top_row_shortened_by_: top_row_shortened_by_
4183
+ } = _ref;
4184
+ return cols_at_size_.map(options => {
4185
+ const [n_cols, min, max, grid_spacing_for_size] = options;
4186
+ const spacing_to_use = grid_spacing_for_size || default_grid_spacing_text;
4187
+ // See comment in else block below
4188
+ const can_use_gap = $830518481649feb1$var$can_use_gap_for_unit(spacing_to_use) && (!override_vertical_spacing_ || $830518481649feb1$var$can_use_gap_for_unit(override_vertical_spacing_));
4189
+ let spacing_styling;
4190
+ let additional_styling = ""; // outside the media query
4191
+ if (can_use_gap) spacing_styling = "gap:".concat(spacing_to_use, ";").concat(override_vertical_spacing_ ? "row-gap:".concat(override_vertical_spacing_, ";") : "");else {
4192
+ // When using percent units, which our default styling does (because convenient) and our interface relies on (hard to specify different gaps for different screen sizes)
4193
+ // row gaps in grids are relative to the whole height of the grid, maybe see also https://stackoverflow.com/a/53563865. The issue with that is that as we load more products, the gap grows. Also, it breaks existing integrations.
4194
+ // Logical thought: use margins for the vertical spacing. But margins in grids are apparently relative to the size of the individual items in grids.
4195
+ // Given that, and that content blocks can be of different width, we have to do some complicated calculations to convert the provided gap, which is in gap of the total container width, to a margin of the individual items.
4196
+ const width_multiplier = "var(".concat($830518481649feb1$export$c500183c31c2b22e, ", 1)"); // How many cards wide the current item is (needed because content blocks)
4197
+ const one_item_width_exclusing_gaps = "calc(calc(100 / ".concat(n_cols, ") - calc(calc(").concat(n_cols * 2 - 2, " * calc(").concat($830518481649feb1$var$strip_percent_unit(spacing_to_use), " / 2)) / ").concat(n_cols, "))"); // Width of one item in percent of the whole
4198
+ // Equation from layout.tsx, also used in CheckboxGrid. Needs half spacing for some reason
4199
+ const this_item_width_meat = "calc(".concat(one_item_width_exclusing_gaps, " * ").concat(width_multiplier, ")"); // Width of just the card
4200
+ const this_item_width_gaps = "calc(calc(".concat(width_multiplier, " - 1) * ").concat($830518481649feb1$var$strip_percent_unit(spacing_to_use), ")"); // Width of the gaps
4201
+ const this_item_width = "calc(".concat(this_item_width_meat, " + ").concat(this_item_width_gaps, ")"); // Width of this item including gaps
4202
+ // this_item_width needs to be unitless, and since plain css can't do calc(40% / 5%) which would become unitless we need to strip all units in the calculations before
4203
+ const convert_top_spacing_to_item_width_percentage = spacing => "calc(calc(100 / ".concat(this_item_width, ") * ").concat(spacing, ")"); // Now finally we can convert the desired spacing to a percentage of this individual item's width (including gaps that would be there but aren't because content blocks span them)
4204
+ spacing_styling = "column-gap:".concat(spacing_to_use, ";"); // Still use gaps in the horizontal direction because that works flawlessly
4205
+ // Re-use old layout code to get the correct :nth-child declarations for the top margins
4206
+ additional_styling = $3hooq$depictaiutilishared.n_col_styling_with_dist(container_selector_ + ">", convert_top_spacing_to_item_width_percentage(default_grid_spacing_text), [[n_cols, min, max, grid_spacing_for_size ? convert_top_spacing_to_item_width_percentage(grid_spacing_for_size) : null]], "grid", override_vertical_spacing_ ? convert_top_spacing_to_item_width_percentage(override_vertical_spacing_) : override_vertical_spacing_, top_row_shortened_by_);
4207
+ }
4208
+ const media_query_body = "".concat(container_selector_, "{").concat(spacing_styling, "grid-template-columns:repeat(").concat(n_cols, ",minmax(0,1fr));}");
4209
+ return "".concat($3hooq$depictaiutilishared.layout_media_query_header(min, max), "{").concat(media_query_body, "}").concat(additional_styling);
4210
+ }).join("");
4211
+ }
4212
+ function $830518481649feb1$var$can_use_gap_for_unit(spacing) {
4213
+ const trimmed_spacing = spacing.trim();
4214
+ return !trimmed_spacing.includes("%");
4215
+ }
4216
+ function $830518481649feb1$var$strip_percent_unit(css_value) {
4217
+ return css_value.replaceAll("%", "");
4218
+ }
4219
+ function $c749e60bca5000cb$export$cb5808ba002cdeed(_ref) {
4220
+ let {
4221
+ layout_options_: layout_options_,
4222
+ sort_or_filter_open_: sort_or_filter_open_
4223
+ } = _ref;
4224
+ return $3hooq$solidjs.createMemo(() => {
4225
+ const layout_options = layout_options_();
4226
+ // Add grid styling that changes when filters get opened/closed
4227
+ const when_filters_closed_cols = layout_options.cols_at_size;
4228
+ return sort_or_filter_open_() ? when_filters_closed_cols.map(row => {
4229
+ const [num_cols_default,,,, override_cols] = row;
4230
+ const cloned_row = [...row];
4231
+ // @ts-ignore
4232
+ cloned_row[0] = num_cols_default - 1;
4233
+ if (override_cols)
4234
+ // @ts-ignore
4235
+ cloned_row[4] = {
4236
+ overrides: Object.fromEntries(Object.entries(override_cols.overrides).map(_ref2 => {
4237
+ let [row, column] = _ref2;
4238
+ return [row, column - 1];
4239
+ }))
4240
+ };
4241
+ return cloned_row;
4242
+ }) : when_filters_closed_cols;
4243
+ });
4244
+ }
4245
+ function $85fcdab554c24789$export$a79e666719b3647c(cols_at_size_) {
4246
+ const size_active = $3hooq$solidjs.createMemo(() => cols_at_size_().map(_ref => {
4247
+ let [n_cols, min_width, max_width] = _ref;
4248
+ const media_query = $3hooq$depictaiutilishared.layout_media_query_header(min_width, max_width).replaceAll("@media", "");
4249
+ const matches = $3e17e871e9d0911d$export$d9f36cf74e24d595(media_query);
4250
+ return [matches, n_cols];
4251
+ }));
4252
+ const n_cols_currently_showing = $3hooq$solidjs.createMemo(() => {
4253
+ try {
4254
+ const [, n_cols_currently_showing] = size_active().find(_ref2 => {
4255
+ let [media_query] = _ref2;
4256
+ return media_query();
4257
+ });
4258
+ return n_cols_currently_showing;
4259
+ } catch (e) {
4260
+ $3hooq$depictaiutilishared.dwarn("No active size found in columnsAtSize - can't render content blocks");
4261
+ return null;
4262
+ }
4263
+ });
4264
+ return n_cols_currently_showing;
4265
+ }
4266
+ function $b8a8d61b3ec5f5ac$export$3f37af283f8fb843(props) {
4267
+ const style = $3hooq$solidjs.createMemo(() => {
4268
+ const {
4269
+ style: style,
4270
+ height: height,
4271
+ width: width,
4272
+ aspectRatio: aspectRatio
4273
+ } = props;
4274
+ const is_image = aspectRatio != undefined;
4275
+ const size_data = is_image ? {
4276
+ width: "100%",
4277
+ "padding-bottom": 1 / aspectRatio * 100 + "%"
4278
+ } : {
4279
+ width: width,
4280
+ height: height
4281
+ };
4282
+ return {
4283
+ display: "block",
4284
+ ...(style || {}),
4285
+ ...size_data
4286
+ };
4287
+ });
4288
+ return $3hooq$solidjsweb.createComponent((0, $e3d733f899558f40$export$acb3eaade4b23afd), {
4289
+ get style() {
4290
+ return style();
4291
+ },
4292
+ get ["class"]() {
4293
+ return props.class;
4294
+ }
4295
+ });
4296
+ }
4297
+ const $f8f375d6245ffff2$var$_tmpl$ = ["<div", ' class="content-block-wrapper" style="', '">', "</div>"];
4298
+ function $f8f375d6245ffff2$export$791ef57e62e21c3f(_ref) {
4299
+ let {
4300
+ content_blocks_: incoming_content_blocks,
4301
+ cols_at_size_: cols_at_size_,
4302
+ number_of_items_shown_: number_of_items_shown_,
4303
+ set_top_row_shortened_by_: set_top_row_shortened_by_
4304
+ } = _ref;
4305
+ // these are by row
4306
+ const [content_blocks, set_content_blocks] = $3hooq$solidjsstore.createStore([]);
4307
+ const n_cols_currently_showing_ = $85fcdab554c24789$export$a79e666719b3647c(cols_at_size_);
4308
+ const products_to_rows = products => {
4309
+ const cols_currently_showing = n_cols_currently_showing_();
4310
+ if (cols_currently_showing === null) return 0;
4311
+ return Math.ceil(products / cols_currently_showing);
4312
+ };
4313
+ const showing_rows = $3hooq$solidjs.createMemo(() => products_to_rows(number_of_items_shown_()));
4314
+ $3hooq$solidjs.createEffect(() => {
4315
+ const incoming_value = incoming_content_blocks();
4316
+ if (!incoming_value) {
4317
+ set_content_blocks([]);
4318
+ return;
4319
+ }
4320
+ const capped_value = incoming_value.slice(0, showing_rows()); // Don't show more content blocks than we have rows
4321
+ set_content_blocks($3hooq$solidjsstore.reconcile(capped_value, {
4322
+ key: "content"
4323
+ })); // key: Make moving blocks faster, see https://github.com/solidjs/solid/issues/1925#issuecomment-1769671596
4324
+ });
4325
+
4326
+ const get_wrapped_blocks_ = $f8f375d6245ffff2$var$wrap_blocks_in_div(content_blocks, n_cols_currently_showing_);
4327
+ $3hooq$solidjs.createComputed(() => {
4328
+ // Update our styling if a content block forces some items that should be in the top row into a lower one, so we can generate margin-top declarations for them
4329
+ const top_row_block = get_wrapped_blocks_()[0];
4330
+ const blocks_in_top_row_taken = top_row_block === null || top_row_block === void 0 ? void 0 : top_row_block.span_columns;
4331
+ if (blocks_in_top_row_taken == undefined) {
4332
+ // Fall back to zero if no content block in top row, since then no blocks in top row are taken
4333
+ set_top_row_shortened_by_(0);
4334
+ return;
4335
+ }
4336
+ set_top_row_shortened_by_(blocks_in_top_row_taken - 1); // minus one because the content block wrapper also is an element
4337
+ });
4338
+
4339
+ return $f8f375d6245ffff2$var$remap_blocks_to_index({
4340
+ get_wrapped_blocks_: get_wrapped_blocks_,
4341
+ n_cols_currently_showing_: n_cols_currently_showing_
4342
+ });
4343
+ }
4344
+ /**
4345
+ * Calculate where to put each of the finished wrapped content blocks. Also limit blocks' max width.
4346
+ * @returns an array where index is index of the blocks in the "displays array" and value is the content block (elements) to show at that index
4347
+ */
4348
+ function $f8f375d6245ffff2$var$remap_blocks_to_index(_ref2) {
4349
+ let {
4350
+ get_wrapped_blocks_: get_wrapped_blocks_,
4351
+ n_cols_currently_showing_: n_cols_currently_showing_
4352
+ } = _ref2;
4353
+ return $3hooq$solidjs.createMemo(() => {
4354
+ // This computation should be quite cheap since it just moves around things into an array
4355
+ const content_blocks_by_index = [];
4356
+ const constructed_block_arrays = new WeakSet();
4357
+ const wrapped_blocks = get_wrapped_blocks_();
4358
+ const cols_showing = n_cols_currently_showing_();
4359
+ // Need to keep track of products displaced by blocks above when mapping rows to indexes in the actual grid
4360
+ const displaced_products = []; // undefined = is product, true = is content block if number instead of tuple number indicates content blocks in that row. Index in first array is row, index in second array is column
4361
+ for (let i = 0; i < wrapped_blocks.length; i++) {
4362
+ // i = row to show at
4363
+ const block = wrapped_blocks[i];
4364
+ if (!block) continue; // Array can have holes/not defined places
4365
+ const index_of_first_item_in_row = i * cols_showing;
4366
+ const index_of_last_item_in_row = index_of_first_item_in_row + cols_showing;
4367
+ const {
4368
+ span_rows: span_rows,
4369
+ position: position,
4370
+ span_columns: span_columns
4371
+ } = block; // span columns is already capped in the block wrapping step (wrap_blocks_in_div)
4372
+ let target_index;
4373
+ if (position === "left") target_index = index_of_first_item_in_row;else if (position === "right") target_index = index_of_last_item_in_row - span_columns;else if (position === "center") target_index = index_of_first_item_in_row + Math.floor((cols_showing - span_columns) / 2);else throw new Error("Invalid position for content block - must be left, right or center: " + JSON.stringify(position));
4374
+ // Calculate displacement of us by content blocks above us
4375
+ let displacement_by_added_blocks = 0;
4376
+ for (let j = 0; j < i; j++) {
4377
+ const row = displaced_products[j];
4378
+ if (row === undefined) continue; // there were no blocks in this row
4379
+ let items_in_row;
4380
+ if (typeof row === "number") items_in_row = row;else {
4381
+ items_in_row = row.filter(item => item).length;
4382
+ displaced_products[j] = items_in_row;
4383
+ }
4384
+ displacement_by_added_blocks += items_in_row;
4385
+ }
4386
+ const index_of_us_in_row = target_index - index_of_first_item_in_row;
4387
+ for (let j = 0; j < index_of_us_in_row; j++) {
4388
+ var _displaced_products$i;
4389
+ if ((_displaced_products$i = displaced_products[i]) !== null && _displaced_products$i !== void 0 && _displaced_products$i[j])
4390
+ // Add blocks in our *current* row to the displacement, but only the ones to our left
4391
+ displacement_by_added_blocks++;
4392
+ }
4393
+ // Add block to output array at the correct index
4394
+ const final_target_index = target_index - displacement_by_added_blocks;
4395
+ const existing_block = content_blocks_by_index[final_target_index];
4396
+ const block_content = block.content;
4397
+ // If two blocks want to exist at the same location (can happen, for example if one block wants to be at the end of a row and the other one at the start of the next row) add an array with both
4398
+ if (existing_block) {
4399
+ if (constructed_block_arrays.has(existing_block))
4400
+ // Only push to arrays we have created to not create funky bugs when there's an array in JSX.Element
4401
+ existing_block.push(block_content);else {
4402
+ const array = [existing_block, block_content];
4403
+ constructed_block_arrays.add(array);
4404
+ content_blocks_by_index[final_target_index] = array;
4405
+ }
4406
+ } else content_blocks_by_index[final_target_index] = block_content;
4407
+ // Update displacement
4408
+ for (let j = 0; j < span_rows; j++) {
4409
+ var _ref3;
4410
+ const row = displaced_products[_ref3 = i + j] || (displaced_products[_ref3] = []);
4411
+ for (let k = index_of_us_in_row; k < index_of_us_in_row + span_columns; k++) row[k] = true;
4412
+ }
4413
+ }
4414
+ return content_blocks_by_index;
4415
+ });
4416
+ }
4417
+ /**
4418
+ * Takes a store that contains an array from where index is number of row and value is the result of executing the content block rendering function.
4419
+ * Then renders the content and wraps it into a div with the correct styling.
4420
+ * Also caps span_columns to max available columns
4421
+ */
4422
+ function $f8f375d6245ffff2$var$wrap_blocks_in_div(rendered_content_blocks, max_span_columns) {
4423
+ const get_wrapped_blocks = $3hooq$solidjs.mapArray(() => rendered_content_blocks, block => {
4424
+ if (!block) return;
4425
+ const get_span_columns = () => {
4426
+ var _max_span_columns;
4427
+ return Math.min(block.span_columns, (_max_span_columns = max_span_columns()) !== null && _max_span_columns !== void 0 ? _max_span_columns : Infinity);
4428
+ };
4429
+ return $3hooq$solidjs.mergeProps(block, {
4430
+ // Create content divs for the blocks with as much fine-grained diffing as possible?
4431
+ content: $3hooq$solidjsweb.ssr($f8f375d6245ffff2$var$_tmpl$, $3hooq$solidjsweb.ssrHydrationKey(), "grid-column:" + "span ".concat($3hooq$solidjsweb.escape(get_span_columns(), true)) + (";grid-row:" + "span ".concat($3hooq$solidjsweb.escape(block.span_rows, true))) + (";spans_columns_variable_name:" + $3hooq$solidjsweb.escape(get_span_columns(), true)), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent($f8f375d6245ffff2$var$RenderContent, {
4432
+ get content() {
4433
+ return block.content;
4434
+ }
4435
+ }))),
4436
+ get span_columns() {
4437
+ // Cap max width of block to the number of columns available, for everyone downstream
4438
+ return get_span_columns();
4439
+ }
4440
+ });
4441
+ });
4442
+ return get_wrapped_blocks;
4443
+ }
4444
+ /**
4445
+ * Basically adds support for async content block functions and shows a rudimentary placeholder if rendering is delayed. Required due to react having a rendering delay.
4446
+ */
4447
+ function $f8f375d6245ffff2$var$RenderContent(props) {
4448
+ const [resource] = $3hooq$solidjs.createResource(() => props.content,
4449
+ // Could be reactive
4450
+ fn => fn());
4451
+ $3hooq$solidjs.createEffect(() => {
4452
+ if (resource.error) console.error("Error in content block rendering", resource.error);
4453
+ });
4454
+ // The suspense is for when there's an async content block (which we have to support due to react having a rendering delay) so that we can show some height while it's loading (should kinda never be visible)
4455
+ return $3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Suspense), {
4456
+ get fallback() {
4457
+ return $3hooq$solidjsweb.createComponent((0, $b8a8d61b3ec5f5ac$export$3f37af283f8fb843), {
4458
+ width: "100%",
4459
+ height: "max(100%, 400px)"
4460
+ });
4461
+ },
4462
+ children: resource
4463
+ });
4464
+ }
4465
+ const $484eec37514a982e$var$_tmpl$ = ["<div", ' class="', '"><!--$-->', "<!--/--><!--$-->", "<!--/--></div>"];
4112
4466
  function $484eec37514a982e$export$3925f87b1545cfc6(_ref) {
4113
4467
  let {
4114
4468
  plp_results_: plp_results_,
@@ -4124,7 +4478,8 @@ function $484eec37514a982e$export$3925f87b1545cfc6(_ref) {
4124
4478
  sort_or_filter_open_: sort_or_filter_open_,
4125
4479
  product_card_template_: product_card_template_,
4126
4480
  layout_options_: layout_options_,
4127
- id_currently_querying_for_: id_currently_querying_for_
4481
+ id_currently_querying_for_: id_currently_querying_for_,
4482
+ content_blocks_by_row_: content_blocks_by_row_
4128
4483
  } = _ref;
4129
4484
  // The plp_results_ resource will be delayed because we're using createBatchedMemo to not make triplicate API requests, but we need to show the placeholders before already to match Chrome and Firefox's "content has to be there, ready for scroll restoration, before all popstate tasks have been completed"-requirement
4130
4485
  const is_loading_ = $3hooq$solidjs.createMemo(() => plp_results_.loading || query_base_.loading);
@@ -4167,24 +4522,37 @@ function $484eec37514a982e$export$3925f87b1545cfc6(_ref) {
4167
4522
  let is_just_after_plp_results_update = false;
4168
4523
  let fallback_is_alive = false;
4169
4524
  const [get_should_have_placeholders_rendered, set_should_have_placeholders_rendered] = $3hooq$solidjs.createSignal(true);
4525
+ const [top_row_shortened_by_, set_top_row_shortened_by_] = $3hooq$solidjs.createSignal(0);
4526
+ const [product_card_suspense_is_in_fallback, set_product_card_suspense_is_in_fallback] = $3hooq$solidjs.createSignal(false);
4527
+ const [number_loaded_displays, set_number_loaded_displays_] = $3hooq$solidjs.createSignal(0);
4528
+ const modified_cols_at_size = $c749e60bca5000cb$export$cb5808ba002cdeed({
4529
+ layout_options_: layout_options_,
4530
+ sort_or_filter_open_: sort_or_filter_open_
4531
+ });
4532
+ const num_placeholders_ = $3hooq$solidjs.createMemo(() => {
4533
+ var _get_scroll_restorati, _get_scroll_restorati2;
4534
+ // Can't use the data out of request_base for the id because request_base is too late, we need the correct amount of placeholders before the browser has restored the scroll state after processing all popstate events
4535
+ return (0, $da887c42f8e8847a$export$6c9030e511152266) + ((_get_scroll_restorati = (_get_scroll_restorati2 = get_scroll_restoration_data().find(_ref2 => {
4536
+ let {
4537
+ for_id: for_id
4538
+ } = _ref2;
4539
+ return for_id === id_currently_querying_for_();
4540
+ })) === null || _get_scroll_restorati2 === void 0 ? void 0 : _get_scroll_restorati2.min_results_loaded) !== null && _get_scroll_restorati !== void 0 ? _get_scroll_restorati : min_products_to_fetch_);
4541
+ });
4542
+ const number_of_items_shown_ = $3hooq$solidjs.createMemo(() => is_loading_() || product_card_suspense_is_in_fallback() ? num_placeholders_() : number_loaded_displays());
4543
+ const doesnt_have_content_blocks = $3hooq$solidjs.createMemo(() => !content_blocks_by_row_());
4544
+ const content_blocks_ = $3hooq$solidjs.createMemo(() => doesnt_have_content_blocks() ? () => [] : $f8f375d6245ffff2$export$791ef57e62e21c3f({
4545
+ content_blocks_: content_blocks_by_row_,
4546
+ cols_at_size_: modified_cols_at_size,
4547
+ number_of_items_shown_: number_of_items_shown_,
4548
+ set_top_row_shortened_by_: set_top_row_shortened_by_
4549
+ }));
4170
4550
  const rendered_placeholders = $3hooq$solidjs.createMemo(() => get_should_have_placeholders_rendered() ? $e3915574cfd3466c$export$f33414a4df0afd3f({
4551
+ content_blocks_: content_blocks_,
4171
4552
  product_card_template_: product_card_template_,
4172
- num_placeholders_: $3hooq$solidjs.createMemo(() => {
4173
- var _get_scroll_restorati, _get_scroll_restorati2;
4174
- // Can't use the data out of request_base for the id because request_base is too late, we need the correct amount of placeholders before the browser has restored the scroll state after processing all popstate events
4175
- return (0, $da887c42f8e8847a$export$6c9030e511152266) + ((_get_scroll_restorati = (_get_scroll_restorati2 = get_scroll_restoration_data().find(_ref2 => {
4176
- let {
4177
- for_id: for_id
4178
- } = _ref2;
4179
- return for_id === id_currently_querying_for_();
4180
- })) === null || _get_scroll_restorati2 === void 0 ? void 0 : _get_scroll_restorati2.min_results_loaded) !== null && _get_scroll_restorati !== void 0 ? _get_scroll_restorati : min_products_to_fetch_);
4181
- })
4553
+ num_placeholders_: num_placeholders_
4182
4554
  }) : undefined);
4183
4555
  const [get_suspense_is_blocked, set_suspense_is_blocked] = $3hooq$solidjs.createSignal(false);
4184
- const modified_cols_at_size = $484eec37514a982e$var$make_modified_cols_at_size({
4185
- layout_options_: layout_options_,
4186
- sort_or_filter_open_: sort_or_filter_open_
4187
- });
4188
4556
  const block_suspense_if_needed = () => {
4189
4557
  if (!is_just_after_plp_results_update) return;
4190
4558
  is_just_after_plp_results_update = false;
@@ -4214,18 +4582,18 @@ function $484eec37514a982e$export$3925f87b1545cfc6(_ref) {
4214
4582
  */
4215
4583
  const product_cards_when_data = $3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Suspense), {
4216
4584
  get fallback() {
4217
- return (() => {
4218
- fallback_is_alive = true;
4219
- $3hooq$solidjs.onCleanup(block_suspense_if_needed); // Block suspense after initial run every time after we fetch
4220
- return $3hooq$solidjs.createMemo(() => {
4221
- // We need to be able to block the suspense since when async product cards are *rendering* we want to show the placeholders on initial load but not when loading more
4222
- // In future we could have individual suspense's for each product card, but that's too much for now
4223
- if (get_suspense_is_blocked()) return suspense_contents;
4224
- set_should_have_placeholders_rendered(true); // just in case
4225
- $3hooq$solidjs.onCleanup(() => set_should_have_placeholders_rendered(false));
4226
- return rendered_placeholders; // I lifted the placeholders into the memo since we don't want to re-render them when switching from <Show> to <Suspense>
4227
- });
4228
- })();
4585
+ fallback_is_alive = true;
4586
+ $3hooq$solidjs.onCleanup(block_suspense_if_needed); // Block suspense after initial run every time after we fetch
4587
+ set_product_card_suspense_is_in_fallback(true); // Here for the content block code that needs to know how many items we're displaying
4588
+ $3hooq$solidjs.onCleanup(() => set_product_card_suspense_is_in_fallback(false));
4589
+ return $3hooq$solidjs.createMemo(() => {
4590
+ // We need to be able to block the suspense since when async product cards are *rendering* we want to show the placeholders on initial load but not when loading more
4591
+ // In future we could have individual suspense's for each product card, but that's too much for now
4592
+ if (get_suspense_is_blocked()) return suspense_contents;
4593
+ set_should_have_placeholders_rendered(true); // just in case
4594
+ $3hooq$solidjs.onCleanup(() => set_should_have_placeholders_rendered(false));
4595
+ return rendered_placeholders; // I lifted the placeholders into the memo since we don't want to re-render them when switching from <Show> to <Suspense>
4596
+ });
4229
4597
  },
4230
4598
 
4231
4599
  get children() {
@@ -4241,37 +4609,64 @@ function $484eec37514a982e$export$3925f87b1545cfc6(_ref) {
4241
4609
  min_products_to_fetch_: min_products_to_fetch_,
4242
4610
  query_base_: query_base_,
4243
4611
  depict_api_: depict_api_,
4244
- is_loading_: is_loading_
4612
+ is_loading_: is_loading_,
4613
+ content_blocks_: content_blocks_,
4614
+ set_number_loaded_displays_: set_number_loaded_displays_
4245
4615
  });
4246
4616
  $3hooq$solidjs.onCleanup(() => suspense_contents = undefined);
4247
4617
  return suspense_contents;
4248
4618
  })();
4249
4619
  }
4250
4620
  });
4251
- return [$8edd3cf30d1fd8b4$export$a2cc176055f8f08(), $3hooq$solidjsweb.createComponent((0, $6c2c739b113a8ddf$export$d21e32dfedac04be), {
4252
- get cols_at_size() {
4253
- return modified_cols_at_size();
4621
+ /* This Show is so that we show placeholders while query_base is loading and because it's cumbersome to ensure that everything that directly accesses the plp_results_ resource is within the <Suspense> boundary */
4622
+ const listing_contents = $3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Show), {
4623
+ get when() {
4624
+ return !is_loading_();
4254
4625
  },
4255
- get override_vertical_spacing() {
4256
- return layout_options_().override_vertical_spacing;
4626
+ get fallback() {
4627
+ return rendered_placeholders();
4257
4628
  },
4258
- get grid_spacing() {
4259
- return layout_options_().grid_spacing;
4629
+ children: product_cards_when_data
4630
+ });
4631
+ return [$8edd3cf30d1fd8b4$export$a2cc176055f8f08(), $3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Show), {
4632
+ get when() {
4633
+ return doesnt_have_content_blocks();
4260
4634
  },
4261
- rows: "all",
4262
- layout: "grid",
4263
- element_attributes: {
4264
- class: "cards"
4635
+ get fallback() {
4636
+ return $3hooq$solidjsweb.createComponent((0, $830518481649feb1$export$ab6b147eec64fea5), {
4637
+ get cols_at_size() {
4638
+ return modified_cols_at_size();
4639
+ },
4640
+ get override_vertical_spacing() {
4641
+ return layout_options_().override_vertical_spacing;
4642
+ },
4643
+ get grid_spacing() {
4644
+ return layout_options_().grid_spacing;
4645
+ },
4646
+ element_attributes: {
4647
+ class: "cards css-grid"
4648
+ },
4649
+ top_row_shortened_by_: top_row_shortened_by_,
4650
+ children: listing_contents
4651
+ });
4265
4652
  },
4266
4653
  get children() {
4267
- return $3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Show), {
4268
- get when() {
4269
- return !is_loading_();
4654
+ return $3hooq$solidjsweb.createComponent((0, $6c2c739b113a8ddf$export$d21e32dfedac04be), {
4655
+ get cols_at_size() {
4656
+ return modified_cols_at_size();
4270
4657
  },
4271
- get fallback() {
4272
- return rendered_placeholders();
4658
+ get override_vertical_spacing() {
4659
+ return layout_options_().override_vertical_spacing;
4273
4660
  },
4274
- children: product_cards_when_data
4661
+ get grid_spacing() {
4662
+ return layout_options_().grid_spacing;
4663
+ },
4664
+ rows: "all",
4665
+ layout: "grid",
4666
+ element_attributes: {
4667
+ class: "cards"
4668
+ },
4669
+ children: listing_contents
4275
4670
  });
4276
4671
  }
4277
4672
  })];
@@ -4280,40 +4675,10 @@ function $484eec37514a982e$export$3925f87b1545cfc6(_ref) {
4280
4675
  }
4281
4676
  })), $3hooq$solidjsweb.escape(desktop_filter_elements_()));
4282
4677
  }
4283
- /**
4284
- * Changes cols_at_size depending on if filters are open or not so one card less is shown when the filters are open
4285
- * This function is special to the actual PLPResults.
4286
- */
4287
- function $484eec37514a982e$var$make_modified_cols_at_size(_ref3) {
4288
- let {
4289
- layout_options_: layout_options_,
4290
- sort_or_filter_open_: sort_or_filter_open_
4291
- } = _ref3;
4292
- return $3hooq$solidjs.createMemo(() => {
4293
- const layout_options = layout_options_();
4294
- // Add grid styling that changes when filters get opened/closed
4295
- const when_filters_closed_cols = layout_options.cols_at_size;
4296
- return sort_or_filter_open_() ? when_filters_closed_cols.map(row => {
4297
- const [num_cols_default,,,, override_cols] = row;
4298
- const cloned_row = [...row];
4299
- // @ts-ignore
4300
- cloned_row[0] = num_cols_default - 1;
4301
- if (override_cols)
4302
- // @ts-ignore
4303
- cloned_row[4] = {
4304
- overrides: Object.fromEntries(Object.entries(override_cols.overrides).map(_ref4 => {
4305
- let [row, column] = _ref4;
4306
- return [row, column - 1];
4307
- }))
4308
- };
4309
- return cloned_row;
4310
- }) : when_filters_closed_cols;
4311
- });
4312
- }
4313
4678
  const $3bd211c857f81dfd$var$_tmpl$ = ["<div", ' class="sorting-attributes">', "</div>"],
4314
4679
  $3bd211c857f81dfd$var$_tmpl$2 = ["<div", ' class="sorting-direction">', "</div>"],
4315
- $3bd211c857f81dfd$var$_tmpl$3 = ["<div", '><div class="input-row"><input type="radio"', '><span class="custom-indicator"></span><!--#-->', "<!--/--></div></div>"],
4316
- $3bd211c857f81dfd$var$_tmpl$4 = ["<div", '><label class="input-row"><input type="radio"', "", '><span class="custom-indicator"></span><!--#-->', "<!--/--></label></div>"];
4680
+ $3bd211c857f81dfd$var$_tmpl$3 = ["<div", '><div class="input-row"><input type="radio"', '><span class="custom-indicator"></span><!--$-->', "<!--/--></div></div>"],
4681
+ $3bd211c857f81dfd$var$_tmpl$4 = ["<div", '><label class="input-row"><input type="radio"', "", '><span class="custom-indicator"></span><!--$-->', "<!--/--></label></div>"];
4317
4682
  function $3bd211c857f81dfd$export$1f1775a58da589b5(_ref) {
4318
4683
  let {
4319
4684
  available_sortings_: available_sortings_,
@@ -4421,24 +4786,22 @@ const $0b45ba458cbff67a$var$_tmpl$ = '<path d="M6.199 10.254a.35.35 0 0 0-.496 0
4421
4786
  $0b45ba458cbff67a$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>';
4422
4787
  function $0b45ba458cbff67a$export$da32f7add8a22e86() {
4423
4788
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4424
- return $3hooq$solidjsweb.ssrElement("svg", () => ({
4425
- "xmlns": "http://www.w3.org/2000/svg",
4426
- "width": "14",
4427
- "height": "14",
4428
- "class": "sort-icon",
4429
- ...props
4430
- }), () => [$3hooq$solidjsweb.ssr($0b45ba458cbff67a$var$_tmpl$), $3hooq$solidjsweb.ssr($0b45ba458cbff67a$var$_tmpl$2)], true);
4789
+ return $3hooq$solidjsweb.ssrElement("svg", $3hooq$solidjsweb.mergeProps({
4790
+ xmlns: "http://www.w3.org/2000/svg",
4791
+ width: "14",
4792
+ height: "14",
4793
+ "class": "sort-icon"
4794
+ }, props), () => [$3hooq$solidjsweb.ssr($0b45ba458cbff67a$var$_tmpl$), $3hooq$solidjsweb.ssr($0b45ba458cbff67a$var$_tmpl$2)], true);
4431
4795
  }
4432
4796
  const $549632402b57d811$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>';
4433
4797
  function $549632402b57d811$export$d10e63059ddb9fd4() {
4434
4798
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4435
- return $3hooq$solidjsweb.ssrElement("svg", () => ({
4436
- "xmlns": "http://www.w3.org/2000/svg",
4437
- "width": "14",
4438
- "height": "14",
4439
- "class": "sort-icon",
4440
- ...props
4441
- }), () => $3hooq$solidjsweb.ssr($549632402b57d811$var$_tmpl$), true);
4799
+ return $3hooq$solidjsweb.ssrElement("svg", $3hooq$solidjsweb.mergeProps({
4800
+ xmlns: "http://www.w3.org/2000/svg",
4801
+ width: "14",
4802
+ height: "14",
4803
+ "class": "sort-icon"
4804
+ }, props), () => $3hooq$solidjsweb.ssr($549632402b57d811$var$_tmpl$), true);
4442
4805
  }
4443
4806
  const $9bde34303b3e9ace$var$_tmpl$ = ["<svg", ' xmlns="http://www.w3.org/2000/svg" width="14" height="15" class="filter-icon"><path d="M1.75 14.697c-.096 0-.178-.034-.246-.103s-.103-.15-.103-.246V8.75c0-.096.034-.178.103-.246s.15-.103.246-.103.178.034.246.103.103.15.103.246v5.599c0 .096-.034.178-.103.246s-.15.103-.246.103zm0-9.796c-.096 0-.178-.034-.246-.103s-.103-.15-.103-.246v-3.5c0-.1.034-.185.103-.253s.15-.103.246-.103.178.034.246.103.103.153.103.253v3.5c0 .096-.034.178-.103.246s-.15.103-.246.103zm.697 2.796H1.053c-.292 0-.54-.103-.745-.308S0 6.938 0 6.651s.103-.54.308-.745.453-.308.745-.308h1.395c.292 0 .54.103.745.308s.308.453.308.745-.103.533-.308.738-.453.308-.745.308zM1.053 6.303c-.1 0-.185.034-.253.103s-.103.15-.103.246.034.178.103.246S.952 7 1.053 7h1.395c.1 0 .185-.034.253-.103s.103-.15.103-.246-.034-.178-.103-.246-.153-.103-.253-.103H1.053zm5.599 8.395c-.096 0-.178-.034-.246-.103s-.103-.15-.103-.246v-2.796c0-.1.034-.184.103-.253s.15-.102.246-.102.178.034.246.102.103.153.103.253v2.796c0 .096-.034.178-.103.246s-.15.103-.246.103zm0-7c-.096 0-.178-.034-.246-.103s-.103-.15-.103-.246V1.053c0-.1.034-.185.103-.253s.15-.103.246-.103.178.034.246.103S7 .952 7 1.053v6.296c0 .096-.034.178-.103.246s-.15.103-.246.103zm.697 2.803H5.947c-.287 0-.533-.102-.738-.308s-.308-.453-.308-.745.103-.533.308-.738.451-.308.738-.308h1.401c.292 0 .54.103.745.308s.308.451.308.738-.103.54-.308.745-.453.308-.745.308zM5.947 9.099c-.096 0-.178.034-.246.103s-.103.15-.103.246.034.185.103.253.15.103.246.103h1.401c.096 0 .178-.034.246-.103s.103-.153.103-.253-.034-.178-.103-.246-.15-.103-.246-.103H5.947zm5.605 5.599c-.1 0-.184-.034-.253-.103s-.102-.15-.102-.246v-7c0-.096.034-.178.102-.246S11.453 7 11.553 7s.178.034.246.103.103.15.103.246v7c0 .096-.034.178-.103.246s-.15.103-.246.103zm0-11.197c-.1 0-.184-.034-.253-.103s-.102-.15-.102-.246V1.053c0-.1.034-.185.102-.253s.153-.103.253-.103.178.034.246.103.103.153.103.253v2.099c0 .096-.034.178-.103.246s-.15.103-.246.103zm.697 2.803h-1.401c-.287 0-.533-.103-.738-.308s-.308-.453-.308-.745.103-.54.308-.745.451-.308.738-.308h1.401c.292 0 .54.103.745.308s.308.453.308.745-.102.54-.308.745-.453.308-.745.308zm-1.401-1.401c-.096 0-.178.034-.246.103s-.102.15-.102.246.034.178.102.246.15.103.246.103h1.401c.096 0 .178-.034.246-.103s.102-.15.102-.246-.034-.178-.102-.246-.15-.103-.246-.103h-1.401z"></path></svg>'];
4444
4807
  function $9bde34303b3e9ace$export$28f6150e232898de() {
@@ -4454,9 +4817,9 @@ function $8b9c2fa4593b29df$export$50f68cc9882e36a4(args_for_filtering) {
4454
4817
  return ((_args_for_filtering$a = args_for_filtering.available_filters_()) === null || _args_for_filtering$a === void 0 ? void 0 : _args_for_filtering$a.length) === 0 && !((_args_for_filtering$s = args_for_filtering.selected_filters_[0]()) !== null && _args_for_filtering$s !== void 0 && _args_for_filtering$s.length);
4455
4818
  }
4456
4819
  const $685149df41127abd$var$_tmpl$ = ["<button", ' class="clear minor">', "</button>"],
4457
- $685149df41127abd$var$_tmpl$2 = ["<div", ' class="depict plp" id="depict-filter-sort-mobile-modal-container"><div class="depict-filter-sort-modal-backdrop"></div><button class="dismiss-modal"', ">", '</button><div class="filter-sort-modal"><div class="body" style="', '"><!--#-->', "<!--/--><!--#-->", '<!--/--></div><div class="bottom-row"><!--#-->', '<!--/--><button class="show-results major">', "</button></div></div></div>"],
4820
+ $685149df41127abd$var$_tmpl$2 = ["<div", ' class="depict plp" id="depict-filter-sort-mobile-modal-container"><div class="depict-filter-sort-modal-backdrop"></div><button class="dismiss-modal"', ">", '</button><div class="filter-sort-modal"><div class="body" style="', '"><!--$-->', "<!--/--><!--$-->", '<!--/--></div><div class="bottom-row"><!--$-->', '<!--/--><button class="show-results major">', "</button></div></div></div>"],
4458
4821
  $685149df41127abd$var$_tmpl$3 = ["<details", ' class="sorting"></details>'],
4459
- $685149df41127abd$var$_tmpl$4 = ["<summary", ' class="sort-filter-summary"><div class="summary"><div class="left-els"><!--#-->', "<!--/--><span>", "</span></div><!--#-->", "<!--/--></div></summary>"],
4822
+ $685149df41127abd$var$_tmpl$4 = ["<summary", ' class="sort-filter-summary"><div class="summary"><div class="left-els"><!--$-->', "<!--/--><span>", "</span></div><!--$-->", "<!--/--></div></summary>"],
4460
4823
  $685149df41127abd$var$_tmpl$5 = ["<div", ' class="body">', "</div>"],
4461
4824
  $685149df41127abd$var$_tmpl$6 = ["<details", ' class="filters"></details>'],
4462
4825
  $685149df41127abd$var$_tmpl$7 = ["<b", ">", "</b>"];
@@ -4571,10 +4934,10 @@ function $ae261a5687fe84f4$export$cb808a3c41736d8e() {
4571
4934
  }
4572
4935
  const $f70cc6dfcadf0fd5$var$_tmpl$ = ["<div", ' class="filters"><div class="body">', "</div></div>"],
4573
4936
  $f70cc6dfcadf0fd5$var$_tmpl$2 = ["<div", ' class="sorting"><div class="body">', "</div></div>"],
4574
- $f70cc6dfcadf0fd5$var$_tmpl$3 = ["<div", ' class="sort-and-filter-buttons"><div class="outer"><div class="inner"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></div></div></div>"],
4937
+ $f70cc6dfcadf0fd5$var$_tmpl$3 = ["<div", ' class="sort-and-filter-buttons"><div class="outer"><div class="inner"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></div></div></div>"],
4575
4938
  $f70cc6dfcadf0fd5$var$_tmpl$4 = ["<span", ' class="num-filters" style="', '">', "</span>"],
4576
- $f70cc6dfcadf0fd5$var$_tmpl$5 = ["<div", ' class="open-filters-button-container" style="', '"><!--#-->', "<!--/--><button", ' class="', '" type="button"', ' style="', '"><!--#-->', "<!--/--><span>", "</span></button></div>"],
4577
- $f70cc6dfcadf0fd5$var$_tmpl$6 = ["<button", ' class="', '"', ' style="', '"><span>', "</span><!--#-->", "<!--/--></button>"];
4939
+ $f70cc6dfcadf0fd5$var$_tmpl$5 = ["<div", ' class="open-filters-button-container" style="', '"><!--$-->', "<!--/--><button", ' class="', '" type="button"', ' style="', '"><!--$-->', "<!--/--><span>", "</span></button></div>"],
4940
+ $f70cc6dfcadf0fd5$var$_tmpl$6 = ["<button", ' class="', '"', ' style="', '"><span>', "</span><!--$-->", "<!--/--></button>"];
4578
4941
  function $f70cc6dfcadf0fd5$export$d7841e452f2e59a8(_ref) {
4579
4942
  let {
4580
4943
  current_sorting_: current_sorting_,
@@ -5554,10 +5917,10 @@ function $eef41d50f07bf19a$export$d31a1a1a83ad9413(plp_results_, _ref) {
5554
5917
  set_selected_filters(new_filters);
5555
5918
  });
5556
5919
  }
5557
- const $ede6c70ecdca46fe$var$_tmpl$ = ["<div", ' class="product-count"><!--#-->', "<!--/--> <!--#-->", "<!--/--></div>"],
5920
+ const $ede6c70ecdca46fe$var$_tmpl$ = ["<div", ' class="product-count"><!--$-->', "<!--/--> <!--$-->", "<!--/--></div>"],
5558
5921
  $ede6c70ecdca46fe$var$_tmpl$2 = ["<div", "></div>"],
5559
- $ede6c70ecdca46fe$var$_tmpl$3 = ["<div", ' class="filter-results-for-one-row"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
5560
- $ede6c70ecdca46fe$var$_tmpl$4 = ["<div", ' class="depict plp category"><div class="listing-page"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></div><!--#-->", "<!--/--><!--#-->", "<!--/--></div>"];
5922
+ $ede6c70ecdca46fe$var$_tmpl$3 = ["<div", ' class="filter-results-for-one-row"><!--$-->', "<!--/--><!--$-->", "<!--/--></div>"],
5923
+ $ede6c70ecdca46fe$var$_tmpl$4 = ["<div", ' class="depict plp category"><div class="listing-page"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></div><!--$-->", "<!--/--><!--$-->", "<!--/--></div>"];
5561
5924
  function $ede6c70ecdca46fe$export$f7d2f673fc2f091d(_ref) {
5562
5925
  var _on_filters_construct;
5563
5926
  let {
@@ -5587,7 +5950,8 @@ function $ede6c70ecdca46fe$export$f7d2f673fc2f091d(_ref) {
5587
5950
  product_card_template_: product_card_template_,
5588
5951
  sideways_filter_clearing_flag_: sideways_filter_clearing_flag_,
5589
5952
  sorting_query_param_: sorting_query_param_,
5590
- filter_query_param_prefix_: filter_query_param_prefix_
5953
+ filter_query_param_prefix_: filter_query_param_prefix_,
5954
+ content_blocks_by_row_: content_blocks_by_row_
5591
5955
  } = _ref;
5592
5956
  let results_for;
5593
5957
  let only_show_filters_opener_;
@@ -5863,6 +6227,7 @@ function $ede6c70ecdca46fe$export$f7d2f673fc2f091d(_ref) {
5863
6227
  product_card_template_: product_card_template_,
5864
6228
  sort_or_filter_open_: sort_or_filter_open_,
5865
6229
  desktop_filter_elements_: desktop_filter_elements_,
6230
+ content_blocks_by_row_: content_blocks_by_row_,
5866
6231
  id_currently_querying_for_: query_id_,
5867
6232
  no_results_options_: {
5868
6233
  selected_filters_: selected_filters_,
@@ -6469,6 +6834,7 @@ function $9cbefc32b9dab36d$export$e2bf8ce7779e827e(props) {
6469
6834
  expanded_hierarchical_filters_: expanded_hierarchical_filters_,
6470
6835
  selected_filters_: selected_filters_,
6471
6836
  sideways_filter_clearing_flag_: sideways_filter_clearing_flag_,
6837
+ content_blocks_by_row_: () => props.content_blocks_by_row,
6472
6838
  scroll_restoration_data_: scroll_restoration_data_,
6473
6839
  layout_options_: $3hooq$solidjs.createMemo(() => ({
6474
6840
  cols_at_size: $5401a6698b0c0658$export$6daf8749b65a1b77(props.cols_at_size),
@@ -6534,7 +6900,7 @@ function $9cbefc32b9dab36d$var$get_shared_properties(depict_category) {
6534
6900
  if (!shared_properties) throw new Error("Can't connect to provided DepictCategory instance");
6535
6901
  return shared_properties;
6536
6902
  }
6537
- const $dc0bcefcc3486ebd$var$_tmpl$ = ["<div", ' class="category-title"><h1 class="title">', '</h1><span class="explanation"> — <!--#-->', "<!--/--></span></div>"];
6903
+ const $dc0bcefcc3486ebd$var$_tmpl$ = ["<div", ' class="category-title"><h1 class="title">', '</h1><span class="explanation"> — <!--$-->', "<!--/--></span></div>"];
6538
6904
  const $dc0bcefcc3486ebd$export$b91cec6bdc6b32a1 = /*@__PURE__*/(() => {
6539
6905
  const actual_function = _ref => {
6540
6906
  let {
@@ -6550,7 +6916,7 @@ const $dc0bcefcc3486ebd$export$b91cec6bdc6b32a1 = /*@__PURE__*/(() => {
6550
6916
  actual_function[(0, $905241549bde5bff$export$5c28802497c8a83c)] = "simple";
6551
6917
  return actual_function;
6552
6918
  })();
6553
- const $0c91ea7c14692db9$var$_tmpl$ = ["<div", ' class="sort-and-filter-buttons fake" aria-hidden="true" style="position:absolute;z-index:-1;pointer-events:none;opacity:0"><div class="outer"><div class="inner"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></div></div></div>"];
6919
+ const $0c91ea7c14692db9$var$_tmpl$ = ["<div", ' class="sort-and-filter-buttons fake" aria-hidden="true" style="position:absolute;z-index:-1;pointer-events:none;opacity:0"><div class="outer"><div class="inner"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></div></div></div>"];
6554
6920
  const $0c91ea7c14692db9$export$824dde41348efed1 = /*@__PURE__*/(() => {
6555
6921
  const actual_function = _ref => {
6556
6922
  let {
@@ -6701,37 +7067,6 @@ async function $822f2c95a96c3ec8$var$download_categories(tenant, market, type) {
6701
7067
  return [];
6702
7068
  }
6703
7069
  }
6704
- function $b8a8d61b3ec5f5ac$export$3f37af283f8fb843(props) {
6705
- const style = $3hooq$solidjs.createMemo(() => {
6706
- const {
6707
- style: style,
6708
- height: height,
6709
- width: width,
6710
- aspectRatio: aspectRatio
6711
- } = props;
6712
- const is_image = aspectRatio != undefined;
6713
- const size_data = is_image ? {
6714
- width: "100%",
6715
- "padding-bottom": 1 / aspectRatio * 100 + "%"
6716
- } : {
6717
- width: width,
6718
- height: height
6719
- };
6720
- return {
6721
- display: "block",
6722
- ...(style || {}),
6723
- ...size_data
6724
- };
6725
- });
6726
- return $3hooq$solidjsweb.createComponent((0, $e3d733f899558f40$export$acb3eaade4b23afd), {
6727
- get style() {
6728
- return style();
6729
- },
6730
- get ["class"]() {
6731
- return props.class;
6732
- }
6733
- });
6734
- }
6735
7070
  const $c0cf6af094336798$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></div>"];
6736
7071
  function $c0cf6af094336798$export$ee1733d9a8495996() {
6737
7072
  return $3hooq$solidjsweb.ssr($c0cf6af094336798$var$_tmpl$, $3hooq$solidjsweb.ssrHydrationKey(), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $b8a8d61b3ec5f5ac$export$3f37af283f8fb843), {
@@ -6742,7 +7077,7 @@ function $c0cf6af094336798$export$ee1733d9a8495996() {
6742
7077
  })));
6743
7078
  }
6744
7079
  const $3001ad378baf39dc$var$_tmpl$ = ["<span", ' class="parent-title">', "</span>"],
6745
- $3001ad378baf39dc$var$_tmpl$2 = ["<a", ' class="category-suggestion"', '><span class="title">', "</span><!--#-->", "<!--/--></a>"];
7080
+ $3001ad378baf39dc$var$_tmpl$2 = ["<a", ' class="category-suggestion"', '><span class="title">', "</span><!--$-->", "<!--/--></a>"];
6746
7081
  function $3001ad378baf39dc$export$d757d54550ebfb3d(_ref) {
6747
7082
  let {
6748
7083
  category_suggestion_: category_suggestion_,
@@ -6764,15 +7099,14 @@ function $dd98275d380b2cfd$export$1c641004b5485fed() {
6764
7099
  const $5b88b077e48a4451$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>';
6765
7100
  function $5b88b077e48a4451$export$82eafebb825fc23f() {
6766
7101
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6767
- return $3hooq$solidjsweb.ssrElement("svg", () => ({
6768
- ...props,
6769
- "xmlns": "http://www.w3.org/2000/svg",
6770
- "width": "20",
6771
- "height": "22"
7102
+ return $3hooq$solidjsweb.ssrElement("svg", $3hooq$solidjsweb.mergeProps(props, {
7103
+ xmlns: "http://www.w3.org/2000/svg",
7104
+ width: "20",
7105
+ height: "22"
6772
7106
  }), () => $3hooq$solidjsweb.ssr($5b88b077e48a4451$var$_tmpl$), true);
6773
7107
  }
6774
7108
  const $29e5dbeb69da7a36$var$_tmpl$ = ["<button", ' class="back" type="button"', ">", "</button>"],
6775
- $29e5dbeb69da7a36$var$_tmpl$2 = ["<div", ' class="search-field"><!--#-->', '<!--/--><div class="field"><input class="', '" tabindex="0"', '><button type="button" class="clear"', ' style="', '">', '</button></div><button class="submit major" type="button"', ">", "</button></div>"];
7109
+ $29e5dbeb69da7a36$var$_tmpl$2 = ["<div", ' class="search-field"><!--$-->', '<!--/--><div class="field"><input class="', '" tabindex="0"', '><button type="button" class="clear"', ' style="', '">', '</button></div><button class="submit major" type="button"', ">", "</button></div>"];
6776
7110
  function $29e5dbeb69da7a36$export$b94867ecbd698f21(_ref) {
6777
7111
  let {
6778
7112
  search_field_value_: search_field_value_,
@@ -6804,7 +7138,7 @@ function $29e5dbeb69da7a36$export$b94867ecbd698f21(_ref) {
6804
7138
  }
6805
7139
  })), "query ".concat(!!on_back_ ? "has-adjacent-back-button" : ""), $3hooq$solidjsweb.ssrAttribute("aria-label", $3hooq$solidjsweb.escape(i18n_.search_field_field_aria_label_(), true), false) + $3hooq$solidjsweb.ssrAttribute("value", $3hooq$solidjsweb.escape(search_field_value_[0](), true), false) + $3hooq$solidjsweb.ssrAttribute("placeholder", $3hooq$solidjsweb.escape(i18n_.placeholder_text_(), true), false), $3hooq$solidjsweb.ssrAttribute("title", $3hooq$solidjsweb.escape(i18n_.clear_filters_query_sorting_after_submit_(), true), false), $3hooq$solidjsweb.ssrStyle($3hooq$solidjs.createMemo(() => search_field_value_[0]() ? "" : "display: none")()), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $083b2336093176cf$export$3b621d86b1566b2), {})), $3hooq$solidjsweb.ssrAttribute("aria-label", $3hooq$solidjsweb.escape(i18n_.search_submit_button_aria_label_(), true), false), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $5b88b077e48a4451$export$82eafebb825fc23f), {})));
6806
7140
  }
6807
- const $c77adcdf5346b187$var$_tmpl$ = ["<div", ' class="search-recs"><h3 class="search-recs-title">', "</h3><!--#-->", "<!--/--><!--#-->", "<!--/--></div>"],
7141
+ const $c77adcdf5346b187$var$_tmpl$ = ["<div", ' class="search-recs"><h3 class="search-recs-title">', "</h3><!--$-->", "<!--/--><!--$-->", "<!--/--></div>"],
6808
7142
  $c77adcdf5346b187$var$_tmpl$2 = ["<button", ' class="show-more major" type="button">', "</button>"];
6809
7143
  const $c77adcdf5346b187$export$1c8c715550dc689d = 2;
6810
7144
  function $c77adcdf5346b187$export$7de92c4c2205ebf3(_ref) {
@@ -7046,8 +7380,8 @@ async function $7f680455a2aa1079$export$e16630ecb9644a1c(_ref) {
7046
7380
  const $65353359a9fbdacd$export$27b710c08412a7ad = obj => {
7047
7381
  return Object.fromEntries(Object.keys(obj).map(key => [key, obj[key]()]));
7048
7382
  };
7049
- const $82d079b68975fbf7$var$_tmpl$ = ["<span", ' class="orig price"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></span>"],
7050
- $82d079b68975fbf7$var$_tmpl$2 = ["<a", ' class="instant-card"', '><div class="img-part">', '</div><div class="right-part"><div class="title-brand-tagline"><span class="brand">', '</span><span class="title line-clamp">', "</span><!--#-->", '<!--/--></div><div class="price-container"><!--#-->', '<!--/--><span class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></span></div></div></a>"],
7383
+ const $82d079b68975fbf7$var$_tmpl$ = ["<span", ' class="orig price"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></span>"],
7384
+ $82d079b68975fbf7$var$_tmpl$2 = ["<a", ' class="instant-card"', '><div class="img-part">', '</div><div class="right-part"><div class="title-brand-tagline"><span class="brand">', '</span><span class="title line-clamp">', "</span><!--$-->", '<!--/--></div><div class="price-container"><!--$-->', '<!--/--><span class="', '"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></span></div></div></a>"],
7051
7385
  $82d079b68975fbf7$var$_tmpl$3 = ["<div", ' class="tagline">', "</div>"];
7052
7386
  const $82d079b68975fbf7$export$b05c0ae390cf3e06 = (display_or_variant_container, _ref, router_) => {
7053
7387
  let {
@@ -7231,7 +7565,7 @@ function $8767e7eba5066d2b$export$5d2caaa6b530761c() {
7231
7565
  return $3hooq$solidjsweb.ssr($8767e7eba5066d2b$var$_tmpl$, $3hooq$solidjsweb.ssrHydrationKey());
7232
7566
  }
7233
7567
  const $4edbc04f5c5a1843$var$_tmpl$ = ["<div", ' class="previous-searches"><h2 class="text">', '</h2><div class="list">', "</div></div>"],
7234
- $4edbc04f5c5a1843$var$_tmpl$2 = ["<a", ' class="', '"', '><div class="left"><!--#-->', '<!--/--><span class="line-clamp"', ">", '</span></div><button class="delete"', ">", "</button></a>"];
7568
+ $4edbc04f5c5a1843$var$_tmpl$2 = ["<a", ' class="', '"', '><div class="left"><!--$-->', '<!--/--><span class="line-clamp"', ">", '</span></div><button class="delete"', ">", "</button></a>"];
7235
7569
  function $4edbc04f5c5a1843$export$a146ac6fa8346a25(_ref) {
7236
7570
  let {
7237
7571
  text_: text_,
@@ -7338,23 +7672,22 @@ function $23c3f390dee33ff8$export$ba17c5b7e6dda39f(_ref) {
7338
7672
  const $3cf7b4db1e203c93$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>';
7339
7673
  function $3cf7b4db1e203c93$export$605674723bcc715c() {
7340
7674
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7341
- return $3hooq$solidjsweb.ssrElement("svg", () => ({
7342
- "xmlns": "http://www.w3.org/2000/svg",
7343
- "width": "32",
7344
- "height": "32",
7345
- "viewBox": "0 0 256 256",
7346
- ...props
7347
- }), () => $3hooq$solidjsweb.ssr($3cf7b4db1e203c93$var$_tmpl$), true);
7675
+ return $3hooq$solidjsweb.ssrElement("svg", $3hooq$solidjsweb.mergeProps({
7676
+ xmlns: "http://www.w3.org/2000/svg",
7677
+ width: "32",
7678
+ height: "32",
7679
+ viewBox: "0 0 256 256"
7680
+ }, props), () => $3hooq$solidjsweb.ssr($3cf7b4db1e203c93$var$_tmpl$), true);
7348
7681
  }
7349
7682
  const $0677d509ad208e22$var$_tmpl$ = ["<a", ' class="', '"', ">", "</a>"],
7350
7683
  $0677d509ad208e22$var$_tmpl$2 = ["<div", ' class="search-icon">', "</div>"],
7351
7684
  $0677d509ad208e22$var$_tmpl$3 = ["<span", ' class="type">', "</span>"],
7352
- $0677d509ad208e22$var$_tmpl$4 = ["<div", ' class="with-parent-title"><!--#-->', '<!--/--><span class="value line-clamp">', "</span></div>"],
7353
- $0677d509ad208e22$var$_tmpl$5 = ["<div", ' class="with-icon"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
7685
+ $0677d509ad208e22$var$_tmpl$4 = ["<div", ' class="with-parent-title"><!--$-->', '<!--/--><span class="value line-clamp">', "</span></div>"],
7686
+ $0677d509ad208e22$var$_tmpl$5 = ["<div", ' class="with-icon"><!--$-->', "<!--/--><!--$-->", "<!--/--></div>"],
7354
7687
  $0677d509ad208e22$var$_tmpl$6 = ["<h2", ' class="text">', "</h2>"],
7355
- $0677d509ad208e22$var$_tmpl$7 = ["<div", ' class="suggestion-container query"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
7688
+ $0677d509ad208e22$var$_tmpl$7 = ["<div", ' class="suggestion-container query"><!--$-->', "<!--/--><!--$-->", "<!--/--></div>"],
7356
7689
  $0677d509ad208e22$var$_tmpl$8 = ["<div", ' class="suggestion-container page">', "</div>"],
7357
- $0677d509ad208e22$var$_tmpl$9 = ["<div", ' class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></div>"];
7690
+ $0677d509ad208e22$var$_tmpl$9 = ["<div", ' class="', '"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></div>"];
7358
7691
  function $0677d509ad208e22$export$e872e2339fb04a7f(_ref) {
7359
7692
  let {
7360
7693
  suggestion_memo_: suggestion_memo_,
@@ -7945,8 +8278,8 @@ function $cc66bbf6e783bb58$export$f021bdedd3ec901a(props) {
7945
8278
  }
7946
8279
  const $24419668d5fcfcd5$var$_tmpl$ = ["<div", ' class="discover-more"><button class="major" type="button">', "</button></div>"],
7947
8280
  $24419668d5fcfcd5$var$_tmpl$2 = ["<b", ">", "</b>"],
7948
- $24419668d5fcfcd5$var$_tmpl$3 = ["<div", ' class="', '"><div class="', '"><!--#-->', '<!--/--><div class="padded"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></div><!--#-->", "<!--/--></div><!--#-->", "<!--/--></div>"],
7949
- $24419668d5fcfcd5$var$_tmpl$4 = ["<div", ' class="', '"><div class="depict-search-modal-backdrop"></div><!--#-->', "<!--/--></div>"];
8281
+ $24419668d5fcfcd5$var$_tmpl$3 = ["<div", ' class="', '"><div class="', '"><!--$-->', '<!--/--><div class="padded"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div>"],
8282
+ $24419668d5fcfcd5$var$_tmpl$4 = ["<div", ' class="', '"><div class="depict-search-modal-backdrop"></div><!--$-->', "<!--/--></div>"];
7950
8283
  function $24419668d5fcfcd5$export$1c593cbd6f1e10bc(_ref) {
7951
8284
  let {
7952
8285
  search_field_value_: props_search_field_value,
@@ -8451,7 +8784,7 @@ function $99472afa7112c427$var$segment_text(text, matched_strings) {
8451
8784
  return output;
8452
8785
  }
8453
8786
  const $f1fc9ea3e7632eba$var$_tmpl$ = ["<div", ' class="description line-clamp">', "</div>"],
8454
- $f1fc9ea3e7632eba$var$_tmpl$2 = ["<div", ' class="content-card"><div class="image">', '</div><div class="info"><!--#-->', "<!--/--><!--#-->", "<!--/--></div></div>"];
8787
+ $f1fc9ea3e7632eba$var$_tmpl$2 = ["<div", ' class="content-card"><div class="image">', '</div><div class="info"><!--$-->', "<!--/--><!--$-->", "<!--/--></div></div>"];
8455
8788
  function $f1fc9ea3e7632eba$export$f631859cab12b342(_ref) {
8456
8789
  let {
8457
8790
  router_: router_,
@@ -8591,7 +8924,7 @@ function $05f255c0a94b9ca1$export$4405d077f0a20494(_ref) {
8591
8924
  children: () => $3hooq$solidjsweb.createComponent((0, $f1fc9ea3e7632eba$export$f631859cab12b342), {})
8592
8925
  });
8593
8926
  }
8594
- const $eab939d0b95b75ee$var$_tmpl$ = ["<div", ' class="content-results" style="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
8927
+ const $eab939d0b95b75ee$var$_tmpl$ = ["<div", ' class="content-results" style="', '"><!--$-->', "<!--/--><!--$-->", "<!--/--></div>"],
8595
8928
  $eab939d0b95b75ee$var$_tmpl$2 = ["<button", ' class="view-more">', "</button>"],
8596
8929
  $eab939d0b95b75ee$var$_tmpl$3 = ["<button", ' class="view-less">', "</button>"];
8597
8930
  const $eab939d0b95b75ee$export$70ceae36059a1036 = 1;
@@ -8687,8 +9020,8 @@ function $eab939d0b95b75ee$var$make_state_saved_rows(_ref2, i18n_) {
8687
9020
  }));
8688
9021
  return rows;
8689
9022
  }
8690
- const $739c927cbecd26b0$var$_tmpl$ = ["<div", ' class="filter-results-for-one-row"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
8691
- $739c927cbecd26b0$var$_tmpl$2 = ["<div", ' class="depict plp search"><div class="listing-page"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></div><!--#-->", "<!--/--><!--#-->", "<!--/--></div>"];
9023
+ const $739c927cbecd26b0$var$_tmpl$ = ["<div", ' class="filter-results-for-one-row"><!--$-->', "<!--/--><!--$-->", "<!--/--></div>"],
9024
+ $739c927cbecd26b0$var$_tmpl$2 = ["<div", ' class="depict plp search"><div class="listing-page"><!--$-->', "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></div><!--$-->", "<!--/--><!--$-->", "<!--/--></div>"];
8692
9025
  function $739c927cbecd26b0$export$a54ec244c8863715(_ref) {
8693
9026
  let {
8694
9027
  depict_api_: depict_api_,
@@ -8722,7 +9055,8 @@ function $739c927cbecd26b0$export$a54ec244c8863715(_ref) {
8722
9055
  router_: router_,
8723
9056
  content_results_rows_: content_results_rows_,
8724
9057
  content_layout_options_: content_layout_options_,
8725
- content_search_enabled_: content_search_enabled_
9058
+ content_search_enabled_: content_search_enabled_,
9059
+ content_blocks_by_row_: content_blocks_by_row_
8726
9060
  } = _ref;
8727
9061
  const [get_sorting] = current_sorting_;
8728
9062
  const all_products_loaded_ = $3hooq$solidjs.createSignal(false);
@@ -8988,6 +9322,7 @@ function $739c927cbecd26b0$export$a54ec244c8863715(_ref) {
8988
9322
  layout_options_: layout_options_,
8989
9323
  sort_or_filter_open_: sort_or_filter_open_,
8990
9324
  id_currently_querying_for_: get_search_query_,
9325
+ content_blocks_by_row_: content_blocks_by_row_,
8991
9326
  no_results_options_: {
8992
9327
  selected_filters_: selected_filters_,
8993
9328
  expanded_hierarchical_filters_: expanded_hierarchical_filters_,
@@ -9515,6 +9850,7 @@ function $ddd39c5f36f49703$export$f2dc7e4e4aa11abb(props) {
9515
9850
  search_sorting_open_: state_.sorting_open,
9516
9851
  expanded_filters_: state_.expanded_filters,
9517
9852
  content_results_rows_: state_.content_results_rows,
9853
+ content_blocks_by_row_: () => props.content_blocks_by_row,
9518
9854
  router_: shared_properties.router_,
9519
9855
  make_category_suggestion_card_: shared_properties.enable_category_suggestions_ ? category_suggestion_ => {
9520
9856
  return $3001ad378baf39dc$export$d757d54550ebfb3d({