@depict-ai/ui 4.3.3 → 4.3.4

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/latest/index.cjs CHANGED
@@ -12,7 +12,7 @@ function $parcel$export(e, n, v, s) {
12
12
  configurable: true
13
13
  });
14
14
  }
15
- $parcel$export(module.exports, "LooksSlider", () => $072863633018e322$export$1935e6bdfc5ed8ce);
15
+ $parcel$export(module.exports, "LooksSlider", () => $a3bbfa5fdaa39f3a$export$2c9f9bf2092486aa);
16
16
  $parcel$export(module.exports, "promiseSafeStructuredClone", () => $ac946c6b782bb900$export$83bb9af5671e1dbe);
17
17
  $parcel$export(module.exports, "preserve_items_in_history_dot_state", () => $d84fe647b84b5dc5$export$5162a71f252e6122);
18
18
  $parcel$export(module.exports, "prefixes_to_preserve_in_history_dot_state", () => $d84fe647b84b5dc5$export$3064e1e8c6513da3);
@@ -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.3";
97
+ const $b757f75811f3261f$export$83d89fbfd8236492 = "4.3.4";
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++) {
@@ -1856,11 +1856,100 @@ class $e96dd13889871fc0$export$7e1297a3a19f10d8 {
1856
1856
  this.on_navigation_ = on_navigation;
1857
1857
  }
1858
1858
  }
