@frontify/fondue-components 19.4.0 → 19.6.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.
Files changed (158) hide show
  1. package/dist/fondue-components.js +20 -18
  2. package/dist/fondue-components.js.map +1 -1
  3. package/dist/fondue-components10.js +3 -3
  4. package/dist/fondue-components11.js +3 -3
  5. package/dist/fondue-components12.js +2 -2
  6. package/dist/fondue-components13.js +3 -3
  7. package/dist/fondue-components14.js +2 -2
  8. package/dist/fondue-components15.js +2 -2
  9. package/dist/fondue-components16.js +21 -23
  10. package/dist/fondue-components16.js.map +1 -1
  11. package/dist/fondue-components17.js +1 -1
  12. package/dist/fondue-components18.js +1 -1
  13. package/dist/fondue-components19.js +1 -1
  14. package/dist/fondue-components20.js +2 -2
  15. package/dist/fondue-components21.js +2 -2
  16. package/dist/fondue-components22.js +6 -6
  17. package/dist/fondue-components23.js +1 -1
  18. package/dist/fondue-components24.js +2 -2
  19. package/dist/fondue-components25.js +69 -65
  20. package/dist/fondue-components25.js.map +1 -1
  21. package/dist/fondue-components26.js +135 -127
  22. package/dist/fondue-components26.js.map +1 -1
  23. package/dist/fondue-components27.js +127 -31
  24. package/dist/fondue-components27.js.map +1 -1
  25. package/dist/fondue-components28.js +33 -59
  26. package/dist/fondue-components28.js.map +1 -1
  27. package/dist/fondue-components29.js +58 -101
  28. package/dist/fondue-components29.js.map +1 -1
  29. package/dist/fondue-components3.js +1 -1
  30. package/dist/fondue-components30.js +101 -12
  31. package/dist/fondue-components30.js.map +1 -1
  32. package/dist/fondue-components31.js +12 -55
  33. package/dist/fondue-components31.js.map +1 -1
  34. package/dist/fondue-components32.js +55 -20
  35. package/dist/fondue-components32.js.map +1 -1
  36. package/dist/fondue-components33.js +20 -7
  37. package/dist/fondue-components33.js.map +1 -1
  38. package/dist/fondue-components34.js +7 -6
  39. package/dist/fondue-components34.js.map +1 -1
  40. package/dist/fondue-components35.js +7 -32
  41. package/dist/fondue-components35.js.map +1 -1
  42. package/dist/fondue-components36.js +32 -5
  43. package/dist/fondue-components36.js.map +1 -1
  44. package/dist/fondue-components37.js +5 -12
  45. package/dist/fondue-components37.js.map +1 -1
  46. package/dist/fondue-components38.js +10 -153
  47. package/dist/fondue-components38.js.map +1 -1
  48. package/dist/fondue-components39.js +59 -22
  49. package/dist/fondue-components39.js.map +1 -1
  50. package/dist/fondue-components4.js +29 -38
  51. package/dist/fondue-components4.js.map +1 -1
  52. package/dist/fondue-components40.js +17 -17
  53. package/dist/fondue-components40.js.map +1 -1
  54. package/dist/fondue-components41.js +112 -15
  55. package/dist/fondue-components41.js.map +1 -1
  56. package/dist/fondue-components42.js +19 -30
  57. package/dist/fondue-components42.js.map +1 -1
  58. package/dist/fondue-components43.js +32 -62
  59. package/dist/fondue-components43.js.map +1 -1
  60. package/dist/fondue-components44.js +53 -121
  61. package/dist/fondue-components44.js.map +1 -1
  62. package/dist/fondue-components45.js +129 -20
  63. package/dist/fondue-components45.js.map +1 -1
  64. package/dist/fondue-components46.js +21 -45
  65. package/dist/fondue-components46.js.map +1 -1
  66. package/dist/fondue-components47.js +53 -8
  67. package/dist/fondue-components47.js.map +1 -1
  68. package/dist/fondue-components48.js +8 -13
  69. package/dist/fondue-components48.js.map +1 -1
  70. package/dist/fondue-components49.js +13 -15
  71. package/dist/fondue-components49.js.map +1 -1
  72. package/dist/fondue-components5.js +2 -2
  73. package/dist/fondue-components50.js +14 -4
  74. package/dist/fondue-components50.js.map +1 -1
  75. package/dist/fondue-components51.js +5 -60
  76. package/dist/fondue-components51.js.map +1 -1
  77. package/dist/fondue-components52.js +59 -17
  78. package/dist/fondue-components52.js.map +1 -1
  79. package/dist/fondue-components53.js +18 -19
  80. package/dist/fondue-components53.js.map +1 -1
  81. package/dist/fondue-components54.js +18 -4
  82. package/dist/fondue-components54.js.map +1 -1
  83. package/dist/fondue-components55.js +3 -13
  84. package/dist/fondue-components55.js.map +1 -1
  85. package/dist/fondue-components56.js +13 -3
  86. package/dist/fondue-components56.js.map +1 -1
  87. package/dist/fondue-components57.js +3 -17
  88. package/dist/fondue-components57.js.map +1 -1
  89. package/dist/fondue-components58.js +19 -35
  90. package/dist/fondue-components58.js.map +1 -1
  91. package/dist/fondue-components59.js +8 -4
  92. package/dist/fondue-components59.js.map +1 -1
  93. package/dist/fondue-components6.js +4 -4
  94. package/dist/fondue-components60.js +35 -13
  95. package/dist/fondue-components60.js.map +1 -1
  96. package/dist/fondue-components61.js +1 -1
  97. package/dist/fondue-components62.js +12 -24
  98. package/dist/fondue-components62.js.map +1 -1
  99. package/dist/fondue-components63.js +4 -16
  100. package/dist/fondue-components63.js.map +1 -1
  101. package/dist/fondue-components64.js +23 -149
  102. package/dist/fondue-components64.js.map +1 -1
  103. package/dist/fondue-components65.js +17 -19
  104. package/dist/fondue-components65.js.map +1 -1
  105. package/dist/fondue-components66.js +148 -74
  106. package/dist/fondue-components66.js.map +1 -1
  107. package/dist/fondue-components67.js +19 -8
  108. package/dist/fondue-components67.js.map +1 -1
  109. package/dist/fondue-components68.js +77 -34
  110. package/dist/fondue-components68.js.map +1 -1
  111. package/dist/fondue-components69.js +8 -71
  112. package/dist/fondue-components69.js.map +1 -1
  113. package/dist/fondue-components7.js +2 -2
  114. package/dist/fondue-components70.js +34 -10
  115. package/dist/fondue-components70.js.map +1 -1
  116. package/dist/fondue-components71.js +70 -12
  117. package/dist/fondue-components71.js.map +1 -1
  118. package/dist/fondue-components72.js +10 -12
  119. package/dist/fondue-components72.js.map +1 -1
  120. package/dist/fondue-components73.js +12 -20
  121. package/dist/fondue-components73.js.map +1 -1
  122. package/dist/fondue-components74.js +13 -34
  123. package/dist/fondue-components74.js.map +1 -1
  124. package/dist/fondue-components75.js +20 -55
  125. package/dist/fondue-components75.js.map +1 -1
  126. package/dist/fondue-components76.js +34 -15
  127. package/dist/fondue-components76.js.map +1 -1
  128. package/dist/fondue-components77.js +9 -24
  129. package/dist/fondue-components77.js.map +1 -1
  130. package/dist/fondue-components78.js +55 -14
  131. package/dist/fondue-components78.js.map +1 -1
  132. package/dist/fondue-components79.js +14 -22
  133. package/dist/fondue-components79.js.map +1 -1
  134. package/dist/fondue-components8.js +5 -5
  135. package/dist/fondue-components80.js +25 -6
  136. package/dist/fondue-components80.js.map +1 -1
  137. package/dist/fondue-components81.js +13 -5
  138. package/dist/fondue-components81.js.map +1 -1
  139. package/dist/fondue-components82.js +22 -4
  140. package/dist/fondue-components82.js.map +1 -1
  141. package/dist/fondue-components83.js +6 -4
  142. package/dist/fondue-components83.js.map +1 -1
  143. package/dist/fondue-components84.js +7 -2
  144. package/dist/fondue-components84.js.map +1 -1
  145. package/dist/fondue-components85.js +3 -15
  146. package/dist/fondue-components85.js.map +1 -1
  147. package/dist/fondue-components86.js +4 -39
  148. package/dist/fondue-components86.js.map +1 -1
  149. package/dist/fondue-components87.js +5 -0
  150. package/dist/fondue-components87.js.map +1 -0
  151. package/dist/fondue-components88.js +20 -0
  152. package/dist/fondue-components88.js.map +1 -0
  153. package/dist/fondue-components89.js +43 -0
  154. package/dist/fondue-components89.js.map +1 -0
  155. package/dist/fondue-components9.js +4 -4
  156. package/dist/index.d.ts +103 -38
  157. package/dist/style.css +1 -1
  158. package/package.json +2 -1
@@ -2,9 +2,9 @@
2
2
  import { Accordion as t } from "./fondue-components3.js";
3
3
  import { Badge as m } from "./fondue-components4.js";
4
4
  import { Box as f } from "./fondue-components5.js";
