@depict-ai/ui 4.10.11 → 4.10.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.
package/ES10/index.cjs CHANGED
@@ -115,7 +115,7 @@ $parcel$export(module.exports, "BreadCrumbs", () => $335c02c1241a9ca8$export$5b7
115
115
  $parcel$export(module.exports, "QuickLinks", () => $335c02c1241a9ca8$export$de035477d6fef996);
116
116
  $parcel$export(module.exports, "CategoryPage", () => $c10e33c4681f8c9b$export$e2bf8ce7779e827e);
117
117
  /*! Depict.ai search and product listing SDK */
118
- const $aa1938dec50d6c12$export$83d89fbfd8236492 = "4.10.11";
118
+ const $aa1938dec50d6c12$export$83d89fbfd8236492 = "4.10.12";
119
119
  function $3e17e871e9d0911d$export$d9f36cf74e24d595(media_query) {
120
120
  const signal = $52FdA$solidjs.createSignal(false);
121
121
  $52FdA$solidjs.onCleanup($52FdA$depictaiutilishared.javascript_media_query(media_query, _ref => {
@@ -8012,7 +8012,7 @@ function $28535bb7671c63d1$export$e4b984597b71e989(props) {
8012
8012
  })));
8013
8013
  return container;
8014
8014
  }
8015
- const $f3db423dc84bc35d$var$customUrls = (url, width) => {
8015
+ const $f3db423dc84bc35d$var$defaultCustomUrls = (url, width) => {
8016
8016
  var _url$startsWith;
8017
8017
  if (url !== null && url !== void 0 && (_url$startsWith = url.startsWith) !== null && _url$startsWith !== void 0 && _url$startsWith.call(url, "https://cdn.shopify.com"))
8018
8018
  // The shopify image resizing CDN blocks Cloudflare's image resizer. It's possible that we can't detect shopify image URLs sometimes because they go to the merchant's domain,
@@ -8022,18 +8022,23 @@ const $f3db423dc84bc35d$var$customUrls = (url, width) => {
8022
8022
  return "https://app.depict.ai/cdn-cgi/image/width=".concat(width, ",format=auto/").concat(url);
8023
8023
  };
8024
8024
  function $f3db423dc84bc35d$export$9d4a4b669b1929ab(props) {
8025
+ var _props$imageResizer_;
8026
+ const resolvedCustomUrls = (_props$imageResizer_ = props.imageResizer_) !== null && _props$imageResizer_ !== void 0 ? _props$imageResizer_ : $f3db423dc84bc35d$var$defaultCustomUrls;
8025
8027
  return $52FdA$solidjsweb.createComponent((0, $28535bb7671c63d1$export$e4b984597b71e989), $52FdA$solidjsweb.mergeProps(props, {
8026
8028
  get imgProps() {
8027
8029
  return {
8028
8030
  ...props.imgProps,
8029
- customUrls: $f3db423dc84bc35d$var$customUrls
8031
+ customUrls: resolvedCustomUrls
8030
8032
  };
8031
8033
  }
8032
8034
  }));
8033
8035
  }
8034
8036
  function $f3db423dc84bc35d$export$140423fa4bfb6d63(props) {
8035
8037
  return $52FdA$solidjsweb.createComponent((0, $858fdcf73148519f$export$6e5611bc7e57e477), $52FdA$solidjsweb.mergeProps(props, {
8036
- customUrls: $f3db423dc84bc35d$var$customUrls
8038
+ get customUrls() {
8039
+ var _props$imageResizer_2;
8040
+ return (_props$imageResizer_2 = props.imageResizer_) !== null && _props$imageResizer_2 !== void 0 ? _props$imageResizer_2 : $f3db423dc84bc35d$var$defaultCustomUrls;
8041
+ }
8037
8042
  }));
8038
8043
  }
8039
8044
  let $8e8c89c02c16dc7b$var$cachedHlsModule;
@@ -8059,7 +8064,8 @@ function $c19709057a32b2e7$export$780a853d15174484(_ref) {
8059
8064
  router_: router_,
8060
8065
  setAspectRatioWas_: setAspectRatioWas_,
8061
8066
  mediaUrl_: mediaUrl_,
8062
- aspectRatioWhenAloneInRow_: aspectRatioWhenAloneInRow_
8067
+ aspectRatioWhenAloneInRow_: aspectRatioWhenAloneInRow_,
8068
+ imageResizer_: imageResizer_
8063
8069
  } = _ref;
8064
8070
  let wroteAspectRatioToContainer = false; // Only write this once so we don't get into a aspect ratio changed -> size changed -> image source changed -> aspect ratio slightly changed infinite loop
8065
8071
  const [wrapperSize, setWrapperSize] = $52FdA$solidjs.createSignal();
@@ -8115,7 +8121,8 @@ function $c19709057a32b2e7$export$780a853d15174484(_ref) {
8115
8121
  src: mediaUrl_,
8116
8122
  "class": "d-standard-content",
8117
8123
  onDecoded: () => setHasLoaded(true),
8118
- ref: el => el.addEventListener("load", $52FdA$depictaiutilisharedlatest.catchify(() => setAspectRatio(el.naturalWidth / el.naturalHeight)))
8124
+ ref: el => el.addEventListener("load", $52FdA$depictaiutilisharedlatest.catchify(() => setAspectRatio(el.naturalWidth / el.naturalHeight))),
8125
+ imageResizer_: imageResizer_
8119
8126
  });
8120
8127
  }
8121
8128
  }), $52FdA$solidjsweb.createComponent((0, $52FdA$solidjs.Match), {
@@ -8166,7 +8173,7 @@ function $c19709057a32b2e7$export$780a853d15174484(_ref) {
8166
8173
  }
8167
8174
  }));
