@depict-ai/ui 4.3.10 → 4.3.12

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.
@@ -94,7 +94,7 @@ $parcel$export(module.exports, "BreadCrumbs", () => $1f4925833f07df29$export$5b7
94
94
  $parcel$export(module.exports, "QuickLinks", () => $1f4925833f07df29$export$de035477d6fef996);
95
95
  $parcel$export(module.exports, "CategoryPage", () => $14f289047713d67a$export$e2bf8ce7779e827e);
96
96
  /*! Depict.ai search and product listing SDK */
97
- const $b757f75811f3261f$export$83d89fbfd8236492 = "4.3.10";
97
+ const $b757f75811f3261f$export$83d89fbfd8236492 = "4.3.12";
98
98
  const $4e04be41243c3d80$var$transform_elements = sorted_cols_at_size => {
99
99
  const cols_at_size = [];
100
100
  for (let i = 0; i < sorted_cols_at_size.length; i++) {
@@ -670,7 +670,8 @@ function $363ce4d1d71041aa$export$d41d19e89346fa2({
670
670
  recommendations_resource_: recommendations_resource_,
671
671
  product_card_template_: product_card_template_,
672
672
  layout_options_: layout_options_,
673
- title_: title_
673
+ title_: title_,
674
+ NoResultsFallback_: NoResultsFallback_
674
675
  }) {
675
676
  const is_showing_something = $5vyXB$solidjs.createMemo(() => recommendations_resource_.loading || recommendations_resource_()?.length);
676
677
  const title = $5vyXB$solidjs.createMemo(() => title_?.()); // In case getter/accessor creates elements, don't create them twice
@@ -726,6 +727,9 @@ function $363ce4d1d71041aa$export$d41d19e89346fa2({
726
727
  get when() {
727
728
  return is_showing_something();
728
729
  },
730
+ get fallback() {
731
+ return NoResultsFallback_?.();
732
+ },
729
733
  children: slider
730
734
  });
731
735
  }
@@ -1188,7 +1192,7 @@ function $d659702496cb72ea$export$a71e92cfbb498adc(props) {
1188
1192
  }
1189
1193
  var $1ae437d7d388a66e$var$_tmpl$ = ["<div", ' class="img-wrapper">', "</div>"],
1190
1194
  $1ae437d7d388a66e$var$_tmpl$2 = ["<span", ' class="d-price original">', "</span>"],
1191
- $1ae437d7d388a66e$var$_tmpl$3 = ["<div", ' class="right-part"><div class="text-container"><span class="d-title line-clamp">', '</span><span class="', '">', "</span><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div>"];
1195
+ $1ae437d7d388a66e$var$_tmpl$3 = ["<div", ' class="right-part"><div class="text-container">', '<span class="', '">', "</span><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div>"];
1192
1196
  function $1ae437d7d388a66e$export$b73ed90f0ee50dc3({
1193
1197
  display_: display_,
1194
1198
  FavoriteButton_: FavoriteButton_,
@@ -1213,6 +1217,7 @@ function $1ae437d7d388a66e$export$b73ed90f0ee50dc3({
1213
1217
  const enableLink = $5vyXB$solidjs.createMemo(() => userWantsExpanded() && !animationIsRunning());
1214
1218
  const href = $5vyXB$solidjs.createMemo(() => variantToUse()?.page_url);
1215
1219
  const FavoriteButton = FavoriteButton_; // Just to get rid of the type error - TS doesn't understand <Show>
1220
+ const title = $5vyXB$solidjs.createMemo(() => variantToUse()?.title);
1216
1221
  return $5vyXB$solidjsweb.ssrElement("a", $5vyXB$solidjsweb.mergeProps({
1217
1222
  "class": "look-item"
1218
1223
  }, () => enableLink() ? {
@@ -1257,10 +1262,14 @@ function $1ae437d7d388a66e$export$b73ed90f0ee50dc3({
1257
1262
  return (animationEffectExists() ? isExpandedThrottledByOurEffectRun() : userWantsExpanded()) || animationIsRunning();
1258
1263
  },
1259
1264
  get children() {
1260
- return $5vyXB$solidjsweb.ssr($1ae437d7d388a66e$var$_tmpl$3, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.escape(variantToUse()?.title) ?? $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $061ff5b4c3d36171$export$89c6019e4baa40b1), {
1265
+ return $5vyXB$solidjsweb.ssr($1ae437d7d388a66e$var$_tmpl$3, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.ssrElement("span", $5vyXB$solidjsweb.mergeProps({
1266
+ "class": "d-title line-clamp"
1267
+ }, () => title() && {
1268
+ title: title()
1269
+ }), () => $5vyXB$solidjsweb.escape(title()) ?? $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $061ff5b4c3d36171$export$89c6019e4baa40b1), {
1261
1270
  height: "1em",
1262
1271
  width: "20ch"
1263
- })), `d-price ${isOnSale() ? "sale" : ""}`, $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Show), {
1272
+ })), false), `d-price ${isOnSale() ? "sale" : ""}`, $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Show), {
1264
1273
  get when() {
1265
1274
  return variantToUse() && !salePrice.loading;
1266
1275
  },
@@ -1650,7 +1659,8 @@ function $b8e79813f4f7ebe4$export$7da560f849543dff({
1650
1659
  layout_options_: layout_options_,
1651
1660
  title_: title_,
1652
1661
  max_rows_: max_rows_,
1653
- view_more_button_: view_more_button_
1662
+ view_more_button_: view_more_button_,
1663
+ NoResultsFallback_: NoResultsFallback_
1654
1664
  }) {
1655
1665
  const rows_object_ = $5vyXB$solidjs.createMemo(() => {
1656
1666
  const view_more_button = view_more_button_?.();
@@ -1712,6 +1722,9 @@ function $b8e79813f4f7ebe4$export$7da560f849543dff({
1712
1722
  get when() {
1713
1723
  return is_showing_something();
1714
1724
  },
1725
+ get fallback() {
1726
+ return NoResultsFallback_?.();
1727
+ },
1715
1728
  children: elements
1716
1729
  });
1717
1730
  }
@@ -1779,7 +1792,8 @@ function $a3bbfa5fdaa39f3a$export$2c9f9bf2092486aa(props) {
1779
1792
  layout_options_: $5vyXB$solidjs.createMemo(() => ({
1780
1793
  cols_at_size: $4e04be41243c3d80$export$6daf8749b65a1b77(props.columnsAtSize_),
1781
1794
  ...grid_spacing_override()
1782
- }))
1795
+ })),
1796
+ NoResultsFallback_: () => props.NoResultsFallback_
1783
1797
  };
1784
1798
  $5vyXB$solidjs.createEffect(() => {
1785
1799
  const {
@@ -5472,39 +5486,12 @@ function $0b7222ba8a8bb72f$var$set_range_with_sanitation(min_, max_, current_ran
5472
5486
  new_value[index] = value_as_number;
5473
5487
  current_range_signal[1](new_value);
5474
5488
  }
5475
- var $7567511a7c3e4bd7$var$_tmpl$ = ["<div", ' class="morphing-sign" role="img"', "><span></span><span></span></div>"];
5489
+ var $7567511a7c3e4bd7$var$_tmpl$ = ["<div", ' class="', '" role="img"', "><span></span><span></span></div>"];
5476
5490
  function $7567511a7c3e4bd7$export$e5c2828934226505({
5477
5491
  expanded_: expanded_,
5478
5492
  i18n_: i18n_
5479
5493
  }) {
5480
- let first_span;
5481
- let second_span;
5482
- const animation_options = {
5483
- fill: "forwards",
5484
- duration: 200
5485
- };
5486
- const outer_div = $5vyXB$solidjsweb.ssr($7567511a7c3e4bd7$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), $5vyXB$solidjsweb.ssrAttribute("aria-label", expanded_() ? $5vyXB$solidjsweb.escape(i18n_.morphing_sign_expanded_aria_label_(), true) : $5vyXB$solidjsweb.escape(i18n_.morphing_sign_collapsed_aria_label_(), true), false));
5487
- const [is_in_dom, set_is_in_dom] = $5vyXB$solidjs.createSignal(false);
5488
- (0, $5vyXB$depictaiutilishared.observer).wait_for_element(outer_div).then($5vyXB$depictaiutilishared.catchify(() => set_is_in_dom(true)));
5489
- $5vyXB$solidjs.createEffect(() => {
5490
- if (!is_in_dom())
5491
- // wait for us to being in DOM as animations don't work otherwise
5492
- return;
5493
- try {
5494
- const expanded = expanded_();
5495
- for (const span of [first_span, second_span]) span.animate([{
5496
- transform: `rotate(${expanded ? 90 : "0"}deg)`
5497
- }], animation_options);
5498
- const percentage_value = `${expanded ? 50 : 25}%`;
5499
- second_span.animate([{
5500
- left: percentage_value,
5501
- right: percentage_value
5502
- }], animation_options);
5503
- } catch (e) {
5504
- $5vyXB$depictaiutilishared.dlog("partial keyframes probably not supported", e);
5505
- }
5506
- });
5507
- return outer_div;
5494
+ return $5vyXB$solidjsweb.ssr($7567511a7c3e4bd7$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), `morphing-sign ${expanded_() ? "expanded" : ""}`, $5vyXB$solidjsweb.ssrAttribute("aria-label", expanded_() ? $5vyXB$solidjsweb.escape(i18n_.morphing_sign_expanded_aria_label_(), true) : $5vyXB$solidjsweb.escape(i18n_.morphing_sign_collapsed_aria_label_(), true), false));
5508
5495
  }
5509
5496
  var $5ea5a82e398f6f44$var$_tmpl$ = ["<span", ' class="highlighted-part">', "</span>"];
5510
5497
  const $5ea5a82e398f6f44$var$dont_cut_in_between_less_than_characters = 30;
@@ -10187,7 +10174,7 @@ function $76227de40be817e5$export$f631859cab12b342({
10187
10174
  function $8781fcec27b20709$export$9ff751cd77687edc({
10188
10175
  search_results_: search_results_,
10189
10176
  router_: router_,
10190
- queries_without_content_results_: queries_without_content_results_,
10177
+ setNumberContentResultsPerQuery_: setNumberContentResultsPerQuery_,
10191
10178
  get_search_query_: get_search_query_
10192
10179
  }) {
10193
10180
  const content_results = $5vyXB$solidjs.createMemo(() => search_results_()?.content_search_links);
@@ -10203,7 +10190,11 @@ function $8781fcec27b20709$export$9ff751cd77687edc({
10203
10190
  });
10204
10191
  $5vyXB$solidjs.createEffect(() => {
10205
10192
  const results = content_results();
10206
- if (Array.isArray(results) && results.length === 0) queries_without_content_results_.add($5vyXB$solidjs.untrack(get_search_query_));
10193
+ const numberResults = Array.isArray(results) ? results.length : 0;
10194
+ setNumberContentResultsPerQuery_(prev => {
10195
+ prev.set($5vyXB$solidjs.untrack(get_search_query_), numberResults);
10196
+ return prev;
10197
+ });
10207
10198
  });
10208
10199
  return $5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.For), {
10209
10200
  get each() {
@@ -10220,7 +10211,8 @@ function $8781fcec27b20709$export$9ff751cd77687edc({
10220
10211
  }
10221
10212
  function $c2f92eb265a14529$export$4405d077f0a20494({
10222
10213
  content_results_rows_: [get_history_state_content_results_rows],
10223
- cols_at_size_: cols_at_size_
10214
+ cols_at_size_: cols_at_size_,
10215
+ overrideAmount_: overrideAmount_
10224
10216
  }) {
10225
10217
  const colsShowingNow = $17d06b3bcb035500$export$a79e666719b3647c(cols_at_size_);
10226
10218
  const largest_column = $5vyXB$solidjs.createMemo(() => {
@@ -10228,9 +10220,12 @@ function $c2f92eb265a14529$export$4405d077f0a20494({
10228
10220
  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
10229
10221
  return largest_in_cols_at_size;
10230
10222
  });
10231
- const num_placeholders = $5vyXB$solidjs.createMemo(() =>
10232
- // Use how many columns we're actually showing, if available, so that we're showing exactly as many placeholders as we'd show content, so that the view more button doesn't appear/disappear and makes the layout shift
10233
- (get_history_state_content_results_rows() ?? (0, $3716b8caf7f959e2$export$70ceae36059a1036)) * (colsShowingNow() || largest_column()));
10223
+ const num_placeholders = $5vyXB$solidjs.createMemo(() => {
10224
+ const override = overrideAmount_();
10225
+ if (override !== undefined) return override;
10226
+ // Use how many columns we're actually showing, if available, so that we're showing exactly as many placeholders as we'd show content, so that the view more button doesn't appear/disappear and makes the layout shift
10227
+ return (get_history_state_content_results_rows() ?? (0, $3716b8caf7f959e2$export$70ceae36059a1036)) * (colsShowingNow() || largest_column());
10228
+ });
10234
10229
  return $5vyXB$solidjsweb.createComponent((0, $5vyXB$solidjs.Index), {
10235
10230
  get each() {
10236
10231
  return Array.from({
@@ -10260,15 +10255,13 @@ function $3716b8caf7f959e2$export$6d0c9c22f6652669({
10260
10255
  number_: num_results,
10261
10256
  i18n_: i18n_
10262
10257
  });
10263
- const queries_without_content_results_ = new (0, $5vyXB$depictaiutilishared.ListenableSet)();
10264
- const [check_query, set_check_query] = $5vyXB$solidjs.createSignal(false);
10265
- const placeholders_enabled = $5vyXB$solidjs.createMemo(() => {
10266
- // don't show placeholders when the user toggles filters
10267
- check_query();
10268
- return !queries_without_content_results_.has(get_search_query_());
10258
+ const [numberContentResultsPerQuery, setNumberContentResultsPerQuery_] = $5vyXB$solidjs.createSignal(new Map(), {
10259
+ equals: false
10269
10260
  });
10261
+ const contentResultsForCurrentQuery = $5vyXB$solidjs.createMemo(() => numberContentResultsPerQuery().get(get_search_query_()));
10262
+ // Don't show placeholder if we know there will not be any content results and someone is just toggling filters
10263
+ const placeholders_enabled = $5vyXB$solidjs.createMemo(() => contentResultsForCurrentQuery() !== 0);
10270
10264
  const rows_object = $3716b8caf7f959e2$var$make_state_saved_rows(content_results_rows_, i18n_);
10271
- for (const ev of ["add", "delete"]) queries_without_content_results_.addEventListener(ev, () => set_check_query(prev => !prev));
10272
10265
  return $5vyXB$solidjsweb.ssr($3716b8caf7f959e2$var$_tmpl$, $5vyXB$solidjsweb.ssrHydrationKey(), "display:" + (is_loading_() && placeholders_enabled() || content_results()?.length > 0 ? "" : "none"), $5vyXB$solidjsweb.escape($5vyXB$solidjsweb.createComponent((0, $65a0c4b1c2eb5d0b$export$9dd50d35b9d94fdf), {
10273
10266
  get_search_query_: get_search_query_,
10274
10267
  i18n_: i18n_,
@@ -10291,14 +10284,15 @@ function $3716b8caf7f959e2$export$6d0c9c22f6652669({
10291
10284
  content_results_rows_: content_results_rows_,
10292
10285
  get cols_at_size_() {
10293
10286
  return $5vyXB$solidjs.createMemo(() => layout_options_().cols_at_size);
10294
- }
10287
+ },
10288
+ overrideAmount_: contentResultsForCurrentQuery
10295
10289
  });
10296
10290
  },
10297
10291
  get children() {
10298
10292
  return $5vyXB$solidjsweb.createComponent((0, $8781fcec27b20709$export$9ff751cd77687edc), {
10299
10293
  router_: router_,
10300
10294
  search_results_: search_results_,
10301
- queries_without_content_results_: queries_without_content_results_,
10295
+ setNumberContentResultsPerQuery_: setNumberContentResultsPerQuery_,
10302
10296
  get_search_query_: get_search_query_
10303
10297
  });
10304
10298
  }
@@ -10,7 +10,7 @@ import { ProductListingRequestV3 } from "@depict-ai/types/api/ProductListingRequ
10
10
  import { GetListingRequest } from "@depict-ai/types/api/GetListingRequest";
11
11
  import { BaseSearchRequestV3 } from "@depict-ai/types/api/BaseSearchRequestV3";
12
12
  import { SearchFilter as _SearchFilter3 } from "@depict-ai/types/api/SearchRequestV2";
13
- export const version = "4.3.10";
13
+ export const version = "4.3.12";
14
14
  declare const LISTING_ID = "listingId";
15
15
  declare const EXTERNAL_ID = "externalId";
16
16
  type ScrollRestorationData = {
@@ -877,6 +877,7 @@ export function LooksSliderOrGrid(props: {
877
877
  FavoriteButton_?: (props: {
878
878
  display_: Accessor<ModernDisplay | null | undefined>;
879
879
  }) => JSX.Element;
880
+ NoResultsFallback_?: () => JSX.Element;
880
881
  displayTransformers_?: DisplayTransformers<ModernDisplay, ModernDisplayWithPageUrl<ModernDisplay>>;
881
882
  /**
882
883
  * If provided, will render as grid instead of slider
@@ -1398,7 +1399,7 @@ type OpenModalParams<OriginalDisplay extends Display, OutputDisplay extends Mode
1398
1399
  * Open the modal with support for alignment.
1399
1400
  * @returns {void}
1400
1401
  */
1401
- export const open_modal_with_alignment: <OriginalDisplay extends Display, OutputDisplay extends unknown>(openModalParams: OpenModalParams<OriginalDisplay, OutputDisplay>) => void;
1402
+ export const open_modal_with_alignment: <OriginalDisplay extends Display, OutputDisplay extends ModernDisplay>(openModalParams: OpenModalParams<OriginalDisplay, OutputDisplay>) => void;
1402
1403
  export function open_search_with_shift_slash(open_search: VoidFunction): () => void;
1403
1404
  export interface PageReplacer {
1404
1405
  readonly render_: () => Node_Array;
@@ -1476,5 +1477,5 @@ export function CategoryPage<OriginalDisplay extends Display, OutputDisplay exte
1476
1477
  content_blocks_by_row?: ContentBlocksByRow;
1477
1478
  layout?: PossibleLayout;
1478
1479
  filterModalParent_?: HTMLElement | ShadowRoot;
1479
- }): import("@depict-ai/utilishared").Node_Array;
1480
+ }): import("@depict-ai/utilishared/latest").Node_Array;
1480
1481
  export type { SearchFilter } from "@depict-ai/types/api/SearchRequestV3";
@@ -1,4 +1,4 @@
1
- import { add_to_version_info as $i7OB2$add_to_version_info, fetch_retry as $i7OB2$fetch_retry, base_url as $i7OB2$base_url, dwarn as $i7OB2$dwarn, slider_fractional_factory as $i7OB2$slider_fractional_factory, dlog as $i7OB2$dlog, camelCasifyObject as $i7OB2$camelCasifyObject, make_random_classname as $i7OB2$make_random_classname, n_col_styling_with_dist as $i7OB2$n_col_styling_with_dist, catchify as $i7OB2$catchify, layout_get_visible_recs_without_partial_rows as $i7OB2$layout_get_visible_recs_without_partial_rows, layout_get_total_rec_amount_for_row as $i7OB2$layout_get_total_rec_amount_for_row, layout_media_query_header as $i7OB2$layout_media_query_header, report as $i7OB2$report, slider_fading_factory as $i7OB2$slider_fading_factory, Amazing_Slider as $i7OB2$Amazing_Slider, slider_snap_css as $i7OB2$slider_snap_css, observer as $i7OB2$observer, javascript_media_query as $i7OB2$javascript_media_query, queueMacroTask as $i7OB2$queueMacroTask, findMostFrequentItem as $i7OB2$findMostFrequentItem, standard_price_format as $i7OB2$standard_price_format, instant_exec_on_suspect_history_change as $i7OB2$instant_exec_on_suspect_history_change, deparallelize_no_drop as $i7OB2$deparallelize_no_drop, ContainedImage as $i7OB2$ContainedImage, make_asyncIterable_exiter as $i7OB2$make_asyncIterable_exiter, href_change_ipns as $i7OB2$href_change_ipns, base64_encode_unicode as $i7OB2$base64_encode_unicode, base64_decode_unicode as $i7OB2$base64_decode_unicode, use_href_accessor as $i7OB2$use_href_accessor, get_session_id as $i7OB2$get_session_id, add_version_query_params as $i7OB2$add_version_query_params, useExpandingContainer as $i7OB2$useExpandingContainer, hex_to_rgb as $i7OB2$hex_to_rgb, relative_luminance_from_rgb as $i7OB2$relative_luminance_from_rgb, snakeCasifyObject as $i7OB2$snakeCasifyObject, sort_obj as $i7OB2$sort_obj, make_url_with_query_params as $i7OB2$make_url_with_query_params, ListenableSet as $i7OB2$ListenableSet1, insert_surfaces as $i7OB2$insert_surfaces } from "@depict-ai/utilishared/latest";
1
+ import { add_to_version_info as $i7OB2$add_to_version_info, fetch_retry as $i7OB2$fetch_retry, base_url as $i7OB2$base_url, dwarn as $i7OB2$dwarn, slider_fractional_factory as $i7OB2$slider_fractional_factory, dlog as $i7OB2$dlog, camelCasifyObject as $i7OB2$camelCasifyObject, make_random_classname as $i7OB2$make_random_classname, n_col_styling_with_dist as $i7OB2$n_col_styling_with_dist, catchify as $i7OB2$catchify, layout_get_visible_recs_without_partial_rows as $i7OB2$layout_get_visible_recs_without_partial_rows, layout_get_total_rec_amount_for_row as $i7OB2$layout_get_total_rec_amount_for_row, layout_media_query_header as $i7OB2$layout_media_query_header, report as $i7OB2$report, slider_fading_factory as $i7OB2$slider_fading_factory, Amazing_Slider as $i7OB2$Amazing_Slider, slider_snap_css as $i7OB2$slider_snap_css, observer as $i7OB2$observer, javascript_media_query as $i7OB2$javascript_media_query, queueMacroTask as $i7OB2$queueMacroTask, findMostFrequentItem as $i7OB2$findMostFrequentItem, standard_price_format as $i7OB2$standard_price_format, instant_exec_on_suspect_history_change as $i7OB2$instant_exec_on_suspect_history_change, deparallelize_no_drop as $i7OB2$deparallelize_no_drop, ContainedImage as $i7OB2$ContainedImage, make_asyncIterable_exiter as $i7OB2$make_asyncIterable_exiter, href_change_ipns as $i7OB2$href_change_ipns, base64_encode_unicode as $i7OB2$base64_encode_unicode, base64_decode_unicode as $i7OB2$base64_decode_unicode, use_href_accessor as $i7OB2$use_href_accessor, get_session_id as $i7OB2$get_session_id, add_version_query_params as $i7OB2$add_version_query_params, useExpandingContainer as $i7OB2$useExpandingContainer, hex_to_rgb as $i7OB2$hex_to_rgb, relative_luminance_from_rgb as $i7OB2$relative_luminance_from_rgb, snakeCasifyObject as $i7OB2$snakeCasifyObject, sort_obj as $i7OB2$sort_obj, make_url_with_query_params as $i7OB2$make_url_with_query_params, insert_surfaces as $i7OB2$insert_surfaces } from "@depict-ai/utilishared/latest";
2
2
  import { ssr as $i7OB2$ssr, ssrHydrationKey as $i7OB2$ssrHydrationKey, escape as $i7OB2$escape, ssrStyle as $i7OB2$ssrStyle, createComponent as $i7OB2$createComponent, mergeProps as $i7OB2$mergeProps, isServer as $i7OB2$isServer, ssrElement as $i7OB2$ssrElement, ssrClassList as $i7OB2$ssrClassList, insert as $i7OB2$insert, ssrAttribute as $i7OB2$ssrAttribute, spread as $i7OB2$spread, Dynamic as $i7OB2$Dynamic } from "solid-js/web";
3
3
  import { createSignal as $i7OB2$createSignal, createMemo as $i7OB2$createMemo, createResource as $i7OB2$createResource, createEffect as $i7OB2$createEffect, Show as $i7OB2$Show, mergeProps as $i7OB2$mergeProps1, Suspense as $i7OB2$Suspense, untrack as $i7OB2$untrack, createRenderEffect as $i7OB2$createRenderEffect, Index as $i7OB2$Index, createRoot as $i7OB2$createRoot, onCleanup as $i7OB2$onCleanup, For as $i7OB2$For, getOwner as $i7OB2$getOwner, runWithOwner as $i7OB2$runWithOwner, createContext as $i7OB2$createContext, useContext as $i7OB2$useContext, createUniqueId as $i7OB2$createUniqueId, createComputed as $i7OB2$createComputed, ErrorBoundary as $i7OB2$ErrorBoundary, splitProps as $i7OB2$splitProps, on as $i7OB2$on, batch as $i7OB2$batch, createSelector as $i7OB2$createSelector, children as $i7OB2$children, createReaction as $i7OB2$createReaction, mapArray as $i7OB2$mapArray } from "solid-js";
4
4
  import { ListenableSet as $i7OB2$ListenableSet, catchify as $i7OB2$catchify1, use_href_accessor as $i7OB2$use_href_accessor1, report as $i7OB2$report1 } from "@depict-ai/utilishared/latest";
@@ -7,7 +7,7 @@ import { createStore as $i7OB2$createStore, reconcile as $i7OB2$reconcile } from
7
7
  /*! Depict.ai search and product listing SDK */
8
8
  import { register_es_version } from "../../multi_import_deduplicator.mjs";
9
9
  register_es_version("ui", "latest");
10
- const $ec291e0010116877$export$83d89fbfd8236492 = "4.3.10";
10
+ const $ec291e0010116877$export$83d89fbfd8236492 = "4.3.12";
11
11
  const $b5cccc8ee7d24677$var$transform_elements = sorted_cols_at_size => {
12
12
  const cols_at_size = [];
13
13
  for (let i = 0; i < sorted_cols_at_size.length; i++) {
@@ -583,7 +583,8 @@ function $c4492d24952ed731$export$d41d19e89346fa2({
583
583
  recommendations_resource_: recommendations_resource_,
584
584
  product_card_template_: product_card_template_,
585
585
  layout_options_: layout_options_,
586
- title_: title_
586
+ title_: title_,
587
+ NoResultsFallback_: NoResultsFallback_
587
588
  }) {
588
589
  const is_showing_something = $i7OB2$createMemo(() => recommendations_resource_.loading || recommendations_resource_()?.length);
589
590
  const title = $i7OB2$createMemo(() => title_?.()); // In case getter/accessor creates elements, don't create them twice
@@ -639,6 +640,9 @@ function $c4492d24952ed731$export$d41d19e89346fa2({
639
640
  get when() {
640
641
  return is_showing_something();
641
642
  },
643
+ get fallback() {
644
+ return NoResultsFallback_?.();
645
+ },
642
646
  children: slider
643
647
  });
644
648
  }
@@ -1101,7 +1105,7 @@ function $8c0f86cb3e266eeb$export$a71e92cfbb498adc(props) {
1101
1105
  }
1102
1106
  var $5a6c386e1bde5665$var$_tmpl$ = ["<div", ' class="img-wrapper">', "</div>"],
1103
1107
  $5a6c386e1bde5665$var$_tmpl$2 = ["<span", ' class="d-price original">', "</span>"],
1104
- $5a6c386e1bde5665$var$_tmpl$3 = ["<div", ' class="right-part"><div class="text-container"><span class="d-title line-clamp">', '</span><span class="', '">', "</span><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div>"];
1108
+ $5a6c386e1bde5665$var$_tmpl$3 = ["<div", ' class="right-part"><div class="text-container">', '<span class="', '">', "</span><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div>"];
1105
1109
  function $5a6c386e1bde5665$export$b73ed90f0ee50dc3({
1106
1110
  display_: display_,
1107
1111
  FavoriteButton_: FavoriteButton_,
@@ -1126,6 +1130,7 @@ function $5a6c386e1bde5665$export$b73ed90f0ee50dc3({
1126
1130
  const enableLink = $i7OB2$createMemo(() => userWantsExpanded() && !animationIsRunning());
1127
1131
  const href = $i7OB2$createMemo(() => variantToUse()?.page_url);
1128
1132
  const FavoriteButton = FavoriteButton_; // Just to get rid of the type error - TS doesn't understand <Show>
1133
+ const title = $i7OB2$createMemo(() => variantToUse()?.title);
1129
1134
  return $i7OB2$ssrElement("a", $i7OB2$mergeProps({
1130
1135
  "class": "look-item"
1131
1136
  }, () => enableLink() ? {
@@ -1170,10 +1175,14 @@ function $5a6c386e1bde5665$export$b73ed90f0ee50dc3({
1170
1175
  return (animationEffectExists() ? isExpandedThrottledByOurEffectRun() : userWantsExpanded()) || animationIsRunning();
1171
1176
  },
1172
1177
  get children() {
1173
- return $i7OB2$ssr($5a6c386e1bde5665$var$_tmpl$3, $i7OB2$ssrHydrationKey(), $i7OB2$escape(variantToUse()?.title) ?? $i7OB2$escape($i7OB2$createComponent((0, $d134eae24341b4a1$export$89c6019e4baa40b1), {
1178
+ return $i7OB2$ssr($5a6c386e1bde5665$var$_tmpl$3, $i7OB2$ssrHydrationKey(), $i7OB2$ssrElement("span", $i7OB2$mergeProps({
1179
+ "class": "d-title line-clamp"
1180
+ }, () => title() && {
1181
+ title: title()
1182
+ }), () => $i7OB2$escape(title()) ?? $i7OB2$escape($i7OB2$createComponent((0, $d134eae24341b4a1$export$89c6019e4baa40b1), {
1174
1183
  height: "1em",
1175
1184
  width: "20ch"
1176
- })), `d-price ${isOnSale() ? "sale" : ""}`, $i7OB2$escape($i7OB2$createComponent((0, $i7OB2$Show), {
1185
+ })), false), `d-price ${isOnSale() ? "sale" : ""}`, $i7OB2$escape($i7OB2$createComponent((0, $i7OB2$Show), {
1177
1186
  get when() {
1178
1187
  return variantToUse() && !salePrice.loading;
1179
1188
  },
@@ -1563,7 +1572,8 @@ function $3da8afe3ed57cf34$export$7da560f849543dff({
1563
1572
  layout_options_: layout_options_,
1564
1573
  title_: title_,
1565
1574
  max_rows_: max_rows_,
1566
- view_more_button_: view_more_button_
1575
+ view_more_button_: view_more_button_,
1576
+ NoResultsFallback_: NoResultsFallback_
1567
1577
  }) {
1568
1578
  const rows_object_ = $i7OB2$createMemo(() => {
1569
1579
  const view_more_button = view_more_button_?.();
@@ -1625,6 +1635,9 @@ function $3da8afe3ed57cf34$export$7da560f849543dff({
1625
1635
  get when() {
1626
1636
  return is_showing_something();
1627
1637
  },
1638
+ get fallback() {
1639
+ return NoResultsFallback_?.();
1640
+ },
1628
1641
  children: elements
1629
1642
  });
1630
1643
  }
@@ -1692,7 +1705,8 @@ function $07ef910e8ef6b783$export$2c9f9bf2092486aa(props) {
1692
1705
  layout_options_: $i7OB2$createMemo(() => ({
1693
1706
  cols_at_size: $b5cccc8ee7d24677$export$6daf8749b65a1b77(props.columnsAtSize_),
1694
1707
  ...grid_spacing_override()
1695
- }))
1708
+ })),
1709
+ NoResultsFallback_: () => props.NoResultsFallback_
1696
1710
  };
1697
1711
  $i7OB2$createEffect(() => {
1698
1712
  const {
@@ -5385,39 +5399,12 @@ function $a6b08770e164eced$var$set_range_with_sanitation(min_, max_, current_ran
5385
5399
  new_value[index] = value_as_number;
5386
5400
  current_range_signal[1](new_value);
5387
5401
  }
5388
- var $0b6bc2f8309efa8a$var$_tmpl$ = ["<div", ' class="morphing-sign" role="img"', "><span></span><span></span></div>"];
5402
+ var $0b6bc2f8309efa8a$var$_tmpl$ = ["<div", ' class="', '" role="img"', "><span></span><span></span></div>"];
5389
5403
  function $0b6bc2f8309efa8a$export$e5c2828934226505({
5390
5404
  expanded_: expanded_,
5391
5405
  i18n_: i18n_
5392
5406
  }) {
5393
- let first_span;
5394
- let second_span;
5395
- const animation_options = {
5396
- fill: "forwards",
5397
- duration: 200
5398
- };
5399
- const outer_div = $i7OB2$ssr($0b6bc2f8309efa8a$var$_tmpl$, $i7OB2$ssrHydrationKey(), $i7OB2$ssrAttribute("aria-label", expanded_() ? $i7OB2$escape(i18n_.morphing_sign_expanded_aria_label_(), true) : $i7OB2$escape(i18n_.morphing_sign_collapsed_aria_label_(), true), false));
5400
- const [is_in_dom, set_is_in_dom] = $i7OB2$createSignal(false);
5401
- (0, $i7OB2$observer).wait_for_element(outer_div).then($i7OB2$catchify(() => set_is_in_dom(true)));
5402
- $i7OB2$createEffect(() => {
5403
- if (!is_in_dom())
5404
- // wait for us to being in DOM as animations don't work otherwise
5405
- return;
5406
- try {
5407
- const expanded = expanded_();
5408
- for (const span of [first_span, second_span]) span.animate([{
5409
- transform: `rotate(${expanded ? 90 : "0"}deg)`
5410
- }], animation_options);
5411
- const percentage_value = `${expanded ? 50 : 25}%`;
5412
- second_span.animate([{
5413
- left: percentage_value,
5414
- right: percentage_value
5415
- }], animation_options);
5416
- } catch (e) {
5417
- $i7OB2$dlog("partial keyframes probably not supported", e);
5418
- }
5419
- });
5420
- return outer_div;
5407
+ return $i7OB2$ssr($0b6bc2f8309efa8a$var$_tmpl$, $i7OB2$ssrHydrationKey(), `morphing-sign ${expanded_() ? "expanded" : ""}`, $i7OB2$ssrAttribute("aria-label", expanded_() ? $i7OB2$escape(i18n_.morphing_sign_expanded_aria_label_(), true) : $i7OB2$escape(i18n_.morphing_sign_collapsed_aria_label_(), true), false));
5421
5408
  }
5422
5409
  var $522a690e0e2bd46d$var$_tmpl$ = ["<span", ' class="highlighted-part">', "</span>"];
5423
5410
  const $522a690e0e2bd46d$var$dont_cut_in_between_less_than_characters = 30;
@@ -10100,7 +10087,7 @@ function $b2bf2cdcff8142d8$export$f631859cab12b342({
10100
10087
  function $b26bdbd081f63e3f$export$9ff751cd77687edc({
10101
10088
  search_results_: search_results_,
10102
10089
  router_: router_,
10103
- queries_without_content_results_: queries_without_content_results_,
10090
+ setNumberContentResultsPerQuery_: setNumberContentResultsPerQuery_,
10104
10091
  get_search_query_: get_search_query_
10105
10092
  }) {
10106
10093
  const content_results = $i7OB2$createMemo(() => search_results_()?.content_search_links);
@@ -10116,7 +10103,11 @@ function $b26bdbd081f63e3f$export$9ff751cd77687edc({
10116
10103
  });
10117
10104
  $i7OB2$createEffect(() => {
10118
10105
  const results = content_results();
10119
- if (Array.isArray(results) && results.length === 0) queries_without_content_results_.add($i7OB2$untrack(get_search_query_));
10106
+ const numberResults = Array.isArray(results) ? results.length : 0;
10107
+ setNumberContentResultsPerQuery_(prev => {
10108
+ prev.set($i7OB2$untrack(get_search_query_), numberResults);
10109
+ return prev;
10110
+ });
10120
10111
  });
10121
10112
  return $i7OB2$createComponent((0, $i7OB2$For), {
10122
10113
  get each() {
@@ -10133,7 +10124,8 @@ function $b26bdbd081f63e3f$export$9ff751cd77687edc({
10133
10124
  }
10134
10125
  function $9d5b3ed1fc91c672$export$4405d077f0a20494({
10135
10126
  content_results_rows_: [get_history_state_content_results_rows],
10136
- cols_at_size_: cols_at_size_
10127
+ cols_at_size_: cols_at_size_,
10128
+ overrideAmount_: overrideAmount_
10137
10129
  }) {
10138
10130
  const colsShowingNow = $77348875ac090fcd$export$a79e666719b3647c(cols_at_size_);
10139
10131
  const largest_column = $i7OB2$createMemo(() => {
@@ -10141,9 +10133,12 @@ function $9d5b3ed1fc91c672$export$4405d077f0a20494({
10141
10133
  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
10142
10134
  return largest_in_cols_at_size;
10143
10135
  });
10144
- const num_placeholders = $i7OB2$createMemo(() =>
10145
- // Use how many columns we're actually showing, if available, so that we're showing exactly as many placeholders as we'd show content, so that the view more button doesn't appear/disappear and makes the layout shift
10146
- (get_history_state_content_results_rows() ?? (0, $49de9d31aeea1b5e$export$70ceae36059a1036)) * (colsShowingNow() || largest_column()));
10136
+ const num_placeholders = $i7OB2$createMemo(() => {
10137
+ const override = overrideAmount_();
10138
+ if (override !== undefined) return override;
10139
+ // Use how many columns we're actually showing, if available, so that we're showing exactly as many placeholders as we'd show content, so that the view more button doesn't appear/disappear and makes the layout shift
10140
+ return (get_history_state_content_results_rows() ?? (0, $49de9d31aeea1b5e$export$70ceae36059a1036)) * (colsShowingNow() || largest_column());
10141
+ });
10147
10142
  return $i7OB2$createComponent((0, $i7OB2$Index), {
10148
10143
  get each() {
10149
10144
  return Array.from({
@@ -10173,15 +10168,13 @@ function $49de9d31aeea1b5e$export$6d0c9c22f6652669({
10173
10168
  number_: num_results,
10174
10169
  i18n_: i18n_
10175
10170
  });
10176
- const queries_without_content_results_ = new (0, $i7OB2$ListenableSet1)();
10177
- const [check_query, set_check_query] = $i7OB2$createSignal(false);
10178
- const placeholders_enabled = $i7OB2$createMemo(() => {
10179
- // don't show placeholders when the user toggles filters
10180
- check_query();
10181
- return !queries_without_content_results_.has(get_search_query_());
10171
+ const [numberContentResultsPerQuery, setNumberContentResultsPerQuery_] = $i7OB2$createSignal(new Map(), {
10172
+ equals: false
10182
10173
  });
10174
+ const contentResultsForCurrentQuery = $i7OB2$createMemo(() => numberContentResultsPerQuery().get(get_search_query_()));
10175
+ // Don't show placeholder if we know there will not be any content results and someone is just toggling filters
10176
+ const placeholders_enabled = $i7OB2$createMemo(() => contentResultsForCurrentQuery() !== 0);
10183
10177
  const rows_object = $49de9d31aeea1b5e$var$make_state_saved_rows(content_results_rows_, i18n_);
10184
- for (const ev of ["add", "delete"]) queries_without_content_results_.addEventListener(ev, () => set_check_query(prev => !prev));
10185
10178
  return $i7OB2$ssr($49de9d31aeea1b5e$var$_tmpl$, $i7OB2$ssrHydrationKey(), "display:" + (is_loading_() && placeholders_enabled() || content_results()?.length > 0 ? "" : "none"), $i7OB2$escape($i7OB2$createComponent((0, $f8c929beb82c512b$export$9dd50d35b9d94fdf), {
10186
10179
  get_search_query_: get_search_query_,
10187
10180
  i18n_: i18n_,
@@ -10204,14 +10197,15 @@ function $49de9d31aeea1b5e$export$6d0c9c22f6652669({
10204
10197
  content_results_rows_: content_results_rows_,
10205
10198
  get cols_at_size_() {
10206
10199
  return $i7OB2$createMemo(() => layout_options_().cols_at_size);
10207
- }
10200
+ },
10201
+ overrideAmount_: contentResultsForCurrentQuery
10208
10202
  });
10209
10203
  },
10210
10204
  get children() {
10211
10205
  return $i7OB2$createComponent((0, $b26bdbd081f63e3f$export$9ff751cd77687edc), {
10212
10206
  router_: router_,
10213
10207
  search_results_: search_results_,
10214
- queries_without_content_results_: queries_without_content_results_,
10208
+ setNumberContentResultsPerQuery_: setNumberContentResultsPerQuery_,
10215
10209
  get_search_query_: get_search_query_
10216
10210
  });
10217
10211
  }