@frontify/fondue-components 5.1.2 → 5.1.3

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.
Files changed (119) hide show
  1. package/dist/fondue-components.js +18 -16
  2. package/dist/fondue-components.js.map +1 -1
  3. package/dist/fondue-components10.js +2 -2
  4. package/dist/fondue-components11.js +3 -3
  5. package/dist/fondue-components12.js +2 -2
  6. package/dist/fondue-components13.js +1 -1
  7. package/dist/fondue-components14.js +1 -1
  8. package/dist/fondue-components15.js +1 -1
  9. package/dist/fondue-components16.js +2 -2
  10. package/dist/fondue-components17.js +2 -2
  11. package/dist/fondue-components18.js +6 -6
  12. package/dist/fondue-components19.js +1 -1
  13. package/dist/fondue-components20.js +2 -2
  14. package/dist/fondue-components21.js +134 -115
  15. package/dist/fondue-components21.js.map +1 -1
  16. package/dist/fondue-components22.js +116 -65
  17. package/dist/fondue-components22.js.map +1 -1
  18. package/dist/fondue-components23.js +64 -41
  19. package/dist/fondue-components23.js.map +1 -1
  20. package/dist/fondue-components24.js +43 -32
  21. package/dist/fondue-components24.js.map +1 -1
  22. package/dist/fondue-components25.js +32 -5
  23. package/dist/fondue-components25.js.map +1 -1
  24. package/dist/fondue-components26.js +5 -12
  25. package/dist/fondue-components26.js.map +1 -1
  26. package/dist/fondue-components27.js +10 -153
  27. package/dist/fondue-components27.js.map +1 -1
  28. package/dist/fondue-components28.js +59 -22
  29. package/dist/fondue-components28.js.map +1 -1
  30. package/dist/fondue-components29.js +17 -17
  31. package/dist/fondue-components29.js.map +1 -1
  32. package/dist/fondue-components3.js +2 -2
  33. package/dist/fondue-components30.js +112 -15
  34. package/dist/fondue-components30.js.map +1 -1
  35. package/dist/fondue-components31.js +19 -30
  36. package/dist/fondue-components31.js.map +1 -1
  37. package/dist/fondue-components32.js +32 -37
  38. package/dist/fondue-components32.js.map +1 -1
  39. package/dist/fondue-components33.js +34 -127
  40. package/dist/fondue-components33.js.map +1 -1
  41. package/dist/fondue-components34.js +129 -20
  42. package/dist/fondue-components34.js.map +1 -1
  43. package/dist/fondue-components35.js +21 -45
  44. package/dist/fondue-components35.js.map +1 -1
  45. package/dist/fondue-components36.js +45 -28
  46. package/dist/fondue-components36.js.map +1 -1
  47. package/dist/fondue-components37.js +28 -15
  48. package/dist/fondue-components37.js.map +1 -1
  49. package/dist/fondue-components38.js +15 -60
  50. package/dist/fondue-components38.js.map +1 -1
  51. package/dist/fondue-components39.js +60 -15
  52. package/dist/fondue-components39.js.map +1 -1
  53. package/dist/fondue-components4.js +4 -4
  54. package/dist/fondue-components40.js +15 -19
  55. package/dist/fondue-components40.js.map +1 -1
  56. package/dist/fondue-components41.js +18 -4
  57. package/dist/fondue-components41.js.map +1 -1
  58. package/dist/fondue-components42.js +3 -11
  59. package/dist/fondue-components42.js.map +1 -1
  60. package/dist/fondue-components43.js +11 -3
  61. package/dist/fondue-components43.js.map +1 -1
  62. package/dist/fondue-components44.js +5 -35
  63. package/dist/fondue-components44.js.map +1 -1
  64. package/dist/fondue-components45.js +35 -13
  65. package/dist/fondue-components45.js.map +1 -1
  66. package/dist/fondue-components46.js +12 -4
  67. package/dist/fondue-components46.js.map +1 -1
  68. package/dist/fondue-components47.js +4 -24
  69. package/dist/fondue-components47.js.map +1 -1
  70. package/dist/fondue-components48.js +24 -16
  71. package/dist/fondue-components48.js.map +1 -1
  72. package/dist/fondue-components49.js +16 -139
  73. package/dist/fondue-components49.js.map +1 -1
  74. package/dist/fondue-components5.js +2 -2
  75. package/dist/fondue-components50.js +140 -16
  76. package/dist/fondue-components50.js.map +1 -1
  77. package/dist/fondue-components51.js +16 -72
  78. package/dist/fondue-components51.js.map +1 -1
  79. package/dist/fondue-components52.js +72 -8
  80. package/dist/fondue-components52.js.map +1 -1
  81. package/dist/fondue-components53.js +8 -33
  82. package/dist/fondue-components53.js.map +1 -1
  83. package/dist/fondue-components54.js +32 -48
  84. package/dist/fondue-components54.js.map +1 -1
  85. package/dist/fondue-components55.js +48 -10
  86. package/dist/fondue-components55.js.map +1 -1
  87. package/dist/fondue-components56.js +8 -10
  88. package/dist/fondue-components56.js.map +1 -1
  89. package/dist/fondue-components57.js +12 -52
  90. package/dist/fondue-components57.js.map +1 -1
  91. package/dist/fondue-components58.js +7 -14
  92. package/dist/fondue-components58.js.map +1 -1
  93. package/dist/fondue-components59.js +12 -17
  94. package/dist/fondue-components59.js.map +1 -1
  95. package/dist/fondue-components6.js +5 -5
  96. package/dist/fondue-components60.js +18 -6
  97. package/dist/fondue-components60.js.map +1 -1
  98. package/dist/fondue-components61.js +15 -2
  99. package/dist/fondue-components61.js.map +1 -1
  100. package/dist/fondue-components62.js +52 -14
  101. package/dist/fondue-components62.js.map +1 -1
  102. package/dist/fondue-components63.js +14 -38
  103. package/dist/fondue-components63.js.map +1 -1
  104. package/dist/fondue-components64.js +21 -0
  105. package/dist/fondue-components64.js.map +1 -0
  106. package/dist/fondue-components65.js +10 -0
  107. package/dist/fondue-components65.js.map +1 -0
  108. package/dist/fondue-components66.js +5 -0
  109. package/dist/fondue-components66.js.map +1 -0
  110. package/dist/fondue-components67.js +18 -0
  111. package/dist/fondue-components67.js.map +1 -0
  112. package/dist/fondue-components68.js +42 -0
  113. package/dist/fondue-components68.js.map +1 -0
  114. package/dist/fondue-components7.js +2 -2
  115. package/dist/fondue-components8.js +2 -2
  116. package/dist/fondue-components9.js +3 -3
  117. package/dist/index.d.ts +163 -0
  118. package/dist/style.css +1 -1
  119. package/package.json +1 -1
