@depict-ai/ui 1.4.4 → 1.4.5

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.
@@ -60,7 +60,7 @@ $parcel$export(module.exports, "defaultColsAtSize", () => $33eed84f447aa0c0$expo
60
60
  $parcel$export(module.exports, "defaultCategoryTitlePlugin", () => $33eed84f447aa0c0$export$7bf543b9d9be2c22);
61
61
  $parcel$export(module.exports, "version", () => $aa1938dec50d6c12$export$83d89fbfd8236492);
62
62
  /*! Depict.ai search and product listing SDK */
63
- const $aa1938dec50d6c12$export$83d89fbfd8236492 = "1.4.4";
63
+ const $aa1938dec50d6c12$export$83d89fbfd8236492 = "1.4.5";
64
64
  function $d6d51b09cb2116a6$export$5bad61ecde080b1f() {
65
65
  const {
66
66
  collapse: collapse,
@@ -439,7 +439,7 @@ function $c5842bdb10e57229$export$fecbb157621501bd(_ref) {
439
439
  return outmost_element;
440
440
  }
441
441
  const $6b92e147c6e24046$var$_tmpl$ = ["<span", ' class="count">', "</span>"],
442
- $6b92e147c6e24046$var$_tmpl$2 = ["<label", ' class="', '"', '><div class="left"><input type="checkbox"', "", '><span class="custom-indicator"></span><span class="text">', "</span></div><!--#-->", "<!--/--></label>"];
442
+ $6b92e147c6e24046$var$_tmpl$2 = ["<label", ' class="', '"', '><div class="left"><input type="checkbox"', "", '><span class="custom-indicator"></span><span class="text line-clamp">', "</span></div><!--#-->", "<!--/--></label>"];
443
443
  const $6b92e147c6e24046$export$48513f6b9f8ce62d = props => {
444
444
  // 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
445
445
  const count = (0, $3hooq$solidjs.createMemo)(() => props.count_);
@@ -2073,9 +2073,14 @@ function $6c2c739b113a8ddf$var$ActualSolidLayout(props, container_element) {
2073
2073
  // Copy of Layout from utilishared but using solid-js signals instead of async iterable IPNS
2074
2074
  const show_all_rows = (0, $3hooq$solidjs.createMemo)(() => props.rows === "all");
2075
2075
  const rows_or_empty_object = (0, $3hooq$solidjs.createMemo)(() => show_all_rows() ? {} : props.rows);
2076
- const button_elements = (0, $e82d0d417fa613e8$export$2f0cbfbb4354bb52)((0, $3hooq$solidjs.createMemo)(() => rows_or_empty_object().button));
2077
- const have_a_button = (0, $3hooq$solidjs.createMemo)(() => {
2078
- const button = button_elements();
2076
+ const view_more_button_elements = (0, $e82d0d417fa613e8$export$2f0cbfbb4354bb52)((0, $3hooq$solidjs.createMemo)(() => rows_or_empty_object().button));
2077
+ const view_less_button_elements = (0, $e82d0d417fa613e8$export$2f0cbfbb4354bb52)((0, $3hooq$solidjs.createMemo)(() => rows_or_empty_object().view_less_button));
2078
+ const have_a_view_more_button = (0, $3hooq$solidjs.createMemo)(() => {
2079
+ const button = view_more_button_elements();
2080
+ return !(!button || Array.isArray(button) && !button.length);
2081
+ });
2082
+ const have_a_view_less_button = (0, $3hooq$solidjs.createMemo)(() => {
2083
+ const button = view_less_button_elements();
2079
2084
  return !(!button || Array.isArray(button) && !button.length);
2080
2085
  });
2081
2086
  const [get_styling, set_styling] = (0, $3hooq$solidjs.createSignal)();
@@ -2084,12 +2089,18 @@ function $6c2c739b113a8ddf$var$ActualSolidLayout(props, container_element) {
2084
2089
  const [get_children_count, set_children_count] = (0, $3hooq$solidjs.createSignal)(0);
2085
2090
  const update_children_count = () => set_children_count(container_element.children.length);
2086
2091
  const col_styling = (0, $3hooq$solidjs.createMemo)(() => (0, $3hooq$depictaiutilishared.n_col_styling_with_dist)(selector_beginning, props.grid_spacing, props.cols_at_size, props.layout, props.override_vertical_spacing));
2087
- const default_currently_visible_signal = (0, $3hooq$solidjs.createSignal)(0); // Keep this signal here so it doesn't change when rows_or_empty_object and I think it's to be expected that the "internal default signal" stays the same
2092
+ const default_currently_visible_signal = (0, $3hooq$solidjs.createSignal)((0, $3hooq$solidjs.untrack)(() => {
2093
+ var _rows_or_empty_object;
2094
+ return (_rows_or_empty_object = rows_or_empty_object().start_rows) !== null && _rows_or_empty_object !== void 0 ? _rows_or_empty_object : 1;
2095
+ })); // Keep this signal here, so it doesn't change when rows_or_empty_object and I think it's to be expected that the "internal default signal" stays the same
2088
2096
  const rows_visible_signal = (0, $3hooq$solidjs.createMemo)(() => rows_or_empty_object().currently_visible || default_currently_visible_signal);
2089
2097
  const get_rows_visible = (0, $3hooq$solidjs.createMemo)(() => rows_visible_signal()[0]());
2090
2098
  const set_rows_visible = (0, $3hooq$solidjs.createMemo)(() => rows_visible_signal()[1]);
2091
- const button_class = (0, $3hooq$depictaiutilishared.make_random_classname)();
2092
- const button_container = (0, $3hooq$solidjs.createMemo)(() => have_a_button() && (0, $3hooq$solidjsweb.ssr)($6c2c739b113a8ddf$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)(), "load-more-container " + (0, $3hooq$solidjsweb.escape)(button_class, true), (0, $3hooq$solidjsweb.escape)(rows_or_empty_object().button)));
2099
+ const view_more_button_class = (0, $3hooq$depictaiutilishared.make_random_classname)();
2100
+ const view_less_button_class = (0, $3hooq$depictaiutilishared.make_random_classname)();
2101
+ const view_more_button_container = (0, $3hooq$solidjs.createMemo)(() => have_a_view_more_button() && (0, $3hooq$solidjsweb.ssr)($6c2c739b113a8ddf$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)(), "load-more-container ".concat((0, $3hooq$solidjsweb.escape)(view_more_button_class, true)), (0, $3hooq$solidjsweb.escape)(rows_or_empty_object().button)));
2102
+ // We need to have duplicate buttons because which ones is shown depends on the number of rows visible and therefore on the viewport size and therefore on the css media queries
2103
+ const view_less_button_container = (0, $3hooq$solidjs.createMemo)(() => have_a_view_less_button() && (0, $3hooq$solidjsweb.ssr)($6c2c739b113a8ddf$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)(), "load-less-container ".concat((0, $3hooq$solidjsweb.escape)(view_less_button_class, true)), (0, $3hooq$solidjsweb.escape)(rows_or_empty_object().view_less_button)));
2093
2104
  container_element.classList.add(container_class);
2094
2105
  (0, $3hooq$solidjs.createComputed)(() => {
2095
2106
  // Make sure we don't have more rows visible than max_rows (this could happen by max_rows being decreased)
@@ -2104,10 +2115,6 @@ function $6c2c739b113a8ddf$var$ActualSolidLayout(props, container_element) {
2104
2115
  set_styling(() => col_styling);
2105
2116
  return;
2106
2117
  }
2107
- (0, $3hooq$solidjs.untrack)(() => {
2108
- var _rows_or_empty_object;
2109
- return set_rows_visible()((_rows_or_empty_object = rows_or_empty_object().start_rows) !== null && _rows_or_empty_object !== void 0 ? _rows_or_empty_object : 1);
2110
- });
2111
2118
  update_children_count();
2112
2119
  const mutation_observer = new MutationObserver((0, $3hooq$depictaiutilishared.catchify)(update_children_count));
2113
2120
  mutation_observer.observe(container_element, {
@@ -2119,30 +2126,33 @@ function $6c2c739b113a8ddf$var$ActualSolidLayout(props, container_element) {
2119
2126
  () => (0, $3hooq$solidjs.createMemo)(() => {
2120
2127
  const {
2121
2128
  rows_per_click: rows_per_click,
2122
- max_rows = -1
2129
+ max_rows = -1,
2130
+ start_rows: start_rows
2123
2131
  } = rows_or_empty_object();
2124
2132
  const rows_visible = get_rows_visible();
2125
2133
  const children_count = get_children_count();
2126
2134
  return col_styling() + props.cols_at_size.map(options => {
2127
- const [, min, max] = options;
2128
- let should_hide_button;
2135
+ const [recs_per_row, min, max] = options;
2136
+ let should_hide_view_more_button;
2129
2137
  let visible_recs;
2130
2138
  if (props.disable_partial_rows) {
2131
2139
  visible_recs = (0, $3hooq$depictaiutilishared.layout_get_visible_recs_without_partial_rows)(rows_visible, children_count, options);
2132
2140
  const visible_recs_next_show_more = (0, $3hooq$depictaiutilishared.layout_get_visible_recs_without_partial_rows)(rows_visible + (rows_per_click || 0),
2133
2141
  // Should this really be zero when we default rows_per_click to 1?
2134
2142
  children_count, options);
2135
- should_hide_button = visible_recs === visible_recs_next_show_more;
2143
+ should_hide_view_more_button = visible_recs === visible_recs_next_show_more;
2136
2144
  } else {
2137
2145
  visible_recs = (0, $3hooq$depictaiutilishared.layout_get_total_rec_amount_for_row)(rows_visible, options);
2138
- should_hide_button = visible_recs >= children_count;
2146
+ should_hide_view_more_button = visible_recs >= children_count;
2139
2147
  }
2140
- const should_hide_button_final = button_class && (should_hide_button || max_rows !== -1 && rows_visible >= max_rows);
2141
- return "".concat((0, $3hooq$depictaiutilishared.layout_media_query_header)(min, max), "{").concat(selector_beginning, ":nth-child(n+").concat(visible_recs + 1, "){display:none}").concat(props.layout == "slider" ? "".concat(selector_beginning, ":nth-child(n+").concat(visible_recs, "){margin-right:0}") : "").concat(should_hide_button_final ? ".depict .".concat(button_class, "{display:none!important}") : "", "}");
2148
+ const should_hide_button_final = should_hide_view_more_button || max_rows !== -1 && rows_visible >= max_rows;
2149
+ // I don't really understand the logic for when the view more button gets hidden so IDK if below is correct, but it works how it should for now
2150
+ const should_hide_view_less_button = !should_hide_view_more_button || start_rows == undefined || rows_visible <= start_rows || children_count <= recs_per_row * start_rows;
2151
+ return "".concat((0, $3hooq$depictaiutilishared.layout_media_query_header)(min, max), "{").concat(selector_beginning, ":nth-child(n+").concat(visible_recs + 1, "){display:none}").concat(props.layout == "slider" ? "".concat(selector_beginning, ":nth-child(n+").concat(visible_recs, "){margin-right:0}") : "").concat(should_hide_button_final ? ".depict .".concat(view_more_button_class, "{display:none!important}") : "").concat(should_hide_view_less_button ? ".depict .".concat(view_less_button_class, "{display:none!important}") : "", "}");
2142
2152
  }).join("");
2143
2153
  }));
2144
2154
  });
2145
- return [container_element, button_container(), (0, $3hooq$solidjsweb.ssr)($6c2c739b113a8ddf$var$_tmpl$2, (0, $3hooq$solidjsweb.ssrHydrationKey)(), get_styling)];
2155
+ return [container_element, view_more_button_container(), view_less_button_container(), (0, $3hooq$solidjsweb.ssr)($6c2c739b113a8ddf$var$_tmpl$2, (0, $3hooq$solidjsweb.ssrHydrationKey)(), get_styling)];
2146
2156
  }
2147
2157
  async function $4cf7d9829d60d844$export$79b1565500412d9b(search_modal, modal_fn_opts) {
2148
2158
  const body = await (0, $3hooq$depictaiutilishared.observer).wait_for_element("body");
@@ -2334,16 +2344,17 @@ var $e270e9f953fcbc58$var$_get_user_id = /*#__PURE__*/new WeakMap();
2334
2344
  var $e270e9f953fcbc58$var$_get_session_id = /*#__PURE__*/new WeakMap();
2335
2345
  var $e270e9f953fcbc58$var$_guard_url_creator_length = /*#__PURE__*/new WeakSet();
2336
2346
  var $e270e9f953fcbc58$var$_run_url_creator_for_suggest = /*#__PURE__*/new WeakSet();
2337
- var $e270e9f953fcbc58$var$_run_url_creator_for_rest = /*#__PURE__*/new WeakSet();
2347
+ var $e270e9f953fcbc58$var$_run_display_transformers_for_rest = /*#__PURE__*/new WeakSet();
2338
2348
  var $e270e9f953fcbc58$var$_cached_post_request = /*#__PURE__*/new WeakSet();
2339
2349
  class $e270e9f953fcbc58$export$e015ed2f2950f2e3 {
2340
2350
  constructor(options) {
2341
2351
  $e270e9f953fcbc58$var$_classPrivateMethodInitSpec(this, $e270e9f953fcbc58$var$_cached_post_request);
2342
- $e270e9f953fcbc58$var$_classPrivateMethodInitSpec(this, $e270e9f953fcbc58$var$_run_url_creator_for_rest);
2352
+ $e270e9f953fcbc58$var$_classPrivateMethodInitSpec(this, $e270e9f953fcbc58$var$_run_display_transformers_for_rest);
2343
2353
  $e270e9f953fcbc58$var$_classPrivateMethodInitSpec(this, $e270e9f953fcbc58$var$_run_url_creator_for_suggest);
2344
2354
  $e270e9f953fcbc58$var$_classPrivateMethodInitSpec(this, $e270e9f953fcbc58$var$_guard_url_creator_length);
2345
2355
  $e270e9f953fcbc58$var$_classPrivateMethodInitSpec(this, $e270e9f953fcbc58$var$_get_cache_obj_for_endpoint);
2346
2356
  (0, $parcel$interopDefault($3hooq$babelruntimehelpersdefineProperty))(this, "page_url_creator", void 0);
2357
+ (0, $parcel$interopDefault($3hooq$babelruntimehelpersdefineProperty))(this, "display_transformers", void 0);
2347
2358
  $e270e9f953fcbc58$var$_classPrivateFieldInitSpec(this, $e270e9f953fcbc58$var$_supports_finalization_registry, {
2348
2359
  writable: true,
2349
2360
  value: typeof FinalizationRegistry === "function"
@@ -2382,12 +2393,14 @@ class $e270e9f953fcbc58$export$e015ed2f2950f2e3 {
2382
2393
  get_metadata: get_metadata,
2383
2394
  get_user_id: _get_user_id2,
2384
2395
  get_session_id: _get_session_id2,
2385
- page_url_creator: page_url_creator
2396
+ page_url_creator: _page_url_creator,
2397
+ display_transformers: _display_transformers
2386
2398
  } = options !== null && options !== void 0 ? options : {};
2387
2399
  (0, $parcel$interopDefault($3hooq$babelruntimehelpersclassPrivateFieldSet))(this, $e270e9f953fcbc58$var$_get_metadata, get_metadata);
2388
2400
  (0, $parcel$interopDefault($3hooq$babelruntimehelpersclassPrivateFieldSet))(this, $e270e9f953fcbc58$var$_get_user_id, _get_user_id2);
2389
2401
  (0, $parcel$interopDefault($3hooq$babelruntimehelpersclassPrivateFieldSet))(this, $e270e9f953fcbc58$var$_get_session_id, _get_session_id2);
2390
- this.page_url_creator = page_url_creator;
2402
+ this.page_url_creator = _page_url_creator;
2403
+ this.display_transformers = _display_transformers;
2391
2404
  }
2392
2405
  async suggest(input_req) {
2393
2406
  var _classPrivateFieldGet4;
@@ -2464,14 +2477,19 @@ function $e270e9f953fcbc58$var$_guard_url_creator_length2(expected, received) {
2464
2477
  }
2465
2478
  }
2466
2479
  async function $e270e9f953fcbc58$var$_run_url_creator_for_suggest2(merchant, market, response) {
2467
- if (!this.page_url_creator) return response;
2480
+ var _this$display_transfo;
2481
+ const page_url_creator = this.page_url_creator;
2482
+ const category_transformer = (_this$display_transfo = this.display_transformers) === null || _this$display_transfo === void 0 ? void 0 : _this$display_transfo.categories;
2483
+ if (!page_url_creator && !category_transformer) return response;
2468
2484
  // find category suggestions, run thing with them, and then replace them
2469
2485
  const category_suggestions = response.suggestions.filter(suggestion => suggestion.type === "category");
2470
- const page_urls = await this.page_url_creator({
2471
- type: "categories",
2486
+ const page_urls = await (page_url_creator || category_transformer)({
2472
2487
  market: market,
2473
2488
  merchant: merchant,
2474
- data: [...category_suggestions]
2489
+ data: [...category_suggestions],
2490
+ ...(page_url_creator ? {
2491
+ type: "categories"
2492
+ } : {})
2475
2493
  });
2476
2494
  $e270e9f953fcbc58$var$_classPrivateMethodGet(this, $e270e9f953fcbc58$var$_guard_url_creator_length, $e270e9f953fcbc58$var$_guard_url_creator_length2).call(this, category_suggestions, page_urls);
2477
2495
  while (page_urls.length)
@@ -2479,17 +2497,29 @@ async function $e270e9f953fcbc58$var$_run_url_creator_for_suggest2(merchant, mar
2479
2497
  Object.defineProperties(category_suggestions.pop(), Object.getOwnPropertyDescriptors(page_urls.pop()));
2480
2498
  return response;
2481
2499
  }
2482
- async function $e270e9f953fcbc58$var$_run_url_creator_for_rest2(merchant, market, input_data) {
2483
- if (!this.page_url_creator) return input_data;
2500
+ async function $e270e9f953fcbc58$var$_run_display_transformers_for_rest2(merchant, market, input_data) {
2501
+ const {
2502
+ page_url_creator: page_url_creator,
2503
+ display_transformers: display_transformers
2504
+ } = this;
2505
+ if (!page_url_creator && !display_transformers) return input_data;
2506
+ const product_transformer = display_transformers === null || display_transformers === void 0 ? void 0 : display_transformers.products;
2507
+ const category_transformer = display_transformers === null || display_transformers === void 0 ? void 0 : display_transformers.categories;
2508
+ const content_result_transformer = display_transformers === null || display_transformers === void 0 ? void 0 : display_transformers.contentResults;
2484
2509
  const displays = input_data.displays;
2485
- const breadcrumb = input_data.breadcrumb;
2486
- const quick_links = input_data.quick_links;
2487
- if (displays) {
2488
- const page_urls = await this.page_url_creator({
2489
- type: "products",
2510
+ const {
2511
+ breadcrumb: breadcrumb,
2512
+ quick_links: quick_links,
2513
+ content_search_links: content_search_links
2514
+ } = input_data;
2515
+ if (displays && (page_url_creator || product_transformer)) {
2516
+ const page_urls = await (page_url_creator || product_transformer)({
2490
2517
  merchant: merchant,
2491
2518
  market: market,
2492
- displays: [...input_data.displays]
2519
+ displays: [...input_data.displays],
2520
+ ...(page_url_creator ? {
2521
+ type: "products"
2522
+ } : {})
2493
2523
  });
2494
2524
  $e270e9f953fcbc58$var$_classPrivateMethodGet(this, $e270e9f953fcbc58$var$_guard_url_creator_length, $e270e9f953fcbc58$var$_guard_url_creator_length2).call(this, displays, page_urls);
2495
2525
  for (let i = 0; i < displays.length; i++) {
@@ -2507,19 +2537,30 @@ async function $e270e9f953fcbc58$var$_run_url_creator_for_rest2(merchant, market
2507
2537
  displays[i] = new_display_or_page_url;
2508
2538
  }
2509
2539
  }
2510
- for (const category_display_array of [breadcrumb, quick_links]) {
2540
+ if (page_url_creator || category_transformer) for (const category_display_array of [breadcrumb, quick_links]) {
2511
2541
  if (!category_display_array) continue;
2512
- const page_urls = await this.page_url_creator({
2513
- type: "categories",
2542
+ const page_urls = await (page_url_creator || category_transformer)({
2514
2543
  merchant: merchant,
2515
2544
  market: market,
2516
- data: [...category_display_array]
2545
+ data: [...category_display_array],
2546
+ ...(page_url_creator ? {
2547
+ type: "categories"
2548
+ } : {})
2517
2549
  });
2518
2550
  $e270e9f953fcbc58$var$_classPrivateMethodGet(this, $e270e9f953fcbc58$var$_guard_url_creator_length, $e270e9f953fcbc58$var$_guard_url_creator_length2).call(this, category_display_array, page_urls);
2519
2551
  for (let i = 0; i < category_display_array.length; i++)
2520
2552
  // Copy over getters so we sneakily can make this reactive
2521
2553
  Object.defineProperties(category_display_array[i], Object.getOwnPropertyDescriptors(page_urls[i]));
2522
2554
  }
2555
+ if (content_search_links !== null && content_search_links !== void 0 && content_search_links.length && content_result_transformer) {
2556
+ const result = await content_result_transformer({
2557
+ merchant: merchant,
2558
+ market: market,
2559
+ data: [...content_search_links]
2560
+ });
2561
+ $e270e9f953fcbc58$var$_classPrivateMethodGet(this, $e270e9f953fcbc58$var$_guard_url_creator_length, $e270e9f953fcbc58$var$_guard_url_creator_length2).call(this, content_search_links, result);
2562
+ input_data.content_search_links = result;
2563
+ }
2523
2564
  return input_data;
2524
2565
  }
2525
2566
  async function $e270e9f953fcbc58$var$_cached_post_request2(endpoint, input_req, fallback_response) {
@@ -2547,7 +2588,7 @@ async function $e270e9f953fcbc58$var$_cached_post_request2(endpoint, input_req,
2547
2588
  let result;
2548
2589
  try {
2549
2590
  const unmodified_result = await api_response.json();
2550
- result = await $e270e9f953fcbc58$var$_classPrivateMethodGet(this, $e270e9f953fcbc58$var$_run_url_creator_for_rest, $e270e9f953fcbc58$var$_run_url_creator_for_rest2).call(this, input_req.tenant, input_req.market, unmodified_result);
2591
+ result = await $e270e9f953fcbc58$var$_classPrivateMethodGet(this, $e270e9f953fcbc58$var$_run_display_transformers_for_rest, $e270e9f953fcbc58$var$_run_display_transformers_for_rest2).call(this, input_req.tenant, input_req.market, unmodified_result);
2551
2592
  } catch (e) {
2552
2593
  (0, $3hooq$depictaiutilishared.dwarn)("URL creator or json decoding failed", e);
2553
2594
  break return_successfully;
@@ -2637,12 +2678,11 @@ function $55f06aa93e360e7f$var$correct_range_filter_range_once(_ref3) {
2637
2678
  }
2638
2679
  function $068bde7fa83ac02c$export$92f2da32c6e7e7ee(_ref) {
2639
2680
  let {
2640
- search_results_: search_results_,
2681
+ number_: number_,
2641
2682
  i18n_: i18n_
2642
2683
  } = _ref;
2643
2684
  return (0, $3hooq$solidjs.createMemo)(() => {
2644
- var _search_results_;
2645
- const n_hits = (_search_results_ = search_results_()) === null || _search_results_ === void 0 ? void 0 : _search_results_.n_hits;
2685
+ const n_hits = number_();
2646
2686
  if (isNaN(n_hits)) return "";
2647
2687
  const price_formatting = i18n_.price_formatting_();
2648
2688
  return (0, $3hooq$depictaiutilishared.standard_price_format)(n_hits, 0,
@@ -4863,7 +4903,10 @@ function $ede6c70ecdca46fe$export$f7d2f673fc2f091d(_ref) {
4863
4903
  const [sort_or_filter_open_, set_sort_or_filter_open_] = (0, $3hooq$solidjs.createSignal)(false);
4864
4904
  const [desktop_filter_elements_, set_desktop_filter_elements] = (0, $3hooq$solidjs.createSignal)();
4865
4905
  const formatted_number_of_results_ = (0, $068bde7fa83ac02c$export$92f2da32c6e7e7ee)({
4866
- search_results_: plp_results_,
4906
+ number_: (0, $3hooq$solidjs.createMemo)(() => {
4907
+ var _plp_results_5;
4908
+ return (_plp_results_5 = plp_results_()) === null || _plp_results_5 === void 0 ? void 0 : _plp_results_5.n_hits;
4909
+ }),
4867
4910
  i18n_: i18n_
4868
4911
  });
4869
4912
  const [sort_and_filter_element_, set_sort_and_filter_element_] = (0, $3hooq$solidjs.createSignal)();
@@ -4886,8 +4929,8 @@ function $ede6c70ecdca46fe$export$f7d2f673fc2f091d(_ref) {
4886
4929
  }
4887
4930
  })), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
4888
4931
  get when() {
4889
- var _plp_results_5;
4890
- return ((_plp_results_5 = plp_results_()) === null || _plp_results_5 === void 0 ? void 0 : _plp_results_5.n_hits) === 1;
4932
+ var _plp_results_6;
4933
+ return ((_plp_results_6 = plp_results_()) === null || _plp_results_6 === void 0 ? void 0 : _plp_results_6.n_hits) === 1;
4891
4934
  },
4892
4935
  get fallback() {
4893
4936
  return i18n_.products_();
@@ -5069,8 +5112,8 @@ function $ede6c70ecdca46fe$export$f7d2f673fc2f091d(_ref) {
5069
5112
  formatted_number_of_results_: formatted_number_of_results_,
5070
5113
  i18n_: i18n_,
5071
5114
  number_of_results_: (0, $3hooq$solidjs.createMemo)(() => {
5072
- var _plp_results_6;
5073
- return (_plp_results_6 = plp_results_()) === null || _plp_results_6 === void 0 ? void 0 : _plp_results_6.n_hits;
5115
+ var _plp_results_7;
5116
+ return (_plp_results_7 = plp_results_()) === null || _plp_results_7 === void 0 ? void 0 : _plp_results_7.n_hits;
5074
5117
  })
5075
5118
  });
5076
5119
  }
@@ -5461,7 +5504,6 @@ function $9cbefc32b9dab36d$var$_classApplyDescriptorGet(receiver, descriptor) {
5461
5504
  return descriptor.value;
5462
5505
  }
5463
5506
  // We just pass page_url_creator to DepictAPI when we instantiate it, so don't allow it to be specified if api is already specified
5464
- // on old displays, no page_url_creator can be specified
5465
5507
  /**
5466
5508
  * Type for the private properties that are shared between the different exported search SDK wrapper functions.
5467
5509
  * SDK users are not allowed to change/access these, they're an internal implementation detail.
@@ -5524,6 +5566,7 @@ class $9cbefc32b9dab36d$export$f34314aa9505732e {
5524
5566
  api: api,
5525
5567
  on_navigation: on_navigation,
5526
5568
  page_url_creator: page_url_creator,
5569
+ display_transformers: display_transformers,
5527
5570
  unique_instance_key_for_state = "",
5528
5571
  query_id_state_key: query_id_state_key,
5529
5572
  ...props_on_class
@@ -5592,8 +5635,10 @@ class $9cbefc32b9dab36d$export$f34314aa9505732e {
5592
5635
  quicklinks_signal_: (0, $3hooq$solidjs.createSignal)(),
5593
5636
  i18n_: i18n_,
5594
5637
  reset_history_state_: reset_history_state_,
5638
+ // @ts-ignore
5595
5639
  depict_api_: api !== null && api !== void 0 ? api : new (0, $e270e9f953fcbc58$export$e015ed2f2950f2e3)({
5596
- page_url_creator: page_url_creator
5640
+ page_url_creator: page_url_creator,
5641
+ display_transformers: display_transformers
5597
5642
  }),
5598
5643
  router_: (0, $parcel$interopDefault($3hooq$babelruntimehelpersclassPrivateFieldGet))(this, $9cbefc32b9dab36d$var$_router),
5599
5644
  selected_filters_: selected_filters_,
@@ -6078,13 +6123,12 @@ function $c77adcdf5346b187$export$7de92c4c2205ebf3(_ref) {
6078
6123
  });
6079
6124
  }
6080
6125
  function $c77adcdf5346b187$var$make_state_saved_rows(_ref3, i18n_) {
6081
- var _untrack;
6082
6126
  let [get_showing_recommendation_rows, set_showing_recommendation_rows] = _ref3;
6083
- const currently_visible = (0, $3hooq$solidjs.createSignal)(0); // this number shouldn't matter for anything except typing
6127
+ const currently_visible = (0, $3hooq$solidjs.createSignal)((0, $3hooq$solidjs.untrack)(get_showing_recommendation_rows));
6084
6128
  const [get_currently_visible, set_currently_visible] = currently_visible;
6085
6129
  const rows = {
6086
6130
  currently_visible: currently_visible,
6087
- start_rows: (_untrack = (0, $3hooq$solidjs.untrack)(get_showing_recommendation_rows)) !== null && _untrack !== void 0 ? _untrack : $c77adcdf5346b187$export$1c8c715550dc689d,
6131
+ start_rows: $c77adcdf5346b187$export$1c8c715550dc689d,
6088
6132
  rows_per_click: 3,
6089
6133
  button: (0, $3hooq$solidjsweb.ssr)($c77adcdf5346b187$var$_tmpl$2, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)(i18n_.view_more_()))
6090
6134
  };
@@ -6253,7 +6297,7 @@ const $65353359a9fbdacd$export$27b710c08412a7ad = obj => {
6253
6297
  return Object.fromEntries(Object.keys(obj).map(key => [key, obj[key]()]));
6254
6298
  };
6255
6299
  const $82d079b68975fbf7$var$_tmpl$ = ["<span", ' class="orig price"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></span>"],
6256
- $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">', "</span><!--#-->", '<!--/--></div><div class="price-container"><!--#-->', '<!--/--><span class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></span></div></div></a>"],
6300
+ $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>"],
6257
6301
  $82d079b68975fbf7$var$_tmpl$3 = ["<div", ' class="tagline">', "</div>"];
6258
6302
  const $82d079b68975fbf7$export$b05c0ae390cf3e06 = (display_or_variant_container, _ref, router_) => {
6259
6303
  let {
@@ -6326,9 +6370,11 @@ function $6e8d48eea3d0469d$export$62f101a8aa597bf8(_ref) {
6326
6370
  render_instant_card_placeholder_: render_instant_card_placeholder_,
6327
6371
  min_products_to_fetch_: min_products_to_fetch_,
6328
6372
  has_sort_or_filters_: has_sort_or_filters_,
6329
- set_num_results_accessor_: set_num_results_accessor_,
6373
+ set_total_num_results_accessor_: set_total_num_results_accessor_,
6330
6374
  i18n_: i18n_,
6331
- router_: router_
6375
+ router_: router_,
6376
+ set_modal_search_results_: set_modal_search_results_,
6377
+ content_search_enabled_: content_search_enabled_
6332
6378
  } = _ref;
6333
6379
  const max_cards = 4;
6334
6380
  const [read_current_instant_query, write_current_instant_query] = (0, $3hooq$solidjs.createSignal)("");
@@ -6353,13 +6399,23 @@ function $6e8d48eea3d0469d$export$62f101a8aa597bf8(_ref) {
6353
6399
  ...variable_data
6354
6400
  });
6355
6401
  }));
6356
- set_num_results_accessor_(() => (0, $068bde7fa83ac02c$export$92f2da32c6e7e7ee)({
6357
- search_results_: search_results,
6402
+ // Maybe we should move this createResoure out of this component, on the other hand it bloats the parent component and if it fails it takes more than needed with it, so I think writing the content results from here is better
6403
+ // This is for the press-enter-to-instant-content-result feature which gets called from Autocomplete.tsx
6404
+ set_modal_search_results_(() => search_results);
6405
+ (0, $3hooq$solidjs.onCleanup)(() => set_modal_search_results_(undefined)); // for consistency, in case this component crashes
6406
+ set_total_num_results_accessor_(() => (0, $068bde7fa83ac02c$export$92f2da32c6e7e7ee)({
6407
+ number_: (0, $3hooq$solidjs.createMemo)(() => {
6408
+ var _search_results, _search_results2, _search_results2$cont;
6409
+ const hits = (_search_results = search_results()) === null || _search_results === void 0 ? void 0 : _search_results.n_hits;
6410
+ const content_results = (_search_results2 = search_results()) === null || _search_results2 === void 0 ? void 0 : (_search_results2$cont = _search_results2.content_search_links) === null || _search_results2$cont === void 0 ? void 0 : _search_results2$cont.length;
6411
+ if (!content_results || !content_search_enabled_()) return hits;
6412
+ return (hits !== null && hits !== void 0 ? hits : 0) + content_results;
6413
+ }),
6358
6414
  i18n_: i18n_
6359
6415
  }));
6360
6416
  const sliced_displays = (0, $3hooq$solidjs.createMemo)(() => {
6361
- var _search_results, _search_results$displ;
6362
- return (_search_results = search_results()) === null || _search_results === void 0 ? void 0 : (_search_results$displ = _search_results.displays) === null || _search_results$displ === void 0 ? void 0 : _search_results$displ.slice(0, max_cards);
6417
+ var _search_results3, _search_results3$disp;
6418
+ return (_search_results3 = search_results()) === null || _search_results3 === void 0 ? void 0 : (_search_results3$disp = _search_results3.displays) === null || _search_results3$disp === void 0 ? void 0 : _search_results3$disp.slice(0, max_cards);
6363
6419
  });
6364
6420
  let placeholder;
6365
6421
  return (0, $3hooq$solidjsweb.ssr)($6e8d48eea3d0469d$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
@@ -6369,8 +6425,8 @@ function $6e8d48eea3d0469d$export$62f101a8aa597bf8(_ref) {
6369
6425
  },
6370
6426
  get fallback() {
6371
6427
  return (0, $3hooq$solidjs.createMemo)(() => {
6372
- var _search_results2;
6373
- if (Array.isArray((_search_results2 = search_results()) === null || _search_results2 === void 0 ? void 0 : _search_results2.displays))
6428
+ var _search_results4;
6429
+ if (Array.isArray((_search_results4 = search_results()) === null || _search_results4 === void 0 ? void 0 : _search_results4.displays))
6374
6430
  // remove placeholders if we have a response but no results
6375
6431
  return undefined;
6376
6432
  return new Array(max_cards).fill(1).map(() => (placeholder || (placeholder = render_instant_card_placeholder_())).cloneNode(true));
@@ -6425,7 +6481,7 @@ function $8767e7eba5066d2b$export$5d2caaa6b530761c() {
6425
6481
  return (0, $3hooq$solidjsweb.ssr)($8767e7eba5066d2b$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)());
6426
6482
  }
6427
6483
  const $4edbc04f5c5a1843$var$_tmpl$ = ["<div", ' class="previous-searches"><h2 class="text">', '</h2><div class="list">', "</div></div>"],
6428
- $4edbc04f5c5a1843$var$_tmpl$2 = ["<a", ' class="', '"', '><div class="left"><!--#-->', "<!--/--><span>", '</span></div><button class="delete"', ">", "</button></a>"];
6484
+ $4edbc04f5c5a1843$var$_tmpl$2 = ["<a", ' class="', '"', '><div class="left"><!--#-->', '<!--/--><span class="line-clamp"', ">", '</span></div><button class="delete"', ">", "</button></a>"];
6429
6485
  function $4edbc04f5c5a1843$export$a146ac6fa8346a25(_ref) {
6430
6486
  let {
6431
6487
  text_: text_,
@@ -6469,14 +6525,14 @@ function $4edbc04f5c5a1843$export$a146ac6fa8346a25(_ref) {
6469
6525
  return (0, $3hooq$solidjsweb.ssr)($4edbc04f5c5a1843$var$_tmpl$2, (0, $3hooq$solidjsweb.ssrHydrationKey)(), "".concat("item", " ").concat((0, $3hooq$solidjs.createMemo)(() => {
6470
6526
  var _read_selected_index_, _read_selected_index_2;
6471
6527
  return ((_read_selected_index_ = read_selected_index_()) === null || _read_selected_index_ === void 0 ? void 0 : _read_selected_index_[0]) === 0 && ((_read_selected_index_2 = read_selected_index_()) === null || _read_selected_index_2 === void 0 ? void 0 : _read_selected_index_2[1]) === index;
6472
- })() ? "selected" : ""), (0, $3hooq$solidjsweb.ssrAttribute)("href", (0, $3hooq$solidjsweb.escape)(href(), true), false), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $8767e7eba5066d2b$export$5d2caaa6b530761c), {})), (0, $3hooq$solidjsweb.escape)(item()), (0, $3hooq$solidjsweb.ssrAttribute)("title", (0, $3hooq$solidjsweb.escape)(i18n_.previous_searches_delete_entry_from_history_(), true), false), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $083b2336093176cf$export$3b621d86b1566b2), {})));
6528
+ })() ? "selected" : ""), (0, $3hooq$solidjsweb.ssrAttribute)("href", (0, $3hooq$solidjsweb.escape)(href(), true), false), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $8767e7eba5066d2b$export$5d2caaa6b530761c), {})), (0, $3hooq$solidjsweb.ssrAttribute)("title", (0, $3hooq$solidjsweb.escape)(item(), true), false), (0, $3hooq$solidjsweb.escape)(item()), (0, $3hooq$solidjsweb.ssrAttribute)("title", (0, $3hooq$solidjsweb.escape)(i18n_.previous_searches_delete_entry_from_history_(), true), false), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $083b2336093176cf$export$3b621d86b1566b2), {})));
6473
6529
  }
6474
6530
  })));
6475
6531
  }
6476
6532
  });
6477
6533
  }
6478
6534
  const $23c3f390dee33ff8$var$_tmpl$ = ["<span", ' class="highlighted-part">', "</span>"],
6479
- $23c3f390dee33ff8$var$_tmpl$2 = ["<span", ' class="', '">', "</span>"];
6535
+ $23c3f390dee33ff8$var$_tmpl$2 = ["<span", ' class="', '"', ">", "</span>"];
6480
6536
  function $23c3f390dee33ff8$export$ba17c5b7e6dda39f(_ref) {
6481
6537
  let {
6482
6538
  whole_text_to_display_: whole_text_to_display_memo,
@@ -6527,16 +6583,28 @@ function $23c3f390dee33ff8$export$ba17c5b7e6dda39f(_ref) {
6527
6583
  }
6528
6584
  return output;
6529
6585
  }));
6530
- return (0, $3hooq$solidjsweb.ssr)($23c3f390dee33ff8$var$_tmpl$2, (0, $3hooq$solidjsweb.ssrHydrationKey)(), "".concat((0, $3hooq$solidjsweb.escape)(class_, true) || "", " ").concat(get_has_highlighted() ? "has-history-match" : ""), (0, $3hooq$solidjsweb.escape)(text_itself()));
6586
+ return (0, $3hooq$solidjsweb.ssr)($23c3f390dee33ff8$var$_tmpl$2, (0, $3hooq$solidjsweb.ssrHydrationKey)(), "".concat((0, $3hooq$solidjsweb.escape)(class_, true) || "", " ").concat(get_has_highlighted() ? "has-history-match" : ""), (0, $3hooq$solidjsweb.ssrAttribute)("title", (0, $3hooq$solidjsweb.escape)(whole_text_to_display_memo(), true), false), (0, $3hooq$solidjsweb.escape)(text_itself()));
6587
+ }
6588
+ 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>';
6589
+ function $3cf7b4db1e203c93$export$605674723bcc715c() {
6590
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6591
+ return (0, $3hooq$solidjsweb.ssrElement)("svg", () => ({
6592
+ "xmlns": "http://www.w3.org/2000/svg",
6593
+ "width": "32",
6594
+ "height": "32",
6595
+ "viewBox": "0 0 256 256",
6596
+ ...props
6597
+ }), () => (0, $3hooq$solidjsweb.ssr)($3cf7b4db1e203c93$var$_tmpl$), true);
6531
6598
  }
6532
6599
  const $0677d509ad208e22$var$_tmpl$ = ["<a", ' class="', '"', ">", "</a>"],
6533
6600
  $0677d509ad208e22$var$_tmpl$2 = ["<div", ' class="search-icon">', "</div>"],
6534
6601
  $0677d509ad208e22$var$_tmpl$3 = ["<span", ' class="type">', "</span>"],
6535
6602
  $0677d509ad208e22$var$_tmpl$4 = ["<div", "><!--#-->", '<!--/--><span class="value">', "</span></div>"],
6536
- $0677d509ad208e22$var$_tmpl$5 = ["<h2", ' class="text">', "</h2>"],
6537
- $0677d509ad208e22$var$_tmpl$6 = ["<div", ' class="suggestion-container query"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
6538
- $0677d509ad208e22$var$_tmpl$7 = ["<div", ' class="suggestion-container page">', "</div>"],
6539
- $0677d509ad208e22$var$_tmpl$8 = ["<div", ' class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></div>"];
6603
+ $0677d509ad208e22$var$_tmpl$5 = ["<div", ' class="with-icon"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
6604
+ $0677d509ad208e22$var$_tmpl$6 = ["<h2", ' class="text">', "</h2>"],
6605
+ $0677d509ad208e22$var$_tmpl$7 = ["<div", ' class="suggestion-container query"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
6606
+ $0677d509ad208e22$var$_tmpl$8 = ["<div", ' class="suggestion-container page">', "</div>"],
6607
+ $0677d509ad208e22$var$_tmpl$9 = ["<div", ' class="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></div>"];
6540
6608
  function $0677d509ad208e22$export$e872e2339fb04a7f(_ref) {
6541
6609
  let {
6542
6610
  suggestion_memo_: suggestion_memo_,
@@ -6550,7 +6618,8 @@ function $0677d509ad208e22$export$e872e2339fb04a7f(_ref) {
6550
6618
  include_category_suggestions_: include_category_suggestions_,
6551
6619
  searching_for_value_: searching_for_value_,
6552
6620
  router_: router_,
6553
- submit_query_: submit_query_
6621
+ submit_query_: submit_query_,
6622
+ get_content_results_: get_content_results_
6554
6623
  } = _ref;
6555
6624
  const queries_memo = (0, $3hooq$solidjs.createMemo)(() => suggestion_memo_().filter(_ref2 => {
6556
6625
  let {
@@ -6561,12 +6630,18 @@ function $0677d509ad208e22$export$e872e2339fb04a7f(_ref) {
6561
6630
  } // don't show the ones we already show from the history
6562
6631
  ));
6563
6632
 
6564
- const not_queries_memo = (0, $3hooq$solidjs.createMemo)(() => suggestion_memo_().filter(_ref3 => {
6565
- let {
6566
- type: type
6567
- } = _ref3;
6568
- return type !== (0, $ce079d50d380ee11$export$3cf9497e790da491);
6569
- }));
6633
+ const not_queries_memo = (0, $3hooq$solidjs.createMemo)(() => {
6634
+ // For the section that shows categories and content results
6635
+ // We want to limit to 3 items, and we want to show the categories first
6636
+ const content_results = get_content_results_() || [];
6637
+ const from_suggest_request = include_category_suggestions_ ? suggestion_memo_().filter(_ref3 => {
6638
+ let {
6639
+ type: type
6640
+ } = _ref3;
6641
+ return type !== (0, $ce079d50d380ee11$export$3cf9497e790da491);
6642
+ }) : [];
6643
+ return [...from_suggest_request.slice(0, content_results.length ? 2 : 3), ...content_results.slice(0, 1)];
6644
+ });
6570
6645
  const render_entry = function (input_obj, autocomplete_data_index, index) {
6571
6646
  let is_history = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
6572
6647
  const is_query = (0, $3hooq$solidjs.createMemo)(() => input_obj().type === (0, $ce079d50d380ee11$export$3cf9497e790da491));
@@ -6576,10 +6651,11 @@ function $0677d509ad208e22$export$e872e2339fb04a7f(_ref) {
6576
6651
  url_transformer_: url_transformer_
6577
6652
  }) : undefined);
6578
6653
  const href = (0, $3hooq$solidjs.createMemo)(() => is_query() ? href_with_changed_params_accessor()() : input_obj().page_url);
6579
- return (0, $3hooq$solidjsweb.ssr)($0677d509ad208e22$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)(), "suggestion ".concat((0, $3hooq$solidjs.createMemo)(() => {
6654
+ const is_selected = (0, $3hooq$solidjs.createMemo)(() => {
6580
6655
  var _read_selected_index_, _read_selected_index_2;
6581
6656
  return ((_read_selected_index_ = read_selected_index_()) === null || _read_selected_index_ === void 0 ? void 0 : _read_selected_index_[0]) === autocomplete_data_index && ((_read_selected_index_2 = read_selected_index_()) === null || _read_selected_index_2 === void 0 ? void 0 : _read_selected_index_2[1]) === index;
6582
- })() ? "selected" : "", " ").concat(is_history ? "history" : "", " ").concat((0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.escape)("type-" + input_obj().type, true), true)), (0, $3hooq$solidjsweb.ssrAttribute)("href", (0, $3hooq$solidjsweb.escape)(href(), true), false), is_query() ? (0, $3hooq$solidjsweb.escape)([(0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
6657
+ });
6658
+ return (0, $3hooq$solidjsweb.ssr)($0677d509ad208e22$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)(), "suggestion ".concat(is_selected() ? "selected" : "", " ").concat(is_history ? "history" : "", " ").concat((0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.escape)("type-" + input_obj().type, true), true)), (0, $3hooq$solidjsweb.ssrAttribute)("href", (0, $3hooq$solidjsweb.escape)(href(), true), false), is_query() ? (0, $3hooq$solidjsweb.escape)([(0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
6583
6659
  when: is_history,
6584
6660
  get fallback() {
6585
6661
  return (0, $3hooq$solidjsweb.ssr)($0677d509ad208e22$var$_tmpl$2, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $5b88b077e48a4451$export$82eafebb825fc23f), {})));
@@ -6588,24 +6664,34 @@ function $0677d509ad208e22$export$e872e2339fb04a7f(_ref) {
6588
6664
  return (0, $3hooq$solidjsweb.createComponent)((0, $8767e7eba5066d2b$export$5d2caaa6b530761c), {});
6589
6665
  }
6590
6666
  }), (0, $3hooq$solidjsweb.createComponent)((0, $23c3f390dee33ff8$export$ba17c5b7e6dda39f), {
6591
- class_: "value",
6667
+ class_: "value line-clamp",
6592
6668
  get whole_text_to_display_() {
6593
6669
  return (0, $3hooq$solidjs.createMemo)(() => input_obj().title);
6594
6670
  },
6595
6671
  searching_for_value_: searching_for_value_
6596
- })]) : (0, $3hooq$solidjsweb.escape)([typeof input_obj().parent_title === "string" ? (0, $3hooq$solidjsweb.ssr)($0677d509ad208e22$var$_tmpl$4, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $23c3f390dee33ff8$export$ba17c5b7e6dda39f), {
6597
- class_: "category",
6672
+ })]) : (0, $3hooq$solidjsweb.escape)([typeof input_obj() /* this is a harmless lie */.parent_title === "string" ? (0, $3hooq$solidjsweb.ssr)($0677d509ad208e22$var$_tmpl$4, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $23c3f390dee33ff8$export$ba17c5b7e6dda39f), {
6673
+ class_: "category line-clamp",
6598
6674
  get whole_text_to_display_() {
6599
6675
  return (0, $3hooq$solidjs.createMemo)(() => input_obj().title);
6600
6676
  },
6601
6677
  searching_for_value_: searching_for_value_
6602
- })), (0, $3hooq$solidjsweb.escape)(input_obj().parent_title)) : (0, $3hooq$solidjsweb.createComponent)((0, $23c3f390dee33ff8$export$ba17c5b7e6dda39f), {
6603
- class_: "category",
6678
+ })), (0, $3hooq$solidjsweb.escape)(input_obj().parent_title)) : input_obj().type === "content" ? (0, $3hooq$solidjsweb.ssr)($0677d509ad208e22$var$_tmpl$5, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3cf7b4db1e203c93$export$605674723bcc715c), {
6679
+ width: "16",
6680
+ height: "16"
6681
+ })), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $23c3f390dee33ff8$export$ba17c5b7e6dda39f), {
6682
+ class_: "content line-clamp",
6683
+ get whole_text_to_display_() {
6684
+ return (0, $3hooq$solidjs.createMemo)(() => input_obj().title);
6685
+ },
6686
+ searching_for_value_: searching_for_value_
6687
+ }))) : (0, $3hooq$solidjsweb.createComponent)((0, $23c3f390dee33ff8$export$ba17c5b7e6dda39f), {
6688
+ class_: "category line-clamp",
6604
6689
  get whole_text_to_display_() {
6605
6690
  return (0, $3hooq$solidjs.createMemo)(() => input_obj().title);
6606
6691
  },
6607
6692
  searching_for_value_: searching_for_value_
6608
6693
  }), (0, $3hooq$solidjsweb.ssr)($0677d509ad208e22$var$_tmpl$3, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjs.createMemo)(() => {
6694
+ if (input_obj().type === "content") return i18n_.content_();
6609
6695
  if (input_obj().category_type === "BRAND") return i18n_.brand_();
6610
6696
  return i18n_.category_();
6611
6697
  })()))]));
@@ -6622,8 +6708,8 @@ function $0677d509ad208e22$export$e872e2339fb04a7f(_ref) {
6622
6708
  };
6623
6709
  const should_show_previous_searches_in_query_part = (0, $3hooq$solidjs.createMemo)(() => !on_previous_searches_page_());
6624
6710
  const should_show_at_all = (0, $3hooq$solidjs.createMemo)(() => {
6625
- var _suggestion_memo_;
6626
- return ((_suggestion_memo_ = suggestion_memo_()) === null || _suggestion_memo_ === void 0 ? void 0 : _suggestion_memo_.length) || should_show_previous_searches_in_query_part() && filtered_previous_searches_().length;
6711
+ var _suggestion_memo_, _get_content_results_;
6712
+ return ((_suggestion_memo_ = suggestion_memo_()) === null || _suggestion_memo_ === void 0 ? void 0 : _suggestion_memo_.length) || should_show_previous_searches_in_query_part() && filtered_previous_searches_().length || ((_get_content_results_ = get_content_results_()) === null || _get_content_results_ === void 0 ? void 0 : _get_content_results_.length);
6627
6713
  });
6628
6714
  const should_show_query_part = (0, $3hooq$solidjs.createMemo)(() => queries_memo().length || filtered_previous_searches_().length);
6629
6715
  return (0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
@@ -6631,19 +6717,19 @@ function $0677d509ad208e22$export$e872e2339fb04a7f(_ref) {
6631
6717
  return should_show_at_all();
6632
6718
  },
6633
6719
  get children() {
6634
- return (0, $3hooq$solidjsweb.ssr)($0677d509ad208e22$var$_tmpl$8, (0, $3hooq$solidjsweb.ssrHydrationKey)(), "suggestions ".concat(on_previous_searches_page_() ? "compact" : ""), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
6720
+ return (0, $3hooq$solidjsweb.ssr)($0677d509ad208e22$var$_tmpl$9, (0, $3hooq$solidjsweb.ssrHydrationKey)(), "suggestions ".concat(on_previous_searches_page_() ? "compact" : ""), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
6635
6721
  get when() {
6636
6722
  return on_previous_searches_page_();
6637
6723
  },
6638
6724
  get children() {
6639
- return (0, $3hooq$solidjsweb.ssr)($0677d509ad208e22$var$_tmpl$5, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)(i18n_.suggestions_()));
6725
+ return (0, $3hooq$solidjsweb.ssr)($0677d509ad208e22$var$_tmpl$6, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)(i18n_.suggestions_()));
6640
6726
  }
6641
6727
  })), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
6642
6728
  get when() {
6643
6729
  return should_show_query_part();
6644
6730
  },
6645
6731
  get children() {
6646
- return (0, $3hooq$solidjsweb.ssr)($0677d509ad208e22$var$_tmpl$6, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
6732
+ return (0, $3hooq$solidjsweb.ssr)($0677d509ad208e22$var$_tmpl$7, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
6647
6733
  get when() {
6648
6734
  return should_show_previous_searches_in_query_part();
6649
6735
  },
@@ -6679,11 +6765,11 @@ function $0677d509ad208e22$export$e872e2339fb04a7f(_ref) {
6679
6765
  }
6680
6766
  })), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
6681
6767
  get when() {
6682
- return not_queries_memo().length && include_category_suggestions_;
6768
+ return not_queries_memo().length;
6683
6769
  },
6684
6770
  keyed: false,
6685
6771
  get children() {
6686
- return (0, $3hooq$solidjsweb.ssr)($0677d509ad208e22$var$_tmpl$7, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (() => {
6772
+ return (0, $3hooq$solidjsweb.ssr)($0677d509ad208e22$var$_tmpl$8, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (() => {
6687
6773
  const index_in_autocomplete = 3;
6688
6774
  set_list_until_cleanup(not_queries_memo, index_in_autocomplete);
6689
6775
  return (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Index), {
@@ -6698,7 +6784,18 @@ function $0677d509ad208e22$export$e872e2339fb04a7f(_ref) {
6698
6784
  }
6699
6785
  });
6700
6786
  }
6701
- const $1a7b2e0cdf65293a$var$_tmpl$ = ["<a", ' target="_blank"></a>'];
6787
+ const $1730e5b4d47679a3$var$_tmpl$ = ["<a", ' target="_blank"></a>'];
6788
+ function $1730e5b4d47679a3$export$1efe1013da60d0e4(e, href) {
6789
+ if (e.metaKey || e.ctrlKey) {
6790
+ // Open link in a new tab with cmd/ctrl + enter.
6791
+ const link = (0, $3hooq$solidjsweb.ssr)($1730e5b4d47679a3$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)() + (0, $3hooq$solidjsweb.ssrAttribute)("href", (0, $3hooq$solidjsweb.escape)(href, true), false));
6792
+ document.body.append(link);
6793
+ link.click();
6794
+ link.remove();
6795
+ return true;
6796
+ }
6797
+ return false;
6798
+ }
6702
6799
  function $1a7b2e0cdf65293a$export$217899a935ef803b(_ref) {
6703
6800
  let {
6704
6801
  selected_index_: [read_selected_index, write_selected_index],
@@ -6776,6 +6873,7 @@ function $1a7b2e0cdf65293a$var$actual_navigation_working_on_fake_data(_ref2) {
6776
6873
  const sfv = get_search_field_value();
6777
6874
  if (!(0, $3hooq$solidjs.untrack)(() => read_updating_blocked())) previous_value = sfv;
6778
6875
  });
6876
+ const owner = (0, $3hooq$solidjs.getOwner)();
6779
6877
  const handler = (0, $3hooq$depictaiutilishared.catchify)(_ref3 => {
6780
6878
  let {
6781
6879
  keyCode: keyCode
@@ -6808,29 +6906,29 @@ function $1a7b2e0cdf65293a$var$actual_navigation_working_on_fake_data(_ref2) {
6808
6906
  const {
6809
6907
  title: title
6810
6908
  } = selected_entry;
6811
- block_updating_for_one_change();
6909
+ (0, $3hooq$solidjs.runWithOwner)(owner, block_updating_for_one_change);
6812
6910
  set_search_field_value(title);
6813
- override_on_enter_for_this_entry(e => {
6911
+ (0, $3hooq$solidjs.runWithOwner)(owner, () => override_on_enter_for_this_entry(e => {
6814
6912
  // Open search query in new tab on cmd+enter
6815
6913
  // If it's not cmd+enter, pressing enter will just submit the value that was put into the field while selecting with the arrow keys ;)
6816
6914
  const url = new URL(location);
6817
6915
  url_transformer_ === null || url_transformer_ === void 0 || url_transformer_(url);
6818
6916
  url.searchParams.set(search_query_param_name_, title);
6819
- return $1a7b2e0cdf65293a$var$open_link_on_cmd_pressed(e, url.href);
6820
- });
6821
- } else if ((selected_entry === null || selected_entry === void 0 ? void 0 : selected_entry.type) == "category") override_on_enter_for_this_entry(e => {
6917
+ return (0, $1730e5b4d47679a3$export$1efe1013da60d0e4)(e, url.href);
6918
+ }));
6919
+ } else if ((selected_entry === null || selected_entry === void 0 ? void 0 : selected_entry.type) == "category" || (selected_entry === null || selected_entry === void 0 ? void 0 : selected_entry.type) === "content") (0, $3hooq$solidjs.runWithOwner)(owner, () => override_on_enter_for_this_entry(e => {
6822
6920
  const {
6823
6921
  page_url: page_url
6824
6922
  } = selected_entry;
6825
- if (!$1a7b2e0cdf65293a$var$open_link_on_cmd_pressed(e, page_url))
6923
+ if (!(0, $1730e5b4d47679a3$export$1efe1013da60d0e4)(e, page_url))
6826
6924
  // Above fn will return true if it opened a new tab, and we won't make these checks anymore
6827
6925
  router_.navigate_.go_to_({
6828
6926
  new_url_: page_url,
6829
6927
  is_replace_: false
6830
6928
  });
6831
6929
  return true;
6832
- });else if (!selected_entry) {
6833
- block_updating_for_one_change();
6930
+ }));else if (!selected_entry) {
6931
+ (0, $3hooq$solidjs.runWithOwner)(owner, block_updating_for_one_change);
6834
6932
  set_search_field_value(previous_value);
6835
6933
  }
6836
6934
  });
@@ -6842,16 +6940,39 @@ function $1a7b2e0cdf65293a$var$actual_navigation_working_on_fake_data(_ref2) {
6842
6940
  (0, $3hooq$solidjs.onCleanup)((0, $3hooq$depictaiutilishared.catchify)(() => el.removeEventListener("keyup", handler)));
6843
6941
  });
6844
6942
  }
6845
- function $1a7b2e0cdf65293a$var$open_link_on_cmd_pressed(e, href) {
6846
- if (e.metaKey || e.ctrlKey) {
6847
- // Open link in a new tab with cmd/ctrl + enter.
6848
- const link = (0, $3hooq$solidjsweb.ssr)($1a7b2e0cdf65293a$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)() + (0, $3hooq$solidjsweb.ssrAttribute)("href", (0, $3hooq$solidjsweb.escape)(href, true), false));
6849
- document.body.append(link);
6850
- link.click();
6851
- link.remove();
6852
- return true;
6853
- }
6854
- return false;
6943
+ function $4d9996ee79548b4b$export$af0124069c150252(_ref) {
6944
+ let {
6945
+ set_override_on_enter_fn_: set_override_on_enter_fn_,
6946
+ get_modal_search_results_: get_modal_search_results_,
6947
+ read_suggestion_signal_: read_suggestion_signal_,
6948
+ router_: router_,
6949
+ content_results_: content_results_
6950
+ } = _ref;
6951
+ const [get_autocomplete_wants_override_function, set_autocomplete_wants_override_function] = (0, $3hooq$solidjs.createSignal)(() => false);
6952
+ (0, $3hooq$solidjs.createComputed)(() => {
6953
+ var _get_modal_search_res, _search_results$displ;
6954
+ const suggestions = read_suggestion_signal_();
6955
+ const search_results = (_get_modal_search_res = get_modal_search_results_()) === null || _get_modal_search_res === void 0 ? void 0 : _get_modal_search_res();
6956
+ const content_results = content_results_();
6957
+ // If we only have one content result and nothing else, go there when pressing enter
6958
+ if (!suggestions.length && !(search_results !== null && search_results !== void 0 && (_search_results$displ = search_results.displays) !== null && _search_results$displ !== void 0 && _search_results$displ.length) && (content_results === null || content_results === void 0 ? void 0 : content_results.length) === 1) {
6959
+ const [{
6960
+ page_url: page_url
6961
+ }] = content_results;
6962
+ set_override_on_enter_fn_(e => {
6963
+ if (!(0, $1730e5b4d47679a3$export$1efe1013da60d0e4)(e, page_url))
6964
+ // Above fn will return true if it opened a new tab, and we won't make these checks anymore
6965
+ router_.navigate_.go_to_({
6966
+ new_url_: page_url,
6967
+ is_replace_: false
6968
+ });
6969
+ return true;
6970
+ });
6971
+ return;
6972
+ }
6973
+ set_override_on_enter_fn_(get_autocomplete_wants_override_function());
6974
+ });
6975
+ return new_fn => set_autocomplete_wants_override_function(() => new_fn);
6855
6976
  }
6856
6977
  const $ce079d50d380ee11$export$3cf9497e790da491 = "query";
6857
6978
  function $ce079d50d380ee11$export$2f2b9559550c7bbc(_ref) {
@@ -6872,12 +6993,15 @@ function $ce079d50d380ee11$export$2f2b9559550c7bbc(_ref) {
6872
6993
  i18n_: i18n_,
6873
6994
  include_category_suggestions_: include_category_suggestions_,
6874
6995
  submit_query_: submit_query_,
6875
- router_: router_
6996
+ router_: router_,
6997
+ get_modal_search_results_: get_modal_search_results_,
6998
+ content_search_enabled_: content_search_enabled_
6876
6999
  } = _ref;
6877
7000
  const [searching_for_value, set_searching_for_value] = (0, $3hooq$solidjs.createSignal)();
7001
+ const [show_stale_content_results, set_show_stale_content_results] = (0, $3hooq$solidjs.createSignal)(false);
6878
7002
  const [read_search_field_value] = search_field_value_;
6879
7003
  const updating_blocked = (0, $3hooq$solidjs.createSignal)(false);
6880
- const [read_suggestion_signal, write_suggestion_signal] = (0, $3hooq$solidjs.createSignal)([]);
7004
+ const [read_suggestion_signal_, write_suggestion_signal] = (0, $3hooq$solidjs.createSignal)([]);
6881
7005
  const filtered_previous_searches = (0, $3hooq$solidjs.createMemo)(() => [...unfiltered_previous_searches[0]()].reverse().filter(q => q !== get_search_query_()));
6882
7006
  const deparallelized_fn = (0, $3hooq$depictaiutilishared.deparallelize_no_drop)(async request_obj => {
6883
7007
  var _api_response$suggest;
@@ -6901,15 +7025,39 @@ function $ce079d50d380ee11$export$2f2b9559550c7bbc(_ref) {
6901
7025
  });
6902
7026
 
6903
7027
  const show_previous_searches_component = (0, $3hooq$solidjs.createMemo)(() => !read_search_field_value() || (0, $3hooq$solidjs.untrack)(updating_blocked[0]) && !(0, $3hooq$solidjs.untrack)(searching_for_value));
7028
+ const get_content_results_ = (0, $3hooq$solidjs.createMemo)(prev => {
7029
+ var _get_modal_search_res, _get_modal_search_res2, _get_modal_search_res3;
7030
+ if (!content_search_enabled_()) return [];
7031
+ if (show_stale_content_results())
7032
+ // don't update content results when query suggestions don't update because otherwise they disappear when trying to keyboard navigate to them
7033
+ return prev;
7034
+ return (_get_modal_search_res = get_modal_search_results_()) === null || _get_modal_search_res === void 0 ? void 0 : (_get_modal_search_res2 = _get_modal_search_res()) === null || _get_modal_search_res2 === void 0 ? void 0 : (_get_modal_search_res3 = _get_modal_search_res2.content_search_links) === null || _get_modal_search_res3 === void 0 ? void 0 : _get_modal_search_res3.map(link => ({
7035
+ page_url: link.page_url,
7036
+ type: "content",
7037
+ title: link.title
7038
+ }));
7039
+ });
7040
+ // Ideally we'd propagate up the suggestion signal too and call this from SearchModal.tsx? Because it's not super related with autocomplete, but it's not a huge feature, and it's easier here so keeping it.
7041
+ // It's the functionality to open the content results page when you press enter, in the modal, when there's only one content result
7042
+ const manipulated_set_override_on_enter_fn_ = (0, $4d9996ee79548b4b$export$af0124069c150252)({
7043
+ set_override_on_enter_fn_: set_override_on_enter_fn_,
7044
+ get_modal_search_results_: get_modal_search_results_,
7045
+ read_suggestion_signal_: read_suggestion_signal_,
7046
+ router_: router_,
7047
+ content_results_: get_content_results_
7048
+ });
6904
7049
  (0, $3hooq$solidjs.createComputed)(() => {
6905
7050
  const field_value = read_search_field_value();
6906
- if (!(0, $3hooq$solidjs.untrack)(updating_blocked[0])) {
7051
+ if ((0, $3hooq$solidjs.untrack)(updating_blocked[0]))
7052
+ // not using updating_blocked instead of below signal since I presume they'd start updating too early then
7053
+ set_show_stale_content_results(true);else {
6907
7054
  set_searching_for_value(field_value);
6908
7055
  deparallelized_fn({
6909
7056
  query: field_value,
6910
7057
  tenant: tenant_(),
6911
7058
  market: market_()
6912
7059
  });
7060
+ set_show_stale_content_results(false);
6913
7061
  }
6914
7062
  });
6915
7063
  (0, $3hooq$solidjs.createComputed)((0, $3hooq$solidjs.on)(search_field_value_[0], () => !updating_blocked[0]() && selected_index_[1](undefined), {
@@ -6921,7 +7069,7 @@ function $ce079d50d380ee11$export$2f2b9559550c7bbc(_ref) {
6921
7069
  search_field_value_: search_field_value_,
6922
7070
  updating_blocked_: updating_blocked,
6923
7071
  currently_showing_suggestions_: currently_showing_suggestions_,
6924
- set_override_on_enter_fn_: set_override_on_enter_fn_,
7072
+ set_override_on_enter_fn_: manipulated_set_override_on_enter_fn_,
6925
7073
  search_query_param_name_: search_query_url_param_name_,
6926
7074
  url_transformer_: url_transformer_,
6927
7075
  router_: router_
@@ -6961,11 +7109,12 @@ function $ce079d50d380ee11$export$2f2b9559550c7bbc(_ref) {
6961
7109
  },
6962
7110
  on_previous_searches_page_: show_previous_searches_component,
6963
7111
  i18n_: i18n_,
7112
+ get_content_results_: get_content_results_,
6964
7113
  url_transformer_: url_transformer_,
6965
7114
  searching_for_value_: searching_for_value,
6966
7115
  search_query_url_param_name_: search_query_url_param_name_,
6967
7116
  selected_index_: selected_index_,
6968
- suggestion_memo_: read_suggestion_signal,
7117
+ suggestion_memo_: read_suggestion_signal_,
6969
7118
  currently_showing_suggestions_: currently_showing_suggestions_,
6970
7119
  include_category_suggestions_: include_category_suggestions_,
6971
7120
  router_: router_,
@@ -7073,7 +7222,8 @@ function $24419668d5fcfcd5$export$1c593cbd6f1e10bc(_ref) {
7073
7222
  bottom_distance_under_modal_: bottom_distance_under_modal_,
7074
7223
  selected_text_range_: selected_text_range_,
7075
7224
  dont_sync_search_field_value_except_on_submit_ = false,
7076
- router_: router_
7225
+ router_: router_,
7226
+ content_search_enabled_: content_search_enabled_
7077
7227
  } = _ref;
7078
7228
  let on_enter_in_search_field_function;
7079
7229
  // As per feedback from stronger we sometimes want a modal with the search field value disconnected from the one in the rest of the UI, see https://depictaiworkspace.slack.com/archives/C02J16R9XEH/p1679065878487709.
@@ -7090,34 +7240,24 @@ function $24419668d5fcfcd5$export$1c593cbd6f1e10bc(_ref) {
7090
7240
  };
7091
7241
  const [input_field, set_input_field] = (0, $3hooq$solidjs.createSignal)();
7092
7242
  const [get_search_field_value_] = search_field_value_;
7093
- const [elements_outside_scrollable, set_elements_outside_scrollable] = (0, $3hooq$solidjs.createSignal)();
7094
- const [elements_inside_scrollable, set_elements_inside_scrollable] = (0, $3hooq$solidjs.createSignal)();
7243
+ const [get_modal_search_results, set_modal_search_results_] = (0, $3hooq$solidjs.createSignal)();
7095
7244
  const close_on_escape_handler = (0, $3hooq$depictaiutilishared.catchify)(_ref2 => {
7096
7245
  let {
7097
7246
  key: key
7098
7247
  } = _ref2;
7099
7248
  if (key === "Escape") close_modal_();
7100
7249
  });
7101
- const [get_num_results_accessor, set_num_results_accessor_] = (0, $3hooq$solidjs.createSignal)();
7250
+ const [get_total_num_results_accessor, set_total_num_results_accessor_] = (0, $3hooq$solidjs.createSignal)();
7102
7251
  const selected_index = (0, $3hooq$solidjs.createSignal)();
7103
7252
  const currently_showing_suggestions_ = (0, $3hooq$solidjs.createSignal)([], {
7104
7253
  equals: false
7105
7254
  });
7255
+ const less_than_700_high = (0, $3e17e871e9d0911d$export$d9f36cf74e24d595)("(max-height:700px)");
7256
+ const DiscoverMoreSection = () => (0, $3hooq$solidjsweb.ssr)($24419668d5fcfcd5$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)(), get_search_field_value_() ? (0, $3hooq$solidjsweb.escape)(i18n_.modal_view_all_results_()((0, $3hooq$solidjsweb.ssr)($24419668d5fcfcd5$var$_tmpl$2, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)(get_total_num_results_accessor === null || get_total_num_results_accessor === void 0 ? void 0 : get_total_num_results_accessor())))) : (0, $3hooq$solidjsweb.escape)(i18n_.modal_discover_more_()));
7106
7257
  if (disable_scrolling_) (0, $8c2e68c6d458169b$export$fe334901e8bebd57)();
7107
7258
  $24419668d5fcfcd5$var$close_modal_when_navigating_away(close_modal_, search_query_url_param_name_);
7108
7259
  window.addEventListener("keydown", close_on_escape_handler);
7109
7260
  (0, $3hooq$solidjs.onCleanup)((0, $3hooq$depictaiutilishared.catchify)(() => window.removeEventListener("keydown", close_on_escape_handler)));
7110
- const owner = (0, $3hooq$solidjs.getOwner)();
7111
- (0, $3hooq$solidjs.onCleanup)((0, $3hooq$depictaiutilishared.javascript_media_query)("(max-height:700px)", _ref3 => {
7112
- let {
7113
- matches: matches
7114
- } = _ref3;
7115
- return (0, $3hooq$solidjs.runWithOwner)(owner, () => {
7116
- // the if below is reactive so we need an owner
7117
- (matches ? set_elements_outside_scrollable : set_elements_inside_scrollable)("");
7118
- (matches ? set_elements_inside_scrollable : set_elements_outside_scrollable)((0, $3hooq$solidjsweb.ssr)($24419668d5fcfcd5$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)(), get_search_field_value_() ? (0, $3hooq$solidjsweb.escape)(i18n_.modal_view_all_results_()((0, $3hooq$solidjsweb.ssr)($24419668d5fcfcd5$var$_tmpl$2, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)(get_num_results_accessor === null || get_num_results_accessor === void 0 ? void 0 : get_num_results_accessor())))) : (0, $3hooq$solidjsweb.escape)(i18n_.modal_discover_more_())));
7119
- });
7120
- }).remove);
7121
7261
  if (closing_animation_) register_closing_animation_(closing_animation_);
7122
7262
  (0, $4e44eb7e21ff022a$export$3340fdd8259bd4fd)({
7123
7263
  get_search_field_value_: get_search_field_value_,
@@ -7179,7 +7319,9 @@ function $24419668d5fcfcd5$export$1c593cbd6f1e10bc(_ref) {
7179
7319
  i18n_: i18n_,
7180
7320
  include_category_suggestions_: enable_category_suggestions_ !== null && enable_category_suggestions_ !== void 0 ? enable_category_suggestions_ : true,
7181
7321
  router_: router_,
7182
- submit_query_: submit_query_
7322
+ submit_query_: submit_query_,
7323
+ get_modal_search_results_: get_modal_search_results,
7324
+ content_search_enabled_: content_search_enabled_
7183
7325
  });
7184
7326
  }
7185
7327
  })), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $1b3cf201cdd38687$export$b69d0d92862de18b), {
@@ -7192,12 +7334,28 @@ function $24419668d5fcfcd5$export$1c593cbd6f1e10bc(_ref) {
7192
7334
  tenant_: tenant_,
7193
7335
  i18n_: i18n_,
7194
7336
  market_: market_,
7195
- set_num_results_accessor_: set_num_results_accessor_,
7337
+ set_total_num_results_accessor_: set_total_num_results_accessor_,
7196
7338
  router_: router_,
7339
+ set_modal_search_results_: set_modal_search_results_,
7340
+ content_search_enabled_: content_search_enabled_,
7197
7341
  ...instant_results_options_
7198
7342
  });
7199
7343
  }
7200
- })), (0, $3hooq$solidjsweb.escape)(elements_inside_scrollable()), (0, $3hooq$solidjsweb.escape)(elements_outside_scrollable()), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $cc66bbf6e783bb58$export$f021bdedd3ec901a), {
7344
+ })), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
7345
+ get when() {
7346
+ return less_than_700_high();
7347
+ },
7348
+ get children() {
7349
+ return (0, $3hooq$solidjsweb.createComponent)(DiscoverMoreSection, {});
7350
+ }
7351
+ })), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
7352
+ get when() {
7353
+ return !less_than_700_high();
7354
+ },
7355
+ get children() {
7356
+ return (0, $3hooq$solidjsweb.createComponent)(DiscoverMoreSection, {});
7357
+ }
7358
+ })), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $cc66bbf6e783bb58$export$f021bdedd3ec901a), {
7201
7359
  styles: body_style
7202
7360
  })));
