@depict-ai/ui 4.7.24 → 4.7.25

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
@@ -1,7 +1,7 @@
1
1
  var $gVhhF$depictaiutilishared = require("@depict-ai/utilishared/latest");
2
+ var $gVhhF$depictaiutilisharedlatest = require("@depict-ai/utilishared/latest");
2
3
  var $gVhhF$solidjs = require("solid-js");
3
4
  var $gVhhF$solidjsweb = require("solid-js/web");
4
- var $gVhhF$depictaiutilisharedlatest = require("@depict-ai/utilishared/latest");
5
5
  var $gVhhF$solidjsstore = require("solid-js/store");
6
6
  require("../multi_import_deduplicator.cjs").register_es_version("ui", "latest");
7
7
  function $parcel$export(e, n, v, s) {
@@ -12,13 +12,14 @@ function $parcel$export(e, n, v, s) {
12
12
  configurable: true
13
13
  });
14
14
  }
15
+ $parcel$export(module.exports, "useMobileHover", () => $8bf678c45948a297$export$d4d96868197be50e);
15
16
  $parcel$export(module.exports, "useVisibilityState", () => $55cbacb79d3e0cea$export$54299a3c81f5425);
16
17
  $parcel$export(module.exports, "useSlidableInformation", () => $a0e53f99354809d9$export$eaa625fb39439e37);
17
18
  $parcel$export(module.exports, "useProductCardIsVisible", () => $67155e1aeb7073f6$export$80bb7300ce6a8be3);
18
19
  $parcel$export(module.exports, "CurrentlyIntersectingContext", () => $67155e1aeb7073f6$export$f223d69ed12f5fb7);
19
20
  $parcel$export(module.exports, "useExpandingContainerReactive", () => $4b455f60dadde8b8$export$5bad61ecde080b1f);
20
21
  $parcel$export(module.exports, "LooksSliderOrGrid", () => $a3bbfa5fdaa39f3a$export$2c9f9bf2092486aa);
21
- $parcel$export(module.exports, "LookCard", () => $ad882bbe664dbd53$export$44809a8a3e867e30);
22
+ $parcel$export(module.exports, "LookCard", () => $bda357ff87c46163$export$44809a8a3e867e30);
22
23
  $parcel$export(module.exports, "PseudoRouter", () => $e96dd13889871fc0$export$7e1297a3a19f10d8);
23
24
  $parcel$export(module.exports, "promiseSafeStructuredClone", () => $ac946c6b782bb900$export$83bb9af5671e1dbe);
24
25
  $parcel$export(module.exports, "preserve_items_in_history_dot_state", () => $d84fe647b84b5dc5$export$5162a71f252e6122);
