@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@depict-ai/ui",
3
- "version": "4.7.24",
3
+ "version": "4.7.25",
4
4
  "description": "Base package containing the actual UI of Depict UI along with translations, with a not-simplified API. We recommend using @depict-ai/js-ui or @depict-ai/react-ui instead.",
5
5
  "packageManager": "yarn@3.2.2",
6
6
  "sass": "styles.scss",
@@ -1,8 +1,8 @@
1
1
  var $3hooq$depictaiutilishared = require("@depict-ai/utilishared/ES10");
2
+ var $3hooq$depictaiutilisharedlatest = require("@depict-ai/utilishared/ES10");
2
3
  var $3hooq$solidjs = require("solid-js");
3
4
  var $3hooq$solidjsweb = require("solid-js/web");
4
5
  var $3hooq$babelruntimehelpersdefineProperty = require("@babel/runtime/helpers/defineProperty");
5
- var $3hooq$depictaiutilisharedlatest = require("@depict-ai/utilishared/ES10");
6
6
  var $3hooq$babelruntimehelpersclassPrivateFieldSet = require("@babel/runtime/helpers/classPrivateFieldSet");
7
7
  var $3hooq$babelruntimehelpersclassPrivateFieldGet = require("@babel/runtime/helpers/classPrivateFieldGet");
8
8
  var $3hooq$solidjsstore = require("solid-js/store");