7203
7361
  return [(0, $3hooq$solidjsweb.ssr)($24419668d5fcfcd5$var$_tmpl$4, (0, $3hooq$solidjsweb.ssrHydrationKey)() + (0, $3hooq$solidjsweb.ssrAttribute)("id", (0, $3hooq$solidjsweb.escape)((0, $c95c6dd9e93acd82$export$44dad306455dddf).SEARCH_MODAL, true), false), "depict plp search ".concat((0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.ssrClassList)(class_list_ === null || class_list_ === void 0 ? void 0 : class_list_()), true) || ""), (0, $3hooq$solidjsweb.escape)(modal_element))];
@@ -7275,14 +7433,21 @@ function $9870a8a48ee126af$export$9dd50d35b9d94fdf(_ref) {
7275
7433
  let {
7276
7434
  get_search_query_: get_search_query_,
7277
7435
  i18n_: i18n_,
7278
- formatted_number_of_results_: formatted_number_of_results_
7436
+ formatted_number_of_results_: formatted_number_of_results_,
7437
+ number_of_results_: number_of_results_,
7438
+ type: type
7279
7439
  } = _ref;
7280
7440
  const contents = (0, $3hooq$solidjs.createMemo)((0, $3hooq$depictaiutilishared.catchify)(() => {
7281
7441
  const q = get_search_query_();
7282
- return i18n_.get_showing_results_for_()((0, $3hooq$solidjsweb.ssr)($9870a8a48ee126af$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)(q)), (0, $3hooq$solidjsweb.ssr)($9870a8a48ee126af$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)(formatted_number_of_results_())));
7442
+ return i18n_[type === $9870a8a48ee126af$export$2452208c79fe93ea.content ? "get_showing_pages_for_" : "get_showing_results_for_"]()((0, $3hooq$solidjsweb.ssr)($9870a8a48ee126af$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)(q)), (0, $3hooq$solidjsweb.ssr)($9870a8a48ee126af$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)(formatted_number_of_results_())), !!q, number_of_results_());
7283
7443
  }));
