@stackone/malachite 0.55.0 → 0.55.1

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.ts CHANGED
@@ -1758,13 +1758,22 @@ declare interface TooltipProps {
1758
1758
  fill?: boolean;
1759
1759
  /** Max width of tooltip. Default: 320px */
1760
1760
  maxWidth?: number | string;
1761
+ /** Called synchronously when the trigger is hovered/focused; return false to
1762
+ * suppress the tooltip for this interaction. Lets wrappers defer expensive
1763
+ * checks (e.g. truncation measurement) to interaction time instead of mount. */
1764
+ shouldShow?: () => boolean;
1761
1765
  }
1762
1766
 
1763
1767
  /**
1764
1768
  * TruncatedTooltip renders its children in a single-line truncating container
1765
- * (overflow:hidden + text-overflow:ellipsis + white-space:nowrap). It measures
1766
- * the rendered content via ResizeObserver and only surfaces the malachite
1767
- * Tooltip when the content is actually being cut off.
1769
+ * (overflow:hidden + text-overflow:ellipsis + white-space:nowrap) and surfaces
1770
+ * the malachite Tooltip only when the content is actually being cut off.
1771
+ *
1772
+ * Truncation is checked at interaction time (Tooltip's `shouldShow`), not at
1773
+ * mount: a mount-time measurement forces a synchronous layout per instance,
1774
+ * and in large tables those reads interleave with other components' DOM writes
1775
+ * — hundreds of full layout passes per mounted batch (the Safari row-mount
1776
+ * stalls of ENG-1168). The ellipsis itself is pure CSS and needs no JS.
1768
1777
  */
1769
1778
  export declare const TruncatedTooltip: default_2.FC<TruncatedTooltipProps>;
1770
1779