@@ -103,7 +104,68 @@ $parcel$export(module.exports, "BreadCrumbs", () => $1f4925833f07df29$export$5b7
103
104
  $parcel$export(module.exports, "QuickLinks", () => $1f4925833f07df29$export$de035477d6fef996);
104
105
  $parcel$export(module.exports, "CategoryPage", () => $14f289047713d67a$export$e2bf8ce7779e827e);
105
106
  /*! Depict.ai search and product listing SDK */
106
- const $b757f75811f3261f$export$83d89fbfd8236492 = "4.7.24";
107
+ const $b757f75811f3261f$export$83d89fbfd8236492 = "4.7.25";
108
+ let $8bf678c45948a297$var$elementsHoveredSignal;
109
+ let $8bf678c45948a297$var$consumersSignal;
110
+ function $8bf678c45948a297$export$d4d96868197be50e() {
111
+ if (!$8bf678c45948a297$var$elementsHoveredSignal || !$8bf678c45948a297$var$consumersSignal) $gVhhF$solidjs.createRoot(dispose => {
112
+ $8bf678c45948a297$var$elementsHoveredSignal = $gVhhF$solidjs.createSignal(new Set());
113
+ $8bf678c45948a297$var$consumersSignal = $gVhhF$solidjs.createSignal(0);
114
+ const [consumers] = $8bf678c45948a297$var$consumersSignal;
115
+ // No matter how often useMobileHover is called, only add one listener and get hovered elements once per touchmove event, for efficiency
116
+ $8bf678c45948a297$var$doHeavyCalculations();
117
+ $gVhhF$solidjs.createEffect(() => {
118
+ // No-one needs information anymore, stop listening
119
+ const users = consumers();
120
+ if (users < 1) {
121
+ $gVhhF$depictaiutilisharedlatest.dlog("Stopping to listen for mobile hover");
122
+ dispose();
123
+ $8bf678c45948a297$var$elementsHoveredSignal = undefined;
124
+ $8bf678c45948a297$var$consumersSignal = undefined;
125
+ }
126
+ });
127
+ });
128
+ const [elementsHovered] = $8bf678c45948a297$var$elementsHoveredSignal;
129
+ const [, setConsumers] = $8bf678c45948a297$var$consumersSignal;
130
+ setConsumers(prev => prev + 1);
131
+ $gVhhF$solidjs.onCleanup(() => setConsumers(prev => prev - 1));
132
+ return elementsHovered;
133
+ }
134
+ function $8bf678c45948a297$var$doHeavyCalculations() {
135
+ $gVhhF$depictaiutilisharedlatest.dlog("Starting to listen for mobile hover");
136
+ const [, setElementsHovered] = $8bf678c45948a297$var$elementsHoveredSignal;
137
+ const elementAtTouch = new Map();
138
+ const updateSet = () => setElementsHovered(new Set([...elementAtTouch.values()].filter(v => v)));
139
+ const setPositionHandler = $gVhhF$depictaiutilisharedlatest.catchify(evt => {
140
+ for (const touch of evt.changedTouches) elementAtTouch.set(touch.identifier, $8bf678c45948a297$var$getElementAtTouch(touch));
141
+ updateSet();
142
+ });
143
+ const deleteTouchHandler = $gVhhF$depictaiutilisharedlatest.catchify(evt => {
144
+ for (const touch of evt.changedTouches) elementAtTouch.delete(touch.identifier);
145
+ updateSet();
146
+ });
147
+ addEventListener("touchstart", setPositionHandler, {
148
+ passive: true
149
+ });
150
+ addEventListener("touchmove", setPositionHandler, {
151
+ passive: true
152
+ });
153
+ addEventListener("touchend", deleteTouchHandler, {
154
+ passive: true
155
+ });
156
+ addEventListener("touchcancel", deleteTouchHandler, {
157
+ passive: true
158
+ });
159
+ $gVhhF$solidjs.onCleanup(() => {
160
+ removeEventListener("touchstart", setPositionHandler);
161
+ removeEventListener("touchmove", setPositionHandler);
162
+ removeEventListener("touchend", deleteTouchHandler);
163
+ removeEventListener("touchcancel", deleteTouchHandler);
164
+ });
165
+ }
166
+ function $8bf678c45948a297$var$getElementAtTouch(touch) {
167
+ return document.elementFromPoint(touch.clientX, touch.clientY);
168
+ }
107
169
  function $55cbacb79d3e0cea$export$54299a3c81f5425() {
108
170
  const d = document;
109
171
  const [isVisible, setIsVisible] = $gVhhF$solidjs.createSignal(d.visibilityState !== "hidden");
@@ -1437,11 +1499,11 @@ function $d659702496cb72ea$export$a71e92cfbb498adc(props) {
1437
1499
  return $gVhhF$depictaiutilishared.standard_price_format(props.price_, price_formatting.places_after_comma_, price_formatting.decimal_places_delimiter_, price_formatting.thousands_delimiter_);
1438
1500
  });
1439
1501
  }