5
- import { Button as l } from "./fondue-components6.js";
5
+ import { Button as a } from "./fondue-components6.js";
6
6
  import { Checkbox as d } from "./fondue-components7.js";
7
- import { ColorPicker as c } from "./fondue-components8.js";
7
+ import { ColorPicker as T } from "./fondue-components8.js";
8
8
  import { Dialog as g } from "./fondue-components9.js";
9
9
  import { Divider as h } from "./fondue-components10.js";
10
10
  import { Dropdown as C } from "./fondue-components11.js";
@@ -22,19 +22,20 @@ import { Select as M } from "./fondue-components22.js";
22
22
  import { Slider as O } from "./fondue-components23.js";
23
23
  import { Switch as R } from "./fondue-components24.js";
24
24
  import { Table as V } from "./fondue-components25.js";
25
- import { Tabs as X } from "./fondue-components26.js";
26
- import { Text as Z } from "./fondue-components27.js";
27
- import { TextInput as $ } from "./fondue-components28.js";
28
- import { Textarea as ro } from "./fondue-components29.js";
29
- import { ThemeContext as to, ThemeProvider as xo, useFondueTheme as mo } from "./fondue-components30.js";
30
- import { Tooltip as fo } from "./fondue-components31.js";
25
+ import { Tag as X } from "./fondue-components26.js";
26
+ import { Tabs as Z } from "./fondue-components27.js";
27
+ import { Text as $ } from "./fondue-components28.js";
28
+ import { TextInput as ro } from "./fondue-components29.js";
29
+ import { Textarea as to } from "./fondue-components30.js";
30
+ import { ThemeContext as mo, ThemeProvider as po, useFondueTheme as fo } from "./fondue-components31.js";
31
+ import { Tooltip as ao } from "./fondue-components32.js";
31
32
  export {
32
33
  t as Accordion,
33
34
  m as Badge,
34
35
  f as Box,
35
- l as Button,
36
+ a as Button,
36
37
  d as Checkbox,
37
- c as ColorPicker,
38
+ T as ColorPicker,
38
39
  g as Dialog,
39
40
  h as Divider,
40
41
  C as Dropdown,
@@ -52,13 +53,14 @@ export {
52
53
  O as Slider,
53
54
  R as Switch,
54
55
  V as Table,
55
- X as Tabs,
56
- Z as Text,
57
- $ as TextInput,
58
- ro as Textarea,
59
- to as ThemeContext,
60
- xo as ThemeProvider,
61
- fo as Tooltip,
62
- mo as useFondueTheme
56
+ Z as Tabs,
57
+ X as Tag,
58
+ $ as Text,
59
+ ro as TextInput,
60
+ to as Textarea,
61
+ mo as ThemeContext,
62
+ po as ThemeProvider,
63
+ ao as Tooltip,
64
+ fo as useFondueTheme
63
65
  };
64
66
  //# sourceMappingURL=fondue-components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"fondue-components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
2
  import * as p from "@radix-ui/react-separator";
3
3
  import { forwardRef as f } from "react";
4
- import { cn as l } from "./fondue-components37.js";
5
- import v from "./fondue-components50.js";
6
- import { dividerStyles as c } from "./fondue-components51.js";
4
+ import { cn as l } from "./fondue-components38.js";
5
+ import v from "./fondue-components51.js";
6
+ import { dividerStyles as c } from "./fondue-components52.js";
7
7
  const h = f(
8
8
  ({
9
9
  "data-test-id": i = "fondue-divider",
@@ -2,9 +2,9 @@ import { jsx as n, jsxs as g } from "react/jsx-runtime";
2
2
  import { IconCaretRight as M } from "@frontify/fondue-icons";
3
3
  import * as d from "@radix-ui/react-dropdown-menu";
4
4
  import { forwardRef as i, useMemo as G, Children as A, useRef as v } from "react";
5
- import { useFondueTheme as D, ThemeProvider as b } from "./fondue-components30.js";
6
- import { useProcessedChildren as h } from "./fondue-components52.js";
7
- import s from "./fondue-components53.js";
5
+ import { useFondueTheme as D, ThemeProvider as b } from "./fondue-components31.js";
6
+ import { useProcessedChildren as h } from "./fondue-components53.js";
7
+ import s from "./fondue-components54.js";
8
8
  const N = ({
9
9
  children: o,
10
10
  open: t,
@@ -1,7 +1,7 @@
1
1
  import { jsx as m } from "react/jsx-runtime";
2
2
  import { forwardRef as n } from "react";
3
- import { propsToCssVariables as y } from "./fondue-components35.js";
4
- import x from "./fondue-components54.js";
3
+ import { propsToCssVariables as y } from "./fondue-components36.js";
4
+ import x from "./fondue-components55.js";
5
5
  const u = n(
6
6
  ({
7
7
  as: a = "div",
@@ -2,9 +2,9 @@ import { jsx as a, jsxs as u } from "react/jsx-runtime";
2
2
  import { IconCross as R } from "@frontify/fondue-icons";
3
3
  import * as l from "@radix-ui/react-popover";
4
4
  import { forwardRef as i } from "react";
5
- import { addAutoFocusAttribute as w, addShowFocusRing as x } from "./fondue-components48.js";
6
- import { useFondueTheme as A, ThemeProvider as T } from "./fondue-components30.js";
7
- import s from "./fondue-components55.js";
5
+ import { addAutoFocusAttribute as w, addShowFocusRing as x } from "./fondue-components49.js";
6
+ import { useFondueTheme as A, ThemeProvider as T } from "./fondue-components31.js";
7
+ import s from "./fondue-components56.js";
8
8
  const n = ({ children: t, ...o }) => /* @__PURE__ */ a(l.Root, { ...o, children: t });
9
9
  n.displayName = "Flyout.Root";
10
10
  const c = ({ asChild: t = !0, children: o, "data-test-id": e = "fondue-flyout-trigger", ...d }, r) => /* @__PURE__ */ a(
@@ -1,7 +1,7 @@
1
1
  import { jsx as f } from "react/jsx-runtime";
2
2
  import { forwardRef as y } from "react";
3
- import { propsToCssVariables as n } from "./fondue-components35.js";
4
- import u from "./fondue-components56.js";
3
+ import { propsToCssVariables as n } from "./fondue-components36.js";
4
+ import u from "./fondue-components57.js";
5
5
  const c = y(
6
6
  ({
7
7
  as: a = "div",
@@ -1,7 +1,7 @@
1
1
  import { jsx as y } from "react/jsx-runtime";
2
2
  import { forwardRef as g } from "react";
3
- import { cn as x } from "./fondue-components37.js";
4
- import a from "./fondue-components57.js";
3
+ import { cn as x } from "./fondue-components38.js";
4
+ import a from "./fondue-components58.js";
5
5
  const $ = g(
6
6
  ({
7
7
  as: e = "span",
@@ -1,31 +1,29 @@
1
- import { jsx as l } from "react/jsx-runtime";
2
- import * as n from "@radix-ui/react-label";
3
- import { forwardRef as s } from "react";
4
- import { cn as w } from "./fondue-components37.js";
5
- const m = ({ className: r, "data-test-id": d = "fondue-label", ...a }, i) => /* @__PURE__ */ l(
6
- n.Root,
1
+ import { jsxs as n, jsx as s } from "react/jsx-runtime";
2
+ import * as c from "@radix-ui/react-label";
3
+ import { forwardRef as f } from "react";
4
+ import { cn as p } from "./fondue-components38.js";
5
+ import o from "./fondue-components59.js";
6
+ const b = ({ className: l, "data-test-id": m = "fondue-label", children: a, ...r }, d) => /* @__PURE__ */ n(
7
+ c.Root,
7
8
  {
8
- ref: i,
9
- "data-required": a.required,
10
- className: w(
11
- 'tw-group tw-flex tw-gap-1 tw-font-body--stack tw-font-normal peer-data-[state="checked"]:tw-font-medium peer-data-[state="indeterminate"]:tw-font-medium tw-text-body-medium tw-text-text-weak peer-hover:tw-text-text has-[+_*_input:hover:not(:disabled)]:tw-text-text tw-transition-colors',
12
- // Disabled state if siblings has disabled state
13
- "has-[+_*_:disabled]:tw-text-text-disabled has-[~_:disabled]:tw-cursor-not-allowed peer-disabled:tw-text-text-disabled peer-disabled:tw-cursor-not-allowed",
14
- // Required asterisk
15
- 'after:tw-hidden data-[required="true"]:after:tw-flex after:tw-content-["*"] after:-tw-ml-1 after:tw-font-body--stack after:tw-text-body-small after:tw-font-medium after:tw-text-text-negative group-hover:tw-text-text-negative-hover',
16
- r
17
- ),
18
- "data-test-id": d,
9
+ ref: d,
10
+ "data-required": r.required,
11
+ className: p(o.root, l),
12
+ "data-test-id": m,
19
13
  onClick: (t) => {
20
- const o = t.target.getAttribute("for"), e = o ? document.getElementById(o) : null;
14
+ const i = t.target.getAttribute("for"), e = i ? document.getElementById(i) : null;
21
15
  e && e.getAttribute("role") === "combobox" && (t.preventDefault(), t.stopPropagation(), e.click());
22
16
  },
23
- ...a
17
+ ...r,
18
+ children: [
19
+ /* @__PURE__ */ s("span", { className: o.hiddenText, "aria-hidden": "true", children: a }),
20
+ /* @__PURE__ */ s("span", { className: o.visibleText, children: a })
21
+ ]
24
22
  }
25
- ), f = s(m);
26
- f.displayName = "Label";
23
+ ), u = f(b);
24
+ u.displayName = "Label";
27
25
  export {
28
- f as Label,
29
- m as LabelComponent
26
+ u as Label,
27
+ b as LabelComponent
30
28
  };
31
29
  //# sourceMappingURL=fondue-components16.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components16.js","sources":["../src/components/Label/Label.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { type ForwardedRef, forwardRef, type MouseEventHandler, type ReactNode } from 'react';\n\nimport { cn } from '#/utilities/styleUtilities';\n\nexport type LabelProps = {\n id?: string;\n children: ReactNode;\n /**\n * The id of the input element the label is associated with\n */\n htmlFor: string;\n /**\n * Add an asterisk to the label to indicate it is required\n * @default false\n */\n required?: boolean;\n className?: string;\n onClick?: MouseEventHandler<HTMLLabelElement>;\n 'data-test-id'?: string;\n};\n\nexport const LabelComponent = (\n { className, 'data-test-id': dataTestId = 'fondue-label', ...props }: LabelProps,\n ref: ForwardedRef<HTMLLabelElement>,\n) => {\n return (\n <LabelPrimitive.Root\n ref={ref}\n data-required={props.required}\n className={cn(\n 'tw-group tw-flex tw-gap-1 tw-font-body--stack tw-font-normal peer-data-[state=\"checked\"]:tw-font-medium peer-data-[state=\"indeterminate\"]:tw-font-medium tw-text-body-medium tw-text-text-weak peer-hover:tw-text-text has-[+_*_input:hover:not(:disabled)]:tw-text-text tw-transition-colors',\n // Disabled state if siblings has disabled state\n 'has-[+_*_:disabled]:tw-text-text-disabled has-[~_:disabled]:tw-cursor-not-allowed peer-disabled:tw-text-text-disabled peer-disabled:tw-cursor-not-allowed',\n // Required asterisk\n 'after:tw-hidden data-[required=\"true\"]:after:tw-flex after:tw-content-[\"*\"] after:-tw-ml-1 after:tw-font-body--stack after:tw-text-body-small after:tw-font-medium after:tw-text-text-negative group-hover:tw-text-text-negative-hover',\n className,\n )}\n data-test-id={dataTestId}\n onClick={(event) => {\n // Add support of Select component, Radix only allows native `select`\n // but we use `div[role=combobox]` because of downshift\n // https://github.com/radix-ui/primitives/blob/6e75e117977c9e6ffa939e6951a707f16ba0f95e/packages/react/label/src/label.tsx#L22\n const targetId = (event.target as HTMLElement).getAttribute('for');\n const target = targetId ? document.getElementById(targetId) : null;\n\n if (target && target.getAttribute('role') === 'combobox') {\n event.preventDefault();\n event.stopPropagation();\n target.click();\n }\n }}\n {...props}\n />\n );\n};\n\nexport const Label = forwardRef<HTMLLabelElement, LabelProps>(LabelComponent);\nLabel.displayName = 'Label';\n"],"names":["LabelComponent","className","dataTestId","props","ref","jsx","LabelPrimitive","cn","event","targetId","target","Label","forwardRef"],"mappings":";;;;AAwBO,MAAMA,IAAiB,CAC1B,EAAE,WAAAC,GAAW,gBAAgBC,IAAa,gBAAgB,GAAGC,EAAA,GAC7DC,MAGI,gBAAAC;AAAA,EAACC,EAAe;AAAA,EAAf;AAAA,IACG,KAAAF;AAAA,IACA,iBAAeD,EAAM;AAAA,IACrB,WAAWI;AAAA,MACP;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA;AAAA,MACAN;AAAA,IAAA;AAAA,IAEJ,gBAAcC;AAAA,IACd,SAAS,CAACM,MAAU;AAIhB,YAAMC,IAAYD,EAAM,OAAuB,aAAa,KAAK,GAC3DE,IAASD,IAAW,SAAS,eAAeA,CAAQ,IAAI;AAE9D,MAAIC,KAAUA,EAAO,aAAa,MAAM,MAAM,eAC1CF,EAAM,eAAA,GACNA,EAAM,gBAAA,GACNE,EAAO,MAAA;AAAA,IAEf;AAAA,IACC,GAAGP;AAAA,EAAA;AAAA,GAKHQ,IAAQC,EAAyCZ,CAAc;AAC5EW,EAAM,cAAc;"}
1
+ {"version":3,"file":"fondue-components16.js","sources":["../src/components/Label/Label.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { type ForwardedRef, forwardRef, type MouseEventHandler, type ReactNode } from 'react';\n\nimport { cn } from '#/utilities/styleUtilities';\n\nimport styles from './styles/label.module.scss';\n\nexport type LabelProps = {\n id?: string;\n children: ReactNode;\n /**\n * The id of the input element the label is associated with\n */\n htmlFor: string;\n /**\n * Add an asterisk to the label to indicate it is required\n * @default false\n */\n required?: boolean;\n className?: string;\n onClick?: MouseEventHandler<HTMLLabelElement>;\n 'data-test-id'?: string;\n};\n\nexport const LabelComponent = (\n { className, 'data-test-id': dataTestId = 'fondue-label', children, ...props }: LabelProps,\n ref: ForwardedRef<HTMLLabelElement>,\n) => {\n return (\n <LabelPrimitive.Root\n ref={ref}\n data-required={props.required}\n className={cn(styles.root, className)}\n data-test-id={dataTestId}\n onClick={(event) => {\n // Add support of Select component, Radix only allows native `select`\n // but we use `div[role=combobox]` because of downshift\n // https://github.com/radix-ui/primitives/blob/6e75e117977c9e6ffa939e6951a707f16ba0f95e/packages/react/label/src/label.tsx#L22\n const targetId = (event.target as HTMLElement).getAttribute('for');\n const target = targetId ? document.getElementById(targetId) : null;\n\n if (target && target.getAttribute('role') === 'combobox') {\n event.preventDefault();\n event.stopPropagation();\n target.click();\n }\n }}\n {...props}\n >\n {/* Hidden version with medium font weight to reserve space */}\n <span className={styles.hiddenText} aria-hidden=\"true\">\n {children}\n </span>\n {/* Visible version (inherits all styling from parent) */}\n <span className={styles.visibleText}>{children}</span>\n </LabelPrimitive.Root>\n );\n};\n\nexport const Label = forwardRef<HTMLLabelElement, LabelProps>(LabelComponent);\nLabel.displayName = 'Label';\n"],"names":["LabelComponent","className","dataTestId","children","props","ref","jsxs","LabelPrimitive","cn","styles","event","targetId","target","jsx","Label","forwardRef"],"mappings":";;;;;AA0BO,MAAMA,IAAiB,CAC1B,EAAE,WAAAC,GAAW,gBAAgBC,IAAa,gBAAgB,UAAAC,GAAU,GAAGC,EAAA,GACvEC,MAGI,gBAAAC;AAAA,EAACC,EAAe;AAAA,EAAf;AAAA,IACG,KAAAF;AAAA,IACA,iBAAeD,EAAM;AAAA,IACrB,WAAWI,EAAGC,EAAO,MAAMR,CAAS;AAAA,IACpC,gBAAcC;AAAA,IACd,SAAS,CAACQ,MAAU;AAIhB,YAAMC,IAAYD,EAAM,OAAuB,aAAa,KAAK,GAC3DE,IAASD,IAAW,SAAS,eAAeA,CAAQ,IAAI;AAE9D,MAAIC,KAAUA,EAAO,aAAa,MAAM,MAAM,eAC1CF,EAAM,eAAA,GACNA,EAAM,gBAAA,GACNE,EAAO,MAAA;AAAA,IAEf;AAAA,IACC,GAAGR;AAAA,IAGJ,UAAA;AAAA,MAAA,gBAAAS,EAAC,UAAK,WAAWJ,EAAO,YAAY,eAAY,QAC3C,UAAAN,GACL;AAAA,MAEA,gBAAAU,EAAC,QAAA,EAAK,WAAWJ,EAAO,aAAc,UAAAN,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAAA,GAK9CW,IAAQC,EAAyCf,CAAc;AAC5Ec,EAAM,cAAc;"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
2
  import * as t from "@radix-ui/react-progress";
3
3
  import { forwardRef as m } from "react";
4
- import { loadingBarContainerStyles as g, loadingBarStyles as f } from "./fondue-components58.js";
4
+ import { loadingBarContainerStyles as g, loadingBarStyles as f } from "./fondue-components60.js";
5
5
  const p = m(
6
6
  ({
7
7
  value: a,
@@ -1,6 +1,6 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
2
  import { forwardRef as i } from "react";
3
- import d from "./fondue-components59.js";
3
+ import d from "./fondue-components61.js";
4
4
  const s = i(
5
5
  ({
6
6
  variant: t = "progress",
@@ -1,7 +1,7 @@
1
1
  import { jsxs as b, jsx as l } from "react/jsx-runtime";
2
2
  import * as a from "@radix-ui/react-scroll-area";
3
3
  import { forwardRef as h } from "react";
4
- import o from "./fondue-components60.js";
4
+ import o from "./fondue-components62.js";
5
5
  const p = ({
6
6
  type: t = "hover",
7
7
  maxHeight: e = "100%",
@@ -1,7 +1,7 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
2
  import { forwardRef as m } from "react";
3
- import { propsToCssVariables as c } from "./fondue-components35.js";
4
- import f from "./fondue-components61.js";
3
+ import { propsToCssVariables as c } from "./fondue-components36.js";
4
+ import f from "./fondue-components63.js";
5
5
  const y = m(
6
6
  ({
7
7
  "data-test-id": a = "fondue-section",
@@ -1,8 +1,8 @@
1
1
  import { jsxs as l, jsx as t } from "react/jsx-runtime";
2
2
  import * as n from "@radix-ui/react-toggle-group";
3
3
  import { forwardRef as i } from "react";
4
- import { useControllableState as N } from "./fondue-components62.js";
5
- import e from "./fondue-components63.js";
4
+ import { useControllableState as N } from "./fondue-components64.js";
5
+ import e from "./fondue-components65.js";
6
6
  const d = ({
7
7
  children: a,
8
8
  value: o,
@@ -4,12 +4,12 @@ import * as g from "@radix-ui/react-popover";
4
4
  import { Slot as q } from "@radix-ui/react-slot";
5
5
  import { useSelect as J } from "downshift";
6
6
  import { forwardRef as K, useRef as L, useState as Q } from "react";
7
- import { ForwardedRefCombobox as U } from "./fondue-components64.js";
8
- import { ForwardedRefSelectItem as W, ForwardedRefSelectItemGroup as X } from "./fondue-components65.js";
9
- import { SelectMenu as Y } from "./fondue-components66.js";
10
- import { ForwardedRefSelectSlot as Z } from "./fondue-components67.js";
11
- import o from "./fondue-components68.js";
12
- import { useSelectData as _ } from "./fondue-components69.js";
7
+ import { ForwardedRefCombobox as U } from "./fondue-components66.js";
8
+ import { ForwardedRefSelectItem as W, ForwardedRefSelectItemGroup as X } from "./fondue-components67.js";
9
+ import { SelectMenu as Y } from "./fondue-components68.js";
10
+ import { ForwardedRefSelectSlot as Z } from "./fondue-components69.js";
11
+ import o from "./fondue-components70.js";
12
+ import { useSelectData as _ } from "./fondue-components71.js";
13
13
  const S = ({
14
14
  children: h,
15
15
  onSelect: s,
@@ -1,7 +1,7 @@
1
1
  import { jsxs as f, jsx as s } from "react/jsx-runtime";
2
2
  import * as e from "@radix-ui/react-slider";
3
3
  import { forwardRef as h, useRef as R } from "react";
4
- import r from "./fondue-components70.js";
4
+ import r from "./fondue-components72.js";
5
5
  const g = ({
6
6
  value: a,
7
7
  defaultValue: n = [0],
@@ -1,8 +1,8 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
2
  import * as o from "@radix-ui/react-switch";
3
3
  import { forwardRef as l } from "react";
4
- import { cn as f } from "./fondue-components37.js";
5
- import t from "./fondue-components71.js";
4
+ import { cn as f } from "./fondue-components38.js";
5
+ import t from "./fondue-components73.js";
6
6
  const n = ({
7
7
  value: a,
8
8
  defaultValue: i,
@@ -1,34 +1,38 @@
1
1
  import { jsx as t, jsxs as p } from "react/jsx-runtime";
2
2
  import { IconArrowUp as A, IconArrowDown as K, IconArrowBidirectional as h } from "@frontify/fondue-icons";
3
- import { forwardRef as m, useRef as w, useMemo as j } from "react";
4
- import { useSyncRefs as g } from "./fondue-components47.js";
5
- import { useTextTruncation as N } from "./fondue-components72.js";
3
+ import { forwardRef as b, useRef as w, useMemo as j } from "react";
4
+ import { useSyncRefs as g } from "./fondue-components48.js";
5
+ import { useTextTruncation as N } from "./fondue-components74.js";
6
6
  import { Box as L } from "./fondue-components5.js";
7
7
  import { LoadingCircle as S } from "./fondue-components18.js";
8
- import n from "./fondue-components73.js";
9
- import { handleKeyDown as $, shouldIgnoreRowClick as D } from "./fondue-components74.js";
10
- const R = m(
11
- ({ layout: a = "auto", fontSize: e = "medium", sticky: o, children: s, ...d }, l) => /* @__PURE__ */ t("div", { onKeyDown: $, role: "grid", tabIndex: -1, children: /* @__PURE__ */ t(
12
- "table",
13
- {
14
- ref: l,
15
- className: n.table,
16
- "data-layout": a,
17
- "data-font-size": e,
18
- "data-sticky": o,
19
- ...d,
20
- children: s
21
- }
22
- ) })
8
+ import i from "./fondue-components75.js";
9
+ import { handleKeyDown as $, shouldIgnoreRowClick as D } from "./fondue-components76.js";
10
+ const R = b(
11
+ ({ layout: a = "auto", fontSize: e = "medium", sticky: o, children: s, ...d }, l) => (
12
+ // eslint-disable-next-line jsx-a11y-x/no-noninteractive-element-interactions
13
+ /* @__PURE__ */ t(
14
+ "table",
15
+ {
16
+ ref: l,
17
+ className: i.table,
18
+ "data-layout": a,
19
+ "data-font-size": e,
20
+ "data-sticky": o,
21
+ onKeyDown: $,
22
+ ...d,
23
+ children: s
24
+ }
25
+ )
26
+ )
23
27
  );
24
28
  R.displayName = "Table.Root";
25
- const C = m(({ children: a }, e) => /* @__PURE__ */ t("caption", { ref: e, className: n.caption, children: a }));
29
+ const C = b(({ children: a }, e) => /* @__PURE__ */ t("caption", { ref: e, className: i.caption, children: a }));
26
30
  C.displayName = "Table.Caption";
27
- const x = m(
28
- ({ children: a, "aria-label": e, "aria-busy": o }, s) => /* @__PURE__ */ t("thead", { ref: s, className: n.header, "aria-label": e, "aria-busy": o, children: a })
31
+ const v = b(
32
+ ({ children: a, "aria-label": e, "aria-busy": o }, s) => /* @__PURE__ */ t("thead", { ref: s, className: i.header, "aria-label": e, "aria-busy": o, children: a })
29
33
  );
30
- x.displayName = "Table.Header";
31
- const v = m(
34
+ v.displayName = "Table.Header";
35
+ const x = b(
32
36
  ({
33
37
  noShrink: a = !1,
34
38
  truncate: e = !1,
@@ -36,47 +40,47 @@ const v = m(
36
40
  scope: s = "col",
37
41
  sortTranslations: d,
38
42
  sortDirection: l,
39
- colSpan: c,
40
- width: b,
43
+ colSpan: m,
44
+ width: c,
41
45
  state: f = "idle",
42
46
  loadingStateAriaLabel: u,
43
- onSortChange: i,
47
+ onSortChange: n,
44
48
  children: r
45
49
  }, H) => {
46
50
  const y = w(null);
47
51
  g(y, H), N(y);
48
52
  const z = j(() => typeof r == "string" ? l === "ascending" ? (d == null ? void 0 : d.sortDescending) ?? `Sort by ${r} descending` : (d == null ? void 0 : d.sortAscending) ?? `Sort by ${r} ascending` : l === "ascending" ? "Sort descending" : "Sort ascending", [r, l, d]), B = () => {
49
- if (!i)
53
+ if (!n)
50
54
  return;
51
- i(l === void 0 || l === "descending" ? "ascending" : "descending");
55
+ n(l === void 0 || l === "descending" ? "ascending" : "descending");
52
56
  };
53
57
  return /* @__PURE__ */ t(
54
58
  "th",
55
59
  {
56
60
  ref: y,
57
- style: { width: b },
58
- className: n.headerCell,
61
+ style: { width: c },
62
+ className: i.headerCell,
59
63
  scope: s,
60
- colSpan: c,
64
+ colSpan: m,
61
65
  "data-align": o,
62
66
  "data-truncate": e,
63
67
  "data-no-shrink": a,
64
- "data-sortable": !!i,
65
- "aria-sort": i ? l || "none" : void 0,
66
- children: f === "loading" ? /* @__PURE__ */ p("div", { className: n.cellContent, "aria-live": "polite", "aria-label": u, children: [
67
- typeof r == "string" && e ? /* @__PURE__ */ t("span", { className: n.buttonText, children: r }) : r,
68
+ "data-sortable": !!n,
69
+ "aria-sort": n ? l || "none" : void 0,
70
+ children: f === "loading" ? /* @__PURE__ */ p("div", { className: i.cellContent, "aria-live": "polite", "aria-label": u, children: [
71
+ typeof r == "string" && e ? /* @__PURE__ */ t("span", { className: i.buttonText, children: r }) : r,
68
72
  /* @__PURE__ */ t(S, { "data-test-id": "fondue-loading-circle", size: "xx-small" })
69
- ] }) : i ? /* @__PURE__ */ p(
73
+ ] }) : n ? /* @__PURE__ */ p(
70
74
  "button",
71
75
  {
72
- className: n.cellContent,
76
+ className: i.cellContent,
73
77
  "aria-label": z,
74
78
  "data-active": !!l,
75
79
  onClick: B,
76
80
  type: "button",
77
81
  children: [
78
- typeof r == "string" && e ? /* @__PURE__ */ t("span", { className: n.buttonText, children: r }) : r,
79
- /* @__PURE__ */ t(L, { width: 3, children: l === "ascending" ? /* @__PURE__ */ t(A, { size: "12" }) : l === "descending" ? /* @__PURE__ */ t(K, { size: "12" }) : /* @__PURE__ */ t(h, { className: n.sortIndicator, size: "12" }) })
82
+ typeof r == "string" && e ? /* @__PURE__ */ t("span", { className: i.buttonText, children: r }) : r,
83
+ /* @__PURE__ */ t(L, { width: 3, children: l === "ascending" ? /* @__PURE__ */ t(A, { size: "12" }) : l === "descending" ? /* @__PURE__ */ t(K, { size: "12" }) : /* @__PURE__ */ t(h, { className: i.sortIndicator, size: "12" }) })
80
84
  ]
81
85
  }
82
86
  ) : r
@@ -84,33 +88,33 @@ const v = m(
84
88
  );
85
89
  }
86
90
  );
87
- v.displayName = "Table.HeaderCell";
88
- const T = m(
89
- ({ children: a, "aria-busy": e }, o) => /* @__PURE__ */ t("tbody", { ref: o, className: n.body, "aria-busy": e, children: a })
91
+ x.displayName = "Table.HeaderCell";
92
+ const T = b(
93
+ ({ children: a, "aria-busy": e }, o) => /* @__PURE__ */ t("tbody", { ref: o, className: i.body, "aria-busy": e, children: a })
90
94
  );
91
95
  T.displayName = "Table.Body";
92
- const I = m(
93
- ({ disabled: a = !1, selected: e = !1, onClick: o, children: s, "aria-label": d, "data-test-id": l }, c) => {
94
- const b = o !== void 0 && !a, f = (i) => {
95
- a || D(i) || o && o(e);
96
- }, u = (i) => {
97
- b && (i.key === "Enter" || i.key === " ") && (i.preventDefault(), f());
96
+ const I = b(
97
+ ({ disabled: a = !1, selected: e = !1, onClick: o, children: s, "aria-label": d, "data-test-id": l }, m) => {
98
+ const c = o !== void 0 && !a, f = (n) => {
99
+ a || D(n) || o && o(e);
100
+ }, u = (n) => {
101
+ c && (n.key === "Enter" || n.key === " ") && (n.preventDefault(), f());
98
102
  };
99
103
  return /* @__PURE__ */ t(
100
104
  "tr",
101
105
  {
102
- ref: c,
103
- className: n.row,
106
+ ref: m,
107
+ className: i.row,
104
108
  tabIndex: 0,
105
- role: b ? "button" : "row",
109
+ role: c ? "button" : "row",
106
110
  "data-disabled": a,
107
- "data-interactive": b,
108
- "data-selected": e,
111
+ "data-interactive": c,
112
+ "data-selected": c ? void 0 : e,
109
113
  "aria-disabled": a,
110
114
  "aria-label": d,
111
- "aria-selected": e,
112
- onClick: b ? f : void 0,
113
- onKeyDown: b ? u : void 0,
115
+ "aria-selected": c ? void 0 : e,
116
+ onClick: c ? f : void 0,
117
+ onKeyDown: c ? u : void 0,
114
118
  "data-test-id": l,
115
119
  children: s
116
120
  }
@@ -118,14 +122,14 @@ const I = m(
118
122
  }
119
123
  );
120
124
  I.displayName = "Table.Row";
121
- const k = m(
125
+ const k = b(
122
126
  ({ colSpan: a, truncate: e, align: o = "left", children: s, "aria-label": d }, l) => {
123
- const c = w(null);
124
- return g(c, l), N(c), /* @__PURE__ */ t(
127
+ const m = w(null);
128
+ return g(m, l), N(m), /* @__PURE__ */ t(
125
129
  "td",
126
130
  {
127
- ref: c,
128
- className: n.rowCell,
131
+ ref: m,
132
+ className: i.rowCell,
129
133
  colSpan: a,
130
134
  "data-align": o,
131
135
  "data-truncate": e,
@@ -139,8 +143,8 @@ k.displayName = "Table.RowCell";
139
143
  const V = {
140
144
  Root: R,
141
145
  Caption: C,
142
- Header: x,
143
- HeaderCell: v,
146
+ Header: v,
147
+ HeaderCell: x,
144
148
  Body: T,
145
149
  Row: I,
146
150
  RowCell: k
@@ -149,8 +153,8 @@ export {
149
153
  V as Table,
150
154
  T as TableBody,
151
155
  C as TableCaption,
152
- x as TableHeader,
153
- v as TableHeaderCell,
156
+ v as TableHeader,
157
+ x as TableHeaderCell,
154
158
  R as TableRoot,
155
159
  I as TableRow,
156
160
  k as TableRowCell
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components25.js","sources":["../src/components/Table/Table.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconArrowBidirectional, IconArrowDown, IconArrowUp } from '@frontify/fondue-icons';\nimport {\n forwardRef,\n useMemo,\n useRef,\n type CSSProperties,\n type KeyboardEvent,\n type MouseEvent,\n type ReactElement,\n type ReactNode,\n} from 'react';\n\nimport { useSyncRefs } from '#/hooks/useSyncRefs';\nimport { useTextTruncation } from '#/hooks/useTextTruncation';\nimport { type CommonAriaAttrs } from '#/utilities/types';\n\nimport { Box } from '../Box/Box';\nimport { LoadingCircle } from '../LoadingCircle/LoadingCircle';\n\nimport styles from './styles/table.module.scss';\nimport { handleKeyDown, shouldIgnoreRowClick } from './utils';\n\ntype TableRootProps = {\n /**\n * Whether the table should have a fixed or auto layout\n * @default 'auto'\n */\n layout?: 'auto' | 'fixed';\n /**\n * Font size of the table content\n * @default 'small'\n */\n fontSize?: 'small' | 'medium';\n /**\n * Whether header should stick to the top when scrolling\n */\n sticky?: 'head' | 'col' | 'both';\n children: ReactNode;\n} & CommonAriaAttrs;\n\nexport const TableRoot = forwardRef<HTMLTableElement, TableRootProps>(\n ({ layout = 'auto', fontSize = 'medium', sticky, children, ...props }, ref) => {\n return (\n <div onKeyDown={handleKeyDown} role=\"grid\" tabIndex={-1}>\n <table\n ref={ref}\n className={styles.table}\n data-layout={layout}\n data-font-size={fontSize}\n data-sticky={sticky}\n {...props}\n >\n {children}\n </table>\n </div>\n );\n },\n);\nTableRoot.displayName = 'Table.Root';\n\nexport const TableCaption = forwardRef<HTMLTableCaptionElement, { children: ReactNode }>(({ children }, ref) => {\n return (\n <caption ref={ref} className={styles.caption}>\n {children}\n </caption>\n );\n});\nTableCaption.displayName = 'Table.Caption';\n\ntype TableHeaderProps = {\n children: ReactNode;\n 'aria-label'?: string;\n 'aria-busy'?: boolean;\n};\n\nexport const TableHeader = forwardRef<HTMLTableSectionElement, TableHeaderProps>(\n ({ children, 'aria-label': ariaLabel, 'aria-busy': ariaBusy }, ref) => {\n return (\n <thead ref={ref} className={styles.header} aria-label={ariaLabel} aria-busy={ariaBusy}>\n {children}\n </thead>\n );\n },\n);\nTableHeader.displayName = 'Table.Header';\n\ntype SortDirection = 'ascending' | 'descending' | undefined;\ntype HorizontalAlignment = 'left' | 'center' | 'right';\n\ntype TableHeaderCellProps = {\n /**\n * Scope of the column\n * @default 'col'\n */\n scope?: HTMLTableCellElement['scope'];\n /**\n * Number of columns the cell should span\n */\n colSpan?: HTMLTableCellElement['colSpan'];\n /**\n * Width of the column\n */\n width?: CSSProperties['width'];\n /**\n * Current sort direction of the column\n */\n sortDirection?: SortDirection;\n /**\n * Horizontal alignment of the content\n * @default 'left'\n */\n align?: HorizontalAlignment;\n /**\n * Whether to truncate content with ellipsis when it overflows\n * @default false\n */\n truncate?: boolean;\n /**\n * Aria label for asceding/descending sort. Variables: {column} - column name\n * @default \"Sort by {column} ascending/descending\"\n */\n sortTranslations?: {\n sortAscending?: string;\n sortDescending?: string;\n };\n /**\n * Whether the column should have a minimum width\n * @default false\n */\n noShrink?: boolean;\n /**\n * State of the cell, used for displaying loading state\n * @default 'idle'\n */\n state?: 'idle' | 'loading';\n /**\n * The aria-label to be applied when state='loading'\n */\n loadingStateAriaLabel?: string;\n /**\n * Handler called when the sort direction changes\n * @param direction - The new sort direction\n */\n onSortChange?: (direction: SortDirection) => void;\n children: ReactNode;\n};\n\nexport const TableHeaderCell = forwardRef<HTMLTableCellElement, TableHeaderCellProps>(\n (\n {\n noShrink = false,\n truncate = false,\n align = 'left',\n scope = 'col',\n sortTranslations,\n sortDirection,\n colSpan,\n width,\n state = 'idle',\n loadingStateAriaLabel,\n onSortChange,\n children,\n },\n ref,\n ) => {\n const cellRef = useRef<HTMLTableCellElement>(null);\n useSyncRefs<HTMLTableCellElement>(cellRef, ref);\n\n useTextTruncation(cellRef);\n\n const sortLabel = useMemo(() => {\n if (typeof children === 'string') {\n if (sortDirection === 'ascending') {\n return sortTranslations?.sortDescending ?? `Sort by ${children} descending`;\n }\n return sortTranslations?.sortAscending ?? `Sort by ${children} ascending`;\n }\n\n return sortDirection === 'ascending' ? 'Sort descending' : 'Sort ascending';\n }, [children, sortDirection, sortTranslations]);\n\n const handleSortChange = () => {\n if (!onSortChange) {\n return;\n }\n\n const newDirection: SortDirection =\n sortDirection === undefined || sortDirection === 'descending' ? 'ascending' : 'descending';\n\n onSortChange(newDirection);\n };\n\n return (\n <th\n ref={cellRef}\n style={{ width }}\n className={styles.headerCell}\n scope={scope}\n colSpan={colSpan}\n data-align={align}\n data-truncate={truncate}\n data-no-shrink={noShrink}\n data-sortable={!!onSortChange}\n aria-sort={onSortChange ? sortDirection || 'none' : undefined}\n >\n {state === 'loading' ? (\n <div className={styles.cellContent} aria-live=\"polite\" aria-label={loadingStateAriaLabel}>\n {typeof children === 'string' && truncate ? (\n <span className={styles.buttonText}>{children}</span>\n ) : (\n children\n )}\n <LoadingCircle data-test-id=\"fondue-loading-circle\" size=\"xx-small\" />\n </div>\n ) : onSortChange ? (\n <button\n className={styles.cellContent}\n aria-label={sortLabel}\n data-active={!!sortDirection}\n onClick={handleSortChange}\n type=\"button\"\n >\n {typeof children === 'string' && truncate ? (\n <span className={styles.buttonText}>{children}</span>\n ) : (\n children\n )}\n <Box width={3}>\n {sortDirection === 'ascending' ? (\n <IconArrowUp size=\"12\" />\n ) : sortDirection === 'descending' ? (\n <IconArrowDown size=\"12\" />\n ) : (\n <IconArrowBidirectional className={styles.sortIndicator} size=\"12\" />\n )}\n </Box>\n </button>\n ) : (\n children\n )}\n </th>\n );\n },\n);\nTableHeaderCell.displayName = 'Table.HeaderCell';\n\ntype TableBodyProps = {\n children: ReactNode;\n 'aria-busy'?: boolean;\n};\n\nexport const TableBody = forwardRef<HTMLTableSectionElement, TableBodyProps>(\n ({ children, 'aria-busy': ariaBusy }, ref) => {\n return (\n <tbody ref={ref} className={styles.body} aria-busy={ariaBusy}>\n {children}\n </tbody>\n );\n },\n);\nTableBody.displayName = 'Table.Body';\n\ntype BaseTableRowProps = {\n /**\n * Whether the row is in a selected state\n * @default false\n */\n selected?: boolean;\n /**\n * Whether to disable interactions for this row\n * @default false\n */\n disabled?: boolean;\n /**\n * Content to be rendered within the row\n */\n children: ReactNode;\n /**\n * Accessible label for the row\n */\n 'aria-label'?: string;\n 'data-test-id'?: string;\n};\n\ntype TableRowProps = BaseTableRowProps & {\n /**\n * Handler called when the row is clicked or activated via keyboard\n * If provided, the row will be hoverable and interactive\n */\n onClick?: (selected: boolean) => void;\n};\n\nexport const TableRow = forwardRef<HTMLTableRowElement, TableRowProps>(\n (\n { disabled = false, selected = false, onClick, children, 'aria-label': ariaLabel, 'data-test-id': dataTestId },\n ref,\n ) => {\n const isInteractive = onClick !== undefined && !disabled;\n\n const handleClick = (event?: MouseEvent) => {\n if (disabled) {\n return;\n }\n\n if (shouldIgnoreRowClick(event)) {\n return;\n }\n\n if (onClick) {\n onClick(selected);\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLTableRowElement>) => {\n if (!isInteractive) {\n return;\n }\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n handleClick();\n }\n };\n\n return (\n <tr\n ref={ref}\n className={styles.row}\n tabIndex={0}\n role={isInteractive ? 'button' : 'row'}\n data-disabled={disabled}\n data-interactive={isInteractive}\n data-selected={selected}\n aria-disabled={disabled}\n aria-label={ariaLabel}\n aria-selected={selected}\n onClick={isInteractive ? handleClick : undefined}\n onKeyDown={isInteractive ? handleKeyDown : undefined}\n data-test-id={dataTestId}\n >\n {children}\n </tr>\n );\n },\n);\nTableRow.displayName = 'Table.Row';\n\ntype TableRowCellProps = {\n /**\n * Number of columns the cell should span\n */\n colSpan?: HTMLTableCellElement['colSpan'];\n /**\n * Whether to truncate content with ellipsis when it overflows\n * @default false\n */\n truncate?: boolean;\n /**\n * Horizontal alignment of the content\n * @default 'left'\n */\n align?: HorizontalAlignment;\n children: ReactNode;\n 'aria-label'?: string;\n};\n\nexport const TableRowCell = forwardRef<HTMLTableCellElement, TableRowCellProps>(\n ({ colSpan, truncate, align = 'left', children, 'aria-label': ariaLabel }, ref): ReactElement => {\n const cellRef = useRef<HTMLTableCellElement>(null);\n useSyncRefs<HTMLTableCellElement>(cellRef, ref);\n\n useTextTruncation(cellRef);\n\n return (\n <td\n ref={cellRef}\n className={styles.rowCell}\n colSpan={colSpan}\n data-align={align}\n data-truncate={truncate}\n aria-label={ariaLabel}\n >\n {children}\n </td>\n );\n },\n);\nTableRowCell.displayName = 'Table.RowCell';\n\nexport const Table = {\n Root: TableRoot,\n Caption: TableCaption,\n Header: TableHeader,\n HeaderCell: TableHeaderCell,\n Body: TableBody,\n Row: TableRow,\n RowCell: TableRowCell,\n};\n"],"names":["TableRoot","forwardRef","layout","fontSize","sticky","children","props","ref","handleKeyDown","jsx","styles","TableCaption","TableHeader","ariaLabel","ariaBusy","TableHeaderCell","noShrink","truncate","align","scope","sortTranslations","sortDirection","colSpan","width","state","loadingStateAriaLabel","onSortChange","cellRef","useRef","useSyncRefs","useTextTruncation","sortLabel","useMemo","handleSortChange","jsxs","LoadingCircle","Box","IconArrowUp","IconArrowDown","IconArrowBidirectional","TableBody","TableRow","disabled","selected","onClick","dataTestId","isInteractive","handleClick","event","shouldIgnoreRowClick","TableRowCell","Table"],"mappings":";;;;;;;;;AA0CO,MAAMA,IAAYC;AAAA,EACrB,CAAC,EAAE,QAAAC,IAAS,QAAQ,UAAAC,IAAW,UAAU,QAAAC,GAAQ,UAAAC,GAAU,GAAGC,EAAA,GAASC,wBAE9D,OAAA,EAAI,WAAWC,GAAe,MAAK,QAAO,UAAU,IACjD,UAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAAF;AAAA,MACA,WAAWG,EAAO;AAAA,MAClB,eAAaR;AAAA,MACb,kBAAgBC;AAAA,MAChB,eAAaC;AAAA,MACZ,GAAGE;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA,GAET;AAGZ;AACAL,EAAU,cAAc;AAEjB,MAAMW,IAAeV,EAA6D,CAAC,EAAE,UAAAI,EAAA,GAAYE,wBAE/F,WAAA,EAAQ,KAAAA,GAAU,WAAWG,EAAO,SAChC,UAAAL,GACL,CAEP;AACDM,EAAa,cAAc;AAQpB,MAAMC,IAAcX;AAAA,EACvB,CAAC,EAAE,UAAAI,GAAU,cAAcQ,GAAW,aAAaC,EAAA,GAAYP,MAEvD,gBAAAE,EAAC,SAAA,EAAM,KAAAF,GAAU,WAAWG,EAAO,QAAQ,cAAYG,GAAW,aAAWC,GACxE,UAAAT,EAAA,CACL;AAGZ;AACAO,EAAY,cAAc;AA+DnB,MAAMG,IAAkBd;AAAA,EAC3B,CACI;AAAA,IACI,UAAAe,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,OAAAC,IAAQ;AAAA,IACR,OAAAC,IAAQ;AAAA,IACR,kBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,uBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAArB;AAAA,EAAA,GAEJE,MACC;AACD,UAAMoB,IAAUC,EAA6B,IAAI;AACjD,IAAAC,EAAkCF,GAASpB,CAAG,GAE9CuB,EAAkBH,CAAO;AAEzB,UAAMI,IAAYC,EAAQ,MAClB,OAAO3B,KAAa,WAChBgB,MAAkB,eACXD,KAAA,gBAAAA,EAAkB,mBAAkB,WAAWf,CAAQ,iBAE3De,KAAA,gBAAAA,EAAkB,kBAAiB,WAAWf,CAAQ,eAG1DgB,MAAkB,cAAc,oBAAoB,kBAC5D,CAAChB,GAAUgB,GAAeD,CAAgB,CAAC,GAExCa,IAAmB,MAAM;AAC3B,UAAI,CAACP;AACD;AAMJ,MAAAA,EAFIL,MAAkB,UAAaA,MAAkB,eAAe,cAAc,YAEzD;AAAA,IAC7B;AAEA,WACI,gBAAAZ;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,KAAKkB;AAAA,QACL,OAAO,EAAE,OAAAJ,EAAA;AAAA,QACT,WAAWb,EAAO;AAAA,QAClB,OAAAS;AAAA,QACA,SAAAG;AAAA,QACA,cAAYJ;AAAA,QACZ,iBAAeD;AAAA,QACf,kBAAgBD;AAAA,QAChB,iBAAe,CAAC,CAACU;AAAA,QACjB,aAAWA,IAAeL,KAAiB,SAAS;AAAA,QAEnD,UAAAG,MAAU,YACP,gBAAAU,EAAC,OAAA,EAAI,WAAWxB,EAAO,aAAa,aAAU,UAAS,cAAYe,GAC9D,UAAA;AAAA,UAAA,OAAOpB,KAAa,YAAYY,IAC7B,gBAAAR,EAAC,UAAK,WAAWC,EAAO,YAAa,UAAAL,EAAA,CAAS,IAE9CA;AAAA,UAEJ,gBAAAI,EAAC0B,GAAA,EAAc,gBAAa,yBAAwB,MAAK,WAAA,CAAW;AAAA,QAAA,EAAA,CACxE,IACAT,IACA,gBAAAQ;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAWxB,EAAO;AAAA,YAClB,cAAYqB;AAAA,YACZ,eAAa,CAAC,CAACV;AAAA,YACf,SAASY;AAAA,YACT,MAAK;AAAA,YAEJ,UAAA;AAAA,cAAA,OAAO5B,KAAa,YAAYY,IAC7B,gBAAAR,EAAC,UAAK,WAAWC,EAAO,YAAa,UAAAL,EAAA,CAAS,IAE9CA;AAAA,cAEJ,gBAAAI,EAAC2B,GAAA,EAAI,OAAO,GACP,UAAAf,MAAkB,cACf,gBAAAZ,EAAC4B,GAAA,EAAY,MAAK,KAAA,CAAK,IACvBhB,MAAkB,eAClB,gBAAAZ,EAAC6B,GAAA,EAAc,MAAK,KAAA,CAAK,IAEzB,gBAAA7B,EAAC8B,GAAA,EAAuB,WAAW7B,EAAO,eAAe,MAAK,KAAA,CAAK,EAAA,CAE3E;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA,IAGJL;AAAA,MAAA;AAAA,IAAA;AAAA,EAIhB;AACJ;AACAU,EAAgB,cAAc;AAOvB,MAAMyB,IAAYvC;AAAA,EACrB,CAAC,EAAE,UAAAI,GAAU,aAAaS,EAAA,GAAYP,MAE9B,gBAAAE,EAAC,WAAM,KAAAF,GAAU,WAAWG,EAAO,MAAM,aAAWI,GAC/C,UAAAT,GACL;AAGZ;AACAmC,EAAU,cAAc;AAgCjB,MAAMC,IAAWxC;AAAA,EACpB,CACI,EAAE,UAAAyC,IAAW,IAAO,UAAAC,IAAW,IAAO,SAAAC,GAAS,UAAAvC,GAAU,cAAcQ,GAAW,gBAAgBgC,EAAA,GAClGtC,MACC;AACD,UAAMuC,IAAgBF,MAAY,UAAa,CAACF,GAE1CK,IAAc,CAACC,MAAuB;AACxC,MAAIN,KAIAO,EAAqBD,CAAK,KAI1BJ,KACAA,EAAQD,CAAQ;AAAA,IAExB,GAEMnC,IAAgB,CAACwC,MAA8C;AACjE,MAAKF,MAIDE,EAAM,QAAQ,WAAWA,EAAM,QAAQ,SACvCA,EAAM,eAAA,GACND,EAAA;AAAA,IAER;AAEA,WACI,gBAAAtC;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,KAAAF;AAAA,QACA,WAAWG,EAAO;AAAA,QAClB,UAAU;AAAA,QACV,MAAMoC,IAAgB,WAAW;AAAA,QACjC,iBAAeJ;AAAA,QACf,oBAAkBI;AAAA,QAClB,iBAAeH;AAAA,QACf,iBAAeD;AAAA,QACf,cAAY7B;AAAA,QACZ,iBAAe8B;AAAA,QACf,SAASG,IAAgBC,IAAc;AAAA,QACvC,WAAWD,IAAgBtC,IAAgB;AAAA,QAC3C,gBAAcqC;AAAA,QAEb,UAAAxC;AAAA,MAAA;AAAA,IAAA;AAAA,EAGb;AACJ;AACAoC,EAAS,cAAc;AAqBhB,MAAMS,IAAejD;AAAA,EACxB,CAAC,EAAE,SAAAqB,GAAS,UAAAL,GAAU,OAAAC,IAAQ,QAAQ,UAAAb,GAAU,cAAcQ,EAAA,GAAaN,MAAsB;AAC7F,UAAMoB,IAAUC,EAA6B,IAAI;AACjD,WAAAC,EAAkCF,GAASpB,CAAG,GAE9CuB,EAAkBH,CAAO,GAGrB,gBAAAlB;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,KAAKkB;AAAA,QACL,WAAWjB,EAAO;AAAA,QAClB,SAAAY;AAAA,QACA,cAAYJ;AAAA,QACZ,iBAAeD;AAAA,QACf,cAAYJ;AAAA,QAEX,UAAAR;AAAA,MAAA;AAAA,IAAA;AAAA,EAGb;AACJ;AACA6C,EAAa,cAAc;AAEpB,MAAMC,IAAQ;AAAA,EACjB,MAAMnD;AAAA,EACN,SAASW;AAAA,EACT,QAAQC;AAAA,EACR,YAAYG;AAAA,EACZ,MAAMyB;AAAA,EACN,KAAKC;AAAA,EACL,SAASS;AACb;"}
1
+ {"version":3,"file":"fondue-components25.js","sources":["../src/components/Table/Table.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconArrowBidirectional, IconArrowDown, IconArrowUp } from '@frontify/fondue-icons';\nimport {\n type AriaAttributes,\n forwardRef,\n useMemo,\n useRef,\n type CSSProperties,\n type KeyboardEvent,\n type MouseEvent,\n type ReactElement,\n type ReactNode,\n} from 'react';\n\nimport { useSyncRefs } from '#/hooks/useSyncRefs';\nimport { useTextTruncation } from '#/hooks/useTextTruncation';\nimport { type CommonAriaAttrs } from '#/utilities/types';\n\nimport { Box } from '../Box/Box';\nimport { LoadingCircle } from '../LoadingCircle/LoadingCircle';\n\nimport styles from './styles/table.module.scss';\nimport { handleKeyDown, shouldIgnoreRowClick } from './utils';\n\ntype TableRootProps = {\n /**\n * Whether the table should have a fixed or auto layout\n * @default 'auto'\n */\n layout?: 'auto' | 'fixed';\n /**\n * Font size of the table content\n * @default 'small'\n */\n fontSize?: 'small' | 'medium';\n /**\n * Whether header should stick to the top when scrolling\n */\n sticky?: 'head' | 'col' | 'both';\n children: ReactNode;\n} & CommonAriaAttrs &\n Pick<AriaAttributes, 'aria-multiselectable'>;\n\nexport const TableRoot = forwardRef<HTMLTableElement, TableRootProps>(\n ({ layout = 'auto', fontSize = 'medium', sticky, children, ...props }, ref) => {\n return (\n // eslint-disable-next-line jsx-a11y-x/no-noninteractive-element-interactions\n <table\n ref={ref}\n className={styles.table}\n data-layout={layout}\n data-font-size={fontSize}\n data-sticky={sticky}\n onKeyDown={handleKeyDown}\n {...props}\n >\n {children}\n </table>\n );\n },\n);\nTableRoot.displayName = 'Table.Root';\n\nexport const TableCaption = forwardRef<HTMLTableCaptionElement, { children: ReactNode }>(({ children }, ref) => {\n return (\n <caption ref={ref} className={styles.caption}>\n {children}\n </caption>\n );\n});\nTableCaption.displayName = 'Table.Caption';\n\ntype TableHeaderProps = {\n children: ReactNode;\n 'aria-label'?: string;\n 'aria-busy'?: boolean;\n};\n\nexport const TableHeader = forwardRef<HTMLTableSectionElement, TableHeaderProps>(\n ({ children, 'aria-label': ariaLabel, 'aria-busy': ariaBusy }, ref) => {\n return (\n <thead ref={ref} className={styles.header} aria-label={ariaLabel} aria-busy={ariaBusy}>\n {children}\n </thead>\n );\n },\n);\nTableHeader.displayName = 'Table.Header';\n\ntype SortDirection = 'ascending' | 'descending' | undefined;\ntype HorizontalAlignment = 'left' | 'center' | 'right';\n\ntype TableHeaderCellProps = {\n /**\n * Scope of the column\n * @default 'col'\n */\n scope?: HTMLTableCellElement['scope'];\n /**\n * Number of columns the cell should span\n */\n colSpan?: HTMLTableCellElement['colSpan'];\n /**\n * Width of the column\n */\n width?: CSSProperties['width'];\n /**\n * Current sort direction of the column\n */\n sortDirection?: SortDirection;\n /**\n * Horizontal alignment of the content\n * @default 'left'\n */\n align?: HorizontalAlignment;\n /**\n * Whether to truncate content with ellipsis when it overflows\n * @default false\n */\n truncate?: boolean;\n /**\n * Aria label for asceding/descending sort. Variables: {column} - column name\n * @default \"Sort by {column} ascending/descending\"\n */\n sortTranslations?: {\n sortAscending?: string;\n sortDescending?: string;\n };\n /**\n * Whether the column should have a minimum width\n * @default false\n */\n noShrink?: boolean;\n /**\n * State of the cell, used for displaying loading state\n * @default 'idle'\n */\n state?: 'idle' | 'loading';\n /**\n * The aria-label to be applied when state='loading'\n */\n loadingStateAriaLabel?: string;\n /**\n * Handler called when the sort direction changes\n * @param direction - The new sort direction\n */\n onSortChange?: (direction: SortDirection) => void;\n children: ReactNode;\n};\n\nexport const TableHeaderCell = forwardRef<HTMLTableCellElement, TableHeaderCellProps>(\n (\n {\n noShrink = false,\n truncate = false,\n align = 'left',\n scope = 'col',\n sortTranslations,\n sortDirection,\n colSpan,\n width,\n state = 'idle',\n loadingStateAriaLabel,\n onSortChange,\n children,\n },\n ref,\n ) => {\n const cellRef = useRef<HTMLTableCellElement>(null);\n useSyncRefs<HTMLTableCellElement>(cellRef, ref);\n\n useTextTruncation(cellRef);\n\n const sortLabel = useMemo(() => {\n if (typeof children === 'string') {\n if (sortDirection === 'ascending') {\n return sortTranslations?.sortDescending ?? `Sort by ${children} descending`;\n }\n return sortTranslations?.sortAscending ?? `Sort by ${children} ascending`;\n }\n\n return sortDirection === 'ascending' ? 'Sort descending' : 'Sort ascending';\n }, [children, sortDirection, sortTranslations]);\n\n const handleSortChange = () => {\n if (!onSortChange) {\n return;\n }\n\n const newDirection: SortDirection =\n sortDirection === undefined || sortDirection === 'descending' ? 'ascending' : 'descending';\n\n onSortChange(newDirection);\n };\n\n return (\n <th\n ref={cellRef}\n style={{ width }}\n className={styles.headerCell}\n scope={scope}\n colSpan={colSpan}\n data-align={align}\n data-truncate={truncate}\n data-no-shrink={noShrink}\n data-sortable={!!onSortChange}\n aria-sort={onSortChange ? sortDirection || 'none' : undefined}\n >\n {state === 'loading' ? (\n <div className={styles.cellContent} aria-live=\"polite\" aria-label={loadingStateAriaLabel}>\n {typeof children === 'string' && truncate ? (\n <span className={styles.buttonText}>{children}</span>\n ) : (\n children\n )}\n <LoadingCircle data-test-id=\"fondue-loading-circle\" size=\"xx-small\" />\n </div>\n ) : onSortChange ? (\n <button\n className={styles.cellContent}\n aria-label={sortLabel}\n data-active={!!sortDirection}\n onClick={handleSortChange}\n type=\"button\"\n >\n {typeof children === 'string' && truncate ? (\n <span className={styles.buttonText}>{children}</span>\n ) : (\n children\n )}\n <Box width={3}>\n {sortDirection === 'ascending' ? (\n <IconArrowUp size=\"12\" />\n ) : sortDirection === 'descending' ? (\n <IconArrowDown size=\"12\" />\n ) : (\n <IconArrowBidirectional className={styles.sortIndicator} size=\"12\" />\n )}\n </Box>\n </button>\n ) : (\n children\n )}\n </th>\n );\n },\n);\nTableHeaderCell.displayName = 'Table.HeaderCell';\n\ntype TableBodyProps = {\n children: ReactNode;\n 'aria-busy'?: boolean;\n};\n\nexport const TableBody = forwardRef<HTMLTableSectionElement, TableBodyProps>(\n ({ children, 'aria-busy': ariaBusy }, ref) => {\n return (\n <tbody ref={ref} className={styles.body} aria-busy={ariaBusy}>\n {children}\n </tbody>\n );\n },\n);\nTableBody.displayName = 'Table.Body';\n\ntype TableRowProps = {\n /**\n * Whether the row is in a selected state\n * @default false\n */\n selected?: boolean;\n /**\n * Whether to disable interactions for this row\n * @default false\n */\n disabled?: boolean;\n /**\n * Handler called when the row is clicked or activated via keyboard\n * If provided, the row will be hoverable and interactive\n */\n onClick?: (selected: boolean) => void;\n /**\n * Content to be rendered within the row\n */\n children: ReactNode;\n /**\n * Accessible label for the row\n */\n 'aria-label'?: string;\n 'data-test-id'?: string;\n};\n\nexport const TableRow = forwardRef<HTMLTableRowElement, TableRowProps>(\n (\n { disabled = false, selected = false, onClick, children, 'aria-label': ariaLabel, 'data-test-id': dataTestId },\n ref,\n ) => {\n const isInteractive = onClick !== undefined && !disabled;\n\n const handleClick = (event?: MouseEvent) => {\n if (disabled) {\n return;\n }\n\n if (shouldIgnoreRowClick(event)) {\n return;\n }\n\n if (onClick) {\n onClick(selected);\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLTableRowElement>) => {\n if (!isInteractive) {\n return;\n }\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n handleClick();\n }\n };\n\n return (\n <tr\n ref={ref}\n className={styles.row}\n tabIndex={0}\n role={isInteractive ? 'button' : 'row'}\n data-disabled={disabled}\n data-interactive={isInteractive}\n data-selected={!isInteractive ? selected : undefined}\n aria-disabled={disabled}\n aria-label={ariaLabel}\n aria-selected={!isInteractive ? selected : undefined}\n onClick={isInteractive ? handleClick : undefined}\n onKeyDown={isInteractive ? handleKeyDown : undefined}\n data-test-id={dataTestId}\n >\n {children}\n </tr>\n );\n },\n);\nTableRow.displayName = 'Table.Row';\n\ntype TableRowCellProps = {\n /**\n * Number of columns the cell should span\n */\n colSpan?: HTMLTableCellElement['colSpan'];\n /**\n * Whether to truncate content with ellipsis when it overflows\n * @default false\n */\n truncate?: boolean;\n /**\n * Horizontal alignment of the content\n * @default 'left'\n */\n align?: HorizontalAlignment;\n children: ReactNode;\n 'aria-label'?: string;\n};\n\nexport const TableRowCell = forwardRef<HTMLTableCellElement, TableRowCellProps>(\n ({ colSpan, truncate, align = 'left', children, 'aria-label': ariaLabel }, ref): ReactElement => {\n const cellRef = useRef<HTMLTableCellElement>(null);\n useSyncRefs<HTMLTableCellElement>(cellRef, ref);\n\n useTextTruncation(cellRef);\n\n return (\n <td\n ref={cellRef}\n className={styles.rowCell}\n colSpan={colSpan}\n data-align={align}\n data-truncate={truncate}\n aria-label={ariaLabel}\n >\n {children}\n </td>\n );\n },\n);\nTableRowCell.displayName = 'Table.RowCell';\n\nexport const Table = {\n Root: TableRoot,\n Caption: TableCaption,\n Header: TableHeader,\n HeaderCell: TableHeaderCell,\n Body: TableBody,\n Row: TableRow,\n RowCell: TableRowCell,\n};\n"],"names":["TableRoot","forwardRef","layout","fontSize","sticky","children","props","ref","jsx","styles","handleKeyDown","TableCaption","TableHeader","ariaLabel","ariaBusy","TableHeaderCell","noShrink","truncate","align","scope","sortTranslations","sortDirection","colSpan","width","state","loadingStateAriaLabel","onSortChange","cellRef","useRef","useSyncRefs","useTextTruncation","sortLabel","useMemo","handleSortChange","jsxs","LoadingCircle","Box","IconArrowUp","IconArrowDown","IconArrowBidirectional","TableBody","TableRow","disabled","selected","onClick","dataTestId","isInteractive","handleClick","event","shouldIgnoreRowClick","TableRowCell","Table"],"mappings":"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"}