8168
8175
  }
8169
- function $0c035bbe7e30b438$export$7a92d995f1bf3592(history_content_blocks_, plp_meta, content_blocks_by_row_, router_, products_request_loading_) {
8176
+ function $0c035bbe7e30b438$export$7a92d995f1bf3592(history_content_blocks_, plp_meta, content_blocks_by_row_, router_, products_request_loading_, imageResizer_) {
8170
8177
  let hasSeenContentBlock = false;
8171
8178
  const [historyContentBlocks, setHistoryContentBlocks] = history_content_blocks_;
8172
8179
  const contentComponents = new Map();
@@ -8222,7 +8229,8 @@ function $0c035bbe7e30b438$export$7a92d995f1bf3592(history_content_blocks_, plp_
8222
8229
  ...prev.aspectRatios,
8223
8230
  [componentCacheKey]: Math.round(aspectRatio * 100) / 100
8224
8231
  }
8225
- }))
8232
+ })),
8233
+ imageResizer_: imageResizer_
8226
8234
  });
8227
8235
  contentComponents.set(componentCacheKey, component);
8228
8236
  }
@@ -8287,7 +8295,8 @@ function $ede6c70ecdca46fe$export$f7d2f673fc2f091d(_ref) {
8287
8295
  filterModalParent_: filterModalParent_,
8288
8296
  showSliderArrow_: showSliderArrow_,
8289
8297
  hideCount0FilterOptions_: hideCount0FilterOptions_,
8290
- switchToFiltersDrawerBreakpoint_: switchToFiltersDrawerBreakpoint_
8298
+ switchToFiltersDrawerBreakpoint_: switchToFiltersDrawerBreakpoint_,
8299
+ imageResizer_: imageResizer_
8291
8300
  } = _ref;
8292
8301
  let results_for;
8293
8302
  let only_show_filters_opener_;
@@ -8383,7 +8392,7 @@ function $ede6c70ecdca46fe$export$f7d2f673fc2f091d(_ref) {
8383
8392
  setMetaRequestsForQuery(prev => prev.set(query.id_type_ + query.id_to_query_for_, listing));
8384
8393
  return result;
8385
8394
  }));
