@stackone/malachite 0.55.0 → 0.56.0

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
@@ -456,10 +456,12 @@ export declare interface DropdownItem {
456
456
  id: string;
457
457
  label: string;
458
458
  icon?: default_2.ReactNode;
459
- /** Alternate label shown in the trigger when selected (falls back to `label`). */
459
+ /** Alternate label shown in the closed trigger when selected (falls back to `label`). */
460
460
  triggerLabel?: string;
461
461
  /** Items sharing a `group` render under a section header, in first-seen order. */
462
462
  group?: string;
463
+ /** Descriptive blurb rendered after the label in the open menu only —
464
+ * the closed trigger never shows it. */
463
465
  subtitle?: string;
464
466
  rightSideText?: string;
465
467
  rightSideTextVariant?: 'muted' | 'primary';
@@ -1484,6 +1486,8 @@ export declare const Table: <T = Record<string, unknown>>({ columns, data, loadi
1484
1486
 
1485
1487
  export declare type TableColumnDefinition<T = Record<string, unknown>> = {
1486
1488
  title: string | default_2.ReactNode;
1489
+ /** Explanatory text shown in a tooltip behind an info icon next to the title. */
1490
+ info?: string;
1487
1491
  dataIndex: keyof T | (string & {});
1488
1492
  key: string;
1489
1493
  width?: string | number;
@@ -1758,13 +1762,22 @@ declare interface TooltipProps {
1758
1762
  fill?: boolean;
1759
1763
  /** Max width of tooltip. Default: 320px */
1760
1764
  maxWidth?: number | string;
1765
+ /** Called synchronously when the trigger is hovered/focused; return false to
1766
+ * suppress the tooltip for this interaction. Lets wrappers defer expensive
1767
+ * checks (e.g. truncation measurement) to interaction time instead of mount. */
1768
+ shouldShow?: () => boolean;
1761
1769
  }
1762
1770
 
1763
1771
  /**
1764
1772
  * 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.
1773
+ * (overflow:hidden + text-overflow:ellipsis + white-space:nowrap) and surfaces
1774
+ * the malachite Tooltip only when the content is actually being cut off.
1775
+ *
1776
+ * Truncation is checked at interaction time (Tooltip's `shouldShow`), not at
1777
+ * mount: a mount-time measurement forces a synchronous layout per instance,
1778
+ * and in large tables those reads interleave with other components' DOM writes
1779
+ * — hundreds of full layout passes per mounted batch (the Safari row-mount
1780
+ * stalls of ENG-1168). The ellipsis itself is pure CSS and needs no JS.
1768
1781
  */
1769
1782
  export declare const TruncatedTooltip: default_2.FC<TruncatedTooltipProps>;
1770
1783