7284
7444
  return (0, $3hooq$solidjsweb.ssr)($9870a8a48ee126af$var$_tmpl$2, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)(contents()));
7285
7445
  }
7446
+ let $9870a8a48ee126af$export$2452208c79fe93ea;
7447
+ (function (ShowingResultsForType) {
7448
+ ShowingResultsForType[ShowingResultsForType["products"] = 0] = "products";
7449
+ ShowingResultsForType[ShowingResultsForType["content"] = 1] = "content";
7450
+ })($9870a8a48ee126af$export$2452208c79fe93ea || ($9870a8a48ee126af$export$2452208c79fe93ea = {}));
7286
7451
  function $996102a9349df6d7$export$41b4894022a3580f() {
7287
7452
  let {
7288
7453
  style_props_ = (0, $3hooq$solidjs.createSignal)({})
@@ -7302,8 +7467,464 @@ function $996102a9349df6d7$export$41b4894022a3580f() {
7302
7467
  })));
7303
7468
  return style_props_;
7304
7469
  }
7470
+ const $99472afa7112c427$var$_tmpl$ = ["<span", ' class="highlighted-part">', "</span>"];
7471
+ const $99472afa7112c427$var$dont_cut_in_between_less_than_characters = 30;
7472
+ function $99472afa7112c427$export$e1a98a189fd2c0e7(_ref) {
7473
+ let {
7474
+ content_result_: content_result_,
7475
+ key_: key_,
7476
+ cut_when_possible_: cut_when_possible_
7477
+ } = _ref;
7478
+ const matched_tokens = (0, $3hooq$solidjs.createMemo)(() => {
7479
+ var _content_result_$high, _content_result_$high2;
7480
+ return (_content_result_$high = content_result_().highlights) === null || _content_result_$high === void 0 ? void 0 : (_content_result_$high2 = _content_result_$high.find(highlight => highlight.field == key_)) === null || _content_result_$high2 === void 0 ? void 0 : _content_result_$high2.matched_tokens;
7481
+ });
7482
+ const full_value = (0, $3hooq$solidjs.createMemo)(() => {
7483
+ var _content_result_$key_;
7484
+ return (_content_result_$key_ = content_result_()[key_]) === null || _content_result_$key_ === void 0 ? void 0 : _content_result_$key_.replaceAll("\n", " ");
7485
+ });
7486
+ return (0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
7487
+ get when() {
7488
+ var _matched_tokens;
7489
+ return (_matched_tokens = matched_tokens()) === null || _matched_tokens === void 0 ? void 0 : _matched_tokens.length;
7490
+ },
7491
+ get fallback() {
7492
+ return full_value();
7493
+ },
7494
+ get children() {
7495
+ return (() => {
7496
+ const segmented_cut_text = (0, $3hooq$solidjs.createMemo)(() => {
7497
+ const segmented_text = $99472afa7112c427$var$segment_text(full_value(), matched_tokens());
7498
+ if (cut_when_possible_) $99472afa7112c427$var$cut_text(segmented_text);
7499
+ return segmented_text;
7500
+ });
7501
+ return (0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Index), {
7502
+ get each() {
7503
+ return segmented_cut_text();
7504
+ },
7505
+ children: item => {
7506
+ return (0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
7507
+ get when() {
7508
+ return item().highlighted_;
7509
+ },
7510
+ get fallback() {
7511
+ return item().text_;
7512
+ },
7513
+ get children() {
7514
+ return (0, $3hooq$solidjsweb.ssr)($99472afa7112c427$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)(item().text_));
7515
+ }
7516
+ });
7517
+ }
7518
+ });
7519
+ })();
7520
+ }
7521
+ });
7522
+ }
7523
+ function $99472afa7112c427$var$cut_text(segmented_text) {
7524
+ // cut away chunks of text that are not highlighted to give a google-like overview of the content
7525
+ const highlighted_segments = segmented_text === null || segmented_text === void 0 ? void 0 : segmented_text.filter(segment => segment.highlighted_);
7526
+ if (!segmented_text || !(highlighted_segments !== null && highlighted_segments !== void 0 && highlighted_segments.length)) return;
7527
+ // We have one or more highlighted segments
7528
+ if (highlighted_segments.length === 1) {
7529
+ // cut away from the left until the start of the highlighted sentence if just one sentence is highlighted
7530
+ $99472afa7112c427$var$cut_start(segmented_text.indexOf(highlighted_segments[0]), segmented_text);
7531
+ return;
7532
+ }
7533
+ // We have two or more highlighted segments, take the two biggest chunks and show them + a bit text around
7534
+ const sorted_highlighted_segments = [...highlighted_segments].sort((a, b) => b.text_.trim().length - a.text_.trim().length // trim to avoid unfair comparisons due to whitespace
7535
+ );
7536
+
7537
+ const [longest_segment, next_longest_segment] = sorted_highlighted_segments;
7538
+ // We need to cut before the first segment - possibly through other segments - and maybe between segments
7539
+ let [index_of_first_segment, index_of_second_segment] = [segmented_text.indexOf(longest_segment), segmented_text.indexOf(next_longest_segment)].sort((a, b) => a - b);
7540
+ $99472afa7112c427$var$cut_start(index_of_first_segment, segmented_text);
7541
+ // update indexes since we might have removed segments
7542
+ [index_of_first_segment, index_of_second_segment] = [segmented_text.indexOf(longest_segment), segmented_text.indexOf(next_longest_segment)].sort((a, b) => a - b);
7543
+ let number_of_characters_between_segments = 0;
7544
+ for (let i = index_of_first_segment + 1; i < index_of_second_segment; i++) {
7545
+ const segment = segmented_text[i];
7546
+ number_of_characters_between_segments += segment.text_.length;
7547
+ }
7548
+ if (number_of_characters_between_segments < $99472afa7112c427$var$dont_cut_in_between_less_than_characters)
7549
+ // don't cut if there are less than 30 characters between the two segments
7550
+ return;
7551
+ // We have more than 50 characters between the two segments, cut between them
7552
+ const [split_start_segment, split_start_character] = $99472afa7112c427$var$find_split_point(index_of_first_segment, index_of_second_segment, segmented_text);
7553
+ const [split_end_segment, split_end_character] = $99472afa7112c427$var$find_split_point(index_of_second_segment, index_of_first_segment, segmented_text);
7554
+ if (split_start_segment === undefined || split_end_segment === undefined ||
7555
+ // identical split point, or split end before split start, can't do anything
7556
+ split_start_segment == split_end_segment && split_start_character >= split_end_character || split_start_segment > split_end_segment) return;
7557
+ const dots_segment = {
7558
+ text_: " … ",
7559
+ highlighted_: false
7560
+ };
7561
+ const split_and_dotted_values = segmented_text.flatMap((segment, i) => {
7562
+ if (i < split_start_segment || i > split_end_segment) return segment;
7563
+ const text = segment.text_;
7564
+ if (i == split_end_segment && i == split_start_segment) return [{
7565
+ ...segment,
7566
+ text_: text.slice(0, split_start_character).trimEnd()
7567
+ }, dots_segment, {
7568
+ ...segment,
7569
+ text_: text.slice(split_end_character + 1, text.length).trimStart()
7570
+ }];else if (i == split_start_segment) {
7571
+ segment.text_ = text.slice(0, split_start_character).trimEnd(); // this would be split_start_character + 1, but we want to remove the last "dot" because . ... looks weird
7572
+ return segment;
7573
+ } else if (i == split_end_segment) return [dots_segment, {
7574
+ ...segment,
7575
+ text_: text.slice(split_end_character + 1, text.length).trimStart()
7576
+ }];
7577
+ return []; // remove all segments inbetween
7578
+ });
7579
+
7580
+ segmented_text.splice(0, segmented_text.length, ...split_and_dotted_values); // Sorry…
7581
+ $99472afa7112c427$var$heal_holes(segmented_text);
7582
+ }
7583
+ function $99472afa7112c427$var$heal_holes(segmented_text) {
7584
+ // try to heal "holes" created in the segments so there are only alternating segments
7585
+ const segments_to_delete = new Set();
7586
+ for (let i = 0; i < segmented_text.length; i++) {
7587
+ var _previous_segment, _previous_segment2;
7588
+ const segment = segmented_text[i];
7589
+ let previous_segment;
7590
+ for (let j = i - 1; j >= 0; j--) {
7591
+ previous_segment = segmented_text[j];
7592
+ // Don't write to a segment that's marked for deletion or the contents we write to it will be deleted
7593
+ if (!segments_to_delete.has(previous_segment)) break;
7594
+ }
7595
+ if ((_previous_segment = previous_segment) !== null && _previous_segment !== void 0 && _previous_segment.highlighted_ && segment.highlighted_ || ((_previous_segment2 = previous_segment) === null || _previous_segment2 === void 0 ? void 0 : _previous_segment2.highlighted_) === false && segment.highlighted_ === false) {
7596
+ previous_segment.text_ += segment.text_; // IDK if this ever happens
7597
+ segments_to_delete.add(segment);
7598
+ }
7599
+ }
7600
+ for (const segment of segments_to_delete) {
7601
+ const index = segmented_text.indexOf(segment);
7602
+ segmented_text.splice(index, 1);
7603
+ }
7604
+ }
7605
+ function $99472afa7112c427$var$find_split_point(index_of_start_segment, index_of_end_segment, segmented_text) {
7606
+ let be_very_aggressive = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
7607
+ const should_loop_backwards = index_of_start_segment > index_of_end_segment;
7608
+ const step = should_loop_backwards ? -1 : 1;
7609
+ const desperate_split_attempts = [":", ";", ","];
7610
+ while (desperate_split_attempts.length) {
7611
+ const split_point_between_words = [];
7612
+ // for the middle also try to split with a few more characters if the default ones don't work over a full run
7613
+ const desperate_split_attempt = desperate_split_attempts.pop();
7614
+ let is_first_character = true;
7615
+ for (let i = index_of_start_segment + step; should_loop_backwards ? i > index_of_end_segment : i < index_of_end_segment; i += step) {
7616
+ const segment = segmented_text[i];
7617
+ const text = segment.text_;
7618
+ for (let j = should_loop_backwards ? text.length - 1 : 0; should_loop_backwards ? j >= 0 : j < text.length; j += step) {
7619
+ const character = text[j];
7620
+ if (character == "." || character == "?" || character == "!" || character == desperate_split_attempt) return [i, j]; // segment index, character index
7621
+ if (is_first_character) is_first_character = false;else if (be_very_aggressive && character == " ") {
7622
+ split_point_between_words.push([i, j]);
7623
+ if (split_point_between_words.length > 3)
7624
+ // We can't find a split point, so we'll just split between words
7625
+ // This is because for UI reasons we only want to show 2 lines of text, so we need to be very aggressive with getting the second match soon
7626
+ return split_point_between_words[1];
7627
+ }
7628
+ }
7629
+ }
7630
+ }
7631
+ return [];
7632
+ }
7633
+ function $99472afa7112c427$var$cut_start(cut_left_of_index, segmented_text) {
7634
+ // Cut the start of the text to bring the first matching token
7635
+ let is_first_character = false;
7636
+ let words_encountered = 0;
7637
+ outmost_loop: for (let i = cut_left_of_index - 1; i >= 0; i--) {
7638
+ const segment = segmented_text[i];
7639
+ // We assume that two adjacent highlighted segments don't exist and have been merged if they were to have existed
7640
+ const text = segment.text_;
7641
+ for (let j = text.length - 1; j >= 0; j--) {
7642
+ const character = text[j];
7643
+ const is_space = character == " ";
7644
+ if (!is_first_character && is_space) words_encountered++;
7645
+ if (character == "." || character == "?" || character == "!" || character == "," || words_encountered > 8 && is_space) {
7646
+ // We have to be really aggressive at the start of sentences so stuff can be seen on mobile, hence comma
7647
+ segment.text_ = text.slice(j + 1).trimStart();
7648
+ segmented_text.splice(0, i);
7649
+ if (character === "," || is_space)
7650
+ // if we cut at a comma or psace, we add a … at the beginning
7651
+ segmented_text.unshift({
7652
+ text_: "… ",
7653
+ highlighted_: false
7654
+ });
7655
+ break outmost_loop;
7656
+ }
7657
+ if (is_first_character) is_first_character = false;
7658
+ }
7659
+ }
7660
+ $99472afa7112c427$var$heal_holes(segmented_text); // if we added a ... there could now be a sequence that's not alternating true/false
7661
+ }
7662
+
7663
+ function $99472afa7112c427$var$segment_text(text, matched_strings) {
7664
+ // segment text where the matched strings are highlighted sections
7665
+ const output = [];
7666
+ if (!text) return; // shouldn't happen but whatever
7667
+ for (let i = 0; i < text.length; i++) {
7668
+ const found_strings = [];
7669
+ if (!i || text[i - 1] == " ")
7670
+ // only match at the start of a word or string, it looks weird if i.e. "we" is highlighted in "activewear
7671
+ for (let j = 0; j < matched_strings.length; j++) {
7672
+ const matched_string = matched_strings[j];
7673
+ const part_in_text = text.slice(i, i + matched_string.length);
7674
+ if (matched_string.length < 2) continue; // don't match on single characters, i.e. "I", it looks weird
7675
+ if (part_in_text.toLowerCase() === matched_string.toLowerCase()) found_strings.push(part_in_text); // use the casing from the text, not from typesense, can look weird otherwise
7676
+ }
7677
+
7678
+ const last_index_in_output = output.length - 1;
7679
+ if (!found_strings.length) {
7680
+ var _output$last_index_in;
7681
+ const character = text[i];
7682
+ if (((_output$last_index_in = output[last_index_in_output]) === null || _output$last_index_in === void 0 ? void 0 : _output$last_index_in.highlighted_) === false || output.length && /\s/.test(character))
7683
+ // always push whitespace characters to the last segment, this is because typesense doesn't see them as part of the matched tokens but we want to be able to detect "phat" matched segments
7684
+ output[last_index_in_output].text_ += character;else output.push({
7685
+ highlighted_: false,
7686
+ text_: character
7687
+ });
7688
+ } else {
7689
+ var _output$last_index_in2;
7690
+ const longest_found_string = found_strings.reduce((a, b) => a.length > b.length ? a : b);
7691
+ if ((_output$last_index_in2 = output[last_index_in_output]) !== null && _output$last_index_in2 !== void 0 && _output$last_index_in2.highlighted_) output[last_index_in_output].text_ += longest_found_string;else output.push({
7692
+ highlighted_: true,
7693
+ text_: longest_found_string
7694
+ });
7695
+ i += longest_found_string.length - 1;
7696
+ }
7697
+ }
7698
+ return output;
7699
+ }
7700
+ const $f1fc9ea3e7632eba$var$_tmpl$ = ["<div", ' class="description line-clamp">', "</div>"],
7701
+ $f1fc9ea3e7632eba$var$_tmpl$2 = ["<div", ' class="content-card"><div class="image">', '</div><div class="info"><!--#-->', "<!--/--><!--#-->", "<!--/--></div></div>"];
7702
+ function $f1fc9ea3e7632eba$export$f631859cab12b342(_ref) {
7703
+ let {
7704
+ router_: router_,
7705
+ content_result_: content_result_
7706
+ } = _ref;
7707
+ const make_link_attributes = () => {
7708
+ const result = content_result_ === null || content_result_ === void 0 ? void 0 : content_result_();
7709
+ if (!result) return;
7710
+ return {
7711
+ href: result.page_url,
7712
+ onClick: (0, $3hooq$depictaiutilishared.catchify)(ev => router_.navigate_.go_to_({
7713
+ new_url_: result.page_url,
7714
+ is_replace_: false,
7715
+ event_: ev
7716
+ }))
7717
+ };
7718
+ };
7719
+ const LinkIfPossible = _ref2 => {
7720
+ let {
7721
+ children: children,
7722
+ ...attributes
7723
+ } = _ref2;
7724
+ if (content_result_) return (0, $3hooq$solidjsweb.ssrElement)("a", attributes, () => (0, $3hooq$solidjsweb.escape)(children), true);
7725
+ return (0, $3hooq$solidjsweb.ssrElement)("div", attributes, () => (0, $3hooq$solidjsweb.escape)(children), true);
7726
+ };
7727
+ return (0, $3hooq$solidjsweb.ssr)($f1fc9ea3e7632eba$var$_tmpl$2, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)(LinkIfPossible, (0, $3hooq$solidjsweb.mergeProps)(make_link_attributes, {
7728
+ tabIndex: "-1",
7729
+ get children() {
7730
+ return (0, $3hooq$solidjsweb.createComponent)((0, $3cf7b4db1e203c93$export$605674723bcc715c), {
7731
+ width: "28",
7732
+ height: "28"
7733
+ });
7734
+ }
7735
+ }))), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)(LinkIfPossible, (0, $3hooq$solidjsweb.mergeProps)({
7736
+ "class": "content-title line-clamp"
7737
+ }, make_link_attributes, {
7738
+ get title() {
7739
+ return content_result_ === null || content_result_ === void 0 ? void 0 : content_result_().title;
7740
+ },
7741
+ get children() {
7742
+ return content_result_ ? (0, $3hooq$solidjsweb.createComponent)((0, $99472afa7112c427$export$e1a98a189fd2c0e7), {
7743
+ content_result_: content_result_,
7744
+ key_: "title",
7745
+ cut_when_possible_: false
7746
+ }) : (0, $3hooq$solidjsweb.createComponent)((0, $a7f7d416e6f61504$export$89c6019e4baa40b1), {
7747
+ height: "1em",
7748
+ width: "20ch"
7749
+ });
7750
+ }
7751
+ }))), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
7752
+ get when() {
7753
+ return (content_result_ === null || content_result_ === void 0 ? void 0 : content_result_().description) || !content_result_;
7754
+ },
7755
+ get children() {
7756
+ return (0, $3hooq$solidjsweb.ssr)($f1fc9ea3e7632eba$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
7757
+ when: content_result_,
7758
+ get fallback() {
7759
+ return Array.from({
7760
+ length: 4
7761
+ }).map(() => (0, $3hooq$solidjsweb.createComponent)((0, $a7f7d416e6f61504$export$89c6019e4baa40b1), {
7762
+ height: "1em",
7763
+ width: "min(50ch, 100%)"
7764
+ }));
7765
+ },
7766
+ get children() {
7767
+ return (0, $3hooq$solidjsweb.createComponent)((0, $99472afa7112c427$export$e1a98a189fd2c0e7), {
7768
+ content_result_: content_result_,
7769
+ key_: "description",
7770
+ cut_when_possible_: true
7771
+ });
7772
+ }
7773
+ })));
7774
+ }
7775
+ })));
7776
+ }
7777
+ function $bf4a8d57aa8dd1c8$export$9ff751cd77687edc(_ref) {
7778
+ let {
7779
+ search_results_: search_results_,
7780
+ router_: router_
7781
+ } = _ref;
7782
+ const content_results = (0, $3hooq$solidjs.createMemo)(() => {
7783
+ var _search_results_;
7784
+ return (_search_results_ = search_results_()) === null || _search_results_ === void 0 ? void 0 : _search_results_.content_search_links;
7785
+ });
7786
+ const content_results_by_page_url = (0, $3hooq$solidjs.createMemo)(() => {
7787
+ const map = new Map();
7788
+ const results = content_results();
7789
+ if (!results) return map;
7790
+ for (let i = 0; i < results.length; i++) {
7791
+ const content_result = results[i];
7792
+ map.set(content_result.page_url, content_result);
7793
+ }
7794
+ return map;
7795
+ });
7796
+ return (0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.For), {
7797
+ get each() {
7798
+ return [...content_results_by_page_url().keys()];
7799
+ },
7800
+ children: page_url => {
7801
+ const content_result = (0, $3hooq$solidjs.createMemo)(() => content_results_by_page_url().get(page_url));
7802
+ return (0, $3hooq$solidjsweb.createComponent)((0, $f1fc9ea3e7632eba$export$f631859cab12b342), {
7803
+ content_result_: content_result,
7804
+ router_: router_
7805
+ });
7806
+ }
7807
+ });
7808
+ }
7809
+ function $05f255c0a94b9ca1$export$4405d077f0a20494(_ref) {
7810
+ let {
7811
+ content_results_rows_: [get_history_state_content_results_rows],
7812
+ cols_at_size_: cols_at_size_
7813
+ } = _ref;
7814
+ const largest_column = (0, $3hooq$solidjs.createMemo)(() => {
7815
+ const largest_in_cols_at_size = Math.max(...cols_at_size_().map(_ref2 => {
7816
+ let [cols] = _ref2;
7817
+ return cols;
7818
+ }));
7819
+ if (isNaN(largest_in_cols_at_size) || Math.abs(largest_in_cols_at_size) === Infinity) return 4; // fallback to something big so we always have the right amount of placeholders
7820
+ return largest_in_cols_at_size;
7821
+ });
7822
+ const num_placeholders = (0, $3hooq$solidjs.createMemo)(() => {
7823
+ var _get_history_state_co;
7824
+ return ((_get_history_state_co = get_history_state_content_results_rows()) !== null && _get_history_state_co !== void 0 ? _get_history_state_co : (0, $eab939d0b95b75ee$export$70ceae36059a1036)) * largest_column();
7825
+ });
7826
+ return (0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Index), {
7827
+ get each() {
7828
+ return Array.from({
7829
+ length: num_placeholders()
7830
+ });
7831
+ },
7832
+ children: () => (0, $3hooq$solidjsweb.createComponent)((0, $f1fc9ea3e7632eba$export$f631859cab12b342), {})
7833
+ });
7834
+ }
7835
+ const $eab939d0b95b75ee$var$_tmpl$ = ["<div", ' class="', '" style="', '"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
7836
+ $eab939d0b95b75ee$var$_tmpl$2 = ["<button", ' class="view-more">', "</button>"],
7837
+ $eab939d0b95b75ee$var$_tmpl$3 = ["<button", ' class="view-less">', "</button>"];
7838
+ const $eab939d0b95b75ee$export$70ceae36059a1036 = 1;
7839
+ function $eab939d0b95b75ee$export$6d0c9c22f6652669(_ref) {
7840
+ var _content_results2;
7841
+ let {
7842
+ search_results_: search_results_,
7843
+ get_search_query_: get_search_query_,
7844
+ i18n_: i18n_,
7845
+ layout_options_: layout_options_,
7846
+ router_: router_,
7847
+ query_base_: query_base_,
7848
+ content_results_rows_: content_results_rows_
7849
+ } = _ref;
7850
+ const content_results = (0, $3hooq$solidjs.createMemo)(() => {
7851
+ var _search_results_;
7852
+ return (_search_results_ = search_results_()) === null || _search_results_ === void 0 ? void 0 : _search_results_.content_search_links;
7853
+ });
7854
+ const num_results = (0, $3hooq$solidjs.createMemo)(() => {
7855
+ var _content_results;
7856
+ return (_content_results = content_results()) === null || _content_results === void 0 ? void 0 : _content_results.length;
7857
+ });
7858
+ const is_loading_ = (0, $3hooq$solidjs.createMemo)(() => search_results_.loading || query_base_.loading); // See comment in PLPResults/index.tsx on why we need this
7859
+ const formatted_number_of_results_ = (0, $068bde7fa83ac02c$export$92f2da32c6e7e7ee)({
7860
+ number_: num_results,
7861
+ i18n_: i18n_
7862
+ });
7863
+ const [is_showing_placeholders, set_is_showing_placeholders] = (0, $3hooq$solidjs.createSignal)(false);
7864
+ const rows_object = $eab939d0b95b75ee$var$make_state_saved_rows(content_results_rows_, i18n_);
7865
+ return (0, $3hooq$solidjsweb.ssr)($eab939d0b95b75ee$var$_tmpl$, (0, $3hooq$solidjsweb.ssrHydrationKey)(), "content-results ".concat(is_showing_placeholders() ? "loading" : ""), "display:" + (is_loading_() || ((_content_results2 = content_results()) === null || _content_results2 === void 0 ? void 0 : _content_results2.length) > 0 ? "" : "none"), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $9870a8a48ee126af$export$9dd50d35b9d94fdf), {
7866
+ get_search_query_: get_search_query_,
7867
+ i18n_: i18n_,
7868
+ formatted_number_of_results_: formatted_number_of_results_,
7869
+ get type() {
7870
+ return (0, $9870a8a48ee126af$export$2452208c79fe93ea).content;
7871
+ },
7872
+ number_of_results_: num_results
7873
+ })), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $6c2c739b113a8ddf$export$d21e32dfedac04be), (0, $3hooq$solidjsweb.mergeProps)({
7874
+ layout: "grid",
7875
+ element_attributes: {
7876
+ class: "cards"
7877
+ }
7878
+ }, layout_options_, {
7879
+ rows: rows_object,
7880
+ get children() {
7881
+ return (0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Suspense), {
7882
+ get fallback() {
7883
+ return (() => {
7884
+ set_is_showing_placeholders(true);
7885
+ (0, $3hooq$solidjs.onCleanup)(() => set_is_showing_placeholders(false));
7886
+ return (0, $3hooq$solidjsweb.createComponent)((0, $05f255c0a94b9ca1$export$4405d077f0a20494), {
7887
+ content_results_rows_: content_results_rows_,
7888
+ get cols_at_size_() {
7889
+ return (0, $3hooq$solidjs.createMemo)(() => layout_options_().cols_at_size);
7890
+ }
7891
+ });
7892
+ })();
7893
+ },
7894
+ get children() {
7895
+ return (0, $3hooq$solidjsweb.createComponent)((0, $bf4a8d57aa8dd1c8$export$9ff751cd77687edc), {
7896
+ router_: router_,
7897
+ search_results_: search_results_
7898
+ });
7899
+ }
7900
+ });
7901
+ }
7902
+ }))));
7903
+ }
7904
+ function $eab939d0b95b75ee$var$make_state_saved_rows(_ref2, i18n_) {
7905
+ let [get_showing_content_results_rows, set_showing_content_results_rows] = _ref2;
7906
+ const currently_visible = (0, $3hooq$solidjs.createSignal)((0, $3hooq$solidjs.untrack)(get_showing_content_results_rows));
7907
+ const [get_currently_visible, set_currently_visible] = currently_visible;
7908
+ const rows = {
7909
+ currently_visible: currently_visible,
7910
+ start_rows: $eab939d0b95b75ee$export$70ceae36059a1036,
7911
+ button: (0, $3hooq$solidjsweb.ssr)($eab939d0b95b75ee$var$_tmpl$2, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)(i18n_.view_more_())),
7912
+ view_less_button: (0, $3hooq$solidjsweb.ssr)($eab939d0b95b75ee$var$_tmpl$3, (0, $3hooq$solidjsweb.ssrHydrationKey)(), (0, $3hooq$solidjsweb.escape)(i18n_.view_less_())),
7913
+ rows_per_click: 3
7914
+ };
7915
+ (0, $3hooq$solidjs.createComputed)((0, $3hooq$solidjs.on)(get_currently_visible, new_visible => set_showing_content_results_rows(new_visible), {
7916
+ defer: true
7917
+ }));
7918
+ (0, $3hooq$solidjs.createComputed)((0, $3hooq$solidjs.on)(get_showing_content_results_rows, function () {
7919
+ let new_rows = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : $eab939d0b95b75ee$export$70ceae36059a1036;
7920
+ return set_currently_visible(new_rows);
7921
+ }, {
7922
+ defer: true
7923
+ }));
7924
+ return rows;
7925
+ }
7305
7926
  const $739c927cbecd26b0$var$_tmpl$ = ["<div", ' class="filter-results-for-one-row"><!--#-->', "<!--/--><!--#-->", "<!--/--></div>"],