8386
- const contentBlocksByRow = $0c035bbe7e30b438$export$7a92d995f1bf3592(history_content_blocks_, plp_meta, content_blocks_by_row_, router_, () => plp_products_.loading);
8395
+ const contentBlocksByRow = $0c035bbe7e30b438$export$7a92d995f1bf3592(history_content_blocks_, plp_meta, content_blocks_by_row_, router_, () => plp_products_.loading, imageResizer_);
8387
8396
  const countOfProductsForUI = $e335e2ff536c1a0b$export$a86bc18439445599(plp_products_, all_products_loaded_, currentlyLoadedDisplays);
8388
8397
  const available_sortings_ = $52FdA$solidjs.createMemo(() => {
8389
8398
  var _plp_products_, _plp_products_$sorts;
@@ -8969,7 +8978,8 @@ function $53dca9b7b01789b1$export$b73ed90f0ee50dc3(_ref) {
8969
8978
  outerRef_: outerRef_,
8970
8979
  animationDuration_: animationDuration_,
8971
8980
  priceFormatting_: priceFormatting_,
8972
- pseudoRouter_: pseudoRouter_
8981
+ pseudoRouter_: pseudoRouter_,
8982
+ imageResizer_: imageResizer_
8973
8983
  } = _ref;
8974
8984
  const variantToUse = $52FdA$solidjs.createMemo(() => {
8975
8985
  const display = display_();
@@ -9058,7 +9068,8 @@ function $53dca9b7b01789b1$export$b73ed90f0ee50dc3(_ref) {
9058
9068
  },
9059
9069
  imgProps: {
9060
9070
  keyRatioUpdating: true
9061
- }
9071
+ },
9072
+ imageResizer_: imageResizer_
9062
9073
  });
9063
9074
  }
9064
9075
  }));
@@ -9264,7 +9275,8 @@ function $1709366c442d8933$export$ebf0b1d4f90c09ae(_ref) {
9264
9275
  supportsHover_: supportsHover_,
9265
9276
  priceFormatting_: priceFormatting_,
9266
9277
  pseudoRouter_: pseudoRouter_,
9267
- containerHeight_: containerHeight_
9278
+ containerHeight_: containerHeight_,
9279
+ imageResizer_: imageResizer_
9268
9280
  } = _ref;
9269
9281
  let isAffectedByChromeBug = false;
9270
9282
  // If the user requests the drawer to be expanded or not
@@ -9332,6 +9344,7 @@ function $1709366c442d8933$export$ebf0b1d4f90c09ae(_ref) {
9332
9344
  userWantsExpandedSignal_: userWantsExpandedSignal_,
9333
9345
  textFadeInAnimationRunning_: textFadeInAnimationRunning,
9334
9346
  priceFormatting_: priceFormatting_,
9347
+ imageResizer_: imageResizer_,
9335
9348
  outerRef_: el => $52FdA$solidjs.createEffect(() => {
9336
9349
  if (index !== 0) return;
9337
9350
  const resizeObserver = new ResizeObserver($52FdA$depictaiutilishared.catchify(records => setLookItemHeight(records.at(-1).contentRect.height)));
@@ -9391,7 +9404,8 @@ function $ae325261371de459$export$44809a8a3e867e30(_ref) {
9391
9404
  placeholderImageAspectRatio_: placeholderImageAspectRatio_,
9392
9405
  animationDuration_: animationDuration_,
9393
9406
  priceFormatting_: priceFormatting_,
9394
- pseudoRouter_: pseudoRouter_
9407
+ pseudoRouter_: pseudoRouter_,
9408
+ imageResizer_: imageResizer_
9395
9409
  } = _ref;
9396
9410
  let container;
9397
9411
  const useWantsExpandedSignal_ = $52FdA$solidjs.createSignal(false);
@@ -9481,7 +9495,8 @@ function $ae325261371de459$export$44809a8a3e867e30(_ref) {
9481
9495
  return (_display_ = display_()) === null || _display_ === void 0 ? void 0 : (_display_$image_urls = _display_.image_urls) === null || _display_$image_urls === void 0 ? void 0 : _display_$image_urls[0];
9482
9496
  },
9483
9497
  aspectRatio: placeholderImageAspectRatio_,
9484
- autoAdjustAspectRatio: true
9498
+ autoAdjustAspectRatio: true,
9499
+ imageResizer_: imageResizer_
9485
9500
  });
9486
9501
  }