1859
- var $072863633018e322$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class="depict recommendations looks"style=--animation-duration:240ms>`);
1860
- let $072863633018e322$var$expandedLooksSignal_;
1861
- function $072863633018e322$export$1935e6bdfc5ed8ce(props) {
1859
+ var $b8e79813f4f7ebe4$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<button class="show-more major"type=button>`),
1860
+ $b8e79813f4f7ebe4$var$_tmpl$2 = /*#__PURE__*/$gVhhF$solidjsweb.template(`<h2 class=recs-title>`),
1861
+ $b8e79813f4f7ebe4$var$_tmpl$3 = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class=recommendation-grid><!$><!/><!$><!/>`);
1862
+ function $b8e79813f4f7ebe4$export$7da560f849543dff({
1863
+ recommendations_resource_: recommendations_resource_,
1864
+ product_card_template_: product_card_template_,
1865
+ layout_options_: layout_options_,
1866
+ title_: title_,
1867
+ max_rows_: max_rows_,
1868
+ view_more_button_: view_more_button_
1869
+ }) {
1870
+ const rows_object_ = $gVhhF$solidjs.createMemo(() => {
1871
+ const view_more_button = view_more_button_?.();
1872
+ const max_rows = max_rows_?.();
1873
+ if (!view_more_button) {
1874
+ if (max_rows) return {
1875
+ max_rows: max_rows
1876
+ };
1877
+ return "all";
1878
+ }
1879
+ return {
1880
+ max_rows: max_rows,
1881
+ start_rows: view_more_button.start_rows,
1882
+ rows_per_click: view_more_button.rows_per_click ?? 2,
1883
+ button: (() => {
1884
+ var _el$ = $gVhhF$solidjsweb.getNextElement($b8e79813f4f7ebe4$var$_tmpl$);
1885
+ $gVhhF$solidjsweb.insert(_el$, () => view_more_button.text);
1886
+ return _el$;
1887
+ })()
1888
+ };
1889
+ });
1890
+ const is_showing_something = $gVhhF$solidjs.createMemo(() => recommendations_resource_.loading || recommendations_resource_()?.length);
1891
+ const title = $gVhhF$solidjs.createMemo(() => title_?.()); // In case getter/accessor creates elements, don't create them twice
1892
+ const num_placeholders_ = () => 20;
1893
+ const elements = [$gVhhF$solidjsweb.createComponent((0, $gVhhF$solidjs.Show), {
1894
+ get when() {
1895
+ return title();
1896
+ },
1897
+ get children() {
1898
+ var _el$2 = $gVhhF$solidjsweb.getNextElement($b8e79813f4f7ebe4$var$_tmpl$2);
1899
+ $gVhhF$solidjsweb.insert(_el$2, title);
1900
+ return _el$2;
1901
+ }
1902
+ }), (() => {
1903
+ var _el$3 = $gVhhF$solidjsweb.getNextElement($b8e79813f4f7ebe4$var$_tmpl$3),
1904
+ _el$4 = _el$3.firstChild,
1905
+ [_el$5, _co$] = $gVhhF$solidjsweb.getNextMarker(_el$4.nextSibling),
1906
+ _el$6 = _el$5.nextSibling,
1907
+ [_el$7, _co$2] = $gVhhF$solidjsweb.getNextMarker(_el$6.nextSibling);
1908
+ $gVhhF$solidjsweb.insert(_el$3, (0, $fc23d7668ae0011d$export$a2cc176055f8f08), _el$5, _co$);
1909
+ $gVhhF$solidjsweb.insert(_el$3, $gVhhF$solidjsweb.createComponent((0, $f48d0fbb00835aaa$export$d21e32dfedac04be), $gVhhF$solidjsweb.mergeProps({
1910
+ get rows() {
1911
+ return rows_object_();
1912
+ },
1913
+ layout: "grid",
1914
+ element_attributes: {
1915
+ class: "cards"
1916
+ }
1917
+ }, layout_options_, {
1918
+ get children() {
1919
+ return $gVhhF$solidjsweb.createComponent((0, $gVhhF$solidjs.Suspense), {
1920
+ get fallback() {
1921
+ return $0caf87eaa19079da$export$f33414a4df0afd3f({
1922
+ num_placeholders_: num_placeholders_,
1923
+ product_card_template_: product_card_template_
1924
+ });
1925
+ },
1926
+ get children() {
1927
+ return (() => {
1928
+ // IIFE to make sure we access both the recommendations_resource and the resources containing the product card rendering results themselves within the Suspense boundary
1929
+ const displays_by_key_ = $a73063cc642f3e5f$export$7f8bd308237ab5a5($gVhhF$solidjs.createMemo(() => recommendations_resource_() || []));
1930
+ return $a73063cc642f3e5f$export$43f0fb951fcb0c54({
1931
+ displays_by_key_: displays_by_key_,
1932
+ product_card_template_: product_card_template_
1933
+ });
1934
+ })();
1935
+ }
1936
+ });
1937
+ }
1938
+ })), _el$7, _co$2);
1939
+ return _el$3;
1940
+ })()];
1941
+ return $gVhhF$solidjsweb.createComponent((0, $gVhhF$solidjs.Show), {
1942
+ get when() {
1943
+ return is_showing_something();
1944
+ },
1945
+ children: elements
1946
+ });
1947
+ }
1948
+ var $a3bbfa5fdaa39f3a$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class="depict recommendations looks"style=--animation-duration:240ms>`);
1949
+ let $a3bbfa5fdaa39f3a$var$expandedLooksSignal_;
1950
+ function $a3bbfa5fdaa39f3a$export$2c9f9bf2092486aa(props) {
1862
1951
  return $95837413165cc2df$export$23fca46f3143581f(() => {
1863
- $072863633018e322$var$expandedLooksSignal_ ||= $gVhhF$solidjs.createSignal(new Set(), {
1952
+ $a3bbfa5fdaa39f3a$var$expandedLooksSignal_ ||= $gVhhF$solidjs.createSignal(new Set(), {
1864
1953
  equals: false
1865
1954
  });
1866
1955
  const expandingAnimationDuration = 240;
@@ -1900,8 +1989,25 @@ function $072863633018e322$export$1935e6bdfc5ed8ce(props) {
1900
1989
  market: market,
1901
1990
  locale: locale
1902
1991
  };
1903
- return $072863633018e322$var$runDisplayTransformersForLooks(baseData, listings, props.displayTransformers_);
1992
+ return $a3bbfa5fdaa39f3a$var$runDisplayTransformersForLooks(baseData, listings, props.displayTransformers_);
1904
1993
  });
1994
+ const sharedOptions = {
1995
+ product_card_template_: display => $ad882bbe664dbd53$export$44809a8a3e867e30({
1996
+ display_: display,
1997
+ FavoriteButton_: props.FavoriteButton_,
1998
+ placeholderImageAspectRatio_: props.imagePlaceholderAspectRatio_,
1999
+ animationDuration_: expandingAnimationDuration,
2000
+ expandedLooksSignal_: $a3bbfa5fdaa39f3a$var$expandedLooksSignal_,
2001
+ priceFormatting_: () => props.priceFormatting_,
2002
+ pseudoRouter_: pseudoRouter
2003
+ }),
2004
+ recommendations_resource_: looksResource,
2005
+ title_: () => props.title_,
2006
+ layout_options_: $gVhhF$solidjs.createMemo(() => ({
2007
+ cols_at_size: $4e04be41243c3d80$export$6daf8749b65a1b77(props.columnsAtSize_),
2008
+ ...grid_spacing_override()
2009
+ }))
2010
+ };
1905
2011
  $gVhhF$solidjs.createEffect(() => {
1906
2012
  const {
1907
2013
  onNavigation_: onNavigation_
@@ -1909,25 +2015,19 @@ function $072863633018e322$export$1935e6bdfc5ed8ce(props) {
1909
2015
  if (onNavigation_) pseudoRouter.on_navigation_ = onNavigation_;
1910
2016
  });
1911
2017
  return (() => {
1912
- var _el$ = $gVhhF$solidjsweb.getNextElement($072863633018e322$var$_tmpl$);
2018
+ var _el$ = $gVhhF$solidjsweb.getNextElement($a3bbfa5fdaa39f3a$var$_tmpl$);
1913
2019
  $gVhhF$solidjsweb.insert(_el$, $gVhhF$solidjsweb.createComponent((0, $84798aaa863a4909$export$e68cff63f76bd15b), {
1914
2020
  get children() {
1915
- return $363ce4d1d71041aa$export$d41d19e89346fa2({
1916
- product_card_template_: display => $ad882bbe664dbd53$export$44809a8a3e867e30({
1917
- display_: display,
1918
- FavoriteButton_: props.FavoriteButton_,
1919
- placeholderImageAspectRatio_: props.imagePlaceholderAspectRatio_,
1920
- animationDuration_: expandingAnimationDuration,
1921
- expandedLooksSignal_: $072863633018e322$var$expandedLooksSignal_,
1922
- priceFormatting_: () => props.priceFormatting_,
1923
- pseudoRouter_: pseudoRouter
1924
- }),
1925
- recommendations_resource_: looksResource,
1926
- title_: () => props.title_,
1927
- layout_options_: $gVhhF$solidjs.createMemo(() => ({
1928
- cols_at_size: $4e04be41243c3d80$export$6daf8749b65a1b77(props.columnsAtSize_),
1929
- ...grid_spacing_override()
1930
- }))
2021
+ return $gVhhF$solidjsweb.createComponent((0, $gVhhF$solidjs.Show), {
2022
+ get when() {
2023
+ return props.gridOptions_;
2024
+ },
2025
+ get fallback() {
2026
+ return $gVhhF$solidjsweb.createComponent((0, $363ce4d1d71041aa$export$d41d19e89346fa2), sharedOptions);
2027
+ },
2028
+ get children() {
2029
+ return $gVhhF$solidjsweb.createComponent((0, $b8e79813f4f7ebe4$export$7da560f849543dff), $gVhhF$solidjsweb.mergeProps(sharedOptions, () => props.gridOptions_));
2030
+ }
1931
2031
  });
1932
2032
  }
1933
2033
  }));
@@ -1935,7 +2035,7 @@ function $072863633018e322$export$1935e6bdfc5ed8ce(props) {
1935
2035
  })();
1936
2036
  }, "LookSlider failed");
1937
2037
  }
1938
- async function $072863633018e322$var$runDisplayTransformersForLooks(baseData, listings, displayTransformers) {
2038
+ async function $a3bbfa5fdaa39f3a$var$runDisplayTransformersForLooks(baseData, listings, displayTransformers) {
1939
2039
  try {
1940
2040
  const {
1941
2041
  products: productTransformer,
@@ -5346,99 +5446,9 @@ const $0b23bfd073d9a4e8$export$b91cec6bdc6b32a1 = /*@__PURE__*/(() => {
5346
5446
  const $a3280f0aad997933$export$c3834fa86c616831 = [[4], [3, 1024], [2, 901]];
5347
5447
  const $a3280f0aad997933$export$864d304a0bc46829 = "2%";
5348
5448
  const $a3280f0aad997933$export$7bf543b9d9be2c22 = (0, $0b23bfd073d9a4e8$export$b91cec6bdc6b32a1);
5349
- var $b8e79813f4f7ebe4$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<h2 class=recs-title>`),
5350
- $b8e79813f4f7ebe4$var$_tmpl$2 = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class=recommendation-grid><!$><!/><!$><!/>`);
5351
- function $b8e79813f4f7ebe4$export$7da560f849543dff({
5352
- recommendations_resource_: recommendations_resource_,
5353
- product_card_template_: product_card_template_,
5354
- layout_options_: layout_options_,
5355
- rows_object_: rows_object_,
5356
- title_: title_
5357
- }) {
5358
- const is_showing_something = $gVhhF$solidjs.createMemo(() => recommendations_resource_.loading || recommendations_resource_()?.length);
5359
- const title = $gVhhF$solidjs.createMemo(() => title_?.()); // In case getter/accessor creates elements, don't create them twice
5360
- const num_placeholders_ = () => 20;
5361
- const elements = [$gVhhF$solidjsweb.createComponent((0, $gVhhF$solidjs.Show), {
5362
- get when() {
5363
- return title();
5364
- },
5365
- get children() {
5366
- var _el$ = $gVhhF$solidjsweb.getNextElement($b8e79813f4f7ebe4$var$_tmpl$);
5367
- $gVhhF$solidjsweb.insert(_el$, title);
5368
- return _el$;
5369
- }
5370
- }), (() => {
5371
- var _el$2 = $gVhhF$solidjsweb.getNextElement($b8e79813f4f7ebe4$var$_tmpl$2),
5372
- _el$3 = _el$2.firstChild,
5373
- [_el$4, _co$] = $gVhhF$solidjsweb.getNextMarker(_el$3.nextSibling),
5374
- _el$5 = _el$4.nextSibling,
5375
- [_el$6, _co$2] = $gVhhF$solidjsweb.getNextMarker(_el$5.nextSibling);
5376
- $gVhhF$solidjsweb.insert(_el$2, (0, $fc23d7668ae0011d$export$a2cc176055f8f08), _el$4, _co$);
5377
- $gVhhF$solidjsweb.insert(_el$2, $gVhhF$solidjsweb.createComponent((0, $f48d0fbb00835aaa$export$d21e32dfedac04be), $gVhhF$solidjsweb.mergeProps({
5378
- get rows() {
5379
- return rows_object_();
5380
- },
5381
- layout: "grid",
5382
- element_attributes: {
5383
- class: "cards"
5384
- }
5385
- }, layout_options_, {
5386
- get children() {
5387
- return $gVhhF$solidjsweb.createComponent((0, $gVhhF$solidjs.Suspense), {
5388
- get fallback() {
5389
- return $0caf87eaa19079da$export$f33414a4df0afd3f({
5390
- num_placeholders_: num_placeholders_,
5391
- product_card_template_: product_card_template_
5392
- });
5393
- },
5394
- get children() {
5395
- return (() => {
5396
- // IIFE to make sure we access both the recommendations_resource and the resources containing the product card rendering results themselves within the Suspense boundary
5397
- const displays_by_key_ = $a73063cc642f3e5f$export$7f8bd308237ab5a5($gVhhF$solidjs.createMemo(() => recommendations_resource_() || []));
5398
- return $a73063cc642f3e5f$export$43f0fb951fcb0c54({
5399
- displays_by_key_: displays_by_key_,
5400
- product_card_template_: product_card_template_
5401
- });
5402
- })();
5403
- }
5404
- });
5405
- }
5406
- })), _el$6, _co$2);
5407
- return _el$2;
5408
- })()];
5409
- return $gVhhF$solidjsweb.createComponent((0, $gVhhF$solidjs.Show), {
5410
- get when() {
5411
- return is_showing_something();
5412
- },
5413
- children: elements
5414
- });
5415
- }
5416
- var $1f8dbf7e28b3eff2$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<button class="show-more major"type=button>`),
5417
- $1f8dbf7e28b3eff2$var$_tmpl$2 = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class="depict plp recommendations">`);
5449
+ var $1f8dbf7e28b3eff2$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class="depict plp recommendations">`);
5418
5450
  function $1f8dbf7e28b3eff2$export$9756467d34d91cdb(props) {
5419
5451
  return $95837413165cc2df$export$23fca46f3143581f(() => {
5420
- const rows_object_ = $gVhhF$solidjs.createMemo(() => {
5421
- const {
5422
- view_more_button: view_more_button,
5423
- max_rows: max_rows
5424
- } = props;
5425
- if (!view_more_button) {
5426
- if (max_rows) return {
5427
- max_rows: max_rows
5428
- };
5429
- return "all";
5430
- }
5431
- return {
5432
- max_rows: max_rows,
5433
- start_rows: view_more_button.start_rows,
5434
- rows_per_click: view_more_button.rows_per_click ?? 2,
5435
- button: (() => {
5436
- var _el$ = $gVhhF$solidjsweb.getNextElement($1f8dbf7e28b3eff2$var$_tmpl$);
5437
- $gVhhF$solidjsweb.insert(_el$, () => view_more_button.text);
5438
- return _el$;
5439
- })()
5440
- };
5441
- });
5442
5452
  const grid_spacing_override = $gVhhF$solidjs.createMemo(() => {
5443
5453
  const {
5444
5454
  grid_spacing: grid_spacing
@@ -5452,11 +5462,12 @@ function $1f8dbf7e28b3eff2$export$9756467d34d91cdb(props) {
5452
5462
  });
5453
5463
  const [recommendations_resource_] = $gVhhF$solidjs.createResource(() => props.recommendations, recs => recs);
5454
5464
  return (() => {
5455
- var _el$2 = $gVhhF$solidjsweb.getNextElement($1f8dbf7e28b3eff2$var$_tmpl$2);
5456
- $gVhhF$solidjsweb.insert(_el$2, $gVhhF$solidjsweb.createComponent((0, $84798aaa863a4909$export$e68cff63f76bd15b), {
5465
+ var _el$ = $gVhhF$solidjsweb.getNextElement($1f8dbf7e28b3eff2$var$_tmpl$);
5466
+ $gVhhF$solidjsweb.insert(_el$, $gVhhF$solidjsweb.createComponent((0, $84798aaa863a4909$export$e68cff63f76bd15b), {
5457
5467
  get children() {
5458
5468
  return $b8e79813f4f7ebe4$export$7da560f849543dff({
5459
- rows_object_: rows_object_,
5469
+ max_rows_: () => props.max_rows,
5470
+ view_more_button_: () => props.view_more_button,
5460
5471
  product_card_template_: (...args) => props.product_card_template(...args),
5461
5472
  recommendations_resource_: recommendations_resource_,
5462
5473
  title_: () => props.title,
@@ -5467,7 +5478,7 @@ function $1f8dbf7e28b3eff2$export$9756467d34d91cdb(props) {
5467
5478
  });
5468
5479
  }
5469
5480
  }));
5470
- return _el$2;
5481
+ return _el$;
5471
5482
  })();
5472
5483
  }, "RecommendationGrid failed");
5473
5484
  }
package/latest/index.d.ts CHANGED
@@ -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.3";
13
+ export const version = "4.3.4";
14
14
  declare const LISTING_ID = "listingId";
15
15
  declare const EXTERNAL_ID = "externalId";
16
16
  type ScrollRestorationData = {
@@ -877,6 +877,17 @@ export function LooksSlider(props: {
877
877
  display_: Accessor<ModernDisplay | null | undefined>;
878
878
  }) => JSX.Element;
879
879
  displayTransformers_?: DisplayTransformers<ModernDisplay, ModernDisplayWithPageUrl<ModernDisplay>>;
880
+ /**
881
+ * If provided, will render as grid instead of slider
882
+ */
883
+ gridOptions_?: {
884
+ view_more_button?: {
885
+ text: string;
886
+ start_rows?: number;
887
+ rows_per_click?: number;
888
+ };
889
+ max_rows?: number;
890
+ };
880
891
  onNavigation_?: OnNavigation;
881
892
  priceFormatting_: plp_shared_i18n["price_formatting_"];
882
893
  }): HTMLDivElement;