7306
- $739c927cbecd26b0$var$_tmpl$2 = ["<div", ' class="depict plp search"><div class="listing-page"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></div><!--#-->", "<!--/--><!--#-->", "<!--/--></div>"];
7927
+ $739c927cbecd26b0$var$_tmpl$2 = ["<div", ' class="depict plp search"><div class="listing-page"><!--#-->', "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--><!--#-->", "<!--/--></div><!--#-->", "<!--/--><!--#-->", "<!--/--></div>"];
7307
7928
  function $739c927cbecd26b0$export$a54ec244c8863715(_ref) {
7308
7929
  let {
7309
7930
  depict_api_: depict_api_,
@@ -7333,7 +7954,11 @@ function $739c927cbecd26b0$export$a54ec244c8863715(_ref) {
7333
7954
  recommendations_layout_options_: recommendations_layout_options_,
7334
7955
  scroll_restoration_data_: scroll_restoration_data_,
7335
7956
  product_card_template_: product_card_template_,
7336
- modal_body_style_ref_: modal_body_style_ref_
7957
+ modal_body_style_ref_: modal_body_style_ref_,
7958
+ router_: router_,
7959
+ content_results_rows_: content_results_rows_,
7960
+ content_layout_options_: content_layout_options_,
7961
+ content_search_enabled_: content_search_enabled_
7337
7962
  } = _ref;
7338
7963
  const [get_sorting] = current_sorting_;
7339
7964
  const all_products_loaded_ = (0, $3hooq$solidjs.createSignal)(false);
@@ -7400,16 +8025,29 @@ function $739c927cbecd26b0$export$a54ec244c8863715(_ref) {
7400
8025
  const SafeSearchField = (0, $3hooq$depictaiutilishared.catchify)((0, $29e5dbeb69da7a36$export$b94867ecbd698f21));
7401
8026
  const [sort_or_filter_open_, set_sort_or_filter_open_] = (0, $3hooq$solidjs.createSignal)(false);
7402
8027
  const [desktop_filter_elements_, set_desktop_filter_elements] = (0, $3hooq$solidjs.createSignal)();
8028
+ const n_hits = (0, $3hooq$solidjs.createMemo)(() => {
8029
+ var _search_results_3;
8030
+ return (_search_results_3 = search_results_()) === null || _search_results_3 === void 0 ? void 0 : _search_results_3.n_hits;
8031
+ });
7403
8032
  const formatted_number_of_results_ = (0, $068bde7fa83ac02c$export$92f2da32c6e7e7ee)({
7404
- search_results_: search_results_,
8033
+ number_: n_hits,
7405
8034
  i18n_: i18n_
7406
8035
  });
7407
8036
  const [sort_and_filter_element_, set_sort_and_filter_element_] = (0, $3hooq$solidjs.createSignal)();
7408
- const results_for = (0, $3hooq$solidjsweb.createComponent)((0, $9870a8a48ee126af$export$9dd50d35b9d94fdf), {
8037
+ const no_results_text_ = (0, $3hooq$solidjs.createMemo)(() => {
8038
+ var _search_results_4, _search_results_4$con;
8039
+ return ((_search_results_4 = search_results_()) !== null && _search_results_4 !== void 0 && (_search_results_4$con = _search_results_4.content_search_links) !== null && _search_results_4$con !== void 0 && _search_results_4$con.length ? i18n_.no_products_ : i18n_.no_results_text_)();
8040
+ });
8041
+ const results_for = (0, $3hooq$solidjsweb.createComponent)((0, $9870a8a48ee126af$export$9dd50d35b9d94fdf), (0, $3hooq$solidjsweb.mergeProps)({
8042
+ get type() {
8043
+ return (0, $9870a8a48ee126af$export$2452208c79fe93ea).products;
8044
+ },
8045
+ number_of_results_: n_hits
8046
+ }, {
7409
8047
  get_search_query_: get_search_query_,
7410
8048
  i18n_: i18n_,
7411
8049
  formatted_number_of_results_: formatted_number_of_results_
7412
- });
8050
+ }));
7413
8051
  const filters_opener = (0, $f70cc6dfcadf0fd5$export$d7841e452f2e59a8)({
7414
8052
  set_sort_or_filter_open_: set_sort_or_filter_open_,
7415
8053
  set_extra_els_in_results_container_: set_desktop_filter_elements,
@@ -7518,7 +8156,28 @@ function $739c927cbecd26b0$export$a54ec244c8863715(_ref) {
7518
8156
  children: make_category_suggestion_card_
7519
8157
  });
7520
8158
  }
7521
- })) : (0, $3hooq$solidjsweb.escape)(null), (0, $3hooq$solidjsweb.escape)(results_filters[0]()), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
8159
+ })) : (0, $3hooq$solidjsweb.escape)(null), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $1b3cf201cdd38687$export$b69d0d92862de18b), {
8160
+ severity_: "error",
8161
+ message_: "ContentResults failed",
8162
+ get children() {
8163
+ return (0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
8164
+ get when() {
8165
+ return content_search_enabled_();
8166
+ },
8167
+ get children() {
8168
+ return (0, $3hooq$solidjsweb.createComponent)((0, $eab939d0b95b75ee$export$6d0c9c22f6652669), {
8169
+ content_results_rows_: content_results_rows_,
8170
+ search_results_: search_results_,
8171
+ i18n_: i18n_,
8172
+ get_search_query_: get_search_query_,
8173
+ layout_options_: content_layout_options_,
8174
+ router_: router_,
8175
+ query_base_: search_query_base_
8176
+ });
8177
+ }
8178
+ });
8179
+ }
8180
+ })), (0, $3hooq$solidjsweb.escape)(results_filters[0]()), (0, $3hooq$solidjsweb.escape)((0, $3hooq$solidjsweb.createComponent)((0, $3hooq$solidjs.Show), {
7522
8181
  get when() {
7523
8182
  var _selected_filters_$;
7524
8183
  return (_selected_filters_$ = selected_filters_[0]()) === null || _selected_filters_$ === void 0 ? void 0 : _selected_filters_$.length;
@@ -7563,7 +8222,10 @@ function $739c927cbecd26b0$export$a54ec244c8863715(_ref) {
7563
8222
  selected_filters_: selected_filters_,
7564
8223
  expanded_hierarchical_filters_: expanded_hierarchical_filters_,
7565
8224
  local_filter_cache_: local_filter_cache_,
7566
- i18n_: i18n_
8225
+ i18n_: {
8226
+ ...i18n_,
8227
+ no_results_text_: no_results_text_
8228
+ }
7567
8229
  }
7568
8230
  });
7569
8231
  }
@@ -7604,8 +8266,8 @@ function $739c927cbecd26b0$export$a54ec244c8863715(_ref) {
7604
8266
  formatted_number_of_results_: formatted_number_of_results_,
7605
8267
  i18n_: i18n_,
7606
8268
  number_of_results_: (0, $3hooq$solidjs.createMemo)(() => {
7607
- var _search_results_3;
7608
- return (_search_results_3 = search_results_()) === null || _search_results_3 === void 0 ? void 0 : _search_results_3.n_hits;
8269
+ var _search_results_5;
8270
+ return (_search_results_5 = search_results_()) === null || _search_results_5 === void 0 ? void 0 : _search_results_5.n_hits;
7609
8271
  })
7610
8272
  });