9487
9502
  }), _el$3, _co$);
@@ -9497,7 +9512,8 @@ function $ae325261371de459$export$44809a8a3e867e30(_ref) {
9497
9512
  FavoriteButton_: FavoriteButton_,
9498
9513
  priceFormatting_: priceFormatting_,
9499
9514
  pseudoRouter_: pseudoRouter_,
9500
- containerHeight_: containerHeight_
9515
+ containerHeight_: containerHeight_,
9516
+ imageResizer_: imageResizer_
9501
9517
  }), _el$5, _co$2);
9502
9518
  $52FdA$solidjsweb.effect(() => _el$.classList.toggle("placeholder", !display_()));
9503
9519
  $52FdA$solidjsweb.runHydrationEvents();
@@ -9782,7 +9798,8 @@ function $e57cd46536ad992e$export$2c9f9bf2092486aa(props) {
9782
9798
  animationDuration_: expandingAnimationDuration,
9783
9799
  expandedLooksSignal_: $e57cd46536ad992e$var$expandedLooksSignal_,
9784
9800
  priceFormatting_: () => props.priceFormatting_,
9785
- pseudoRouter_: pseudoRouter
9801
+ pseudoRouter_: pseudoRouter,
9802
+ imageResizer_: props.imageResizer_
9786
9803
  }),
9787
9804
  recommendations_resource_: looksResource,
9788
9805
  title_: () => props.title_,
@@ -11757,7 +11774,8 @@ function $d1e7b96fb13cd1d3$export$67152d26d4f56ee8(_ref) {
11757
11774
  merchant_: merchant_,
11758
11775
  keyboardNavigationGroupIndex_: keyboardNavigationGroupIndex_,
11759
11776
  index_: index_,
11760
- selected_index_: [read_selected_index_, write_selected_index_]
11777
+ selected_index_: [read_selected_index_, write_selected_index_],
11778
+ imageResizer_: imageResizer_
11761
11779
  } = _ref;
11762
11780
  const href = $52FdA$solidjs.createMemo(() => {
11763
11781
  var _listing_;
@@ -11824,7 +11842,8 @@ function $d1e7b96fb13cd1d3$export$67152d26d4f56ee8(_ref) {
11824
11842
  get children() {
11825
11843
  var _el$3 = $52FdA$solidjsweb.getNextElement($d1e7b96fb13cd1d3$var$_tmpl$2);
11826
11844
  $52FdA$solidjsweb.insert(_el$3, $52FdA$solidjsweb.createComponent($d1e7b96fb13cd1d3$export$ea41102db9bd68c3, {
11827
- image_urls_: image_urls
11845
+ image_urls_: image_urls,
11846
+ imageResizer_: imageResizer_
11828
11847
  }));
11829
11848
  return _el$3;
11830
11849
  }
@@ -11870,7 +11889,8 @@ function $d1e7b96fb13cd1d3$export$67152d26d4f56ee8(_ref) {
11870
11889
  }
11871
11890
  function $d1e7b96fb13cd1d3$export$ea41102db9bd68c3(_ref3) {
11872
11891
  let {
11873
- image_urls_: image_urls_
11892
+ image_urls_: image_urls_,
11893
+ imageResizer_: imageResizer_
11874
11894
  } = _ref3;
11875
11895
  return $52FdA$solidjsweb.createComponent((0, $52FdA$solidjs.Show), {
11876
11896
  get when() {
@@ -11894,7 +11914,8 @@ function $d1e7b96fb13cd1d3$export$ea41102db9bd68c3(_ref3) {
11894
11914
  },
11895
11915
  imgProps: {
11896
11916
  style: "object-fit: cover;"
11897
- }
11917
+ },
11918
+ imageResizer_: imageResizer_
11898
11919
  })
11899
11920
  });
11900
11921
  }
@@ -11925,7 +11946,8 @@ function $f765bad01136eee1$export$c8d7e00464029b45(_ref) {
11925
11946
  selected_index_: selected_index_,
11926
11947
  modalLayoutStacked_: modalLayoutStacked_,
11927
11948
  showPlaceholders_: showPlaceholders_,
11928
- currently_showing_suggestions_: [, set_currently_showing_suggestions]
11949
+ currently_showing_suggestions_: [, set_currently_showing_suggestions],
11950
+ imageResizer_: imageResizer_
11929
11951
  } = _ref;
11930
11952
  const listings_by_id = $52FdA$solidjs.createMemo(() => Object.fromEntries((listing_suggestions_() || []).map(listing => [listing.listing_id, listing])));
11931
11953
  const productCards = $52FdA$solidjsweb.createComponent((0, $52FdA$solidjs.For), {
@@ -11943,7 +11965,8 @@ function $f765bad01136eee1$export$c8d7e00464029b45(_ref) {
11943
11965
  merchant_: merchant_,
11944
11966
  keyboardNavigationGroupIndex_: itemIndex_,
11945
11967
  index_: index,
11946
- selected_index_: selected_index_
11968
+ selected_index_: selected_index_,
11969
+ imageResizer_: imageResizer_
11947
11970
  });
11948
11971
  }
11949
11972
  });