@@ -0,0 +1,18 @@
1
+ const o = "_root_8a8rm_5", t = "_button_8a8rm_56", c = "_colorIndicator_8a8rm_69", r = "_actions_8a8rm_75", a = "_clear_8a8rm_85", _ = "_caret_8a8rm_98", n = {
2
+ root: o,
3
+ button: t,
4
+ colorIndicator: c,
5
+ actions: r,
6
+ clear: a,
7
+ caret: _
8
+ };
9
+ export {
10
+ r as actions,
11
+ t as button,
12
+ _ as caret,
13
+ a as clear,
14
+ c as colorIndicator,
15
+ n as default,
16
+ o as root
17
+ };
18
+ //# sourceMappingURL=fondue-components67.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fondue-components67.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,42 @@
1
+ import { Children as a, isValidElement as u, cloneElement as f } from "react";
2
+ import { ForwardedRefSelectItem as E } from "./fondue-components51.js";
3
+ const g = ({
4
+ children: r,
5
+ value: o,
6
+ label: s
7
+ }) => r && typeof r == "string" ? {
8
+ value: o || r,
9
+ label: s || r
10
+ } : {
11
+ value: o || "",
12
+ label: s || o || ""
13
+ }, w = (r, o) => u(r) && r.type === o, y = (r, o, s, p = 0) => {
14
+ const n = [];
15
+ let t = 0;
16
+ return a.forEach(r, (e) => {
17
+ if (w(e, E) && u(e))
18
+ g(e.props).label.toLowerCase().includes((s == null ? void 0 : s.toLowerCase()) || "") && (n.push(o(e, p + t)), t++);
19
+ else if (u(e) && (e != null && e.props.children)) {
20
+ const { parsedChildren: m, subElementCount: C } = y(
21
+ e.props.children,
22
+ o,
23
+ "",
24
+ p + t
25
+ );
26
+ e = f(e, {
27
+ children: m,
28
+ key: `group-${p + t}`
29
+ }), n.push(e), t += C;
30
+ } else
31
+ n.push(e);
32
+ }), {
33
+ parsedChildren: n,
34
+ subElementCount: t
35
+ };
36
+ };
37
+ export {
38
+ g as getSelectOptionValue,
39
+ w as isReactLeaf,
40
+ y as recursiveMap
41
+ };
42
+ //# sourceMappingURL=fondue-components68.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fondue-components68.js","sources":["../src/components/Select/utils.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n Children,\n cloneElement,\n isValidElement,\n type JSXElementConstructor,\n type ReactElement,\n type ReactNode,\n} from 'react';\n\nimport { ForwardedRefSelectItem, type SelectItemProps } from './SelectItem';\n\n/**\n * Extracts and returns an object containing `value` and `label` from a given SelectItemProps object.\n * It prioritizes explicit `value` and `label` properties but will fall back to using `children` as the value or label if necessary.\n *\n * @param {SelectItemProps} props - The properties of a select item, which include potential children, value, and label.\n * @returns {{ value: string; label: string }} An object containing `value` and `label` as strings.\n *\n * @example\n * // Returns { value: 'option1', label: 'Option 1' }\n * getSelectOptionValue({ value: 'option1', label: 'Option 1' });\n *\n * @example\n * // Uses children as the value and label when they are not explicitly provided\n * // Returns { value: 'Default', label: 'Default' }\n * getSelectOptionValue({ children: 'Default' });\n */\nexport const getSelectOptionValue = ({\n children,\n value,\n label,\n}: SelectItemProps): {\n value: string;\n label: string;\n} => {\n if (children && typeof children === 'string') {\n return {\n value: value ? value : children,\n label: label ? label : children,\n };\n }\n\n return {\n value: value || '',\n label: label ? label : value || '',\n };\n};\n/**\n * Determines if the child is a leaf node of React, meaning it has one final child of a native type;\n *\n * @param {ReactNode} child - The React child node to check.\n * @param {JSXElementConstructor<never>} Component - The React component constructor used for comparison.\n * @returns {boolean} Returns true if the `child` is a valid React element of the specified `Component` type.\n *\n * @example\n * // Assuming ForwardedRefSelectItem is a component that renders an <input> element\n * // Returns true\n * isReactLeaf(<ForwardedRefSelectItem />, ForwardedRefSelectItem);\n *\n * @example\n * // Returns false for non-matching types or non-leaf components\n * isReactLeaf(<div><ForwardedRefSelectItem /></div>, ForwardedRefSelectItem);\n */\nexport const isReactLeaf = (child: ReactNode, Component: JSXElementConstructor<never>): child is ReactElement =>\n isValidElement(child) && child.type === Component;\n\n/**\n * Recursively maps through React children, applying a callback to each child that meets the specified conditions.\n * This function is useful for deeply nested structures where modifications or checks are needed at multiple levels.\n *\n * @param {ReactNode} children - The children to be recursively processed.\n * @param {function(ReactNode, number): ReactNode} callback - A function that is called for each child that meets the condition. It receives the child and its index, and returns a React node.\n * @param {string} [filterText=''] - Optional text used to filter children based on their properties.\n * @param {number} [nextIndex=0] - The starting index for numbering children, defaults to 0.\n * @returns {{ parsedChildren: ReactNode[], subElementCount: number }} An object containing the transformed children array and the count of all processed sub-elements.\n *\n * @example\n * // Example usage in a select component where only items containing a certain text are modified\n * recursiveMap(children, (child, index) => React.cloneElement(child, { extraProp: 'value' }), 'specific text');\n *\n * @example\n * // Nested structure transformation, adding class names based on index\n * recursiveMap(children, (child, index) => React.cloneElement(child, { className: `item-${index}` }));\n */\nexport const recursiveMap = (\n children: ReactNode,\n callback: (child: ReactNode, nextIndex: number) => ReactNode,\n filterText?: string,\n nextIndex: number = 0,\n): {\n parsedChildren: ReactNode[];\n subElementCount: number;\n} => {\n const resultingChildren: ReactNode[] = [];\n let itemCounter = 0;\n Children.forEach(children, (child) => {\n if (isReactLeaf(child, ForwardedRefSelectItem) && isValidElement<SelectItemProps>(child)) {\n if (\n getSelectOptionValue(child.props)\n .label.toLowerCase()\n .includes(filterText?.toLowerCase() || '')\n ) {\n resultingChildren.push(callback(child, nextIndex + itemCounter));\n itemCounter++;\n }\n } else if (isValidElement<{ children: ReactNode }>(child) && child?.props.children) {\n const { parsedChildren, subElementCount } = recursiveMap(\n child.props.children,\n callback,\n '',\n nextIndex + itemCounter,\n );\n child = cloneElement(child, {\n children: parsedChildren,\n key: `group-${nextIndex + itemCounter}`,\n });\n resultingChildren.push(child);\n itemCounter += subElementCount;\n } else {\n resultingChildren.push(child);\n }\n });\n return {\n parsedChildren: resultingChildren,\n subElementCount: itemCounter,\n };\n};\n"],"names":["getSelectOptionValue","children","value","label","isReactLeaf","child","Component","isValidElement","recursiveMap","callback","filterText","nextIndex","resultingChildren","itemCounter","Children","ForwardedRefSelectItem","parsedChildren","subElementCount","cloneElement"],"mappings":";;AA6BO,MAAMA,IAAuB,CAAC;AAAA,EACjC,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AACJ,MAIQF,KAAY,OAAOA,KAAa,WACzB;AAAA,EACH,OAAOC,KAAgBD;AAAA,EACvB,OAAOE,KAAgBF;AAC3B,IAGG;AAAA,EACH,OAAOC,KAAS;AAAA,EAChB,OAAOC,KAAgBD,KAAS;AACpC,GAkBSE,IAAc,CAACC,GAAkBC,MAC1CC,EAAeF,CAAK,KAAKA,EAAM,SAASC,GAoB/BE,IAAe,CACxBP,GACAQ,GACAC,GACAC,IAAoB,MAInB;AACD,QAAMC,IAAiC,CAAC;AACxC,MAAIC,IAAc;AACT,SAAAC,EAAA,QAAQb,GAAU,CAACI,MAAU;AAClC,QAAID,EAAYC,GAAOU,CAAsB,KAAKR,EAAgCF,CAAK;AACnF,MACIL,EAAqBK,EAAM,KAAK,EAC3B,MAAM,cACN,UAASK,KAAA,gBAAAA,EAAY,kBAAiB,EAAE,MAE7CE,EAAkB,KAAKH,EAASJ,GAAOM,IAAYE,CAAW,CAAC,GAC/DA;AAAA,aAEGN,EAAwCF,CAAK,MAAKA,KAAA,QAAAA,EAAO,MAAM,WAAU;AAC1E,YAAA,EAAE,gBAAAW,GAAgB,iBAAAC,EAAA,IAAoBT;AAAA,QACxCH,EAAM,MAAM;AAAA,QACZI;AAAA,QACA;AAAA,QACAE,IAAYE;AAAA,MAChB;AACA,MAAAR,IAAQa,EAAab,GAAO;AAAA,QACxB,UAAUW;AAAA,QACV,KAAK,SAASL,IAAYE,CAAW;AAAA,MAAA,CACxC,GACDD,EAAkB,KAAKP,CAAK,GACbQ,KAAAI;AAAA,IAAA;AAEf,MAAAL,EAAkB,KAAKP,CAAK;AAAA,EAChC,CACH,GACM;AAAA,IACH,gBAAgBO;AAAA,IAChB,iBAAiBC;AAAA,EACrB;AACJ;"}
@@ -2,8 +2,8 @@ import { jsx as a, jsxs as T } from "react/jsx-runtime";
2
2
  import { IconCross as F } from "@frontify/fondue-icons";