7611
8273
  }
@@ -7643,6 +8305,38 @@ function $98bd00c15a2e3159$export$828dcdd425fd3231(aligner) {
7643
8305
  cleanup: cleanup
7644
8306
  };
7645
8307
  }
8308
+
8309
+ /**
8310
+ * Content results ContentCard look stupid on mobile if there are two columns of them, so we limit the number of columns to 1 if the screen is too small
8311
+ */
8312
+ function $b1ea8d47bcf03111$export$ff7109b9b2b206ba(sdk_cols_at_size) {
8313
+ let min_width_for_more_than_one_column = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
8314
+ if (!sdk_cols_at_size.length) return sdk_cols_at_size;
8315
+ const sorted_sizes = sdk_cols_at_size.map(_ref => {
8316
+ let [cols, max_width] = _ref;
8317
+ return [cols, max_width !== null && max_width !== void 0 ? max_width : Infinity];
8318
+ }).sort((_ref2, _ref3) => {
8319
+ let [, a] = _ref2;
8320
+ let [, b] = _ref3;
8321
+ return a - b;
8322
+ });
8323
+ const [[, smallest_max_width]] = sorted_sizes;
8324
+ if (smallest_max_width > min_width_for_more_than_one_column)
8325
+ // If everything above min_width_for_more_than_one_column, we can just add a 1 column at the beginning
8326
+ return [[1, min_width_for_more_than_one_column], ...sdk_cols_at_size];
8327
+ const to_delete = [];
8328
+ for (let i = 0; i < sorted_sizes.length; i++) {
8329
+ const [, max_width] = sorted_sizes[i];
8330
+ if (max_width > min_width_for_more_than_one_column) continue;
8331
+ to_delete.push(i);
8332
+ }
8333
+ while (to_delete.length) sorted_sizes.splice(to_delete.pop(), 1);
8334
+ sorted_sizes.unshift([1, min_width_for_more_than_one_column]);
8335
+ return sorted_sizes.map(_ref4 => {
8336
+ let [cols, max_width] = _ref4;
8337
+ return max_width == Infinity ? [cols] : [cols, max_width];
8338
+ });
8339
+ }
7646
8340
  const $ddd39c5f36f49703$var$_tmpl$ = ["<div", ' class="depict plp search">', "</div>"];