@@ -12336,7 +12359,8 @@ function $43600b30502feeda$var$RawSearchModalV2(_ref) {
12336
12359
  sorting_query_param_: sorting_query_param_,
12337
12360
  filter_query_param_prefix_: filter_query_param_prefix_,
12338
12361
  setSearchFieldOuterWidth_: setSearchFieldOuterWidth_,
12339
- forceUseDiv_: forceUseDiv_
12362
+ forceUseDiv_: forceUseDiv_,
12363
+ imageResizer_: imageResizer_
12340
12364
  } = _ref;
12341
12365
  let on_enter_in_search_field_function;
12342
12366
  let listingSuggestionsDebounceTimeout;
@@ -12554,7 +12578,8 @@ function $43600b30502feeda$var$RawSearchModalV2(_ref) {
12554
12578
  },
12555
12579
  imgProps: {
12556
12580
  alt: "Product image"
12557
- }
12581
+ },
12582
+ imageResizer_: imageResizer_
12558
12583
  }),
12559
12584
  ...instant_results_options_
12560
12585
  }), _el$4, _co$);
@@ -12585,7 +12610,8 @@ function $43600b30502feeda$var$RawSearchModalV2(_ref) {
12585
12610
  selected_index_: selected_index_,
12586
12611
  currently_showing_suggestions_: currently_showing_suggestions_,
12587
12612
  modalLayoutStacked_: modalLayoutStacked_,
12588
- showPlaceholders_: () => !suggestions_response_.latest
12613
+ showPlaceholders_: () => !suggestions_response_.latest,
12614
+ imageResizer_: imageResizer_
12589
12615
  });
12590
12616
  }
12591
12617
  });
@@ -15958,6 +15984,7 @@ class $ddd39c5f36f49703$export$ac6237957a15b3f0 {
15958
15984
  display_transformers: display_transformers,
15959
15985
  api: api,
15960
15986
  searchModalComponent: searchModalComponent,
15987
+ imageResizer_: imageResizer_,
15961
15988
  // Stuff needed for non-standard customer deployments that we shouldn't actually expose
15962
15989
  disable_scrolling_during_modal = true,
15963
15990
  bottom_distance_under_modal: bottom_distance_under_modal,
@@ -16121,6 +16148,7 @@ class $ddd39c5f36f49703$export$ac6237957a15b3f0 {
16121
16148
  },
16122
16149
  i18n_: i18n_,
16123
16150
  enable_category_suggestions_: enable_category_suggestions,
16151
+ imageResizer_: imageResizer_,
16124
16152
  disable_scrolling_: disable_scrolling_during_modal,
16125
16153
  bottom_distance_under_modal_: bottom_distance_under_modal
16126
16154
  }, override_modal_element);