3
3
  import * as i from "@radix-ui/react-dialog";
4
4
  import { createContext as M, forwardRef as l, useContext as S } from "react";
5
- import { addAutoFocusAttribute as B, addShowFocusRing as H } from "./fondue-components36.js";
6
- import r from "./fondue-components37.js";
5
+ import { addAutoFocusAttribute as B, addShowFocusRing as H } from "./fondue-components37.js";
6
+ import r from "./fondue-components38.js";
7
7
  const n = M({ isModal: !1 }), g = ({ children: t, ...o }) => /* @__PURE__ */ a(n.Provider, { value: { isModal: o.modal ?? !1 }, children: /* @__PURE__ */ a(i.Root, { ...o, children: t }) });
8
8
  g.displayName = "Dialog.Root";
9
9
  const c = ({ asChild: t = !0, children: o, "data-test-id": e = "fondue-dialog-trigger", ...d }, s) => /* @__PURE__ */ a(
@@ -1,8 +1,8 @@
1
1
  import { jsx as m } from "react/jsx-runtime";
2
2
  import * as s from "@radix-ui/react-separator";
3
3
  import { forwardRef as p } from "react";
4
- import { cn as f } from "./fondue-components26.js";
5
- import { dividerStyles as n } from "./fondue-components38.js";
4
+ import { cn as f } from "./fondue-components27.js";
5
+ import { dividerStyles as n } from "./fondue-components39.js";
6
6
  const r = ({
7
7
  "data-test-id": o = "fondue-divider",
8
8
  direction: t = "horizontal",
@@ -2,9 +2,9 @@ import { jsx as r, jsxs as I } from "react/jsx-runtime";
2
2
  import { IconCaretRight as h } from "@frontify/fondue-icons";
3
3
  import * as n from "@radix-ui/react-dropdown-menu";
4
4
  import { forwardRef as s, useRef as l } from "react";
5
- import { usePreventDropdownOverflow as v } from "./fondue-components39.js";
6
- import { syncRefs as f } from "./fondue-components36.js";
7
- import a from "./fondue-components40.js";
5
+ import { usePreventDropdownOverflow as v } from "./fondue-components40.js";
6
+ import { syncRefs as f } from "./fondue-components37.js";
7
+ import a from "./fondue-components41.js";
8
8
  const g = ({
9
9
  children: o,
10
10
  open: t,
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { AriaAttributes } from 'react';
2
2
  import { ChangeEvent } from 'react';
3
+ import { CSSProperties } from 'react';
3
4
  import { FocusEvent as FocusEvent_2 } from 'react';
4
5
  import { FormEvent } from 'react';
5
6
  import { ForwardedRef } from 'react';
@@ -20,6 +21,28 @@ declare type AtLeastOneAttr<T> = Partial<T> & {
20
21
  [K in keyof T]-?: Required<Pick<T, K>>;
21
22
  }[keyof T];
22
23
 
24
+ declare type BaseTableRowProps = {
25
+ /**
26
+ * Whether the row is in a selected state
27
+ * @default false
28
+ */
29
+ selected?: boolean;
30
+ /**
31
+ * Whether to disable interactions for this row
32
+ * @default false
33
+ */
34
+ disabled?: boolean;
35
+ /**
36
+ * Content to be rendered within the row
37
+ */
38
+ children: ReactNode;
39
+ /**
40
+ * Accessible label for the row
41
+ */
42
+ 'aria-label'?: string;
43
+ 'data-test-id'?: string;
44
+ };
45
+
23
46
  export declare const Box: {
24
47
  ({ as: Component, "data-test-id": dataTestId, children, role, "aria-label": ariaLabel, "aria-hidden": ariaHidden, "aria-describedby": ariaDescribedBy, "aria-labelledby": ariaLabelledBy, "aria-expanded": ariaExpanded, "aria-haspopup": ariaHasPopup, ...props }: BoxProps): JSX_2.Element;
25
48
  displayName: string;
@@ -161,6 +184,16 @@ declare type CheckboxProps = {
161
184
  'aria-describedby'?: string;
162
185
  };
163
186
 
187
+ declare type ClickableTableRowProps = BaseTableRowProps & {
188
+ /**
189
+ * Handler called when the row is clicked or activated via keyboard
190
+ * If provided, the row will be hoverable and interactive
191
+ */
192
+ onClick: (selected: boolean) => void;
193
+ onNavigate?: never;
194
+ href?: never;
195
+ };
196
+
164
197
  declare type ColorFormat = 'HEX' | 'RGBA';
165
198
 
166
199
  export declare const ColorPicker: {
@@ -790,6 +823,8 @@ declare type GridProps = LayoutComponentProps & {
790
823
  'data-test-id'?: string;
791
824
  } & CommonAriaProps;
792
825
 
826
+ declare type HorizontalAlignment = 'left' | 'center' | 'right';
827
+
793
828
  export declare const Label: ForwardRefExoticComponent<LabelProps & RefAttributes<HTMLLabelElement>>;
794
829
 
795
830
  declare type LabelProps = {
@@ -965,6 +1000,26 @@ declare type LoadingBarProps = {
965
1000
  'aria-labelledby': string;
966
1001
  });
967
1002
 
1003
+ declare type NavigableTableRowProps = BaseTableRowProps & {
1004
+ onClick?: never;
1005
+ /**
1006
+ * Handler called when the row is clicked or activated via keyboard for navigation
1007
+ * Must be provided together with href
1008
+ */
1009
+ onNavigate: (href: string) => void;
1010
+ /**
1011
+ * URL associated with this row for navigation
1012
+ * Must be provided together with onNavigate
1013
+ */
1014
+ href: string;
1015
+ };
1016
+
1017
+ declare type NonInteractiveTableRowProps = BaseTableRowProps & {
1018
+ onClick?: never;
1019
+ onNavigate?: never;
1020
+ href?: never;
1021
+ };
1022
+
968
1023
  declare type OverflowValue = 'visible' | 'hidden' | 'clip' | 'scroll' | 'auto';
969
1024
 
970
1025
  declare type PositionValue = 'static' | 'fixed' | 'absolute' | 'relative' | 'sticky';
@@ -1227,6 +1282,8 @@ declare type SliderProps = {
1227
1282
  'data-test-id'?: string;
1228
1283
  } & CommonAriaAttrs;
1229
1284
 
1285
+ declare type SortDirection = 'ascending' | 'descending' | undefined;
1286
+
1230
1287
  declare type SpacingValue = (string & {}) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12 | 16 | 20 | 24 | 32 | 40 | 48 | 56 | 64;
1231
1288
 
1232
1289
  export declare const Switch: ForwardRefExoticComponent<SwitchProps & RefAttributes<HTMLButtonElement>>;
@@ -1277,6 +1334,112 @@ declare type SwitchProps = {
1277
1334
  'data-test-id'?: string;
1278
1335
  } & CommonAriaAttrs;
1279
1336
 
1337
+ export declare const Table: {
1338
+ Root: ForwardRefExoticComponent<TableRootProps & RefAttributes<HTMLTableElement>>;
1339
+ Caption: ForwardRefExoticComponent< {
1340
+ children: ReactNode;
1341
+ } & RefAttributes<HTMLTableCaptionElement>>;
1342
+ Header: ForwardRefExoticComponent<TableHeaderProps & RefAttributes<HTMLTableSectionElement>>;
1343
+ HeaderCell: ForwardRefExoticComponent<TableHeaderCellProps & RefAttributes<HTMLTableCellElement>>;
1344
+ Body: ForwardRefExoticComponent<TableBodyProps & RefAttributes<HTMLTableSectionElement>>;
1345
+ Row: ForwardRefExoticComponent<TableRowProps & RefAttributes<HTMLTableRowElement>>;
1346
+ RowCell: ForwardRefExoticComponent<TableRowCellProps & RefAttributes<HTMLTableCellElement>>;
1347
+ };
1348
+
1349
+ declare type TableBodyProps = {
1350
+ children: ReactNode;
1351
+ 'aria-busy'?: boolean;
1352
+ };
1353
+
1354
+ declare type TableHeaderCellProps = {
1355
+ /**
1356
+ * Scope of the column
1357
+ * @default 'col'
1358
+ */
1359
+ scope?: HTMLTableCellElement['scope'];
1360
+ /**
1361
+ * Number of columns the cell should span
1362
+ */
1363
+ colSpan?: HTMLTableCellElement['colSpan'];
1364
+ /**
1365
+ * Width of the column
1366
+ */
1367
+ width?: CSSProperties['width'];
1368
+ /**
1369
+ * Current sort direction of the column
1370
+ */
1371
+ sortDirection?: SortDirection;
1372
+ /**
1373
+ * Horizontal alignment of the content
1374
+ * @default 'left'
1375
+ */
1376
+ align?: HorizontalAlignment;
1377
+ /**
1378
+ * Whether to truncate content with ellipsis when it overflows
1379
+ * @default false
1380
+ */
1381
+ truncate?: boolean;
1382
+ /**
1383
+ * Aria label for asceding/descending sort. Variables: {column} - column name
1384
+ * @default "Sort by {column} ascending/descending"
1385
+ */
1386
+ sortTranslations?: {
1387
+ sortAscending?: string;
1388
+ sortDescending?: string;
1389
+ };
1390
+ /**
1391
+ * Whether the column should have a minimum width
1392
+ * @default false
1393
+ */
1394
+ noShrink?: boolean;
1395
+ /**
1396
+ * Handler called when the sort direction changes
1397
+ * @param direction - The new sort direction
1398
+ */
1399
+ onSortChange?: (direction: SortDirection) => void;
1400
+ children: ReactNode;
1401
+ };
1402
+
1403
+ declare type TableHeaderProps = {
1404
+ children: ReactNode;
1405
+ 'aria-label'?: string;
1406
+ 'aria-busy'?: boolean;
1407
+ };
1408
+
1409
+ declare type TableRootProps = {
1410
+ /**
1411
+ * Whether the table should have a fixed or auto layout
1412
+ * @default 'auto'
1413
+ */
1414
+ layout?: 'auto' | 'fixed';
1415
+ /**
1416
+ * Whether header should stick to the top when scrolling
1417
+ */
1418
+ sticky?: 'head' | 'col' | 'both';
1419
+ children: ReactNode;
1420
+ } & CommonAriaAttrs;
1421
+
1422
+ declare type TableRowCellProps = {
1423
+ /**
1424
+ * Number of columns the cell should span
1425
+ */
1426
+ colSpan?: HTMLTableCellElement['colSpan'];
1427
+ /**
1428
+ * Whether to truncate content with ellipsis when it overflows
1429
+ * @default false
1430
+ */
1431
+ truncate?: boolean;
1432
+ /**
1433
+ * Horizontal alignment of the content
1434
+ * @default 'left'
1435
+ */
1436
+ align?: HorizontalAlignment;
1437
+ children: ReactNode;
1438
+ 'aria-label'?: string;
1439
+ };
1440
+
1441
+ declare type TableRowProps = ClickableTableRowProps | NavigableTableRowProps | NonInteractiveTableRowProps;
1442
+
1280
1443
  export declare const Tabs: {
1281
1444
  Root: ForwardRefExoticComponent<TabsRootProps & RefAttributes<HTMLDivElement>>;
1282
1445
  Tab: ForwardRefExoticComponent<TabsTabProps & RefAttributes<HTMLDivElement>>;