1440
- var $1ae437d7d388a66e$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class=img-wrapper>`),
1441
- $1ae437d7d388a66e$var$_tmpl$2 = /*#__PURE__*/$gVhhF$solidjsweb.template(`<span class="d-price original">`),
1442
- $1ae437d7d388a66e$var$_tmpl$3 = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class=right-part><div class=text-container><span class="d-title line-clamp"></span><span class=d-price></span><!$><!/></div><!$><!/>`),
1443
- $1ae437d7d388a66e$var$_tmpl$4 = /*#__PURE__*/$gVhhF$solidjsweb.template(`<a class=look-item><!$><!/><!$><!/>`);
1444
- function $1ae437d7d388a66e$export$b73ed90f0ee50dc3({
1502
+ var $0540c3739b32dc79$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class=img-wrapper>`),
1503
+ $0540c3739b32dc79$var$_tmpl$2 = /*#__PURE__*/$gVhhF$solidjsweb.template(`<span class="d-price original">`),
1504
+ $0540c3739b32dc79$var$_tmpl$3 = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class=right-part><div class=text-container><span class="d-title line-clamp"></span><span class=d-price></span><!$><!/></div><!$><!/>`),
1505
+ $0540c3739b32dc79$var$_tmpl$4 = /*#__PURE__*/$gVhhF$solidjsweb.template(`<a class=look-item><!$><!/><!$><!/>`);
1506
+ function $0540c3739b32dc79$export$b73ed90f0ee50dc3({
1445
1507
  display_: display_,
1446
1508
  FavoriteButton_: FavoriteButton_,
1447
1509
  userWantsExpandedSignal_: [userWantsExpanded, setUserWantsExpanded],
@@ -1467,7 +1529,7 @@ function $1ae437d7d388a66e$export$b73ed90f0ee50dc3({
1467
1529
  const FavoriteButton = FavoriteButton_; // Just to get rid of the type error - TS doesn't understand <Show>
1468
1530
  const title = $gVhhF$solidjs.createMemo(() => variantToUse()?.title);
1469
1531
  return (() => {
1470
- var _el$ = $gVhhF$solidjsweb.getNextElement($1ae437d7d388a66e$var$_tmpl$4),
1532
+ var _el$ = $gVhhF$solidjsweb.getNextElement($0540c3739b32dc79$var$_tmpl$4),
1471
1533
  _el$12 = _el$.firstChild,
1472
1534
  [_el$13, _co$3] = $gVhhF$solidjsweb.getNextMarker(_el$12.nextSibling),
1473
1535
  _el$14 = _el$13.nextSibling,
@@ -1500,7 +1562,7 @@ function $1ae437d7d388a66e$export$b73ed90f0ee50dc3({
1500
1562
  });
1501
1563
  },
1502
1564
  get children() {
1503
- var _el$2 = $gVhhF$solidjsweb.getNextElement($1ae437d7d388a66e$var$_tmpl$);
1565
+ var _el$2 = $gVhhF$solidjsweb.getNextElement($0540c3739b32dc79$var$_tmpl$);
1504
1566
  $gVhhF$solidjsweb.insert(_el$2, $gVhhF$solidjsweb.createComponent((0, $gVhhF$solidjs.Show), {
1505
1567
  get when() {
1506
1568
  return imageUrl();
@@ -1535,7 +1597,7 @@ function $1ae437d7d388a66e$export$b73ed90f0ee50dc3({
1535
1597
  return (animationEffectExists() ? isExpandedThrottledByOurEffectRun() : userWantsExpanded()) || animationIsRunning();
1536
1598
  },
1537
1599
  get children() {
1538
- var _el$3 = $gVhhF$solidjsweb.getNextElement($1ae437d7d388a66e$var$_tmpl$3),
1600
+ var _el$3 = $gVhhF$solidjsweb.getNextElement($0540c3739b32dc79$var$_tmpl$3),
1539
1601
  _el$4 = _el$3.firstChild,
1540
1602
  _el$5 = _el$4.firstChild,
1541
1603
  _el$6 = _el$5.nextSibling,
@@ -1615,7 +1677,7 @@ function $1ae437d7d388a66e$export$b73ed90f0ee50dc3({
1615
1677
  return isOnSale();
1616
1678
  },
1617
1679
  get children() {
1618
- var _el$7 = $gVhhF$solidjsweb.getNextElement($1ae437d7d388a66e$var$_tmpl$2);
1680
+ var _el$7 = $gVhhF$solidjsweb.getNextElement($0540c3739b32dc79$var$_tmpl$2);
1619
1681
  $gVhhF$solidjsweb.insert(_el$7, $gVhhF$solidjsweb.createComponent((0, $gVhhF$solidjs.Show), {
1620
1682
  get when() {
1621
1683
  return variantToUse() && !originalPrice.loading;
@@ -1714,8 +1776,8 @@ async function $4f38102efa525ee0$var$checkIfIsAffectedByChromeBug326498383() {
1714
1776
  }
1715
1777
  return isAffected;
1716
1778
  }
1717
- var $905010a06f9aeae5$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class=scroll-padding><div class=look-overlay>`);
1718
- function $905010a06f9aeae5$export$ebf0b1d4f90c09ae({
1779
+ var $912d9a717ceee184$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class=scroll-padding><div class=look-overlay>`);
1780
+ function $912d9a717ceee184$export$ebf0b1d4f90c09ae({
1719
1781
  displays_: displays_,
1720
1782
  FavoriteButton_: FavoriteButton_,
1721
1783
  userWantsExpandedSignal_: userWantsExpandedSignal_,
@@ -1734,6 +1796,7 @@ function $905010a06f9aeae5$export$ebf0b1d4f90c09ae({
1734
1796
  const textFadeInAnimationRunning = $gVhhF$solidjs.createSignal(false);
1735
1797
  const [getSecondPartAnimationRunning] = textFadeInAnimationRunning;
1736
1798
  const [userWantsExpanded, setUserWantsExpanded] = userWantsExpandedSignal_;
1799
+ //const elementsHovered = useMobileHover();
1737
1800
  $4f38102efa525ee0$export$7b9a0e99f0aeb2f3().then(is => isAffectedByChromeBug = is);
1738
1801
  return $gVhhF$solidjsweb.createComponent((0, $84798aaa863a4909$export$e68cff63f76bd15b), {
1739
1802
  get children() {
@@ -1742,21 +1805,37 @@ function $905010a06f9aeae5$export$ebf0b1d4f90c09ae({
1742
1805
  return containerWidth_() || !displays_();
1743
1806
  },
1744
1807
  get children() {
1745
- var _el$ = $gVhhF$solidjsweb.getNextElement($905010a06f9aeae5$var$_tmpl$),
1808
+ var _el$ = $gVhhF$solidjsweb.getNextElement($912d9a717ceee184$var$_tmpl$),
1746
1809
  _el$2 = _el$.firstChild;
1747
1810
  $gVhhF$solidjsweb.addEventListener(_el$2, "mouseleave", $gVhhF$depictaiutilishared.catchify(() => supportsHover_() && setUserWantsExpanded(false)));
1748
1811
  $gVhhF$solidjsweb.addEventListener(_el$2, "mouseenter", $gVhhF$depictaiutilishared.catchify(() => supportsHover_() && setUserWantsExpanded(true)));
1749
- $gVhhF$solidjsweb.use(el => $gVhhF$solidjs.createEffect(() => {
1750
- if (userWantsExpanded()) return;
1751
- if (isAffectedByChromeBug) {
1752
- $905010a06f9aeae5$var$scrollingFunctionForChrome(el, 0, animationDuration_);
1753
- return;
1754
- }
1755
- el.scrollTo({
1756
- top: 0,
1757
- behavior: "smooth"
1812
+ $gVhhF$solidjsweb.use(el => {
1813
+ $gVhhF$solidjs.createEffect(() => {
1814
+ if (userWantsExpanded()) return;
1815
+ if (isAffectedByChromeBug) {
1816
+ $912d9a717ceee184$var$scrollingFunctionForChrome(el, 0, animationDuration_);
1817
+ return;
1818
+ }
1819
+ el.scrollTo({
1820
+ top: 0,
1821
+ behavior: "smooth"
1822
+ });
1758
1823
  });
1759
- }), _el$2);
1824
+ // createEffect(wasOpenedByHover => {
1825
+ // if (supportsHover_()) return;
1826
+ // const hovered = elementsHovered();
1827
+ // checkHovered: {
1828
+ // if (hovered.has(el)) break checkHovered;
1829
+ // for (const element of hovered) {
1830
+ // if (el.contains(element)) break checkHovered;
1831
+ // }
1832
+ // if (wasOpenedByHover) setUserWantsExpanded(false);
1833
+ // return;
1834
+ // }
1835
+ // setUserWantsExpanded(true);
1836
+ // return true;
1837
+ // });
1838
+ }, _el$2);
1760
1839
  $gVhhF$solidjsweb.insert(_el$2, $gVhhF$solidjsweb.createComponent((0, $gVhhF$solidjs.Index), {
1761
1840
  get each() {
1762
1841
  return displays_() || Array.from({
@@ -1764,7 +1843,7 @@ function $905010a06f9aeae5$export$ebf0b1d4f90c09ae({
1764
1843
  });
1765
1844
  },
1766
1845
  children: (display, index) => {
1767
- return $gVhhF$solidjsweb.createComponent((0, $1ae437d7d388a66e$export$b73ed90f0ee50dc3), {
1846
+ return $gVhhF$solidjsweb.createComponent((0, $0540c3739b32dc79$export$b73ed90f0ee50dc3), {
1768
1847
  pseudoRouter_: pseudoRouter_,
1769
1848
  animationDuration_: animationDuration_,
1770
1849
  display_: display,
@@ -1805,7 +1884,7 @@ function $905010a06f9aeae5$export$ebf0b1d4f90c09ae({
1805
1884
  /**
1806
1885
  * Workaround for Chrome bug 326498383, adapted version of https://stackoverflow.com/a/39494245
1807
1886
  */
1808
- function $905010a06f9aeae5$var$scrollingFunctionForChrome(element, targetScrollY, duration) {
1887
+ function $912d9a717ceee184$var$scrollingFunctionForChrome(element, targetScrollY, duration) {
1809
1888
  let start;
1810
1889
  const startingY = element.scrollTop;
1811
1890
  const diff = targetScrollY - startingY;
@@ -1822,8 +1901,8 @@ function $905010a06f9aeae5$var$scrollingFunctionForChrome(element, targetScrollY
1822
1901
  // Bootstrap our animation - it will get called right before next frame shall be rendered.
1823
1902
  requestAnimationFrame(step);
1824
1903
  }
1825
- var $ad882bbe664dbd53$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class=look-card><!$><!/><!$><!/>`);
1826
- function $ad882bbe664dbd53$export$44809a8a3e867e30({
1904
+ var $bda357ff87c46163$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class=look-card><!$><!/><!$><!/>`);
1905
+ function $bda357ff87c46163$export$44809a8a3e867e30({
1827
1906
  display_: display_,
1828
1907
  expandedLooksSignal_: [expandedLooks_, setExpandedLooks],
1829
1908
  FavoriteButton_: FavoriteButton_,
@@ -1880,7 +1959,7 @@ function $ad882bbe664dbd53$export$44809a8a3e867e30({
1880
1959
  // Close us if another look expands
1881
1960
  $gVhhF$solidjs.createEffect(() => !expandedLooks_().has(us) && setUserWantsExpanded(false));
1882
1961
  return (() => {
1883
- var _el$ = $gVhhF$solidjsweb.getNextElement($ad882bbe664dbd53$var$_tmpl$),
1962
+ var _el$ = $gVhhF$solidjsweb.getNextElement($bda357ff87c46163$var$_tmpl$),
1884
1963
  _el$2 = _el$.firstChild,
1885
1964
  [_el$3, _co$] = $gVhhF$solidjsweb.getNextMarker(_el$2.nextSibling),
1886
1965
  _el$4 = _el$3.nextSibling,
@@ -1920,7 +1999,7 @@ function $ad882bbe664dbd53$export$44809a8a3e867e30({
1920
1999
  });
1921
2000
  }
1922
2001
  }), _el$3, _co$);
1923
- $gVhhF$solidjsweb.insert(_el$, $gVhhF$solidjsweb.createComponent((0, $905010a06f9aeae5$export$ebf0b1d4f90c09ae), {
2002
+ $gVhhF$solidjsweb.insert(_el$, $gVhhF$solidjsweb.createComponent((0, $912d9a717ceee184$export$ebf0b1d4f90c09ae), {
1924
2003
  displays_: () => display_()?.displays,
1925
2004
  userWantsExpandedSignal_: useWantsExpandedSignal_,
1926
2005
  containerWidth_: containerWidth_,
@@ -2198,7 +2277,7 @@ function $a3bbfa5fdaa39f3a$export$2c9f9bf2092486aa(props) {
2198
2277
  return $a3bbfa5fdaa39f3a$var$runDisplayTransformersForLooks(baseData, listings, props.displayTransformers_);
2199
2278
  });
2200
2279
  const sharedOptions = {
2201
- product_card_template_: display => $ad882bbe664dbd53$export$44809a8a3e867e30({
2280
+ product_card_template_: display => $bda357ff87c46163$export$44809a8a3e867e30({
2202
2281
  display_: () => display,
2203
2282
  FavoriteButton_: props.FavoriteButton_,
2204
2283
  placeholderImageAspectRatio_: props.imagePlaceholderAspectRatio_,
@@ -2856,7 +2935,7 @@ function $ce4b5b99c8b2b34e$export$a146ac6fa8346a25({
2856
2935
  ev.preventDefault();
2857
2936
  submit_query_(item());
2858
2937
  })), _el$4);
2859
- $gVhhF$solidjsweb.addEventListener(_el$4, "mouseleave", $gVhhF$depictaiutilishared.catchify(() => write_selected_index_(undefined)));
2938
+ $gVhhF$solidjsweb.addEventListener(_el$4, "mouseleave", $gVhhF$depictaiutilishared.catchify(() => write_selected_index_()));
2860
2939
  $gVhhF$solidjsweb.addEventListener(_el$4, "mouseenter", $gVhhF$depictaiutilishared.catchify(() => write_selected_index_([0, index])));
2861
2940
  $gVhhF$solidjsweb.insert(_el$5, $gVhhF$solidjsweb.createComponent((0, $9e30168c4b1661d2$export$5d2caaa6b530761c), {}), _el$8, _co$);
2862
2941
  $gVhhF$solidjsweb.insert(_el$6, item);
package/latest/index.d.ts CHANGED
@@ -11,7 +11,11 @@ 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.7.24";
14
+ export const version = "4.7.25";
15
+ /**
16
+ * Returns a set containing the element under every finger touching the screen right now.
17
+ */
18
+ export function useMobileHover(): import("solid-js").Accessor<Set<Element>>;
15
19
  /**
16
20
  * Returns if the current tab is visible
17
21
  */