@@ -17031,7 +17059,8 @@ function $c10e33c4681f8c9b$export$e2bf8ce7779e827e(props) {
17031
17059
  product_card_template_: product_card_template,
17032
17060
  sorting_query_param_: sorting_query_param_,
17033
17061
  filter_query_param_prefix_: filter_query_param_prefix_,
17034
- switchToFiltersDrawerBreakpoint_: () => props.switchToFiltersDrawerBreakpoint_
17062
+ switchToFiltersDrawerBreakpoint_: () => props.switchToFiltersDrawerBreakpoint_,
17063
+ imageResizer_: props.imageResizer_
17035
17064
  });
17036
17065
  }, "Entire CategoryPage failed");
17037
17066
  }
package/ES10/index.d.ts CHANGED
@@ -11,7 +11,7 @@ import { GetListingRequest } from "@depict-ai/types/api/GetListingRequest";
11
11
  import { BaseSearchRequestV3 } from "@depict-ai/types/api/BaseSearchRequestV3";
12
12
  import { FeaturedInDisplay } from "@depict-ai/types/api/FeaturedInResponseV3";
13
13
  import { SearchFilter as _SearchFilter3 } from "@depict-ai/types/api/SearchRequestV2";
14
- export const version = "4.10.11";
14
+ export const version = "4.10.12";
15
15
  /**
16
16
  * Use `javascript_media_query` but return a reactive accessor instead of taking a callback function
17
17
  */
@@ -632,14 +632,19 @@ export function ShopifyContainedImage(props: {
632
632
  class?: string;
633
633
  imgProps?: Omit<Parameters<typeof ShopifyResponsiveImg>[0], "size" | "src">;
634
634
  }): HTMLDivElement;
635
+ export type ImageResizer = (url: string, width: number) => string;
635
636
  /**
636
637
  * Hacks ShopifyContainedImage work even for non-shopify image urls by forcing the format to be WebP
637
638
  */
638
- export function ModernResponsiveContainedImage(props: Parameters<typeof ShopifyContainedImage>[0]): import("solid-js").JSX.Element;
639
+ export function ModernResponsiveContainedImage(props: Parameters<typeof ShopifyContainedImage>[0] & {
640
+ imageResizer_?: ImageResizer;
641
+ }): import("solid-js").JSX.Element;
639
642
  /**
640
643
  * Wrapper around ShopifyResponsiveImg (component that just does an image, without wrapping in div). The wrapper allows ShopifyResponsiveImg to work both with shopify CDN URLs and arbitrary URLs, where the latter will be fed through Depict's cloudflare resizer.
641
644
  */
642
- export function ModernResponsiveImage(props: Parameters<typeof ShopifyResponsiveImg>[0]): import("solid-js").JSX.Element;
645
+ export function ModernResponsiveImage(props: Parameters<typeof ShopifyResponsiveImg>[0] & {
646
+ imageResizer_?: ImageResizer;
647
+ }): import("solid-js").JSX.Element;
643
648
  export function CrossIcon(props?: JSX.SvgSVGAttributes<SVGSVGElement>): SVGElement;
644
649
  /**
645
650
  * Symbol used to identify the version of a SearchModal function. Values right now: 1 = 1st gen classic modal, 2 = second gen modal
@@ -730,7 +735,8 @@ declare function RawSearchModalV2<InputDisplay extends Display, OutputDisplay ex
730
735
  sorting_query_param_,
731
736
  filter_query_param_prefix_,
732
737
  setSearchFieldOuterWidth_,
733
- forceUseDiv_
738
+ forceUseDiv_,
739
+ imageResizer_
734
740
  }: {
735
741
  search_field_value_: Signal<string>;
736
742
  get_search_query_: Accessor<string>;
@@ -767,6 +773,7 @@ declare function RawSearchModalV2<InputDisplay extends Display, OutputDisplay ex
767
773
  enable_category_suggestions_?: boolean;
768
774
  dont_sync_search_field_value_except_on_submit_?: boolean;
769
775
  content_search_enabled_: Accessor<boolean>;
776
+ imageResizer_?: ImageResizer;
770
777
  }): HTMLDivElement[];
771
778
  export const SearchModalV2: typeof RawSearchModalV2;
772
779
  /**
@@ -855,6 +862,13 @@ export type BaseProviderConfig<InputDisplay extends Display, PossibleTransformed
855
862
  * We recommend to just use an incrementing number for this, e.g. "1", "2", "3", ...
856
863
  */
