@depict-ai/ui 4.7.7 → 4.7.8
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 +127 -107
- package/ES10/index.d.ts +6 -6
- package/ES10/index.js +128 -108
- package/latest/index.cjs +117 -94
- package/latest/index.d.ts +6 -6
- package/latest/index.js +118 -95
- package/package.json +4 -4
- package/server/ES10/index.cjs +58 -58
- package/server/ES10/index.d.ts +6 -6
- package/server/ES10/index.js +58 -58
- package/server/latest/index.cjs +54 -54
- package/server/latest/index.d.ts +6 -6
- package/server/latest/index.js +54 -54
package/ES10/index.cjs
CHANGED
|
@@ -104,7 +104,7 @@ $parcel$export(module.exports, "BreadCrumbs", () => $335c02c1241a9ca8$export$5b7
|
|
|
104
104
|
$parcel$export(module.exports, "QuickLinks", () => $335c02c1241a9ca8$export$de035477d6fef996);
|
|
105
105
|
$parcel$export(module.exports, "CategoryPage", () => $c10e33c4681f8c9b$export$e2bf8ce7779e827e);
|
|
106
106
|
/*! Depict.ai search and product listing SDK */
|
|
107
|
-
const $aa1938dec50d6c12$export$83d89fbfd8236492 = "4.7.
|
|
107
|
+
const $aa1938dec50d6c12$export$83d89fbfd8236492 = "4.7.8";
|
|
108
108
|
function $d6d51b09cb2116a6$export$5bad61ecde080b1f() {
|
|
109
109
|
const {
|
|
110
110
|
collapse: collapse,
|
|
@@ -995,38 +995,6 @@ function $3e17e871e9d0911d$export$d9f36cf74e24d595(media_query) {
|
|
|
995
995
|
}).remove);
|
|
996
996
|
return signal[0];
|
|
997
997
|
}
|
|
998
|
-
|
|
999
|
-
/** @jsxImportSource solid-js */
|
|
1000
|
-
|
|
1001
|
-
function $c387d7f1d9fb66c0$export$ebdc3711f7e02ccd(what_to_watch) {
|
|
1002
|
-
const [width, setWidth] = $52FdA$solidjs.createSignal();
|
|
1003
|
-
const resizeObserver = new ResizeObserver($52FdA$depictaiutilishared.catchify(records => {
|
|
1004
|
-
for (let j = 0; j < records.length; j++) {
|
|
1005
|
-
var _records$j$borderBoxS, _records$j$borderBoxS2, _records$j$borderBoxS3;
|
|
1006
|
-
const width = (_records$j$borderBoxS = (_records$j$borderBoxS2 = records[j].borderBoxSize) === null || _records$j$borderBoxS2 === void 0 ? void 0 : (_records$j$borderBoxS3 = _records$j$borderBoxS2[0]) === null || _records$j$borderBoxS3 === void 0 ? void 0 : _records$j$borderBoxS3.inlineSize) !== null && _records$j$borderBoxS !== void 0 ? _records$j$borderBoxS : what_to_watch.getBoundingClientRect().width;
|
|
1007
|
-
setWidth(width);
|
|
1008
|
-
}
|
|
1009
|
-
}));
|
|
1010
|
-
// If we start observing elements before they're in the DOM Chrome (Version 117.0.5938.92 (Official Build) (arm64)) sometimes gives us a resize event with a width of 0 and then doesn't dispatch one with the actual width once it's in the DOM. So we wait until the element is in the DOM before we start observing it.
|
|
1011
|
-
// It doesn't seem to work even when waiting for it to be in the DOM, also wait an animation frame
|
|
1012
|
-
const disconnect = (0, $52FdA$depictaiutilishared.observer).onexists(what_to_watch, _ref => {
|
|
1013
|
-
let {
|
|
1014
|
-
element: element
|
|
1015
|
-
} = _ref;
|
|
1016
|
-
return requestAnimationFrame($52FdA$depictaiutilishared.catchify(() => {
|
|
1017
|
-
const current_size = what_to_watch.getBoundingClientRect().width;
|
|
1018
|
-
if (current_size)
|
|
1019
|
-
// If element has size, set signal to that. ResizeObserver only triggers when the content is visible in some cases, but it might already have a size. This reduces size filter expanding animation jank in chrome.
|
|
1020
|
-
setWidth(current_size);
|
|
1021
|
-
resizeObserver.observe(element);
|
|
1022
|
-
}));
|
|
1023
|
-
});
|
|
1024
|
-
$52FdA$solidjs.onCleanup(() => {
|
|
1025
|
-
resizeObserver.disconnect();
|
|
1026
|
-
disconnect();
|
|
1027
|
-
});
|
|
1028
|
-
return width;
|
|
1029
|
-
}
|
|
1030
998
|
function $a7f7d416e6f61504$export$89c6019e4baa40b1(props) {
|
|
1031
999
|
const style = $52FdA$solidjs.createMemo(() => {
|
|
1032
1000
|
const {
|
|
@@ -1190,9 +1158,10 @@ function $858fdcf73148519f$export$6e5611bc7e57e477(props) {
|
|
|
1190
1158
|
});
|
|
1191
1159
|
// Batch idle callbacks so that MutationObserver can batch the resulting mutations better, so we don't lose tons of CPU time to MutationObservers doing lots of things for each image
|
|
1192
1160
|
// Happened on singular, they have some weird observer (+we also have one but ours is at least 3x more efficient)
|
|
1193
|
-
const executeWhenIdleBatched = fn => {
|
|
1161
|
+
const executeWhenIdleBatched = (fn, isSizesUpdate) => {
|
|
1194
1162
|
if (typeof requestIdleCallback !== "function") return setTimeout(fn); // Old browsers don't get optimisation
|
|
1195
|
-
if ($52FdA$solidjs.untrack(isPrioritisedImage)) return fn(); // If we're one of the first 8 images, execute the callbacks immediately
|
|
1163
|
+
if ((!isSizesUpdate || !sizeSetFastPath) && $52FdA$solidjs.untrack(isPrioritisedImage)) return fn(); // If we're one of the first 8 images, execute the callbacks immediately (improves lighthouse metrics)
|
|
1164
|
+
// unless we're just a `sizes` update after the initial sizes setting (this optimisation makes the looks animation a lot smoother on low-cpu devices)
|
|
1196
1165
|
const existingStack = listingContext === null || listingContext === void 0 ? void 0 : listingContext[$858fdcf73148519f$var$onIdleFunctionsSymbol];
|
|
1197
1166
|
if (existingStack) return existingStack.add(fn);
|
|
1198
1167
|
const newStack = new Set([fn]);
|
|
@@ -1277,10 +1246,11 @@ function $858fdcf73148519f$export$6e5611bc7e57e477(props) {
|
|
|
1277
1246
|
// This greatly improves performance when loading (more) products
|
|
1278
1247
|
// See https://depictaiworkspace.slack.com/archives/C05NJ0K3WRL/p1698220617663139
|
|
1279
1248
|
timeoutSet = true; // Important to set timeoutSet before the call to executeWhenIdleBatched since if this is an important image executeWhenIdleBatched will execute fn immediately
|
|
1280
|
-
executeWhenIdleBatched(handler);
|
|
1249
|
+
executeWhenIdleBatched(handler, true);
|
|
1281
1250
|
});
|
|
1251
|
+
const dontLoadImageYet = $52FdA$solidjs.createMemo(() => !props.size() || !hasSetSize()); // Moving this condition into a memo saves us from re-setting src and srcset (expensive) if just props.size changes
|
|
1282
1252
|
$52FdA$solidjs.createEffect(() => {
|
|
1283
|
-
if (
|
|
1253
|
+
if (dontLoadImageYet()) return; // If size isn't known or set, don't assign src yet since it would cause the most low res image to load
|
|
1284
1254
|
Object.assign(img, src_options());
|
|
1285
1255
|
// Add to DOM once decoded to not require/block any paints before image has completed loading and avoid showing broken image symbol
|
|
1286
1256
|
// We can do this because there has to be a container around us giving us a size
|
|
@@ -1296,7 +1266,7 @@ function $858fdcf73148519f$export$6e5611bc7e57e477(props) {
|
|
|
1296
1266
|
img.decode().catch(e => $52FdA$depictaiutilishared.dwarn("Failed to decode image", e, img)) // Display the image also if loading failed so webdev can debug and doesn't get "no image"
|
|
1297
1267
|
.then(async () => {
|
|
1298
1268
|
// Also wait with inserting image (i.e. paint) until browser is idle
|
|
1299
|
-
await new Promise(r => executeWhenIdleBatched(r));
|
|
1269
|
+
await new Promise(r => executeWhenIdleBatched(r, false));
|
|
1300
1270
|
if (gotCleanedUp) return;
|
|
1301
1271
|
setHasDecoded(true);
|
|
1302
1272
|
hasDecodedFastPath = true;
|
|
@@ -1650,7 +1620,7 @@ var $dfa95866b27a2a53$var$_tmpl$ = /*#__PURE__*/$52FdA$solidjsweb.template(`<div
|
|
|
1650
1620
|
let $dfa95866b27a2a53$var$cachedValue;
|
|
1651
1621
|
async function $dfa95866b27a2a53$export$7b9a0e99f0aeb2f3() {
|
|
1652
1622
|
if ($dfa95866b27a2a53$var$cachedValue != undefined) return $dfa95866b27a2a53$var$cachedValue;
|
|
1653
|
-
return $dfa95866b27a2a53$var$cachedValue =
|
|
1623
|
+
return $dfa95866b27a2a53$var$cachedValue = $dfa95866b27a2a53$var$checkIfIsAffectedByChromeBug326498383();
|
|
1654
1624
|
}
|
|
1655
1625
|
async function $dfa95866b27a2a53$var$checkIfIsAffectedByChromeBug326498383() {
|
|
1656
1626
|
let isAffected = true;
|
|
@@ -1663,7 +1633,7 @@ async function $dfa95866b27a2a53$var$checkIfIsAffectedByChromeBug326498383() {
|
|
|
1663
1633
|
setTimeout($52FdA$depictaiutilishared.catchify(() => {
|
|
1664
1634
|
r();
|
|
1665
1635
|
div.remove();
|
|
1666
|
-
}),
|
|
1636
|
+
}), 500);
|
|
1667
1637
|
});
|
|
1668
1638
|
const {
|
|
1669
1639
|
style: style
|
|
@@ -1706,7 +1676,8 @@ function $e0b3f1f332b6863b$export$ebf0b1d4f90c09ae(_ref) {
|
|
|
1706
1676
|
animationDuration_: animationDuration_,
|
|
1707
1677
|
supportsHover_: supportsHover_,
|
|
1708
1678
|
priceFormatting_: priceFormatting_,
|
|
1709
|
-
pseudoRouter_: pseudoRouter_
|
|
1679
|
+
pseudoRouter_: pseudoRouter_,
|
|
1680
|
+
containerHeight_: containerHeight_
|
|
1710
1681
|
} = _ref;
|
|
1711
1682
|
let isAffectedByChromeBug = false;
|
|
1712
1683
|
// If the user requests the drawer to be expanded or not
|
|
@@ -1726,6 +1697,8 @@ function $e0b3f1f332b6863b$export$ebf0b1d4f90c09ae(_ref) {
|
|
|
1726
1697
|
get children() {
|
|
1727
1698
|
var _el$ = $52FdA$solidjsweb.getNextElement($e0b3f1f332b6863b$var$_tmpl$),
|
|
1728
1699
|
_el$2 = _el$.firstChild;
|
|
1700
|
+
$52FdA$solidjsweb.addEventListener(_el$2, "mouseleave", $52FdA$depictaiutilishared.catchify(() => supportsHover_() && setUserWantsExpanded(false)));
|
|
1701
|
+
$52FdA$solidjsweb.addEventListener(_el$2, "mouseenter", $52FdA$depictaiutilishared.catchify(() => supportsHover_() && setUserWantsExpanded(true)));
|
|
1729
1702
|
$52FdA$solidjsweb.use(el => $52FdA$solidjs.createEffect(() => {
|
|
1730
1703
|
if (userWantsExpanded()) return;
|
|
1731
1704
|
if (isAffectedByChromeBug) {
|
|
@@ -1737,22 +1710,6 @@ function $e0b3f1f332b6863b$export$ebf0b1d4f90c09ae(_ref) {
|
|
|
1737
1710
|
behavior: "smooth"
|
|
1738
1711
|
});
|
|
1739
1712
|
}), _el$2);
|
|
1740
|
-
$52FdA$solidjsweb.spread(_el$2, $52FdA$solidjsweb.mergeProps({
|
|
1741
|
-
get classList() {
|
|
1742
|
-
return {
|
|
1743
|
-
expanded: userWantsExpanded(),
|
|
1744
|
-
"resting-fully-expanded": !getSecondPartAnimationRunning() && userWantsExpanded()
|
|
1745
|
-
};
|
|
1746
|
-
},
|
|
1747
|
-
get onMouseEnter() {
|
|
1748
|
-
return $52FdA$depictaiutilishared.catchify(() => supportsHover_() && setUserWantsExpanded(true));
|
|
1749
|
-
},
|
|
1750
|
-
get onMouseLeave() {
|
|
1751
|
-
return $52FdA$depictaiutilishared.catchify(() => supportsHover_() && setUserWantsExpanded(false));
|
|
1752
|
-
}
|
|
1753
|
-
}, () => displays_() && {
|
|
1754
|
-
style: "--look-card-width:".concat(containerWidth_(), "px;--look-item-height:").concat(lookItemHeight() || 200, "px")
|
|
1755
|
-
}), false, true);
|
|
1756
1713
|
$52FdA$solidjsweb.insert(_el$2, $52FdA$solidjsweb.createComponent((0, $52FdA$solidjs.Index), {
|
|
1757
1714
|
get each() {
|
|
1758
1715
|
return displays_() || Array.from({
|
|
@@ -1777,7 +1734,21 @@ function $e0b3f1f332b6863b$export$ebf0b1d4f90c09ae(_ref) {
|
|
|
1777
1734
|
});
|
|
1778
1735
|
}
|
|
1779
1736
|
}));
|
|
1780
|
-
$52FdA$solidjsweb.
|
|
1737
|
+
$52FdA$solidjsweb.effect(_p$ => {
|
|
1738
|
+
var _v$ = !!userWantsExpanded(),
|
|
1739
|
+
_v$2 = !!(!getSecondPartAnimationRunning() && userWantsExpanded()),
|
|
1740
|
+
_v$3 = displays_() &&
|
|
1741
|
+
// The styling is written like this to eke out animation smoothness on low CPU devices, git blame for previous, more readable versions.
|
|
1742
|
+
"--look-card-width:".concat(containerWidth_(), "px;--look-card-height:").concat(containerHeight_(), "px;--look-item-height:").concat(lookItemHeight() || 200, "px");
|
|
1743
|
+
_v$ !== _p$.e && _el$2.classList.toggle("expanded", _p$.e = _v$);
|
|
1744
|
+
_v$2 !== _p$.t && _el$2.classList.toggle("resting-fully-expanded", _p$.t = _v$2);
|
|
1745
|
+
_p$.a = $52FdA$solidjsweb.style(_el$2, _v$3, _p$.a);
|
|
1746
|
+
return _p$;
|
|
1747
|
+
}, {
|
|
1748
|
+
e: undefined,
|
|
1749
|
+
t: undefined,
|
|
1750
|
+
a: undefined
|
|
1751
|
+
});
|
|
1781
1752
|
return _el$;
|
|
1782
1753
|
}
|
|
1783
1754
|
});
|
|
@@ -1804,7 +1775,7 @@ function $e0b3f1f332b6863b$var$scrollingFunctionForChrome(element, targetScrollY
|
|
|
1804
1775
|
// Bootstrap our animation - it will get called right before next frame shall be rendered.
|
|
1805
1776
|
requestAnimationFrame(step);
|
|
1806
1777
|
}
|
|
1807
|
-
var $47e3c3102c78121b$var$_tmpl$ = /*#__PURE__*/$52FdA$solidjsweb.template(`<div class=look-card
|
|
1778
|
+
var $47e3c3102c78121b$var$_tmpl$ = /*#__PURE__*/$52FdA$solidjsweb.template(`<div class=look-card><!$><!/><!$><!/>`);
|
|
1808
1779
|
function $47e3c3102c78121b$export$44809a8a3e867e30(_ref) {
|
|
1809
1780
|
let {
|
|
1810
1781
|
display_: display_,
|
|
@@ -1815,27 +1786,17 @@ function $47e3c3102c78121b$export$44809a8a3e867e30(_ref) {
|
|
|
1815
1786
|
priceFormatting_: priceFormatting_,
|
|
1816
1787
|
pseudoRouter_: pseudoRouter_
|
|
1817
1788
|
} = _ref;
|
|
1789
|
+
let container;
|
|
1818
1790
|
const useWantsExpandedSignal_ = $52FdA$solidjs.createSignal(false);
|
|
1819
1791
|
const [userWantsExpanded, setUserWantsExpanded] = useWantsExpandedSignal_;
|
|
1820
1792
|
const supportsHover_ = $3e17e871e9d0911d$export$d9f36cf74e24d595("(hover: hover) and (pointer: fine)");
|
|
1821
1793
|
const us = Symbol("look");
|
|
1822
|
-
const
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
let {
|
|
1826
|
-
target: target
|
|
1827
|
-
} = _ref2;
|
|
1828
|
-
return setUserWantsExpanded(prev => !prev);
|
|
1829
|
-
}), true);
|
|
1830
|
-
$52FdA$solidjsweb.effect(() => _el$.classList.toggle("placeholder", !display_()));
|
|
1831
|
-
$52FdA$solidjsweb.runHydrationEvents();
|
|
1832
|
-
return _el$;
|
|
1833
|
-
})();
|
|
1834
|
-
const containerWidth_ = $c387d7f1d9fb66c0$export$ebdc3711f7e02ccd(container);
|
|
1835
|
-
const clickHandler = $52FdA$depictaiutilishared.catchify(_ref3 => {
|
|
1794
|
+
const [containerWidth_, setContainerWidth] = $52FdA$solidjs.createSignal();
|
|
1795
|
+
const [containerHeight_, setContainerHeight] = $52FdA$solidjs.createSignal();
|
|
1796
|
+
const clickHandler = $52FdA$depictaiutilishared.catchify(_ref2 => {
|
|
1836
1797
|
let {
|
|
1837
1798
|
target: target
|
|
1838
|
-
} =
|
|
1799
|
+
} = _ref2;
|
|
1839
1800
|
if (target !== container && !container.contains(target))
|
|
1840
1801
|
// When clicking outside the look, close it
|
|
1841
1802
|
setUserWantsExpanded(false);
|
|
@@ -1853,39 +1814,66 @@ function $47e3c3102c78121b$export$44809a8a3e867e30(_ref) {
|
|
|
1853
1814
|
}));
|
|
1854
1815
|
// Close us if another look expands
|
|
1855
1816
|
$52FdA$solidjs.createEffect(() => !expandedLooks_().has(us) && setUserWantsExpanded(false));
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1817
|
+
return (() => {
|
|
1818
|
+
var _el$ = $52FdA$solidjsweb.getNextElement($47e3c3102c78121b$var$_tmpl$),
|
|
1819
|
+
_el$2 = _el$.firstChild,
|
|
1820
|
+
[_el$3, _co$] = $52FdA$solidjsweb.getNextMarker(_el$2.nextSibling),
|
|
1821
|
+
_el$4 = _el$3.nextSibling,
|
|
1822
|
+
[_el$5, _co$2] = $52FdA$solidjsweb.getNextMarker(_el$4.nextSibling);
|
|
1823
|
+
$52FdA$solidjsweb.addEventListener(_el$, "click", $52FdA$depictaiutilishared.catchify(() => setUserWantsExpanded(prev => !prev)), true);
|
|
1824
|
+
$52FdA$solidjsweb.use(el => {
|
|
1825
|
+
container = el;
|
|
1826
|
+
const ro = new ResizeObserver($52FdA$depictaiutilishared.catchify(records => {
|
|
1827
|
+
const last = records.at(-1);
|
|
1828
|
+
if (!last) return;
|
|
1829
|
+
const {
|
|
1830
|
+
width: width,
|
|
1831
|
+
height: height
|
|
1832
|
+
} = last.contentRect;
|
|
1833
|
+
setContainerWidth(width);
|
|
1834
|
+
setContainerHeight(height);
|
|
1835
|
+
}));
|
|
1836
|
+
ro.observe(el);
|
|
1837
|
+
$52FdA$solidjs.onCleanup(() => ro.disconnect());
|
|
1838
|
+
}, _el$);
|
|
1839
|
+
_el$.classList.toggle("placeholder", !!!display_);
|
|
1840
|
+
$52FdA$solidjsweb.insert(_el$, $52FdA$solidjsweb.createComponent((0, $52FdA$solidjs.Show), {
|
|
1841
|
+
get when() {
|
|
1842
|
+
return display_();
|
|
1843
|
+
},
|
|
1844
|
+
get fallback() {
|
|
1845
|
+
return $52FdA$solidjsweb.createComponent((0, $b8a8d61b3ec5f5ac$export$3f37af283f8fb843), {
|
|
1846
|
+
aspectRatio: "var(".concat((0, $c0cf6af094336798$export$8a2234b5b1a5ebd4), ", ").concat(placeholderImageAspectRatio_, ")")
|
|
1847
|
+
});
|
|
1848
|
+
},
|
|
1849
|
+
get children() {
|
|
1850
|
+
return $52FdA$solidjsweb.createComponent((0, $f3db423dc84bc35d$export$9d4a4b669b1929ab), {
|
|
1851
|
+
get src() {
|
|
1852
|
+
var _display_, _display_$image_urls;
|
|
1853
|
+
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];
|
|
1854
|
+
},
|
|
1855
|
+
aspectRatio: placeholderImageAspectRatio_,
|
|
1856
|
+
autoAdjustAspectRatio: true
|
|
1857
|
+
});
|
|
1858
|
+
}
|
|
1859
|
+
}), _el$3, _co$);
|
|
1860
|
+
$52FdA$solidjsweb.insert(_el$, $52FdA$solidjsweb.createComponent((0, $e0b3f1f332b6863b$export$ebf0b1d4f90c09ae), {
|
|
1861
|
+
displays_: () => {
|
|
1862
|
+
var _display_2;
|
|
1863
|
+
return (_display_2 = display_()) === null || _display_2 === void 0 ? void 0 : _display_2.displays;
|
|
1864
|
+
},
|
|
1865
|
+
userWantsExpandedSignal_: useWantsExpandedSignal_,
|
|
1866
|
+
containerWidth_: containerWidth_,
|
|
1867
|
+
animationDuration_: animationDuration_,
|
|
1868
|
+
supportsHover_: supportsHover_,
|
|
1869
|
+
FavoriteButton_: FavoriteButton_,
|
|
1870
|
+
priceFormatting_: priceFormatting_,
|
|
1871
|
+
pseudoRouter_: pseudoRouter_,
|
|
1872
|
+
containerHeight_: containerHeight_
|
|
1873
|
+
}), _el$5, _co$2);
|
|
1874
|
+
$52FdA$solidjsweb.runHydrationEvents();
|
|
1875
|
+
return _el$;
|
|
1876
|
+
})();
|
|
1889
1877
|
}
|
|
1890
1878
|
$52FdA$solidjsweb.delegateEvents(["click"]);
|
|
1891
1879
|
|
|
@@ -3648,6 +3636,38 @@ let $c95c6dd9e93acd82$export$44dad306455dddf;
|
|
|
3648
3636
|
DEPICT_ID["SEARCH_PAGE"] = "depict-search-page";
|
|
3649
3637
|
DEPICT_ID["PLP_CATEGORY"] = "depict-plp-category";
|
|
3650
3638
|
})($c95c6dd9e93acd82$export$44dad306455dddf || ($c95c6dd9e93acd82$export$44dad306455dddf = {}));
|
|
3639
|
+
|
|
3640
|
+
/** @jsxImportSource solid-js */
|
|
3641
|
+
|
|
3642
|
+
function $c387d7f1d9fb66c0$export$ebdc3711f7e02ccd(what_to_watch) {
|
|
3643
|
+
const [width, setWidth] = $52FdA$solidjs.createSignal();
|
|
3644
|
+
const resizeObserver = new ResizeObserver($52FdA$depictaiutilishared.catchify(records => {
|
|
3645
|
+
for (let j = 0; j < records.length; j++) {
|
|
3646
|
+
var _records$j$borderBoxS, _records$j$borderBoxS2, _records$j$borderBoxS3;
|
|
3647
|
+
const width = (_records$j$borderBoxS = (_records$j$borderBoxS2 = records[j].borderBoxSize) === null || _records$j$borderBoxS2 === void 0 ? void 0 : (_records$j$borderBoxS3 = _records$j$borderBoxS2[0]) === null || _records$j$borderBoxS3 === void 0 ? void 0 : _records$j$borderBoxS3.inlineSize) !== null && _records$j$borderBoxS !== void 0 ? _records$j$borderBoxS : what_to_watch.getBoundingClientRect().width;
|
|
3648
|
+
setWidth(width);
|
|
3649
|
+
}
|
|
3650
|
+
}));
|
|
3651
|
+
// If we start observing elements before they're in the DOM Chrome (Version 117.0.5938.92 (Official Build) (arm64)) sometimes gives us a resize event with a width of 0 and then doesn't dispatch one with the actual width once it's in the DOM. So we wait until the element is in the DOM before we start observing it.
|
|
3652
|
+
// It doesn't seem to work even when waiting for it to be in the DOM, also wait an animation frame
|
|
3653
|
+
const disconnect = (0, $52FdA$depictaiutilishared.observer).onexists(what_to_watch, _ref => {
|
|
3654
|
+
let {
|
|
3655
|
+
element: element
|
|
3656
|
+
} = _ref;
|
|
3657
|
+
return requestAnimationFrame($52FdA$depictaiutilishared.catchify(() => {
|
|
3658
|
+
const current_size = what_to_watch.getBoundingClientRect().width;
|
|
3659
|
+
if (current_size)
|
|
3660
|
+
// If element has size, set signal to that. ResizeObserver only triggers when the content is visible in some cases, but it might already have a size. This reduces size filter expanding animation jank in chrome.
|
|
3661
|
+
setWidth(current_size);
|
|
3662
|
+
resizeObserver.observe(element);
|
|
3663
|
+
}));
|
|
3664
|
+
});
|
|
3665
|
+
$52FdA$solidjs.onCleanup(() => {
|
|
3666
|
+
resizeObserver.disconnect();
|
|
3667
|
+
disconnect();
|
|
3668
|
+
});
|
|
3669
|
+
return width;
|
|
3670
|
+
}
|
|
3651
3671
|
var $34934309832515dc$var$_tmpl$ = /*#__PURE__*/$52FdA$solidjsweb.template(`<svg xmlns=http://www.w3.org/2000/svg width=21 height=20 viewBox="0 0 21 20"fill=none><path fill-rule=evenodd d="M9.563 3.438c-3.107 0-5.625 2.518-5.625 5.625s2.518 5.625 5.625 5.625 5.625-2.518 5.625-5.625-2.518-5.625-5.625-5.625zm-7.5 5.625a7.5 7.5 0 1 1 15 0c0 1.733-.588 3.329-1.575 4.599l3.176 3.176a.94.94 0 0 1 0 1.326.94.94 0 0 1-1.326 0l-3.176-3.176a7.47 7.47 0 0 1-4.599 1.575 7.5 7.5 0 0 1-7.5-7.5z"fill=#0f0f0f>`);
|
|
3652
3672
|
function $34934309832515dc$export$f7658c347b037c3f() {
|
|
3653
3673
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
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.7.
|
|
14
|
+
export const version = "4.7.8";
|
|
15
15
|
/**
|
|
16
16
|
* Just like `useExpandingContainer` except that the children can be reactive solid-js signals, basically solid's JSX.Element instead of our JSX.Element
|
|
17
17
|
*/
|
|
@@ -185,10 +185,6 @@ export function ImagePlaceholder(props: ImagePlaceholderBaseOptions & (ImagePlac
|
|
|
185
185
|
* Use `javascript_media_query` but return a reactive accessor instead of taking a callback function
|
|
186
186
|
*/
|
|
187
187
|
export function media_query_to_accessor(media_query: string): import("solid-js").Accessor<boolean>;
|
|
188
|
-
/**
|
|
189
|
-
* Returns accessor with the size of the provided element, including padding and border (I think)
|
|
190
|
-
*/
|
|
191
|
-
export function make_accurate_width_accessor(what_to_watch: HTMLElement): import("solid-js").Accessor<number | undefined>;
|
|
192
188
|
/**
|
|
193
189
|
* A Placeholder to use instead of some text, while it's loading. This is the inline version, meant to be embedded into sentences (or exist instead of them), etc.
|
|
194
190
|
* If you want a block version, use `ImagePlaceholder` with `width`and `height` set instead.
|
|
@@ -515,6 +511,10 @@ export function CrossIcon(props?: JSX.SvgSVGAttributes<SVGSVGElement>): SVGEleme
|
|
|
515
511
|
* Symbol used to identify the version of a SearchModal function. Values right now: 1 = 1st gen classic modal, 2 = second gen modal
|
|
516
512
|
*/
|
|
517
513
|
export const modalVersionSymbol: unique symbol;
|
|
514
|
+
/**
|
|
515
|
+
* Returns accessor with the size of the provided element, including padding and border (I think)
|
|
516
|
+
*/
|
|
517
|
+
export function make_accurate_width_accessor(what_to_watch: HTMLElement): import("solid-js").Accessor<number | undefined>;
|
|
518
518
|
/**
|
|
519
519
|
* This function is used to determine if the user is trying to open a link in a new tab or window, and we therefore should not single page navigate
|
|
520
520
|
* @param clickEvent The click event that triggered the navigation
|
|
@@ -902,7 +902,7 @@ export function LookCard({
|
|
|
902
902
|
expandedLooksSignal_: Signal<Set<symbol>>;
|
|
903
903
|
priceFormatting_: Accessor<plp_shared_i18n["price_formatting_"]>;
|
|
904
904
|
pseudoRouter_: PseudoRouter;
|
|
905
|
-
}):
|
|
905
|
+
}): JSX.Element;
|
|
906
906
|
/**
|
|
907
907
|
* Render a grid with provided recommendations. displayTransformers will not be applied for this since you yourself provide the displays. Options are reactive.
|
|
908
908
|
*/
|