@@ -18,13 +18,14 @@ function $parcel$export(e, n, v, s) {
18
18
  function $parcel$interopDefault(a) {
19
19
  return a && a.__esModule ? a.default : a;
20
20
  }
21
+ $parcel$export(module.exports, "useMobileHover", () => $0deb6ff75e3d67c6$export$d4d96868197be50e);
21
22
  $parcel$export(module.exports, "useVisibilityState", () => $e7a7d2fe8a8217d8$export$54299a3c81f5425);
22
23
  $parcel$export(module.exports, "useSlidableInformation", () => $ad8ec7729fffeb9c$export$eaa625fb39439e37);
23
24
  $parcel$export(module.exports, "useProductCardIsVisible", () => $a52942afacbced93$export$80bb7300ce6a8be3);
24
25
  $parcel$export(module.exports, "CurrentlyIntersectingContext", () => $a52942afacbced93$export$f223d69ed12f5fb7);
25
26
  $parcel$export(module.exports, "useExpandingContainerReactive", () => $d6d51b09cb2116a6$export$5bad61ecde080b1f);
26
27
  $parcel$export(module.exports, "LooksSliderOrGrid", () => $e57cd46536ad992e$export$2c9f9bf2092486aa);
27
- $parcel$export(module.exports, "LookCard", () => $47e3c3102c78121b$export$44809a8a3e867e30);
28
+ $parcel$export(module.exports, "LookCard", () => $ae325261371de459$export$44809a8a3e867e30);
28
29
  $parcel$export(module.exports, "PseudoRouter", () => $73014ff36186a4dd$export$7e1297a3a19f10d8);
29
30
  $parcel$export(module.exports, "promiseSafeStructuredClone", () => $400d96565bbbfe07$export$83bb9af5671e1dbe);
30
31
  $parcel$export(module.exports, "preserve_items_in_history_dot_state", () => $cfcd56242923775d$export$5162a71f252e6122);
@@ -109,7 +110,68 @@ $parcel$export(module.exports, "BreadCrumbs", () => $335c02c1241a9ca8$export$5b7
109
110
  $parcel$export(module.exports, "QuickLinks", () => $335c02c1241a9ca8$export$de035477d6fef996);
110
111
  $parcel$export(module.exports, "CategoryPage", () => $c10e33c4681f8c9b$export$e2bf8ce7779e827e);
111
112
  /*! Depict.ai search and product listing SDK */
112
- const $aa1938dec50d6c12$export$83d89fbfd8236492 = "4.7.24";
113
+ const $aa1938dec50d6c12$export$83d89fbfd8236492 = "4.7.25";
114
+ let $0deb6ff75e3d67c6$var$elementsHoveredSignal;
115
+ let $0deb6ff75e3d67c6$var$consumersSignal;
116
+ function $0deb6ff75e3d67c6$export$d4d96868197be50e() {
117
+ if (!$0deb6ff75e3d67c6$var$elementsHoveredSignal || !$0deb6ff75e3d67c6$var$consumersSignal) $3hooq$solidjs.createRoot(dispose => {
118
+ $0deb6ff75e3d67c6$var$elementsHoveredSignal = $3hooq$solidjs.createSignal(new Set());
119
+ $0deb6ff75e3d67c6$var$consumersSignal = $3hooq$solidjs.createSignal(0);
120
+ const [consumers] = $0deb6ff75e3d67c6$var$consumersSignal;
121
+ // No matter how often useMobileHover is called, only add one listener and get hovered elements once per touchmove event, for efficiency
122
+ $0deb6ff75e3d67c6$var$doHeavyCalculations();
123
+ $3hooq$solidjs.createEffect(() => {
124
+ // No-one needs information anymore, stop listening
125
+ const users = consumers();
126
+ if (users < 1) {
127
+ $3hooq$depictaiutilisharedlatest.dlog("Stopping to listen for mobile hover");
128
+ dispose();
129
+ $0deb6ff75e3d67c6$var$elementsHoveredSignal = undefined;
130
+ $0deb6ff75e3d67c6$var$consumersSignal = undefined;
131
+ }
132
+ });
133
+ });
134
+ const [elementsHovered] = $0deb6ff75e3d67c6$var$elementsHoveredSignal;
135
+ const [, setConsumers] = $0deb6ff75e3d67c6$var$consumersSignal;
136
+ setConsumers(prev => prev + 1);
137
+ $3hooq$solidjs.onCleanup(() => setConsumers(prev => prev - 1));
138
+ return elementsHovered;
139
+ }
140
+ function $0deb6ff75e3d67c6$var$doHeavyCalculations() {
141
+ $3hooq$depictaiutilisharedlatest.dlog("Starting to listen for mobile hover");
142
+ const [, setElementsHovered] = $0deb6ff75e3d67c6$var$elementsHoveredSignal;
143
+ const elementAtTouch = new Map();
144
+ const updateSet = () => setElementsHovered(new Set([...elementAtTouch.values()].filter(v => v)));
145
+ const setPositionHandler = $3hooq$depictaiutilisharedlatest.catchify(evt => {
146
+ for (const touch of evt.changedTouches) elementAtTouch.set(touch.identifier, $0deb6ff75e3d67c6$var$getElementAtTouch(touch));
147
+ updateSet();
148
+ });
149
+ const deleteTouchHandler = $3hooq$depictaiutilisharedlatest.catchify(evt => {
150
+ for (const touch of evt.changedTouches) elementAtTouch.delete(touch.identifier);
151
+ updateSet();
152
+ });
153
+ addEventListener("touchstart", setPositionHandler, {
154
+ passive: true
155
+ });
156
+ addEventListener("touchmove", setPositionHandler, {
157
+ passive: true
158
+ });
159
+ addEventListener("touchend", deleteTouchHandler, {
160
+ passive: true
161
+ });
162
+ addEventListener("touchcancel", deleteTouchHandler, {
163
+ passive: true
164
+ });
165
+ $3hooq$solidjs.onCleanup(() => {
166
+ removeEventListener("touchstart", setPositionHandler);
167
+ removeEventListener("touchmove", setPositionHandler);
168
+ removeEventListener("touchend", deleteTouchHandler);
169
+ removeEventListener("touchcancel", deleteTouchHandler);
170
+ });
171
+ }
172
+ function $0deb6ff75e3d67c6$var$getElementAtTouch(touch) {
173
+ return document.elementFromPoint(touch.clientX, touch.clientY);
174
+ }
113
175
  function $e7a7d2fe8a8217d8$export$54299a3c81f5425() {
114
176
  const d = document;
115
177
  const [isVisible, setIsVisible] = $3hooq$solidjs.createSignal(d.visibilityState !== "hidden");
@@ -1388,10 +1450,10 @@ function $f38f2e64ebe2da86$export$a71e92cfbb498adc(props) {
1388
1450
  return $3hooq$depictaiutilishared.standard_price_format(props.price_, price_formatting.places_after_comma_, price_formatting.decimal_places_delimiter_, price_formatting.thousands_delimiter_);
1389
1451
  });
1390
1452
  }
1391
- var $d66c35b5a6d6d926$var$_tmpl$ = ["<div", ' class="img-wrapper">', "</div>"],
1392
- $d66c35b5a6d6d926$var$_tmpl$2 = ["<span", ' class="d-price original">', "</span>"],
1393
- $d66c35b5a6d6d926$var$_tmpl$3 = ["<div", ' class="right-part"><div class="text-container">', '<span class="', '">', "</span><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div>"];
1394
- function $d66c35b5a6d6d926$export$b73ed90f0ee50dc3(_ref) {
1453
+ var $53dca9b7b01789b1$var$_tmpl$ = ["<div", ' class="img-wrapper">', "</div>"],
1454
+ $53dca9b7b01789b1$var$_tmpl$2 = ["<span", ' class="d-price original">', "</span>"],
1455
+ $53dca9b7b01789b1$var$_tmpl$3 = ["<div", ' class="right-part"><div class="text-container">', '<span class="', '">', "</span><!--$-->", "<!--/--></div><!--$-->", "<!--/--></div>"];
1456
+ function $53dca9b7b01789b1$export$b73ed90f0ee50dc3(_ref) {
1395
1457
  let {
1396
1458
  display_: display_,
1397
1459
  FavoriteButton_: FavoriteButton_,
@@ -1444,7 +1506,7 @@ function $d66c35b5a6d6d926$export$b73ed90f0ee50dc3(_ref) {
1444
1506
  });
1445
1507
  },
1446
1508
  get children() {
1447
- return $3hooq$solidjsweb.ssr($d66c35b5a6d6d926$var$_tmpl$, $3hooq$solidjsweb.ssrHydrationKey(), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Show), {
1509
+ return $3hooq$solidjsweb.ssr($53dca9b7b01789b1$var$_tmpl$, $3hooq$solidjsweb.ssrHydrationKey(), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Show), {
1448
1510
  get when() {
1449
1511
  return imageUrl();
1450
1512
  },
@@ -1476,7 +1538,7 @@ function $d66c35b5a6d6d926$export$b73ed90f0ee50dc3(_ref) {
1476
1538
  return (animationEffectExists() ? isExpandedThrottledByOurEffectRun() : userWantsExpanded()) || animationIsRunning();
1477
1539
  },
1478
1540
  get children() {
1479
- return $3hooq$solidjsweb.ssr($d66c35b5a6d6d926$var$_tmpl$3, $3hooq$solidjsweb.ssrHydrationKey(), $3hooq$solidjsweb.ssrElement("span", $3hooq$solidjsweb.mergeProps({
1541
+ return $3hooq$solidjsweb.ssr($53dca9b7b01789b1$var$_tmpl$3, $3hooq$solidjsweb.ssrHydrationKey(), $3hooq$solidjsweb.ssrElement("span", $3hooq$solidjsweb.mergeProps({
1480
1542
  "class": "d-title line-clamp"
1481
1543
  }, () => title() && {
1482
1544
  title: title()
@@ -1518,7 +1580,7 @@ function $d66c35b5a6d6d926$export$b73ed90f0ee50dc3(_ref) {
1518
1580
  return isOnSale();
1519
1581
  },
1520
1582
  get children() {
1521
- return $3hooq$solidjsweb.ssr($d66c35b5a6d6d926$var$_tmpl$2, $3hooq$solidjsweb.ssrHydrationKey(), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Show), {
1583
+ return $3hooq$solidjsweb.ssr($53dca9b7b01789b1$var$_tmpl$2, $3hooq$solidjsweb.ssrHydrationKey(), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Show), {
1522
1584
  get when() {
1523
1585
  return variantToUse() && !originalPrice.loading;
1524
1586
  },
@@ -1608,8 +1670,8 @@ async function $b5e1e9638abb90ff$var$checkIfIsAffectedByChromeBug326498383() {
1608
1670
  }
1609
1671
  return isAffected;
1610
1672
  }
1611
- var $e0b3f1f332b6863b$var$_tmpl$ = ["<div", ' class="scroll-padding"><div class="', '" style="', '">', "</div></div>"];
1612
- function $e0b3f1f332b6863b$export$ebf0b1d4f90c09ae(_ref) {
1673
+ var $1709366c442d8933$var$_tmpl$ = ["<div", ' class="scroll-padding"><div class="', '" style="', '">', "</div></div>"];
1674
+ function $1709366c442d8933$export$ebf0b1d4f90c09ae(_ref) {
1613
1675
  let {
1614
1676
  displays_: displays_,
1615
1677
  FavoriteButton_: FavoriteButton_,
@@ -1629,6 +1691,7 @@ function $e0b3f1f332b6863b$export$ebf0b1d4f90c09ae(_ref) {
1629
1691
  const textFadeInAnimationRunning = $3hooq$solidjs.createSignal(false);
1630
1692
  const [getSecondPartAnimationRunning] = textFadeInAnimationRunning;
1631
1693
  const [userWantsExpanded, setUserWantsExpanded] = userWantsExpandedSignal_;
1694
+ //const elementsHovered = useMobileHover();
1632
1695
  $b5e1e9638abb90ff$export$7b9a0e99f0aeb2f3().then(is => isAffectedByChromeBug = is);
1633
1696
  return $3hooq$solidjsweb.createComponent((0, $d067f3a30f047b41$export$e68cff63f76bd15b), {
1634
1697
  get children() {
@@ -1637,7 +1700,7 @@ function $e0b3f1f332b6863b$export$ebf0b1d4f90c09ae(_ref) {
1637
1700
  return containerWidth_() || !displays_();
1638
1701
  },
1639
1702
  get children() {
1640
- return $3hooq$solidjsweb.ssr($e0b3f1f332b6863b$var$_tmpl$, $3hooq$solidjsweb.ssrHydrationKey(), "look-overlay ".concat(userWantsExpanded() ? "expanded" : "", " ").concat(!getSecondPartAnimationRunning() && userWantsExpanded() ? "resting-fully-expanded" : ""), $3hooq$solidjsweb.ssrStyle(displays_() &&
1703
+ return $3hooq$solidjsweb.ssr($1709366c442d8933$var$_tmpl$, $3hooq$solidjsweb.ssrHydrationKey(), "look-overlay ".concat(userWantsExpanded() ? "expanded" : "", " ").concat(!getSecondPartAnimationRunning() && userWantsExpanded() ? "resting-fully-expanded" : ""), $3hooq$solidjsweb.ssrStyle(displays_() &&
1641
1704
  // The styling is written like this to eke out animation smoothness on low CPU devices, git blame for previous, more readable versions.
1642
1705
  "--look-card-width:".concat(containerWidth_(), "px;--look-card-height:").concat(containerHeight_(), "px;--look-item-height:").concat(lookItemHeight() || 200, "px")), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Index), {
1643
1706
  get each() {
@@ -1646,7 +1709,7 @@ function $e0b3f1f332b6863b$export$ebf0b1d4f90c09ae(_ref) {
1646
1709
  });
1647
1710
  },
1648
1711
  children: (display, index) => {
1649
- return $3hooq$solidjsweb.createComponent((0, $d66c35b5a6d6d926$export$b73ed90f0ee50dc3), {
1712
+ return $3hooq$solidjsweb.createComponent((0, $53dca9b7b01789b1$export$b73ed90f0ee50dc3), {
1650
1713
  pseudoRouter_: pseudoRouter_,
1651
1714
  animationDuration_: animationDuration_,
1652
1715
  display_: display,
@@ -1671,7 +1734,7 @@ function $e0b3f1f332b6863b$export$ebf0b1d4f90c09ae(_ref) {
1671
1734
  /**
1672
1735
  * Workaround for Chrome bug 326498383, adapted version of https://stackoverflow.com/a/39494245
1673
1736
  */
1674
- function $e0b3f1f332b6863b$var$scrollingFunctionForChrome(element, targetScrollY, duration) {
1737
+ function $1709366c442d8933$var$scrollingFunctionForChrome(element, targetScrollY, duration) {
1675
1738
  let start;
1676
1739
  const startingY = element.scrollTop;
1677
1740
  const diff = targetScrollY - startingY;
@@ -1688,8 +1751,8 @@ function $e0b3f1f332b6863b$var$scrollingFunctionForChrome(element, targetScrollY
1688
1751
  // Bootstrap our animation - it will get called right before next frame shall be rendered.
1689
1752
  requestAnimationFrame(step);
1690
1753
  }
1691
- var $47e3c3102c78121b$var$_tmpl$ = ["<div", ' class="', '"><!--$-->', "<!--/--><!--$-->", "<!--/--></div>"];
1692
- function $47e3c3102c78121b$export$44809a8a3e867e30(_ref) {
1754
+ var $ae325261371de459$var$_tmpl$ = ["<div", ' class="', '"><!--$-->', "<!--/--><!--$-->", "<!--/--></div>"];
1755
+ function $ae325261371de459$export$44809a8a3e867e30(_ref) {
1693
1756
  let {
1694
1757
  display_: display_,
1695
1758
  expandedLooksSignal_: [expandedLooks_, setExpandedLooks],
@@ -1748,7 +1811,7 @@ function $47e3c3102c78121b$export$44809a8a3e867e30(_ref) {
1748
1811
  }
1749
1812
  // Close us if another look expands
1750
1813
  $3hooq$solidjs.createEffect(() => !expandedLooks_().has(us) && setUserWantsExpanded(false));
1751
- return $3hooq$solidjsweb.ssr($47e3c3102c78121b$var$_tmpl$, $3hooq$solidjsweb.ssrHydrationKey(), "look-card ".concat(!display_() ? "placeholder" : ""), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Show), {
1814
+ return $3hooq$solidjsweb.ssr($ae325261371de459$var$_tmpl$, $3hooq$solidjsweb.ssrHydrationKey(), "look-card ".concat(!display_() ? "placeholder" : ""), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $3hooq$solidjs.Show), {
1752
1815
  get when() {
1753
1816
  return display_();
1754
1817
  },
@@ -1767,7 +1830,7 @@ function $47e3c3102c78121b$export$44809a8a3e867e30(_ref) {
1767
1830
  autoAdjustAspectRatio: true
1768
1831
  });
1769
1832
  }
1770
- })), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $e0b3f1f332b6863b$export$ebf0b1d4f90c09ae), {
1833
+ })), $3hooq$solidjsweb.escape($3hooq$solidjsweb.createComponent((0, $1709366c442d8933$export$ebf0b1d4f90c09ae), {
1771
1834
  displays_: () => {
1772
1835
  var _display_2;
1773
1836
  return (_display_2 = display_()) === null || _display_2 === void 0 ? void 0 : _display_2.displays;
@@ -2047,7 +2110,7 @@ function $e57cd46536ad992e$export$2c9f9bf2092486aa(props) {
2047
2110
  return $e57cd46536ad992e$var$runDisplayTransformersForLooks(baseData, listings, props.displayTransformers_);
2048
2111
  });
2049
2112
  const sharedOptions = {
2050
- product_card_template_: display => $47e3c3102c78121b$export$44809a8a3e867e30({
2113
+ product_card_template_: display => $ae325261371de459$export$44809a8a3e867e30({
2051
2114
  display_: () => display,
2052
2115
  FavoriteButton_: props.FavoriteButton_,
2053
2116
  placeholderImageAspectRatio_: props.imagePlaceholderAspectRatio_,
@@ -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
  */