@loafmarkets/ui 0.1.424 → 0.1.426

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/dist/index.d.mts CHANGED
@@ -1288,8 +1288,10 @@ type AssetSelectorBarProps = {
1288
1288
  * ("YONG") and hovering it pops an instant tooltip with the full name. Falls back to the
1289
1289
  * full name when no ticker is known. Ignored when `tickerPrimary` is set. */
1290
1290
  compactName?: boolean;
1291
+ /** Fires on every open/close of the asset list (not on mount) — hosts defer per-row market data until the first open. */
1292
+ onOpenChange?: (open: boolean) => void;
1291
1293
  };
1292
- declare function AssetSelectorBar({ propertyName, tokenPrice, offeringValuation, metrics: metricsProp, currentTokenName, selectorItems, onSelect, trailing, afterName, imageUrl, badgeLabel, tickerPrimary, compactName, }: AssetSelectorBarProps): react_jsx_runtime.JSX.Element;
1294
+ declare function AssetSelectorBar({ propertyName, tokenPrice, offeringValuation, metrics: metricsProp, currentTokenName, selectorItems, onSelect, trailing, afterName, imageUrl, badgeLabel, tickerPrimary, compactName, onOpenChange, }: AssetSelectorBarProps): react_jsx_runtime.JSX.Element;
1293
1295
 
1294
1296
  type ToastVariant = 'success' | 'error' | 'info' | 'pending' | 'sell';
1295
1297
  type ToastData = {
package/dist/index.d.ts CHANGED
@@ -1288,8 +1288,10 @@ type AssetSelectorBarProps = {
1288
1288
  * ("YONG") and hovering it pops an instant tooltip with the full name. Falls back to the
1289
1289
  * full name when no ticker is known. Ignored when `tickerPrimary` is set. */
1290
1290
  compactName?: boolean;
1291
+ /** Fires on every open/close of the asset list (not on mount) — hosts defer per-row market data until the first open. */
1292
+ onOpenChange?: (open: boolean) => void;
1291
1293
  };
1292
- declare function AssetSelectorBar({ propertyName, tokenPrice, offeringValuation, metrics: metricsProp, currentTokenName, selectorItems, onSelect, trailing, afterName, imageUrl, badgeLabel, tickerPrimary, compactName, }: AssetSelectorBarProps): react_jsx_runtime.JSX.Element;
1294
+ declare function AssetSelectorBar({ propertyName, tokenPrice, offeringValuation, metrics: metricsProp, currentTokenName, selectorItems, onSelect, trailing, afterName, imageUrl, badgeLabel, tickerPrimary, compactName, onOpenChange, }: AssetSelectorBarProps): react_jsx_runtime.JSX.Element;
1293
1295
 
1294
1296
  type ToastVariant = 'success' | 'error' | 'info' | 'pending' | 'sell';
1295
1297
  type ToastData = {
package/dist/index.js CHANGED
@@ -2875,7 +2875,6 @@ function MobileDepthRow({
2875
2875
  );
2876
2876
  }
2877
2877
  var isHlsManifest = (url) => /\.m3u8(\?|$)/i.test(url);
2878
- var HLS_MIME = "application/vnd.apple.mpegurl";
2879
2878
  var MANIFEST_FAILURES = /* @__PURE__ */ new Set(["manifestLoadError", "manifestLoadTimeOut", "manifestParsingError"]);
2880
2879
  var HlsVideo = React9__namespace.forwardRef(
2881
2880
  ({ src, capLevelToPlayerSize = true, onError, ...videoProps }, ref) => {
@@ -2893,7 +2892,7 @@ var HlsVideo = React9__namespace.forwardRef(
2893
2892
  React9__namespace.useEffect(() => {
2894
2893
  const video = videoRef.current;
2895
2894
  if (!video || !activeSrc) return;
2896
- if (!isHlsManifest(activeSrc) || video.canPlayType(HLS_MIME)) {
2895
+ if (!isHlsManifest(activeSrc)) {
2897
2896
  video.src = activeSrc;
2898
2897
  return;
2899
2898
  }
@@ -13872,9 +13871,20 @@ function AssetSelectorBar({
13872
13871
  imageUrl,
13873
13872
  badgeLabel,
13874
13873
  tickerPrimary,
13875
- compactName
13874
+ compactName,
13875
+ onOpenChange
13876
13876
  }) {
13877
13877
  const [isDropdownOpen, setIsDropdownOpen] = React9.useState(false);
13878
+ const openChangeRef = React9.useRef(onOpenChange);
13879
+ openChangeRef.current = onOpenChange;
13880
+ const openSeenRef = React9.useRef(false);
13881
+ React9.useEffect(() => {
13882
+ if (!openSeenRef.current) {
13883
+ openSeenRef.current = true;
13884
+ return;
13885
+ }
13886
+ openChangeRef.current?.(isDropdownOpen);
13887
+ }, [isDropdownOpen]);
13878
13888
  const [nameTip, setNameTip] = React9.useState(null);
13879
13889
  const anchorRef = React9.useRef(null);
13880
13890
  const [dropdownPos, setDropdownPos] = React9.useState(null);