@depict-ai/ui 4.7.24 → 4.7.26

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,61 @@ $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.26";
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, document.elementFromPoint(touch.clientX, touch.clientY));
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("touchend", deleteTouchHandler, {
151
+ passive: true
152
+ });
153
+ addEventListener("touchcancel", deleteTouchHandler, {
154
+ passive: true
155
+ });
156
+ $gVhhF$solidjs.onCleanup(() => {
157
+ removeEventListener("touchstart", setPositionHandler);
158
+ removeEventListener("touchend", deleteTouchHandler);
159
+ removeEventListener("touchcancel", deleteTouchHandler);
160
+ });
161
+ }
107
162
  function $55cbacb79d3e0cea$export$54299a3c81f5425() {
108
163
  const d = document;
109
164
  const [isVisible, setIsVisible] = $gVhhF$solidjs.createSignal(d.visibilityState !== "hidden");
@@ -1437,11 +1492,11 @@ function $d659702496cb72ea$export$a71e92cfbb498adc(props) {
1437
1492
  return $gVhhF$depictaiutilishared.standard_price_format(props.price_, price_formatting.places_after_comma_, price_formatting.decimal_places_delimiter_, price_formatting.thousands_delimiter_);
1438
1493
  });
1439
1494
  }
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({
1495
+ var $0540c3739b32dc79$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class=img-wrapper>`),
1496
+ $0540c3739b32dc79$var$_tmpl$2 = /*#__PURE__*/$gVhhF$solidjsweb.template(`<span class="d-price original">`),
1497
+ $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><!$><!/>`),
1498
+ $0540c3739b32dc79$var$_tmpl$4 = /*#__PURE__*/$gVhhF$solidjsweb.template(`<a class=look-item><!$><!/><!$><!/>`);
1499
+ function $0540c3739b32dc79$export$b73ed90f0ee50dc3({
1445
1500
  display_: display_,
1446
1501
  FavoriteButton_: FavoriteButton_,
1447
1502
  userWantsExpandedSignal_: [userWantsExpanded, setUserWantsExpanded],
@@ -1467,7 +1522,7 @@ function $1ae437d7d388a66e$export$b73ed90f0ee50dc3({
1467
1522
  const FavoriteButton = FavoriteButton_; // Just to get rid of the type error - TS doesn't understand <Show>
1468
1523
  const title = $gVhhF$solidjs.createMemo(() => variantToUse()?.title);
1469
1524
  return (() => {
1470
- var _el$ = $gVhhF$solidjsweb.getNextElement($1ae437d7d388a66e$var$_tmpl$4),
1525
+ var _el$ = $gVhhF$solidjsweb.getNextElement($0540c3739b32dc79$var$_tmpl$4),
1471
1526
  _el$12 = _el$.firstChild,
1472
1527
  [_el$13, _co$3] = $gVhhF$solidjsweb.getNextMarker(_el$12.nextSibling),
1473
1528
  _el$14 = _el$13.nextSibling,
@@ -1500,7 +1555,7 @@ function $1ae437d7d388a66e$export$b73ed90f0ee50dc3({
1500
1555
  });
1501
1556
  },
1502
1557
  get children() {
1503
- var _el$2 = $gVhhF$solidjsweb.getNextElement($1ae437d7d388a66e$var$_tmpl$);
1558
+ var _el$2 = $gVhhF$solidjsweb.getNextElement($0540c3739b32dc79$var$_tmpl$);
1504
1559
  $gVhhF$solidjsweb.insert(_el$2, $gVhhF$solidjsweb.createComponent((0, $gVhhF$solidjs.Show), {
1505
1560
  get when() {
1506
1561
  return imageUrl();
@@ -1535,7 +1590,7 @@ function $1ae437d7d388a66e$export$b73ed90f0ee50dc3({
1535
1590
  return (animationEffectExists() ? isExpandedThrottledByOurEffectRun() : userWantsExpanded()) || animationIsRunning();
1536
1591
  },
1537
1592
  get children() {
1538
- var _el$3 = $gVhhF$solidjsweb.getNextElement($1ae437d7d388a66e$var$_tmpl$3),
1593
+ var _el$3 = $gVhhF$solidjsweb.getNextElement($0540c3739b32dc79$var$_tmpl$3),
1539
1594
  _el$4 = _el$3.firstChild,
1540
1595
  _el$5 = _el$4.firstChild,
1541
1596
  _el$6 = _el$5.nextSibling,
@@ -1615,7 +1670,7 @@ function $1ae437d7d388a66e$export$b73ed90f0ee50dc3({
1615
1670
  return isOnSale();
1616
1671
  },
1617
1672
  get children() {
1618
- var _el$7 = $gVhhF$solidjsweb.getNextElement($1ae437d7d388a66e$var$_tmpl$2);
1673
+ var _el$7 = $gVhhF$solidjsweb.getNextElement($0540c3739b32dc79$var$_tmpl$2);
1619
1674
  $gVhhF$solidjsweb.insert(_el$7, $gVhhF$solidjsweb.createComponent((0, $gVhhF$solidjs.Show), {
1620
1675
  get when() {
1621
1676
  return variantToUse() && !originalPrice.loading;
@@ -1714,8 +1769,8 @@ async function $4f38102efa525ee0$var$checkIfIsAffectedByChromeBug326498383() {
1714
1769
  }
1715
1770
  return isAffected;
1716
1771
  }
1717
- var $905010a06f9aeae5$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class=scroll-padding><div class=look-overlay>`);
1718
- function $905010a06f9aeae5$export$ebf0b1d4f90c09ae({
1772
+ var $912d9a717ceee184$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class=scroll-padding><div class=look-overlay>`);
1773
+ function $912d9a717ceee184$export$ebf0b1d4f90c09ae({
1719
1774
  displays_: displays_,
1720
1775
  FavoriteButton_: FavoriteButton_,
1721
1776
  userWantsExpandedSignal_: userWantsExpandedSignal_,
@@ -1734,6 +1789,7 @@ function $905010a06f9aeae5$export$ebf0b1d4f90c09ae({
1734
1789
  const textFadeInAnimationRunning = $gVhhF$solidjs.createSignal(false);
1735
1790
  const [getSecondPartAnimationRunning] = textFadeInAnimationRunning;
1736
1791
  const [userWantsExpanded, setUserWantsExpanded] = userWantsExpandedSignal_;
1792
+ //const elementsHovered = useMobileHover();
1737
1793
  $4f38102efa525ee0$export$7b9a0e99f0aeb2f3().then(is => isAffectedByChromeBug = is);
1738
1794
  return $gVhhF$solidjsweb.createComponent((0, $84798aaa863a4909$export$e68cff63f76bd15b), {
1739
1795
  get children() {
@@ -1742,21 +1798,37 @@ function $905010a06f9aeae5$export$ebf0b1d4f90c09ae({
1742
1798
  return containerWidth_() || !displays_();
1743
1799
  },
1744
1800
  get children() {
1745
- var _el$ = $gVhhF$solidjsweb.getNextElement($905010a06f9aeae5$var$_tmpl$),
1801
+ var _el$ = $gVhhF$solidjsweb.getNextElement($912d9a717ceee184$var$_tmpl$),
1746
1802
  _el$2 = _el$.firstChild;
1747
1803
  $gVhhF$solidjsweb.addEventListener(_el$2, "mouseleave", $gVhhF$depictaiutilishared.catchify(() => supportsHover_() && setUserWantsExpanded(false)));
1748
1804
  $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"
1805
+ $gVhhF$solidjsweb.use(el => {
1806
+ $gVhhF$solidjs.createEffect(() => {
1807
+ if (userWantsExpanded()) return;
1808
+ if (isAffectedByChromeBug) {
1809
+ $912d9a717ceee184$var$scrollingFunctionForChrome(el, 0, animationDuration_);
1810
+ return;
1811
+ }
1812
+ el.scrollTo({
1813
+ top: 0,
1814
+ behavior: "smooth"
1815
+ });
1758
1816
  });
1759
- }), _el$2);
1817
+ // createEffect(wasOpenedByHover => {
1818
+ // if (supportsHover_()) return;
1819
+ // const hovered = elementsHovered();
1820
+ // checkHovered: {
1821
+ // if (hovered.has(el)) break checkHovered;
1822
+ // for (const element of hovered) {
1823
+ // if (el.contains(element)) break checkHovered;
1824
+ // }
1825
+ // if (wasOpenedByHover) setUserWantsExpanded(false);
1826
+ // return;
1827
+ // }
1828
+ // setUserWantsExpanded(true);
1829
+ // return true;
1830
+ // });
1831
+ }, _el$2);
1760
1832
  $gVhhF$solidjsweb.insert(_el$2, $gVhhF$solidjsweb.createComponent((0, $gVhhF$solidjs.Index), {
1761
1833
  get each() {
1762
1834
  return displays_() || Array.from({
@@ -1764,7 +1836,7 @@ function $905010a06f9aeae5$export$ebf0b1d4f90c09ae({
1764
1836
  });
1765
1837
  },
1766
1838
  children: (display, index) => {
1767
- return $gVhhF$solidjsweb.createComponent((0, $1ae437d7d388a66e$export$b73ed90f0ee50dc3), {
1839
+ return $gVhhF$solidjsweb.createComponent((0, $0540c3739b32dc79$export$b73ed90f0ee50dc3), {
1768
1840
  pseudoRouter_: pseudoRouter_,
1769
1841
  animationDuration_: animationDuration_,
1770
1842
  display_: display,
@@ -1805,7 +1877,7 @@ function $905010a06f9aeae5$export$ebf0b1d4f90c09ae({
1805
1877
  /**
1806
1878
  * Workaround for Chrome bug 326498383, adapted version of https://stackoverflow.com/a/39494245
1807
1879
  */
1808
- function $905010a06f9aeae5$var$scrollingFunctionForChrome(element, targetScrollY, duration) {
1880
+ function $912d9a717ceee184$var$scrollingFunctionForChrome(element, targetScrollY, duration) {
1809
1881
  let start;
1810
1882
  const startingY = element.scrollTop;
1811
1883
  const diff = targetScrollY - startingY;
@@ -1822,8 +1894,8 @@ function $905010a06f9aeae5$var$scrollingFunctionForChrome(element, targetScrollY
1822
1894
  // Bootstrap our animation - it will get called right before next frame shall be rendered.
1823
1895
  requestAnimationFrame(step);
1824
1896
  }
1825
- var $ad882bbe664dbd53$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class=look-card><!$><!/><!$><!/>`);
1826
- function $ad882bbe664dbd53$export$44809a8a3e867e30({
1897
+ var $bda357ff87c46163$var$_tmpl$ = /*#__PURE__*/$gVhhF$solidjsweb.template(`<div class=look-card><!$><!/><!$><!/>`);
1898
+ function $bda357ff87c46163$export$44809a8a3e867e30({
1827
1899
  display_: display_,
1828
1900
  expandedLooksSignal_: [expandedLooks_, setExpandedLooks],
1829
1901
  FavoriteButton_: FavoriteButton_,
@@ -1880,7 +1952,7 @@ function $ad882bbe664dbd53$export$44809a8a3e867e30({
1880
1952
  // Close us if another look expands
1881
1953
  $gVhhF$solidjs.createEffect(() => !expandedLooks_().has(us) && setUserWantsExpanded(false));
1882
1954
  return (() => {
1883
- var _el$ = $gVhhF$solidjsweb.getNextElement($ad882bbe664dbd53$var$_tmpl$),
1955
+ var _el$ = $gVhhF$solidjsweb.getNextElement($bda357ff87c46163$var$_tmpl$),
1884
1956
  _el$2 = _el$.firstChild,
1885
1957
  [_el$3, _co$] = $gVhhF$solidjsweb.getNextMarker(_el$2.nextSibling),
1886
1958
  _el$4 = _el$3.nextSibling,
@@ -1920,7 +1992,7 @@ function $ad882bbe664dbd53$export$44809a8a3e867e30({
1920
1992
  });
1921
1993
  }
1922
1994
  }), _el$3, _co$);
1923
- $gVhhF$solidjsweb.insert(_el$, $gVhhF$solidjsweb.createComponent((0, $905010a06f9aeae5$export$ebf0b1d4f90c09ae), {
1995
+ $gVhhF$solidjsweb.insert(_el$, $gVhhF$solidjsweb.createComponent((0, $912d9a717ceee184$export$ebf0b1d4f90c09ae), {
1924
1996
  displays_: () => display_()?.displays,
1925
1997
  userWantsExpandedSignal_: useWantsExpandedSignal_,
1926
1998
  containerWidth_: containerWidth_,
@@ -2198,7 +2270,7 @@ function $a3bbfa5fdaa39f3a$export$2c9f9bf2092486aa(props) {
2198
2270
  return $a3bbfa5fdaa39f3a$var$runDisplayTransformersForLooks(baseData, listings, props.displayTransformers_);
2199
2271
  });
2200
2272
  const sharedOptions = {
2201
- product_card_template_: display => $ad882bbe664dbd53$export$44809a8a3e867e30({
2273
+ product_card_template_: display => $bda357ff87c46163$export$44809a8a3e867e30({
2202
2274
  display_: () => display,
2203
2275
  FavoriteButton_: props.FavoriteButton_,
2204
2276
  placeholderImageAspectRatio_: props.imagePlaceholderAspectRatio_,
@@ -2856,7 +2928,7 @@ function $ce4b5b99c8b2b34e$export$a146ac6fa8346a25({
2856
2928
  ev.preventDefault();
2857
2929
  submit_query_(item());
2858
2930
  })), _el$4);
2859
- $gVhhF$solidjsweb.addEventListener(_el$4, "mouseleave", $gVhhF$depictaiutilishared.catchify(() => write_selected_index_(undefined)));
2931
+ $gVhhF$solidjsweb.addEventListener(_el$4, "mouseleave", $gVhhF$depictaiutilishared.catchify(() => write_selected_index_()));
2860
2932
  $gVhhF$solidjsweb.addEventListener(_el$4, "mouseenter", $gVhhF$depictaiutilishared.catchify(() => write_selected_index_([0, index])));
2861
2933
  $gVhhF$solidjsweb.insert(_el$5, $gVhhF$solidjsweb.createComponent((0, $9e30168c4b1661d2$export$5d2caaa6b530761c), {}), _el$8, _co$);
2862
2934
  $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.26";
15
+ /**
16
+ * Returns a set containing the element where every element currently touching the screen started touching it.
17
+ */
18
+ export function useMobileHover(): import("solid-js").Accessor<Set<Element>>;
15
19
  /**
16
20
  * Returns if the current tab is visible
17
21
  */