7647
8341
  function $ddd39c5f36f49703$var$_classPrivateFieldInitSpec(obj, privateMap, value) {
7648
8342
  $ddd39c5f36f49703$var$_checkPrivateRedeclaration(obj, privateMap);
@@ -7674,6 +8368,7 @@ function $ddd39c5f36f49703$var$_classApplyDescriptorGet(receiver, descriptor) {
7674
8368
  * Type for the private properties that are shared between the different exported search SDK wrapper functions. SDK users are not allowed to change/access these, they're an internal implementation detail.
7675
8369
  */
7676
8370
  const $ddd39c5f36f49703$var$privately_shared_properties = /*@__PURE__*/new WeakMap();
8371
+ const $ddd39c5f36f49703$var$content_search_default = false;
7677
8372
  const $ddd39c5f36f49703$var$min_products_to_fetch_ = 20;
7678
8373
  const $ddd39c5f36f49703$export$bde3eb976dfded9 = depict_search => {
7679
8374
  var _privately_shared_pro;
@@ -7683,6 +8378,7 @@ var $ddd39c5f36f49703$var$_locale_signal = /*#__PURE__*/new WeakMap();
7683
8378
  var $ddd39c5f36f49703$var$_merchant_signal = /*#__PURE__*/new WeakMap();
7684
8379
  var $ddd39c5f36f49703$var$_market_signal = /*#__PURE__*/new WeakMap();
7685
8380
  var $ddd39c5f36f49703$var$_modal_open_signal = /*#__PURE__*/new WeakMap();
8381
+ var $ddd39c5f36f49703$var$_content_search_signal = /*#__PURE__*/new WeakMap();
7686
8382
  var $ddd39c5f36f49703$var$_router = /*#__PURE__*/new WeakMap();
7687
8383
  class $ddd39c5f36f49703$export$ac6237957a15b3f0 {
7688
8384
  constructor(_ref) {
@@ -7694,9 +8390,10 @@ class $ddd39c5f36f49703$export$ac6237957a15b3f0 {
7694
8390
  on_navigation: on_navigation,
7695
8391
  enable_category_suggestions = true,
7696
8392
  page_url_creator: page_url_creator,
8393
+ display_transformers: display_transformers,
8394
+ api: api,
7697
8395
  // Stuff needed for non-standard customer deployments that we shouldn't actually expose
7698
8396
  disable_scrolling_during_modal = true,
7699
- api: api,
7700
8397
  bottom_distance_under_modal: bottom_distance_under_modal,
7701
8398
  render_instant_card: render_instant_card,
7702
8399
  ...props_on_class
@@ -7717,6 +8414,10 @@ class $ddd39c5f36f49703$export$ac6237957a15b3f0 {
7717
8414
  writable: true,
7718
8415
  value: (0, $3hooq$solidjs.createSignal)(false)
7719
8416
  });
8417
+ $ddd39c5f36f49703$var$_classPrivateFieldInitSpec(this, $ddd39c5f36f49703$var$_content_search_signal, {
8418
+ writable: true,
8419
+ value: (0, $3hooq$solidjs.createSignal)()
8420
+ });
7720
8421
  $ddd39c5f36f49703$var$_classPrivateFieldInitSpec(this, $ddd39c5f36f49703$var$_router, {
7721
8422
  writable: true,
7722
8423
  value: new (0, $73014ff36186a4dd$export$7e1297a3a19f10d8)("hard_navigation")
@@ -7752,6 +8453,7 @@ class $ddd39c5f36f49703$export$ac6237957a15b3f0 {
7752
8453
  local_filter_cache: [],
7753
8454
  expanded_hierarchical_filters: [],
7754
8455
  showing_recommendation_rows: (0, $c77adcdf5346b187$export$1c8c715550dc689d),
8456
+ content_results_rows: (0, $eab939d0b95b75ee$export$70ceae36059a1036),
7755
8457
  scroll_restoration_data: []
7756
8458
  };
7757
8459
  },
@@ -7763,12 +8465,18 @@ class $ddd39c5f36f49703$export$ac6237957a15b3f0 {
7763
8465
  const get_search_query_ = (0, $3hooq$solidjs.createMemo)(previous_value => {
7764
8466
  if (get_search_query_updating_blocked()) return previous_value;else return raw_search_query_accessor();
7765
8467
  });
8468
+ // @ts-ignore
7766
8469
  const depict_api_ = api !== null && api !== void 0 ? api : new (0, $e270e9f953fcbc58$export$e015ed2f2950f2e3)({
7767
- page_url_creator: page_url_creator
8470
+ page_url_creator: page_url_creator,
8471
+ display_transformers: display_transformers
7768
8472
  });
7769
8473
  const previous_searches = (0, $cfeb65948dbdcaab$export$84bba84a7b837187)(get_search_query_);
7770
8474
  const [, set_search_showing_recommendation_rows] = state_.showing_recommendation_rows;
7771
- const after_submit_ = () => set_search_showing_recommendation_rows((0, $c77adcdf5346b187$export$1c8c715550dc689d)); // do this every time after we have submitted a new query - otherwise there might already be a saved number of rows in the state
8475
+ const [, set_search_content_results_rows] = state_.content_results_rows;
8476
+ const after_submit_ = () => {
8477
+ set_search_showing_recommendation_rows((0, $c77adcdf5346b187$export$1c8c715550dc689d));
8478
+ set_search_content_results_rows((0, $eab939d0b95b75ee$export$70ceae36059a1036));
8479
+ }; // do this every time after we have submitted a new query - otherwise there might already be a saved number of rows in the state
7772
8480
  const on_submit_with_unchanged_value_ = () => this.modal_open = false;
7773
8481
  const [get_search_field_value_, set_search_field_value_] = state_.field_value;
7774
8482
  const configured_submit_query_ = new_query => (0, $7f680455a2aa1079$export$e16630ecb9644a1c)({
@@ -7826,6 +8534,10 @@ class $ddd39c5f36f49703$export$ac6237957a15b3f0 {
7826
8534
  submit_query_: configured_submit_query_,
7827
8535
  url_transformer_: url_transformer,
7828
8536
  router_: (0, $parcel$interopDefault($3hooq$babelruntimehelpersclassPrivateFieldGet))(this, $ddd39c5f36f49703$var$_router),
8537
+ content_search_enabled_: () => {
8538
+ var _classPrivateFieldGet2;
8539
+ return (_classPrivateFieldGet2 = (0, $parcel$interopDefault($3hooq$babelruntimehelpersclassPrivateFieldGet))(this, $ddd39c5f36f49703$var$_content_search_signal)[0]()) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : $ddd39c5f36f49703$var$content_search_default;
8540
+ },
7829
8541
  instant_results_options_: {
7830
8542
  min_products_to_fetch_: $ddd39c5f36f49703$var$min_products_to_fetch_,
7831
8543
  render_instant_card_: render_instant_card,
@@ -7894,6 +8606,12 @@ class $ddd39c5f36f49703$export$ac6237957a15b3f0 {
7894
8606
  (0, $3hooq$solidjs.onCleanup)(() => $ddd39c5f36f49703$var$_classStaticPrivateFieldSpecGet($ddd39c5f36f49703$export$ac6237957a15b3f0, $ddd39c5f36f49703$export$ac6237957a15b3f0, $ddd39c5f36f49703$var$_keys_constructed_with).delete(unique_instance_key_for_state));
7895
8607
  });
7896
8608
  }
8609
+ get enable_content_search() {
8610
+ return (0, $parcel$interopDefault($3hooq$babelruntimehelpersclassPrivateFieldGet))(this, $ddd39c5f36f49703$var$_content_search_signal)[0]();
8611
+ }
8612
+ set enable_content_search(new_state) {
8613
+ (0, $parcel$interopDefault($3hooq$babelruntimehelpersclassPrivateFieldGet))(this, $ddd39c5f36f49703$var$_content_search_signal)[1](new_state);
8614
+ }
7897
8615
  get on_navigation() {
7898
8616
  // The only non-reactive public property on the class (I don't see it making sense to have it reactive)
7899
8617
  return (0, $parcel$interopDefault($3hooq$babelruntimehelpersclassPrivateFieldGet))(this, $ddd39c5f36f49703$var$_router).on_navigation_;
@@ -7980,6 +8698,10 @@ function $ddd39c5f36f49703$export$f2dc7e4e4aa11abb(props) {
7980
8698
  depict_api_: shared_properties.depict_api_,
7981
8699
  min_products_to_fetch_: $ddd39c5f36f49703$var$min_products_to_fetch_,
7982
8700
  local_filter_cache_: state_.local_filter_cache,
8701
+ content_search_enabled_: () => {
8702
+ var _depict_search$enable;
8703
+ return (_depict_search$enable = depict_search.enable_content_search) !== null && _depict_search$enable !== void 0 ? _depict_search$enable : $ddd39c5f36f49703$var$content_search_default;
8704
+ },
7983
8705
  search_field_value_: state_.field_value,
7984
8706
  get_search_query_: shared_properties.get_search_query_,
7985
8707
  clear_filters_on_next_submit_: shared_properties.clear_filters_on_next_submit_,
@@ -8009,6 +8731,8 @@ function $ddd39c5f36f49703$export$f2dc7e4e4aa11abb(props) {
8009
8731
  search_filters_open_: state_.filters_open,
8010
8732
  search_sorting_open_: state_.sorting_open,
8011
8733
  expanded_filters_: state_.expanded_filters,
8734
+ content_results_rows_: state_.content_results_rows,
8735
+ router_: shared_properties.router_,
8012
8736
  make_category_suggestion_card_: shared_properties.enable_category_suggestions_ ? category_suggestion_ => {
8013
8737
  return (0, $3001ad378baf39dc$export$d757d54550ebfb3d)({
8014
8738
  category_suggestion_: category_suggestion_,
@@ -8024,6 +8748,10 @@ function $ddd39c5f36f49703$export$f2dc7e4e4aa11abb(props) {
8024
8748
  cols_at_size: (0, $5401a6698b0c0658$export$6daf8749b65a1b77)(props.cols_at_size),
8025
8749
  ...grid_spacing_override()
8026
8750
  })),
8751
+ content_layout_options_: (0, $3hooq$solidjs.createMemo)(() => ({
8752
+ cols_at_size: (0, $5401a6698b0c0658$export$6daf8749b65a1b77)((0, $b1ea8d47bcf03111$export$ff7109b9b2b206ba)(props.cols_at_size)),
8753
+ ...grid_spacing_override()
8754
+ })),
8027
8755
  recommendations_layout_options_: (0, $3hooq$solidjs.createMemo)(() => {
8028
8756
  const {
8029
8757
  extra_depict_options: extra_depict_options