857
864
  uniqueInstanceKeyForState?: string;
865
+ /**
866
+ * Optional function to override the default image resizing CDN. When provided, this function is called
867
+ * with the original image URL and desired width, and should return the resized image URL.
868
+ * By default, Depict uses Cloudflare's image resizer for non-Shopify images, and Shopify's built-in
869
+ * resizer for Shopify CDN images.
870
+ */
871
+ imageResizer?: (url: string, width: number) => string;
858
872
  } & (InputDisplay extends ModernDisplay ? "page_url" extends keyof InputDisplay["variant_displays"][number] ? {
859
873
  /**
860
874
  * Functions that take in a list of categories, content search results or products and then can transform or enrich the data for each category, content search result or product card in a batched way.
@@ -1150,7 +1164,8 @@ export function LookCard({
1150
1164
  placeholderImageAspectRatio_,
1151
1165
  animationDuration_,
1152
1166
  priceFormatting_,
1153
- pseudoRouter_
1167
+ pseudoRouter_,
1168
+ imageResizer_
1154
1169
  }: {
1155
1170
  display_: Accessor<FeaturedInDisplay | null>;
1156
1171
  FavoriteButton_?: (props: {
@@ -1161,6 +1176,7 @@ export function LookCard({
1161
1176
  expandedLooksSignal_: Signal<Set<symbol>>;
1162
1177
  priceFormatting_: Accessor<plp_shared_i18n["price_formatting_"]>;
1163
1178
  pseudoRouter_: PseudoRouter;
1179
+ imageResizer_?: ImageResizer;
1164
1180
  }): JSX.Element;
1165
1181
  /**
1166
1182
  * Render a grid with provided recommendations. displayTransformers will not be applied for this since you yourself provide the displays. Options are reactive.
@@ -1193,6 +1209,7 @@ export function LooksSliderOrGrid(props: {
1193
1209
  };
1194
1210
  onNavigation_?: OnNavigation;
1195
1211
  priceFormatting_: plp_shared_i18n["price_formatting_"];
1212
+ imageResizer_?: (url: string, width: number) => string;
1196
1213
  }): HTMLDivElement;
1197
1214
  export const prefixes_to_preserve_in_history_dot_state: Set<string>;
1198
1215
  /**
@@ -1427,6 +1444,7 @@ type GeneralConstructorOptions<InputDisplay extends Display, OutputDisplay exten
1427
1444
  enable_content_search?: boolean;
1428
1445
  unique_instance_key_for_state?: string;
1429
1446
  searchModalComponent: typeof SearchModalV2<InputDisplay, OutputDisplay> | typeof ClassicSearchModal;
1447
+ imageResizer_?: (url: string, width: number) => string;
1430
1448
  disable_scrolling_during_modal?: boolean;
1431
1449
  bottom_distance_under_modal?: Accessor<number | undefined>;
1432
1450
  override_modal_element?: HTMLElement | ShadowRoot;
@@ -1462,6 +1480,7 @@ export class DepictSearch<InputDisplay extends Display, OutputDisplay extends Mo
1462
1480
  display_transformers,
1463
1481
  api,
1464
1482
  searchModalComponent,
1483
+ imageResizer_,
1465
1484
  disable_scrolling_during_modal,
1466
1485
  bottom_distance_under_modal,
1467
1486
  override_modal_element,
@@ -1623,5 +1642,6 @@ export function CategoryPage<OriginalDisplay extends Display, OutputDisplay exte
1623
1642
  filterModalParent_?: HTMLElement | ShadowRoot;
1624
1643
  showSliderArrow_?: boolean;
1625
1644
  hideCount0FilterOptions_?: boolean;
1645
+ imageResizer_?: (url: string, width: number) => string;
1626
1646
  }): import("@depict-ai/utilishared/latest").Node_Array;
1627
1647
  export type { SearchFilter } from "@depict-ai/types/api/SearchRequestV3";