@fanvue/ui 1.21.0 → 2.1.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 (272) hide show
  1. package/dist/charts.d.ts +1 -1
  2. package/dist/cjs/components/Accordion/AccordionContent.cjs +1 -1
  3. package/dist/cjs/components/Accordion/AccordionContent.cjs.map +1 -1
  4. package/dist/cjs/components/Accordion/AccordionItem.cjs +1 -1
  5. package/dist/cjs/components/Accordion/AccordionItem.cjs.map +1 -1
  6. package/dist/cjs/components/Accordion/AccordionTrigger.cjs +5 -5
  7. package/dist/cjs/components/Accordion/AccordionTrigger.cjs.map +1 -1
  8. package/dist/cjs/components/Alert/Alert.cjs +11 -11
  9. package/dist/cjs/components/Alert/Alert.cjs.map +1 -1
  10. package/dist/cjs/components/AudioUpload/AudioUpload.cjs +12 -12
  11. package/dist/cjs/components/AudioUpload/AudioUpload.cjs.map +1 -1
  12. package/dist/cjs/components/AudioUpload/AudioWaveform.cjs +1 -1
  13. package/dist/cjs/components/AudioUpload/AudioWaveform.cjs.map +1 -1
  14. package/dist/cjs/components/Autocomplete/Autocomplete.cjs +12 -12
  15. package/dist/cjs/components/Autocomplete/Autocomplete.cjs.map +1 -1
  16. package/dist/cjs/components/Autocomplete/AutocompleteDropdownContent.cjs +3 -3
  17. package/dist/cjs/components/Autocomplete/AutocompleteDropdownContent.cjs.map +1 -1
  18. package/dist/cjs/components/Autocomplete/AutocompleteOptionItem.cjs +3 -3
  19. package/dist/cjs/components/Autocomplete/AutocompleteOptionItem.cjs.map +1 -1
  20. package/dist/cjs/components/Autocomplete/AutocompleteTag.cjs +2 -2
  21. package/dist/cjs/components/Autocomplete/AutocompleteTag.cjs.map +1 -1
  22. package/dist/cjs/components/Avatar/Avatar.cjs +3 -3
  23. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  24. package/dist/cjs/components/Badge/Badge.cjs +23 -23
  25. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  26. package/dist/cjs/components/BottomNavigation/BottomNavigation.cjs +1 -1
  27. package/dist/cjs/components/BottomNavigation/BottomNavigation.cjs.map +1 -1
  28. package/dist/cjs/components/BottomNavigation/BottomNavigationAction.cjs +2 -2
  29. package/dist/cjs/components/BottomNavigation/BottomNavigationAction.cjs.map +1 -1
  30. package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs +3 -3
  31. package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs.map +1 -1
  32. package/dist/cjs/components/Button/Button.cjs +10 -10
  33. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  34. package/dist/cjs/components/Card/Card.cjs +6 -6
  35. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  36. package/dist/cjs/components/Chart/ChartCard.cjs +6 -6
  37. package/dist/cjs/components/Chart/ChartCard.cjs.map +1 -1
  38. package/dist/cjs/components/Chart/ChartCenterLabel.cjs +2 -2
  39. package/dist/cjs/components/Chart/ChartCenterLabel.cjs.map +1 -1
  40. package/dist/cjs/components/Chart/ChartContainer.cjs +7 -7
  41. package/dist/cjs/components/Chart/ChartContainer.cjs.map +1 -1
  42. package/dist/cjs/components/Chart/ChartLegend.cjs +1 -1
  43. package/dist/cjs/components/Chart/ChartLegend.cjs.map +1 -1
  44. package/dist/cjs/components/Chart/ChartLoadingOverlay.cjs +1 -1
  45. package/dist/cjs/components/Chart/ChartLoadingOverlay.cjs.map +1 -1
  46. package/dist/cjs/components/Chart/ChartPieLegend.cjs +2 -2
  47. package/dist/cjs/components/Chart/ChartPieLegend.cjs.map +1 -1
  48. package/dist/cjs/components/Chart/ChartSeriesToggle.cjs +2 -2
  49. package/dist/cjs/components/Chart/ChartSeriesToggle.cjs.map +1 -1
  50. package/dist/cjs/components/Chart/ChartTooltip.cjs +4 -4
  51. package/dist/cjs/components/Chart/ChartTooltip.cjs.map +1 -1
  52. package/dist/cjs/components/Checkbox/Checkbox.cjs +13 -13
  53. package/dist/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
  54. package/dist/cjs/components/Chip/Chip.cjs +7 -7
  55. package/dist/cjs/components/Chip/Chip.cjs.map +1 -1
  56. package/dist/cjs/components/Count/Count.cjs +7 -7
  57. package/dist/cjs/components/Count/Count.cjs.map +1 -1
  58. package/dist/cjs/components/DatePicker/DatePicker.cjs +14 -14
  59. package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  60. package/dist/cjs/components/Dialog/Dialog.cjs +6 -6
  61. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  62. package/dist/cjs/components/Divider/Divider.cjs +4 -4
  63. package/dist/cjs/components/Divider/Divider.cjs.map +1 -1
  64. package/dist/cjs/components/Drawer/Drawer.cjs +5 -5
  65. package/dist/cjs/components/Drawer/Drawer.cjs.map +1 -1
  66. package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs +6 -6
  67. package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs.map +1 -1
  68. package/dist/cjs/components/IconButton/IconButton.cjs +10 -10
  69. package/dist/cjs/components/IconButton/IconButton.cjs.map +1 -1
  70. package/dist/cjs/components/Icons/LockerOffIcon.cjs +1 -1
  71. package/dist/cjs/components/Icons/LockerOffIcon.cjs.map +1 -1
  72. package/dist/cjs/components/Icons/LockerOnIcon.cjs +1 -1
  73. package/dist/cjs/components/Icons/LockerOnIcon.cjs.map +1 -1
  74. package/dist/cjs/components/Icons/NewMessageIcon.cjs +47 -0
  75. package/dist/cjs/components/Icons/NewMessageIcon.cjs.map +1 -0
  76. package/dist/cjs/components/Icons/ReverseIcon.cjs +64 -0
  77. package/dist/cjs/components/Icons/ReverseIcon.cjs.map +1 -0
  78. package/dist/cjs/components/InfoBox/InfoBox.cjs +6 -6
  79. package/dist/cjs/components/InfoBox/InfoBox.cjs.map +1 -1
  80. package/dist/cjs/components/Loader/Loader.cjs +1 -1
  81. package/dist/cjs/components/Loader/Loader.cjs.map +1 -1
  82. package/dist/cjs/components/Logo/Logo.cjs +13 -13
  83. package/dist/cjs/components/Logo/Logo.cjs.map +1 -1
  84. package/dist/cjs/components/MobileStepper/MobileStepper.cjs +2 -2
  85. package/dist/cjs/components/MobileStepper/MobileStepper.cjs.map +1 -1
  86. package/dist/cjs/components/OnlineBlinkingIcon/OnlineBlinkingIcon.cjs +2 -2
  87. package/dist/cjs/components/OnlineBlinkingIcon/OnlineBlinkingIcon.cjs.map +1 -1
  88. package/dist/cjs/components/Pagination/Pagination.cjs +3 -3
  89. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  90. package/dist/cjs/components/PasswordField/PasswordField.cjs +1 -1
  91. package/dist/cjs/components/PasswordField/PasswordField.cjs.map +1 -1
  92. package/dist/cjs/components/Pill/Pill.cjs +10 -10
  93. package/dist/cjs/components/Pill/Pill.cjs.map +1 -1
  94. package/dist/cjs/components/ProgressBar/ProgressBar.cjs +13 -13
  95. package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
  96. package/dist/cjs/components/Radio/Radio.cjs +4 -4
  97. package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
  98. package/dist/cjs/components/Select/Select.cjs +13 -13
  99. package/dist/cjs/components/Select/Select.cjs.map +1 -1
  100. package/dist/cjs/components/Skeleton/Skeleton.cjs +2 -2
  101. package/dist/cjs/components/Skeleton/Skeleton.cjs.map +1 -1
  102. package/dist/cjs/components/Slider/Slider.cjs +1 -1
  103. package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
  104. package/dist/cjs/components/Slider/SliderLayout.cjs +5 -12
  105. package/dist/cjs/components/Slider/SliderLayout.cjs.map +1 -1
  106. package/dist/cjs/components/Slider/SliderThumb.cjs +6 -6
  107. package/dist/cjs/components/Slider/SliderThumb.cjs.map +1 -1
  108. package/dist/cjs/components/Snackbar/Snackbar.cjs +9 -9
  109. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  110. package/dist/cjs/components/Switch/Switch.cjs +3 -3
  111. package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
  112. package/dist/cjs/components/SwitchField/SwitchField.cjs +5 -5
  113. package/dist/cjs/components/SwitchField/SwitchField.cjs.map +1 -1
  114. package/dist/cjs/components/SwitchToggle/SwitchToggle.cjs +4 -4
  115. package/dist/cjs/components/SwitchToggle/SwitchToggle.cjs.map +1 -1
  116. package/dist/cjs/components/Table/Table.cjs +341 -0
  117. package/dist/cjs/components/Table/Table.cjs.map +1 -0
  118. package/dist/cjs/components/Table/TablePagination.cjs +70 -0
  119. package/dist/cjs/components/Table/TablePagination.cjs.map +1 -0
  120. package/dist/cjs/components/Tabs/TabsList.cjs +3 -3
  121. package/dist/cjs/components/Tabs/TabsList.cjs.map +1 -1
  122. package/dist/cjs/components/Tabs/TabsTrigger.cjs +8 -8
  123. package/dist/cjs/components/Tabs/TabsTrigger.cjs.map +1 -1
  124. package/dist/cjs/components/TextArea/TextArea.cjs +7 -7
  125. package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
  126. package/dist/cjs/components/TextField/TextField.cjs +11 -11
  127. package/dist/cjs/components/TextField/TextField.cjs.map +1 -1
  128. package/dist/cjs/components/Toast/Toast.cjs +7 -7
  129. package/dist/cjs/components/Toast/Toast.cjs.map +1 -1
  130. package/dist/cjs/components/Tooltip/Tooltip.cjs +1 -1
  131. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  132. package/dist/cjs/index.cjs +26 -2
  133. package/dist/cjs/index.cjs.map +1 -1
  134. package/dist/components/Accordion/AccordionContent.mjs +1 -1
  135. package/dist/components/Accordion/AccordionContent.mjs.map +1 -1
  136. package/dist/components/Accordion/AccordionItem.mjs +1 -1
  137. package/dist/components/Accordion/AccordionItem.mjs.map +1 -1
  138. package/dist/components/Accordion/AccordionTrigger.mjs +5 -5
  139. package/dist/components/Accordion/AccordionTrigger.mjs.map +1 -1
  140. package/dist/components/Alert/Alert.mjs +11 -11
  141. package/dist/components/Alert/Alert.mjs.map +1 -1
  142. package/dist/components/AudioUpload/AudioUpload.mjs +12 -12
  143. package/dist/components/AudioUpload/AudioUpload.mjs.map +1 -1
  144. package/dist/components/AudioUpload/AudioWaveform.mjs +1 -1
  145. package/dist/components/AudioUpload/AudioWaveform.mjs.map +1 -1
  146. package/dist/components/Autocomplete/Autocomplete.mjs +12 -12
  147. package/dist/components/Autocomplete/Autocomplete.mjs.map +1 -1
  148. package/dist/components/Autocomplete/AutocompleteDropdownContent.mjs +3 -3
  149. package/dist/components/Autocomplete/AutocompleteDropdownContent.mjs.map +1 -1
  150. package/dist/components/Autocomplete/AutocompleteOptionItem.mjs +3 -3
  151. package/dist/components/Autocomplete/AutocompleteOptionItem.mjs.map +1 -1
  152. package/dist/components/Autocomplete/AutocompleteTag.mjs +2 -2
  153. package/dist/components/Autocomplete/AutocompleteTag.mjs.map +1 -1
  154. package/dist/components/Avatar/Avatar.mjs +3 -3
  155. package/dist/components/Avatar/Avatar.mjs.map +1 -1
  156. package/dist/components/Badge/Badge.mjs +23 -23
  157. package/dist/components/Badge/Badge.mjs.map +1 -1
  158. package/dist/components/BottomNavigation/BottomNavigation.mjs +1 -1
  159. package/dist/components/BottomNavigation/BottomNavigation.mjs.map +1 -1
  160. package/dist/components/BottomNavigation/BottomNavigationAction.mjs +2 -2
  161. package/dist/components/BottomNavigation/BottomNavigationAction.mjs.map +1 -1
  162. package/dist/components/Breadcrumb/Breadcrumb.mjs +3 -3
  163. package/dist/components/Breadcrumb/Breadcrumb.mjs.map +1 -1
  164. package/dist/components/Button/Button.mjs +10 -10
  165. package/dist/components/Button/Button.mjs.map +1 -1
  166. package/dist/components/Card/Card.mjs +6 -6
  167. package/dist/components/Card/Card.mjs.map +1 -1
  168. package/dist/components/Chart/ChartCard.mjs +6 -6
  169. package/dist/components/Chart/ChartCard.mjs.map +1 -1
  170. package/dist/components/Chart/ChartCenterLabel.mjs +2 -2
  171. package/dist/components/Chart/ChartCenterLabel.mjs.map +1 -1
  172. package/dist/components/Chart/ChartContainer.mjs +7 -7
  173. package/dist/components/Chart/ChartContainer.mjs.map +1 -1
  174. package/dist/components/Chart/ChartLegend.mjs +1 -1
  175. package/dist/components/Chart/ChartLegend.mjs.map +1 -1
  176. package/dist/components/Chart/ChartLoadingOverlay.mjs +1 -1
  177. package/dist/components/Chart/ChartLoadingOverlay.mjs.map +1 -1
  178. package/dist/components/Chart/ChartPieLegend.mjs +2 -2
  179. package/dist/components/Chart/ChartPieLegend.mjs.map +1 -1
  180. package/dist/components/Chart/ChartSeriesToggle.mjs +2 -2
  181. package/dist/components/Chart/ChartSeriesToggle.mjs.map +1 -1
  182. package/dist/components/Chart/ChartTooltip.mjs +4 -4
  183. package/dist/components/Chart/ChartTooltip.mjs.map +1 -1
  184. package/dist/components/Checkbox/Checkbox.mjs +13 -13
  185. package/dist/components/Checkbox/Checkbox.mjs.map +1 -1
  186. package/dist/components/Chip/Chip.mjs +7 -7
  187. package/dist/components/Chip/Chip.mjs.map +1 -1
  188. package/dist/components/Count/Count.mjs +7 -7
  189. package/dist/components/Count/Count.mjs.map +1 -1
  190. package/dist/components/DatePicker/DatePicker.mjs +14 -14
  191. package/dist/components/DatePicker/DatePicker.mjs.map +1 -1
  192. package/dist/components/Dialog/Dialog.mjs +6 -6
  193. package/dist/components/Dialog/Dialog.mjs.map +1 -1
  194. package/dist/components/Divider/Divider.mjs +4 -4
  195. package/dist/components/Divider/Divider.mjs.map +1 -1
  196. package/dist/components/Drawer/Drawer.mjs +5 -5
  197. package/dist/components/Drawer/Drawer.mjs.map +1 -1
  198. package/dist/components/DropdownMenu/DropdownMenu.mjs +6 -6
  199. package/dist/components/DropdownMenu/DropdownMenu.mjs.map +1 -1
  200. package/dist/components/IconButton/IconButton.mjs +10 -10
  201. package/dist/components/IconButton/IconButton.mjs.map +1 -1
  202. package/dist/components/Icons/LockerOffIcon.mjs +1 -1
  203. package/dist/components/Icons/LockerOffIcon.mjs.map +1 -1
  204. package/dist/components/Icons/LockerOnIcon.mjs +1 -1
  205. package/dist/components/Icons/LockerOnIcon.mjs.map +1 -1
  206. package/dist/components/Icons/NewMessageIcon.mjs +30 -0
  207. package/dist/components/Icons/NewMessageIcon.mjs.map +1 -0
  208. package/dist/components/Icons/ReverseIcon.mjs +47 -0
  209. package/dist/components/Icons/ReverseIcon.mjs.map +1 -0
  210. package/dist/components/InfoBox/InfoBox.mjs +6 -6
  211. package/dist/components/InfoBox/InfoBox.mjs.map +1 -1
  212. package/dist/components/Loader/Loader.mjs +1 -1
  213. package/dist/components/Loader/Loader.mjs.map +1 -1
  214. package/dist/components/Logo/Logo.mjs +13 -13
  215. package/dist/components/Logo/Logo.mjs.map +1 -1
  216. package/dist/components/MobileStepper/MobileStepper.mjs +2 -2
  217. package/dist/components/MobileStepper/MobileStepper.mjs.map +1 -1
  218. package/dist/components/OnlineBlinkingIcon/OnlineBlinkingIcon.mjs +2 -2
  219. package/dist/components/OnlineBlinkingIcon/OnlineBlinkingIcon.mjs.map +1 -1
  220. package/dist/components/Pagination/Pagination.mjs +3 -3
  221. package/dist/components/Pagination/Pagination.mjs.map +1 -1
  222. package/dist/components/PasswordField/PasswordField.mjs +1 -1
  223. package/dist/components/PasswordField/PasswordField.mjs.map +1 -1
  224. package/dist/components/Pill/Pill.mjs +10 -10
  225. package/dist/components/Pill/Pill.mjs.map +1 -1
  226. package/dist/components/ProgressBar/ProgressBar.mjs +13 -13
  227. package/dist/components/ProgressBar/ProgressBar.mjs.map +1 -1
  228. package/dist/components/Radio/Radio.mjs +4 -4
  229. package/dist/components/Radio/Radio.mjs.map +1 -1
  230. package/dist/components/Select/Select.mjs +13 -13
  231. package/dist/components/Select/Select.mjs.map +1 -1
  232. package/dist/components/Skeleton/Skeleton.mjs +2 -2
  233. package/dist/components/Skeleton/Skeleton.mjs.map +1 -1
  234. package/dist/components/Slider/Slider.mjs +1 -1
  235. package/dist/components/Slider/Slider.mjs.map +1 -1
  236. package/dist/components/Slider/SliderLayout.mjs +5 -12
  237. package/dist/components/Slider/SliderLayout.mjs.map +1 -1
  238. package/dist/components/Slider/SliderThumb.mjs +6 -6
  239. package/dist/components/Slider/SliderThumb.mjs.map +1 -1
  240. package/dist/components/Snackbar/Snackbar.mjs +9 -9
  241. package/dist/components/Snackbar/Snackbar.mjs.map +1 -1
  242. package/dist/components/Switch/Switch.mjs +3 -3
  243. package/dist/components/Switch/Switch.mjs.map +1 -1
  244. package/dist/components/SwitchField/SwitchField.mjs +5 -5
  245. package/dist/components/SwitchField/SwitchField.mjs.map +1 -1
  246. package/dist/components/SwitchToggle/SwitchToggle.mjs +4 -4
  247. package/dist/components/SwitchToggle/SwitchToggle.mjs.map +1 -1
  248. package/dist/components/Table/Table.mjs +324 -0
  249. package/dist/components/Table/Table.mjs.map +1 -0
  250. package/dist/components/Table/TablePagination.mjs +53 -0
  251. package/dist/components/Table/TablePagination.mjs.map +1 -0
  252. package/dist/components/Tabs/TabsList.mjs +3 -3
  253. package/dist/components/Tabs/TabsList.mjs.map +1 -1
  254. package/dist/components/Tabs/TabsTrigger.mjs +8 -8
  255. package/dist/components/Tabs/TabsTrigger.mjs.map +1 -1
  256. package/dist/components/TextArea/TextArea.mjs +7 -7
  257. package/dist/components/TextArea/TextArea.mjs.map +1 -1
  258. package/dist/components/TextField/TextField.mjs +11 -11
  259. package/dist/components/TextField/TextField.mjs.map +1 -1
  260. package/dist/components/Toast/Toast.mjs +7 -7
  261. package/dist/components/Toast/Toast.mjs.map +1 -1
  262. package/dist/components/Tooltip/Tooltip.mjs +1 -1
  263. package/dist/components/Tooltip/Tooltip.mjs.map +1 -1
  264. package/dist/index.d.ts +244 -40
  265. package/dist/index.mjs +26 -2
  266. package/dist/index.mjs.map +1 -1
  267. package/dist/styles/theme.css +378 -253
  268. package/package.json +2 -2
  269. package/dist/cjs/components/Banner/Banner.cjs +0 -71
  270. package/dist/cjs/components/Banner/Banner.cjs.map +0 -1
  271. package/dist/components/Banner/Banner.mjs +0 -54
  272. package/dist/components/Banner/Banner.mjs.map +0 -1
@@ -0,0 +1,341 @@
1
+ "use client";
2
+ "use strict";
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
+ const jsxRuntime = require("react/jsx-runtime");
5
+ const React = require("react");
6
+ const cn = require("../../utils/cn.cjs");
7
+ const Select = require("../Select/Select.cjs");
8
+ function _interopNamespaceDefault(e) {
9
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
10
+ if (e) {
11
+ for (const k in e) {
12
+ if (k !== "default") {
13
+ const d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: () => e[k]
17
+ });
18
+ }
19
+ }
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+ const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
25
+ const TableSizeContext = React__namespace.createContext("md");
26
+ function useTableSize() {
27
+ return React__namespace.useContext(TableSizeContext);
28
+ }
29
+ const TableCard = React__namespace.forwardRef(
30
+ ({ className, size = "md", ...props }, ref) => {
31
+ return /* @__PURE__ */ jsxRuntime.jsx(TableSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsxRuntime.jsx(
32
+ "div",
33
+ {
34
+ ref,
35
+ className: cn.cn(
36
+ "isolate flex flex-col gap-4 overflow-hidden rounded-md bg-bg-primary pb-4",
37
+ className
38
+ ),
39
+ ...props
40
+ }
41
+ ) });
42
+ }
43
+ );
44
+ TableCard.displayName = "TableCard";
45
+ const TableToolbar = React__namespace.forwardRef(
46
+ ({ className, ...props }, ref) => {
47
+ return /* @__PURE__ */ jsxRuntime.jsx(
48
+ "div",
49
+ {
50
+ ref,
51
+ className: cn.cn(
52
+ "flex flex-wrap items-center gap-4 rounded-t-md bg-bg-primary px-6",
53
+ className
54
+ ),
55
+ ...props
56
+ }
57
+ );
58
+ }
59
+ );
60
+ TableToolbar.displayName = "TableToolbar";
61
+ const TableScrollArea = React__namespace.forwardRef(
62
+ ({ className, roundTop = true, children, ...props }, ref) => {
63
+ return /* @__PURE__ */ jsxRuntime.jsx(
64
+ "div",
65
+ {
66
+ ref,
67
+ className: cn.cn(
68
+ "relative w-full min-w-0 overflow-hidden",
69
+ roundTop && "rounded-t-md",
70
+ className
71
+ ),
72
+ ...props,
73
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto", children })
74
+ }
75
+ );
76
+ }
77
+ );
78
+ TableScrollArea.displayName = "TableScrollArea";
79
+ const Table = React__namespace.forwardRef(
80
+ ({ className, ...props }, ref) => {
81
+ return /* @__PURE__ */ jsxRuntime.jsx(
82
+ "table",
83
+ {
84
+ ref,
85
+ className: cn.cn(
86
+ "w-full caption-bottom border-separate border-spacing-0 text-left",
87
+ className
88
+ ),
89
+ ...props
90
+ }
91
+ );
92
+ }
93
+ );
94
+ Table.displayName = "Table";
95
+ const TableHeader = React__namespace.forwardRef(
96
+ ({ className, ...props }, ref) => {
97
+ return /* @__PURE__ */ jsxRuntime.jsx(
98
+ "thead",
99
+ {
100
+ ref,
101
+ className: cn.cn(
102
+ "[&_tr:first-child_th:first-child]:rounded-tl-md [&_tr:first-child_th:last-child]:rounded-tr-md",
103
+ className
104
+ ),
105
+ ...props
106
+ }
107
+ );
108
+ }
109
+ );
110
+ TableHeader.displayName = "TableHeader";
111
+ const TableBody = React__namespace.forwardRef(
112
+ ({ className, ...props }, ref) => {
113
+ return /* @__PURE__ */ jsxRuntime.jsx("tbody", { ref, className: cn.cn(className), ...props });
114
+ }
115
+ );
116
+ TableBody.displayName = "TableBody";
117
+ const TableFooter = React__namespace.forwardRef(
118
+ ({ className, ...props }, ref) => {
119
+ return /* @__PURE__ */ jsxRuntime.jsx("tfoot", { ref, className: cn.cn(className), ...props });
120
+ }
121
+ );
122
+ TableFooter.displayName = "TableFooter";
123
+ const TableRow = React__namespace.forwardRef(
124
+ ({ className, ...props }, ref) => {
125
+ return /* @__PURE__ */ jsxRuntime.jsx("tr", { ref, className: cn.cn(className), ...props });
126
+ }
127
+ );
128
+ TableRow.displayName = "TableRow";
129
+ const HEAD_INTENT_CLASSES = {
130
+ default: "text-left",
131
+ checkbox: "w-8 min-w-8 max-w-8 text-center",
132
+ sort: "text-right",
133
+ leading: "min-w-0 w-2/5 text-left"
134
+ };
135
+ const TableHead = React__namespace.forwardRef(
136
+ ({ className, intent = "default", scope = "col", ...props }, ref) => {
137
+ return /* @__PURE__ */ jsxRuntime.jsx(
138
+ "th",
139
+ {
140
+ ref,
141
+ scope,
142
+ className: cn.cn(
143
+ "typography-semibold-body-sm box-border h-8 min-h-8 bg-surface-secondary px-2 py-2 align-middle text-content-primary",
144
+ HEAD_INTENT_CLASSES[intent],
145
+ className
146
+ ),
147
+ ...props
148
+ }
149
+ );
150
+ }
151
+ );
152
+ TableHead.displayName = "TableHead";
153
+ const CELL_MIN_HEIGHT = {
154
+ md: "min-h-[60px]",
155
+ lg: "min-h-[80px]"
156
+ };
157
+ const CELL_VARIANT_CLASSES = {
158
+ default: "border-border-primary border-b px-2 py-2",
159
+ chip: "border-border-primary border-b px-2 py-2",
160
+ pillProgress: "border-border-primary border-b px-4 py-2"
161
+ };
162
+ const CELL_INTENT_CLASSES = {
163
+ default: "",
164
+ checkbox: "text-center",
165
+ stacked: "align-top",
166
+ multiline: "max-w-[240px]",
167
+ sideLabel: ""
168
+ };
169
+ const TableCell = React__namespace.forwardRef(
170
+ ({ className, cellVariant = "default", intent = "default", ...props }, ref) => {
171
+ const size = useTableSize();
172
+ const typo = intent === "sideLabel" ? "typography-semibold-body-md" : "typography-regular-body-md";
173
+ return /* @__PURE__ */ jsxRuntime.jsx(
174
+ "td",
175
+ {
176
+ ref,
177
+ className: cn.cn(
178
+ typo,
179
+ "align-middle text-content-primary",
180
+ CELL_VARIANT_CLASSES[cellVariant],
181
+ CELL_MIN_HEIGHT[size],
182
+ CELL_INTENT_CLASSES[intent],
183
+ className
184
+ ),
185
+ ...props
186
+ }
187
+ );
188
+ }
189
+ );
190
+ TableCell.displayName = "TableCell";
191
+ const TableCellGroup = React__namespace.forwardRef(
192
+ ({ className, ...props }, ref) => {
193
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn.cn("flex items-center gap-2.5", className), ...props });
194
+ }
195
+ );
196
+ TableCellGroup.displayName = "TableCellGroup";
197
+ const TableMediaThumbnail = React__namespace.forwardRef(
198
+ ({ className, src, alt = "", blurred, align = "start", ...props }, ref) => {
199
+ const tableSize = useTableSize();
200
+ const frame = tableSize === "lg" ? "h-[62px] w-11 overflow-hidden rounded-xs bg-neutral-alphas-200" : "h-10 w-[29px] overflow-hidden rounded-xs bg-neutral-alphas-200";
201
+ return /* @__PURE__ */ jsxRuntime.jsx(
202
+ "div",
203
+ {
204
+ ref,
205
+ className: cn.cn(
206
+ align === "center" && "flex w-16 shrink-0 justify-center",
207
+ align === "start" && "inline-flex shrink-0"
208
+ ),
209
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn.cn(frame, blurred && "blur-[2px]", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsx("img", { alt, className: "size-full object-cover", src }) })
210
+ }
211
+ );
212
+ }
213
+ );
214
+ TableMediaThumbnail.displayName = "TableMediaThumbnail";
215
+ const TableStatusDot = React__namespace.forwardRef(
216
+ ({ className, ...props }, ref) => {
217
+ return /* @__PURE__ */ jsxRuntime.jsx(
218
+ "div",
219
+ {
220
+ ref,
221
+ className: cn.cn("size-2 shrink-0 rounded-full bg-info-content", className),
222
+ ...props
223
+ }
224
+ );
225
+ }
226
+ );
227
+ TableStatusDot.displayName = "TableStatusDot";
228
+ const TableProgressTrack = React__namespace.forwardRef(
229
+ ({ className, value = 0, "aria-label": ariaLabel = "Progress", ...props }, ref) => {
230
+ const width = Math.min(100, Math.max(0, value));
231
+ const rounded = Math.round(width);
232
+ return /* @__PURE__ */ jsxRuntime.jsx(
233
+ "div",
234
+ {
235
+ ref,
236
+ role: "progressbar",
237
+ "aria-valuenow": rounded,
238
+ "aria-valuemin": 0,
239
+ "aria-valuemax": 100,
240
+ "aria-label": ariaLabel,
241
+ className: cn.cn(
242
+ "relative h-1 w-full overflow-hidden rounded-full bg-neutral-alphas-200",
243
+ className
244
+ ),
245
+ ...props,
246
+ children: /* @__PURE__ */ jsxRuntime.jsx(
247
+ "div",
248
+ {
249
+ className: "absolute top-0 left-0 h-1 rounded-full bg-buttons-primary",
250
+ style: { width: `${width}%` },
251
+ "aria-hidden": true
252
+ }
253
+ )
254
+ }
255
+ );
256
+ }
257
+ );
258
+ TableProgressTrack.displayName = "TableProgressTrack";
259
+ const TablePillProgressLayout = React__namespace.forwardRef(({ className, ...props }, ref) => {
260
+ return /* @__PURE__ */ jsxRuntime.jsx(
261
+ "div",
262
+ {
263
+ ref,
264
+ className: cn.cn("flex min-w-[120px] flex-col items-center gap-3", className),
265
+ ...props
266
+ }
267
+ );
268
+ });
269
+ TablePillProgressLayout.displayName = "TablePillProgressLayout";
270
+ const TableSortLabel = React__namespace.forwardRef(
271
+ ({ className, children, ...props }, ref) => {
272
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { ref, className: cn.cn("inline-flex items-center gap-2.5", className), ...props, children: [
273
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "typography-semibold-body-sm", children }),
274
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-content-secondary", "aria-hidden": true, children: "↕" })
275
+ ] });
276
+ }
277
+ );
278
+ TableSortLabel.displayName = "TableSortLabel";
279
+ function TableStackedText({ title, subtitle }) {
280
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [
281
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "typography-semibold-body-md", children: title }),
282
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "typography-regular-body-sm text-content-secondary", children: subtitle })
283
+ ] });
284
+ }
285
+ TableStackedText.displayName = "TableStackedText";
286
+ const TableLineClamp = React__namespace.forwardRef(
287
+ ({ className, lines = 2, ...props }, ref) => {
288
+ return /* @__PURE__ */ jsxRuntime.jsx(
289
+ "div",
290
+ {
291
+ ref,
292
+ className: cn.cn(
293
+ lines === 1 && "line-clamp-1",
294
+ lines === 2 && "line-clamp-2",
295
+ lines === 3 && "line-clamp-3",
296
+ className
297
+ ),
298
+ ...props
299
+ }
300
+ );
301
+ }
302
+ );
303
+ TableLineClamp.displayName = "TableLineClamp";
304
+ function TableRowsPerPageSelect(props) {
305
+ const { id, "aria-label": ariaLabel = "Rows per page" } = props;
306
+ return /* @__PURE__ */ jsxRuntime.jsx(
307
+ Select.Select,
308
+ {
309
+ defaultValue: "10",
310
+ size: "32",
311
+ "aria-label": ariaLabel,
312
+ className: "w-[154px] [&_button]:rounded-xs [&_button]:border-transparent [&_button]:bg-transparent",
313
+ id,
314
+ children: /* @__PURE__ */ jsxRuntime.jsxs(Select.SelectContent, { children: [
315
+ /* @__PURE__ */ jsxRuntime.jsx(Select.SelectItem, { value: "10", children: "10 rows per page" }),
316
+ /* @__PURE__ */ jsxRuntime.jsx(Select.SelectItem, { value: "25", children: "25 rows per page" }),
317
+ /* @__PURE__ */ jsxRuntime.jsx(Select.SelectItem, { value: "50", children: "50 rows per page" })
318
+ ] })
319
+ }
320
+ );
321
+ }
322
+ exports.Table = Table;
323
+ exports.TableBody = TableBody;
324
+ exports.TableCard = TableCard;
325
+ exports.TableCell = TableCell;
326
+ exports.TableCellGroup = TableCellGroup;
327
+ exports.TableFooter = TableFooter;
328
+ exports.TableHead = TableHead;
329
+ exports.TableHeader = TableHeader;
330
+ exports.TableLineClamp = TableLineClamp;
331
+ exports.TableMediaThumbnail = TableMediaThumbnail;
332
+ exports.TablePillProgressLayout = TablePillProgressLayout;
333
+ exports.TableProgressTrack = TableProgressTrack;
334
+ exports.TableRow = TableRow;
335
+ exports.TableRowsPerPageSelect = TableRowsPerPageSelect;
336
+ exports.TableScrollArea = TableScrollArea;
337
+ exports.TableSortLabel = TableSortLabel;
338
+ exports.TableStackedText = TableStackedText;
339
+ exports.TableStatusDot = TableStatusDot;
340
+ exports.TableToolbar = TableToolbar;
341
+ //# sourceMappingURL=Table.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.cjs","sources":["../../../../src/components/Table/Table.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport { Select, SelectContent, SelectItem } from \"../Select/Select\";\n\n/** Row density for body cells — `md` (60px min height) or `lg` (80px). */\nexport type TableSize = \"md\" | \"lg\";\n\nexport interface TableCardProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Row density applied to {@link TableCell} descendants. @default \"md\" */\n size?: TableSize;\n}\n\nconst TableSizeContext = React.createContext<TableSize>(\"md\");\n\nfunction useTableSize(): TableSize {\n return React.useContext(TableSizeContext);\n}\n\n/**\n * Surface wrapper for data tables: rounded container, spacing, and size\n * context for {@link TableCell} descendants. Compose with {@link TableScrollArea},\n * {@link Table}, {@link TableHeader}, {@link TableBody}, {@link TableRow},\n * {@link TableHead}, and {@link TableCell}.\n *\n * @example\n * ```tsx\n * <TableCard size=\"md\">\n * <TableScrollArea>\n * <Table>\n * <TableHeader>\n * <TableRow>\n * <TableHead>Name</TableHead>\n * </TableRow>\n * </TableHeader>\n * <TableBody>\n * <TableRow>\n * <TableCell>Jane Doe</TableCell>\n * </TableRow>\n * </TableBody>\n * </Table>\n * </TableScrollArea>\n * </TableCard>\n * ```\n */\nexport const TableCard = React.forwardRef<HTMLDivElement, TableCardProps>(\n ({ className, size = \"md\", ...props }, ref) => {\n return (\n <TableSizeContext.Provider value={size}>\n <div\n ref={ref}\n className={cn(\n \"isolate flex flex-col gap-4 overflow-hidden rounded-md bg-bg-primary pb-4\",\n className,\n )}\n {...props}\n />\n </TableSizeContext.Provider>\n );\n },\n);\nTableCard.displayName = \"TableCard\";\n\nexport interface TableToolbarProps extends React.HTMLAttributes<HTMLDivElement> {}\n\n/**\n * Optional toolbar row above the table (e.g. bulk selection actions).\n */\nexport const TableToolbar = React.forwardRef<HTMLDivElement, TableToolbarProps>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n \"flex flex-wrap items-center gap-4 rounded-t-md bg-bg-primary px-6\",\n className,\n )}\n {...props}\n />\n );\n },\n);\nTableToolbar.displayName = \"TableToolbar\";\n\nexport interface TableScrollAreaProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Rounds the top of the table block to match {@link TableCard}. Set `false` when {@link TableToolbar} is above this scroll area. @default true */\n roundTop?: boolean;\n}\n\n/**\n * Horizontal scroll container for wide tables. Uses an inner scrollport so the\n * table respects the card radius (plain `overflow-x-auto` on the table\n * wrapper often loses rounded corners with `border-collapse`).\n */\nexport const TableScrollArea = React.forwardRef<HTMLDivElement, TableScrollAreaProps>(\n ({ className, roundTop = true, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n \"relative w-full min-w-0 overflow-hidden\",\n roundTop && \"rounded-t-md\",\n className,\n )}\n {...props}\n >\n <div className=\"overflow-x-auto\">{children}</div>\n </div>\n );\n },\n);\nTableScrollArea.displayName = \"TableScrollArea\";\n\nexport interface TableProps extends React.TableHTMLAttributes<HTMLTableElement> {}\n\n/**\n * Semantic `<table>` element. Place inside {@link TableScrollArea}.\n */\nexport const Table = React.forwardRef<HTMLTableElement, TableProps>(\n ({ className, ...props }, ref) => {\n return (\n <table\n ref={ref}\n className={cn(\n \"w-full caption-bottom border-separate border-spacing-0 text-left\",\n className,\n )}\n {...props}\n />\n );\n },\n);\nTable.displayName = \"Table\";\n\nexport interface TableHeaderProps extends React.HTMLAttributes<HTMLTableSectionElement> {}\n\nexport const TableHeader = React.forwardRef<HTMLTableSectionElement, TableHeaderProps>(\n ({ className, ...props }, ref) => {\n return (\n <thead\n ref={ref}\n className={cn(\n \"[&_tr:first-child_th:first-child]:rounded-tl-md [&_tr:first-child_th:last-child]:rounded-tr-md\",\n className,\n )}\n {...props}\n />\n );\n },\n);\nTableHeader.displayName = \"TableHeader\";\n\nexport interface TableBodyProps extends React.HTMLAttributes<HTMLTableSectionElement> {}\n\nexport const TableBody = React.forwardRef<HTMLTableSectionElement, TableBodyProps>(\n ({ className, ...props }, ref) => {\n return <tbody ref={ref} className={cn(className)} {...props} />;\n },\n);\nTableBody.displayName = \"TableBody\";\n\nexport interface TableFooterProps extends React.HTMLAttributes<HTMLTableSectionElement> {}\n\nexport const TableFooter = React.forwardRef<HTMLTableSectionElement, TableFooterProps>(\n ({ className, ...props }, ref) => {\n return <tfoot ref={ref} className={cn(className)} {...props} />;\n },\n);\nTableFooter.displayName = \"TableFooter\";\n\nexport interface TableRowProps extends React.HTMLAttributes<HTMLTableRowElement> {}\n\nexport const TableRow = React.forwardRef<HTMLTableRowElement, TableRowProps>(\n ({ className, ...props }, ref) => {\n return <tr ref={ref} className={cn(className)} {...props} />;\n },\n);\nTableRow.displayName = \"TableRow\";\n\n/** Column layout preset for {@link TableHead}. */\nexport type TableHeadIntent = \"default\" | \"checkbox\" | \"sort\" | \"leading\";\n\nconst HEAD_INTENT_CLASSES: Record<TableHeadIntent, string> = {\n default: \"text-left\",\n checkbox: \"w-8 min-w-8 max-w-8 text-center\",\n sort: \"text-right\",\n leading: \"min-w-0 w-2/5 text-left\",\n};\n\nexport interface TableHeadProps extends React.ThHTMLAttributes<HTMLTableCellElement> {\n /** Layout preset for common column types. @default \"default\" */\n intent?: TableHeadIntent;\n}\n\nexport const TableHead = React.forwardRef<HTMLTableCellElement, TableHeadProps>(\n ({ className, intent = \"default\", scope = \"col\", ...props }, ref) => {\n return (\n <th\n ref={ref}\n scope={scope}\n className={cn(\n \"typography-semibold-body-sm box-border h-8 min-h-8 bg-surface-secondary px-2 py-2 align-middle text-content-primary\",\n HEAD_INTENT_CLASSES[intent],\n className,\n )}\n {...props}\n />\n );\n },\n);\nTableHead.displayName = \"TableHead\";\n\nconst CELL_MIN_HEIGHT: Record<TableSize, string> = {\n md: \"min-h-[60px]\",\n lg: \"min-h-[80px]\",\n};\n\n/** Bottom border and padding preset for body cells (Figma table cell component). */\nexport type TableCellVariant = \"default\" | \"chip\" | \"pillProgress\";\n\nconst CELL_VARIANT_CLASSES: Record<TableCellVariant, string> = {\n default: \"border-border-primary border-b px-2 py-2\",\n chip: \"border-border-primary border-b px-2 py-2\",\n pillProgress: \"border-border-primary border-b px-4 py-2\",\n};\n\n/** Layout / typography preset for {@link TableCell} (orthogonal to {@link TableCellVariant}). */\nexport type TableCellIntent = \"default\" | \"checkbox\" | \"stacked\" | \"multiline\" | \"sideLabel\";\n\nconst CELL_INTENT_CLASSES: Record<TableCellIntent, string> = {\n default: \"\",\n checkbox: \"text-center\",\n stacked: \"align-top\",\n multiline: \"max-w-[240px]\",\n sideLabel: \"\",\n};\n\nexport interface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n /** `pillProgress` uses wider horizontal padding; row dividers match the default weight for visibility. @default \"default\" */\n cellVariant?: TableCellVariant;\n /** Alignment and typography preset for common cell types. @default \"default\" */\n intent?: TableCellIntent;\n}\n\nexport const TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, cellVariant = \"default\", intent = \"default\", ...props }, ref) => {\n const size = useTableSize();\n const typo =\n intent === \"sideLabel\" ? \"typography-semibold-body-md\" : \"typography-regular-body-md\";\n return (\n <td\n ref={ref}\n className={cn(\n typo,\n \"align-middle text-content-primary\",\n CELL_VARIANT_CLASSES[cellVariant],\n CELL_MIN_HEIGHT[size],\n CELL_INTENT_CLASSES[intent],\n className,\n )}\n {...props}\n />\n );\n },\n);\nTableCell.displayName = \"TableCell\";\n\nexport interface TableCellGroupProps extends React.HTMLAttributes<HTMLDivElement> {}\n\n/**\n * Horizontal group for icons, chips, and metadata inside a {@link TableCell} (Figma `gap-[10px]`).\n */\nexport const TableCellGroup = React.forwardRef<HTMLDivElement, TableCellGroupProps>(\n ({ className, ...props }, ref) => {\n return <div ref={ref} className={cn(\"flex items-center gap-2.5\", className)} {...props} />;\n },\n);\nTableCellGroup.displayName = \"TableCellGroup\";\n\nexport interface TableMediaThumbnailProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"children\"> {\n /** Image URL. */\n src: string;\n /** Alt text for the image. @default \"\" */\n alt?: string;\n /** Applies the table’s blurred-media treatment. @default false */\n blurred?: boolean;\n /** `center` uses the fixed media column width from the lg spec. @default \"start\" */\n align?: \"start\" | \"center\";\n}\n\n/**\n * Rounded thumbnail sized from {@link TableCard} `size` (`md` vs `lg`).\n */\nexport const TableMediaThumbnail = React.forwardRef<HTMLDivElement, TableMediaThumbnailProps>(\n ({ className, src, alt = \"\", blurred, align = \"start\", ...props }, ref) => {\n const tableSize = useTableSize();\n const frame =\n tableSize === \"lg\"\n ? \"h-[62px] w-11 overflow-hidden rounded-xs bg-neutral-alphas-200\"\n : \"h-10 w-[29px] overflow-hidden rounded-xs bg-neutral-alphas-200\";\n return (\n <div\n ref={ref}\n className={cn(\n align === \"center\" && \"flex w-16 shrink-0 justify-center\",\n align === \"start\" && \"inline-flex shrink-0\",\n )}\n >\n <div className={cn(frame, blurred && \"blur-[2px]\", className)} {...props}>\n <img alt={alt} className=\"size-full object-cover\" src={src} />\n </div>\n </div>\n );\n },\n);\nTableMediaThumbnail.displayName = \"TableMediaThumbnail\";\n\nexport interface TableStatusDotProps extends React.HTMLAttributes<HTMLDivElement> {}\n\n/**\n * Small status indicator dot for table cells (Figma status column).\n */\nexport const TableStatusDot = React.forwardRef<HTMLDivElement, TableStatusDotProps>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"size-2 shrink-0 rounded-full bg-info-content\", className)}\n {...props}\n />\n );\n },\n);\nTableStatusDot.displayName = \"TableStatusDot\";\n\nexport interface TableProgressTrackProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Fill width from 0–100. @default 0 */\n value?: number;\n}\n\n/**\n * Thin progress track used with badges in table cells (Figma pill + progress).\n * Renders with `role=\"progressbar\"` and a default `aria-label` of `\"Progress\"`.\n */\nexport const TableProgressTrack = React.forwardRef<HTMLDivElement, TableProgressTrackProps>(\n ({ className, value = 0, \"aria-label\": ariaLabel = \"Progress\", ...props }, ref) => {\n const width = Math.min(100, Math.max(0, value));\n const rounded = Math.round(width);\n return (\n <div\n ref={ref}\n role=\"progressbar\"\n aria-valuenow={rounded}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={ariaLabel}\n className={cn(\n \"relative h-1 w-full overflow-hidden rounded-full bg-neutral-alphas-200\",\n className,\n )}\n {...props}\n >\n <div\n className=\"absolute top-0 left-0 h-1 rounded-full bg-buttons-primary\"\n style={{ width: `${width}%` }}\n aria-hidden\n />\n </div>\n );\n },\n);\nTableProgressTrack.displayName = \"TableProgressTrack\";\n\nexport interface TablePillProgressLayoutProps extends React.HTMLAttributes<HTMLDivElement> {}\n\n/**\n * Vertical layout for pill label + {@link TableProgressTrack} in a cell.\n */\nexport const TablePillProgressLayout = React.forwardRef<\n HTMLDivElement,\n TablePillProgressLayoutProps\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"flex min-w-[120px] flex-col items-center gap-3\", className)}\n {...props}\n />\n );\n});\nTablePillProgressLayout.displayName = \"TablePillProgressLayout\";\n\nexport interface TableSortLabelProps extends React.HTMLAttributes<HTMLSpanElement> {\n children: React.ReactNode;\n}\n\n/**\n * Sortable column label with caption typography and a sort affordance.\n */\nexport const TableSortLabel = React.forwardRef<HTMLSpanElement, TableSortLabelProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <span ref={ref} className={cn(\"inline-flex items-center gap-2.5\", className)} {...props}>\n <span className=\"typography-semibold-body-sm\">{children}</span>\n <span className=\"text-content-secondary\" aria-hidden>\n ↕\n </span>\n </span>\n );\n },\n);\nTableSortLabel.displayName = \"TableSortLabel\";\n\nexport interface TableStackedTextProps {\n /** Primary line (semibold body). */\n title: React.ReactNode;\n /** Secondary line (caption, muted). */\n subtitle: React.ReactNode;\n}\n\n/**\n * Two-line primary + secondary text block for “cell + info” patterns.\n */\nexport function TableStackedText({ title, subtitle }: TableStackedTextProps) {\n return (\n <div className=\"flex flex-col gap-1\">\n <span className=\"typography-semibold-body-md\">{title}</span>\n <span className=\"typography-regular-body-sm text-content-secondary\">{subtitle}</span>\n </div>\n );\n}\n\nTableStackedText.displayName = \"TableStackedText\";\n\nexport interface TableLineClampProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Number of lines before ellipsis. @default 2 */\n lines?: 1 | 2 | 3;\n}\n\n/**\n * Clamps child text to a fixed number of lines inside a {@link TableCell}.\n */\nexport const TableLineClamp = React.forwardRef<HTMLDivElement, TableLineClampProps>(\n ({ className, lines = 2, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n lines === 1 && \"line-clamp-1\",\n lines === 2 && \"line-clamp-2\",\n lines === 3 && \"line-clamp-3\",\n className,\n )}\n {...props}\n />\n );\n },\n);\nTableLineClamp.displayName = \"TableLineClamp\";\n\nexport interface TableRowsPerPageSelectProps {\n /** Passed to the trigger for forms and labels. */\n id?: string;\n /** Accessible name for the trigger when no visible label. @default \"Rows per page\" */\n \"aria-label\"?: string;\n}\n\n/**\n * Rows-per-page {@link Select} styled for {@link TablePagination} (Figma field).\n */\nexport function TableRowsPerPageSelect(props: TableRowsPerPageSelectProps) {\n const { id, \"aria-label\": ariaLabel = \"Rows per page\" } = props;\n return (\n <Select\n defaultValue=\"10\"\n size=\"32\"\n aria-label={ariaLabel}\n className=\"w-[154px] [&_button]:rounded-xs [&_button]:border-transparent [&_button]:bg-transparent\"\n id={id}\n >\n <SelectContent>\n <SelectItem value=\"10\">10 rows per page</SelectItem>\n <SelectItem value=\"25\">25 rows per page</SelectItem>\n <SelectItem value=\"50\">50 rows per page</SelectItem>\n </SelectContent>\n </Select>\n );\n}\n"],"names":["React","jsx","cn","jsxs","Select","SelectContent","SelectItem"],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ "use client";
2
+ "use strict";
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
+ const jsxRuntime = require("react/jsx-runtime");
5
+ const React = require("react");
6
+ const cn = require("../../utils/cn.cjs");
7
+ function _interopNamespaceDefault(e) {
8
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
9
+ if (e) {
10
+ for (const k in e) {
11
+ if (k !== "default") {
12
+ const d = Object.getOwnPropertyDescriptor(e, k);
13
+ Object.defineProperty(n, k, d.get ? d : {
14
+ enumerable: true,
15
+ get: () => e[k]
16
+ });
17
+ }
18
+ }
19
+ }
20
+ n.default = e;
21
+ return Object.freeze(n);
22
+ }
23
+ const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
24
+ const TablePagination = React__namespace.forwardRef(
25
+ ({ className, layout = "desktop", leadingSlot, paginationSlot, summary, ...props }, ref) => {
26
+ if (layout === "mobile") {
27
+ return /* @__PURE__ */ jsxRuntime.jsxs(
28
+ "div",
29
+ {
30
+ ref,
31
+ className: cn.cn("flex w-full max-w-full flex-col gap-3 px-4", className),
32
+ ...props,
33
+ children: [
34
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center gap-2.5", children: [
35
+ leadingSlot != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 shrink-0 items-center rounded-xs bg-surface-secondary", children: leadingSlot }) : null,
36
+ /* @__PURE__ */ jsxRuntime.jsx(
37
+ "div",
38
+ {
39
+ className: cn.cn(
40
+ "typography-regular-body-md min-w-0 flex-1 text-content-secondary",
41
+ leadingSlot == null && "text-left",
42
+ leadingSlot != null && "text-right"
43
+ ),
44
+ children: summary
45
+ }
46
+ )
47
+ ] }),
48
+ paginationSlot != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: paginationSlot }) : null
49
+ ]
50
+ }
51
+ );
52
+ }
53
+ return /* @__PURE__ */ jsxRuntime.jsxs(
54
+ "div",
55
+ {
56
+ ref,
57
+ className: cn.cn("flex w-full flex-wrap items-center gap-3 px-4", className),
58
+ ...props,
59
+ children: [
60
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-h-0 min-w-0 flex-1 flex-col items-start justify-center", children: leadingSlot != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-flex min-w-0 rounded-xs bg-surface-secondary", children: leadingSlot }) : null }),
61
+ paginationSlot != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center justify-center", children: paginationSlot }) : null,
62
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "typography-regular-body-md min-w-0 flex-1 text-right text-content-secondary", children: summary })
63
+ ]
64
+ }
65
+ );
66
+ }
67
+ );
68
+ TablePagination.displayName = "TablePagination";
69
+ exports.TablePagination = TablePagination;
70
+ //# sourceMappingURL=TablePagination.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TablePagination.cjs","sources":["../../../../src/components/Table/TablePagination.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"@/utils/cn\";\n\n/** Layout preset for the pagination bar — desktop (range on the right) or stacked mobile. */\nexport type TablePaginationLayout = \"desktop\" | \"mobile\";\n\nexport interface TablePaginationProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Layout preset. @default \"desktop\" */\n layout?: TablePaginationLayout;\n /** Left (desktop) or top row (mobile) content, e.g. rows-per-page {@link Select}. */\n leadingSlot?: React.ReactNode;\n /** Center (desktop) or bottom row (mobile) content, e.g. {@link Pagination}. */\n paginationSlot?: React.ReactNode;\n /** Summary text or node (e.g. current range and total). */\n summary: React.ReactNode;\n}\n\n/**\n * Footer bar for data tables: rows-per-page control, page navigation, and range\n * summary. Pair `paginationSlot` with {@link Pagination} for numbered controls.\n *\n * @example\n * ```tsx\n * <TablePagination\n * leadingSlot={<Select size=\"32\" aria-label=\"Rows per page\">…</Select>}\n * paginationSlot={<Pagination totalPages={5} currentPage={2} onPageChange={setPage} />}\n * summary=\"20–30 of 100 rows\"\n * />\n * ```\n */\nexport const TablePagination = React.forwardRef<HTMLDivElement, TablePaginationProps>(\n ({ className, layout = \"desktop\", leadingSlot, paginationSlot, summary, ...props }, ref) => {\n if (layout === \"mobile\") {\n return (\n <div\n ref={ref}\n className={cn(\"flex w-full max-w-full flex-col gap-3 px-4\", className)}\n {...props}\n >\n <div className=\"flex w-full items-center gap-2.5\">\n {leadingSlot != null ? (\n <div className=\"flex min-w-0 shrink-0 items-center rounded-xs bg-surface-secondary\">\n {leadingSlot}\n </div>\n ) : null}\n <div\n className={cn(\n \"typography-regular-body-md min-w-0 flex-1 text-content-secondary\",\n leadingSlot == null && \"text-left\",\n leadingSlot != null && \"text-right\",\n )}\n >\n {summary}\n </div>\n </div>\n {paginationSlot != null ? (\n <div className=\"flex justify-center\">{paginationSlot}</div>\n ) : null}\n </div>\n );\n }\n\n return (\n <div\n ref={ref}\n className={cn(\"flex w-full flex-wrap items-center gap-3 px-4\", className)}\n {...props}\n >\n <div className=\"flex min-h-0 min-w-0 flex-1 flex-col items-start justify-center\">\n {leadingSlot != null ? (\n <div className=\"inline-flex min-w-0 rounded-xs bg-surface-secondary\">{leadingSlot}</div>\n ) : null}\n </div>\n {paginationSlot != null ? (\n <div className=\"flex shrink-0 items-center justify-center\">{paginationSlot}</div>\n ) : null}\n <div className=\"typography-regular-body-md min-w-0 flex-1 text-right text-content-secondary\">\n {summary}\n </div>\n </div>\n );\n },\n);\nTablePagination.displayName = \"TablePagination\";\n"],"names":["React","jsxs","cn","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA8BO,MAAM,kBAAkBA,iBAAM;AAAA,EACnC,CAAC,EAAE,WAAW,SAAS,WAAW,aAAa,gBAAgB,SAAS,GAAG,MAAA,GAAS,QAAQ;AAC1F,QAAI,WAAW,UAAU;AACvB,aACEC,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA,WAAWC,GAAAA,GAAG,8CAA8C,SAAS;AAAA,UACpE,GAAG;AAAA,UAEJ,UAAA;AAAA,YAAAD,2BAAAA,KAAC,OAAA,EAAI,WAAU,oCACZ,UAAA;AAAA,cAAA,eAAe,OACdE,2BAAAA,IAAC,OAAA,EAAI,WAAU,sEACZ,uBACH,IACE;AAAA,cACJA,2BAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAWD,GAAAA;AAAAA,oBACT;AAAA,oBACA,eAAe,QAAQ;AAAA,oBACvB,eAAe,QAAQ;AAAA,kBAAA;AAAA,kBAGxB,UAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,YACH,GACF;AAAA,YACC,kBAAkB,OACjBC,2BAAAA,IAAC,SAAI,WAAU,uBAAuB,0BAAe,IACnD;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAGV;AAEA,WACEF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,WAAWC,GAAAA,GAAG,iDAAiD,SAAS;AAAA,QACvE,GAAG;AAAA,QAEJ,UAAA;AAAA,UAAAC,2BAAAA,IAAC,OAAA,EAAI,WAAU,mEACZ,UAAA,eAAe,OACdA,2BAAAA,IAAC,OAAA,EAAI,WAAU,uDAAuD,UAAA,YAAA,CAAY,IAChF,MACN;AAAA,UACC,kBAAkB,OACjBA,2BAAAA,IAAC,SAAI,WAAU,6CAA6C,0BAAe,IACzE;AAAA,UACJA,2BAAAA,IAAC,OAAA,EAAI,WAAU,+EACZ,UAAA,QAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AACA,gBAAgB,cAAc;;"}
@@ -79,8 +79,8 @@ const TabsList = React__namespace.forwardRef(({ className, children, fullWidth =
79
79
  className: cn.cn(
80
80
  "relative",
81
81
  fullWidth ? "flex w-full [&>[role=tab]]:flex-1" : "inline-flex",
82
- "data-[orientation=horizontal]:items-center data-[orientation=horizontal]:shadow-[inset_0_-1px_0_0_var(--color-neutral-200)]",
83
- "data-[orientation=vertical]:flex-col data-[orientation=vertical]:shadow-[inset_-1px_0_0_0_var(--color-neutral-200)]",
82
+ "data-[orientation=horizontal]:items-center data-[orientation=horizontal]:shadow-[inset_0_-1px_0_0_var(--color-neutral-alphas-200)]",
83
+ "data-[orientation=vertical]:flex-col data-[orientation=vertical]:shadow-[inset_-1px_0_0_0_var(--color-neutral-alphas-200)]",
84
84
  className
85
85
  ),
86
86
  ...props,
@@ -91,7 +91,7 @@ const TabsList = React__namespace.forwardRef(({ className, children, fullWidth =
91
91
  {
92
92
  ref: indicatorRef,
93
93
  "aria-hidden": true,
94
- className: "pointer-events-none absolute rounded-full bg-brand-accent-default motion-safe:transition-[transform,width,height] motion-safe:duration-200 motion-safe:ease-in-out",
94
+ className: "pointer-events-none absolute rounded-full bg-brand-primary-default motion-safe:transition-[transform,width,height] motion-safe:duration-200 motion-safe:ease-in-out",
95
95
  style: { opacity: 0 }
96
96
  }
97
97
  )
@@ -1 +1 @@
1
- {"version":3,"file":"TabsList.cjs","sources":["../../../../src/components/Tabs/TabsList.tsx"],"sourcesContent":["import * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\n\n/** Props for the {@link TabsList} component. */\nexport type TabsListProps = React.ComponentPropsWithoutRef<typeof TabsPrimitive.List> & {\n /** When `true` (the default), the tab list spans the full width of its container and each tab grows equally. Set to `false` for inline sizing. */\n fullWidth?: boolean;\n};\n\n/** Container for {@link TabsTrigger} elements. Renders a sliding active-tab indicator that animates between tabs. */\nexport const TabsList = React.forwardRef<\n React.ComponentRef<typeof TabsPrimitive.List>,\n TabsListProps\n>(({ className, children, fullWidth = true, ...props }, ref) => {\n const innerRef = React.useRef<HTMLDivElement>(null);\n const indicatorRef = React.useRef<HTMLSpanElement>(null);\n\n React.useImperativeHandle(ref, () => innerRef.current as HTMLDivElement);\n\n const updateIndicator = React.useCallback(() => {\n const list = innerRef.current;\n const indicator = indicatorRef.current;\n if (!list || !indicator) return;\n\n const activeTab = list.querySelector<HTMLElement>('[data-state=\"active\"]');\n if (!activeTab) {\n indicator.style.opacity = \"0\";\n return;\n }\n\n const isVertical = list.dataset.orientation === \"vertical\";\n\n indicator.style.opacity = \"1\";\n\n if (isVertical) {\n indicator.style.inset = `0 0 auto auto`;\n indicator.style.width = \"4px\";\n indicator.style.height = `${activeTab.offsetHeight}px`;\n indicator.style.transform = `translateY(${activeTab.offsetTop}px)`;\n } else {\n indicator.style.inset = `auto auto 0 0`;\n indicator.style.height = \"4px\";\n indicator.style.width = `${activeTab.offsetWidth}px`;\n indicator.style.transform = `translateX(${activeTab.offsetLeft}px)`;\n }\n }, []);\n\n React.useLayoutEffect(() => {\n const list = innerRef.current;\n const indicator = indicatorRef.current;\n if (!list || !indicator) return;\n\n indicator.style.transitionDuration = \"0s\";\n updateIndicator();\n indicator.getBoundingClientRect();\n indicator.style.transitionDuration = \"\";\n\n const mutationObserver = new MutationObserver(updateIndicator);\n mutationObserver.observe(list, {\n attributes: true,\n attributeFilter: [\"data-state\"],\n childList: true,\n subtree: true,\n });\n\n const resizeObserver = new ResizeObserver(updateIndicator);\n resizeObserver.observe(list);\n\n return () => {\n mutationObserver.disconnect();\n resizeObserver.disconnect();\n };\n }, [updateIndicator]);\n\n return (\n <TabsPrimitive.List\n ref={innerRef}\n className={cn(\n \"relative\",\n fullWidth ? \"flex w-full [&>[role=tab]]:flex-1\" : \"inline-flex\",\n \"data-[orientation=horizontal]:items-center data-[orientation=horizontal]:shadow-[inset_0_-1px_0_0_var(--color-neutral-200)]\",\n \"data-[orientation=vertical]:flex-col data-[orientation=vertical]:shadow-[inset_-1px_0_0_0_var(--color-neutral-200)]\",\n className,\n )}\n {...props}\n >\n {children}\n <span\n ref={indicatorRef}\n aria-hidden\n className=\"pointer-events-none absolute rounded-full bg-brand-accent-default motion-safe:transition-[transform,width,height] motion-safe:duration-200 motion-safe:ease-in-out\"\n style={{ opacity: 0 }}\n />\n </TabsPrimitive.List>\n );\n});\n\nTabsList.displayName = \"TabsList\";\n"],"names":["React","jsxs","TabsPrimitive","cn","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAWO,MAAM,WAAWA,iBAAM,WAG5B,CAAC,EAAE,WAAW,UAAU,YAAY,MAAM,GAAG,MAAA,GAAS,QAAQ;AAC9D,QAAM,WAAWA,iBAAM,OAAuB,IAAI;AAClD,QAAM,eAAeA,iBAAM,OAAwB,IAAI;AAEvDA,mBAAM,oBAAoB,KAAK,MAAM,SAAS,OAAyB;AAEvE,QAAM,kBAAkBA,iBAAM,YAAY,MAAM;AAC9C,UAAM,OAAO,SAAS;AACtB,UAAM,YAAY,aAAa;AAC/B,QAAI,CAAC,QAAQ,CAAC,UAAW;AAEzB,UAAM,YAAY,KAAK,cAA2B,uBAAuB;AACzE,QAAI,CAAC,WAAW;AACd,gBAAU,MAAM,UAAU;AAC1B;AAAA,IACF;AAEA,UAAM,aAAa,KAAK,QAAQ,gBAAgB;AAEhD,cAAU,MAAM,UAAU;AAE1B,QAAI,YAAY;AACd,gBAAU,MAAM,QAAQ;AACxB,gBAAU,MAAM,QAAQ;AACxB,gBAAU,MAAM,SAAS,GAAG,UAAU,YAAY;AAClD,gBAAU,MAAM,YAAY,cAAc,UAAU,SAAS;AAAA,IAC/D,OAAO;AACL,gBAAU,MAAM,QAAQ;AACxB,gBAAU,MAAM,SAAS;AACzB,gBAAU,MAAM,QAAQ,GAAG,UAAU,WAAW;AAChD,gBAAU,MAAM,YAAY,cAAc,UAAU,UAAU;AAAA,IAChE;AAAA,EACF,GAAG,CAAA,CAAE;AAELA,mBAAM,gBAAgB,MAAM;AAC1B,UAAM,OAAO,SAAS;AACtB,UAAM,YAAY,aAAa;AAC/B,QAAI,CAAC,QAAQ,CAAC,UAAW;AAEzB,cAAU,MAAM,qBAAqB;AACrC,oBAAA;AACA,cAAU,sBAAA;AACV,cAAU,MAAM,qBAAqB;AAErC,UAAM,mBAAmB,IAAI,iBAAiB,eAAe;AAC7D,qBAAiB,QAAQ,MAAM;AAAA,MAC7B,YAAY;AAAA,MACZ,iBAAiB,CAAC,YAAY;AAAA,MAC9B,WAAW;AAAA,MACX,SAAS;AAAA,IAAA,CACV;AAED,UAAM,iBAAiB,IAAI,eAAe,eAAe;AACzD,mBAAe,QAAQ,IAAI;AAE3B,WAAO,MAAM;AACX,uBAAiB,WAAA;AACjB,qBAAe,WAAA;AAAA,IACjB;AAAA,EACF,GAAG,CAAC,eAAe,CAAC;AAEpB,SACEC,2BAAAA;AAAAA,IAACC,yBAAc;AAAA,IAAd;AAAA,MACC,KAAK;AAAA,MACL,WAAWC,GAAAA;AAAAA,QACT;AAAA,QACA,YAAY,sCAAsC;AAAA,QAClD;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAED,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA;AAAA,QACDC,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAK;AAAA,YACL,eAAW;AAAA,YACX,WAAU;AAAA,YACV,OAAO,EAAE,SAAS,EAAA;AAAA,UAAE;AAAA,QAAA;AAAA,MACtB;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;AAED,SAAS,cAAc;;"}
1
+ {"version":3,"file":"TabsList.cjs","sources":["../../../../src/components/Tabs/TabsList.tsx"],"sourcesContent":["import * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\n\n/** Props for the {@link TabsList} component. */\nexport type TabsListProps = React.ComponentPropsWithoutRef<typeof TabsPrimitive.List> & {\n /** When `true` (the default), the tab list spans the full width of its container and each tab grows equally. Set to `false` for inline sizing. */\n fullWidth?: boolean;\n};\n\n/** Container for {@link TabsTrigger} elements. Renders a sliding active-tab indicator that animates between tabs. */\nexport const TabsList = React.forwardRef<\n React.ComponentRef<typeof TabsPrimitive.List>,\n TabsListProps\n>(({ className, children, fullWidth = true, ...props }, ref) => {\n const innerRef = React.useRef<HTMLDivElement>(null);\n const indicatorRef = React.useRef<HTMLSpanElement>(null);\n\n React.useImperativeHandle(ref, () => innerRef.current as HTMLDivElement);\n\n const updateIndicator = React.useCallback(() => {\n const list = innerRef.current;\n const indicator = indicatorRef.current;\n if (!list || !indicator) return;\n\n const activeTab = list.querySelector<HTMLElement>('[data-state=\"active\"]');\n if (!activeTab) {\n indicator.style.opacity = \"0\";\n return;\n }\n\n const isVertical = list.dataset.orientation === \"vertical\";\n\n indicator.style.opacity = \"1\";\n\n if (isVertical) {\n indicator.style.inset = `0 0 auto auto`;\n indicator.style.width = \"4px\";\n indicator.style.height = `${activeTab.offsetHeight}px`;\n indicator.style.transform = `translateY(${activeTab.offsetTop}px)`;\n } else {\n indicator.style.inset = `auto auto 0 0`;\n indicator.style.height = \"4px\";\n indicator.style.width = `${activeTab.offsetWidth}px`;\n indicator.style.transform = `translateX(${activeTab.offsetLeft}px)`;\n }\n }, []);\n\n React.useLayoutEffect(() => {\n const list = innerRef.current;\n const indicator = indicatorRef.current;\n if (!list || !indicator) return;\n\n indicator.style.transitionDuration = \"0s\";\n updateIndicator();\n indicator.getBoundingClientRect();\n indicator.style.transitionDuration = \"\";\n\n const mutationObserver = new MutationObserver(updateIndicator);\n mutationObserver.observe(list, {\n attributes: true,\n attributeFilter: [\"data-state\"],\n childList: true,\n subtree: true,\n });\n\n const resizeObserver = new ResizeObserver(updateIndicator);\n resizeObserver.observe(list);\n\n return () => {\n mutationObserver.disconnect();\n resizeObserver.disconnect();\n };\n }, [updateIndicator]);\n\n return (\n <TabsPrimitive.List\n ref={innerRef}\n className={cn(\n \"relative\",\n fullWidth ? \"flex w-full [&>[role=tab]]:flex-1\" : \"inline-flex\",\n \"data-[orientation=horizontal]:items-center data-[orientation=horizontal]:shadow-[inset_0_-1px_0_0_var(--color-neutral-alphas-200)]\",\n \"data-[orientation=vertical]:flex-col data-[orientation=vertical]:shadow-[inset_-1px_0_0_0_var(--color-neutral-alphas-200)]\",\n className,\n )}\n {...props}\n >\n {children}\n <span\n ref={indicatorRef}\n aria-hidden\n className=\"pointer-events-none absolute rounded-full bg-brand-primary-default motion-safe:transition-[transform,width,height] motion-safe:duration-200 motion-safe:ease-in-out\"\n style={{ opacity: 0 }}\n />\n </TabsPrimitive.List>\n );\n});\n\nTabsList.displayName = \"TabsList\";\n"],"names":["React","jsxs","TabsPrimitive","cn","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAWO,MAAM,WAAWA,iBAAM,WAG5B,CAAC,EAAE,WAAW,UAAU,YAAY,MAAM,GAAG,MAAA,GAAS,QAAQ;AAC9D,QAAM,WAAWA,iBAAM,OAAuB,IAAI;AAClD,QAAM,eAAeA,iBAAM,OAAwB,IAAI;AAEvDA,mBAAM,oBAAoB,KAAK,MAAM,SAAS,OAAyB;AAEvE,QAAM,kBAAkBA,iBAAM,YAAY,MAAM;AAC9C,UAAM,OAAO,SAAS;AACtB,UAAM,YAAY,aAAa;AAC/B,QAAI,CAAC,QAAQ,CAAC,UAAW;AAEzB,UAAM,YAAY,KAAK,cAA2B,uBAAuB;AACzE,QAAI,CAAC,WAAW;AACd,gBAAU,MAAM,UAAU;AAC1B;AAAA,IACF;AAEA,UAAM,aAAa,KAAK,QAAQ,gBAAgB;AAEhD,cAAU,MAAM,UAAU;AAE1B,QAAI,YAAY;AACd,gBAAU,MAAM,QAAQ;AACxB,gBAAU,MAAM,QAAQ;AACxB,gBAAU,MAAM,SAAS,GAAG,UAAU,YAAY;AAClD,gBAAU,MAAM,YAAY,cAAc,UAAU,SAAS;AAAA,IAC/D,OAAO;AACL,gBAAU,MAAM,QAAQ;AACxB,gBAAU,MAAM,SAAS;AACzB,gBAAU,MAAM,QAAQ,GAAG,UAAU,WAAW;AAChD,gBAAU,MAAM,YAAY,cAAc,UAAU,UAAU;AAAA,IAChE;AAAA,EACF,GAAG,CAAA,CAAE;AAELA,mBAAM,gBAAgB,MAAM;AAC1B,UAAM,OAAO,SAAS;AACtB,UAAM,YAAY,aAAa;AAC/B,QAAI,CAAC,QAAQ,CAAC,UAAW;AAEzB,cAAU,MAAM,qBAAqB;AACrC,oBAAA;AACA,cAAU,sBAAA;AACV,cAAU,MAAM,qBAAqB;AAErC,UAAM,mBAAmB,IAAI,iBAAiB,eAAe;AAC7D,qBAAiB,QAAQ,MAAM;AAAA,MAC7B,YAAY;AAAA,MACZ,iBAAiB,CAAC,YAAY;AAAA,MAC9B,WAAW;AAAA,MACX,SAAS;AAAA,IAAA,CACV;AAED,UAAM,iBAAiB,IAAI,eAAe,eAAe;AACzD,mBAAe,QAAQ,IAAI;AAE3B,WAAO,MAAM;AACX,uBAAiB,WAAA;AACjB,qBAAe,WAAA;AAAA,IACjB;AAAA,EACF,GAAG,CAAC,eAAe,CAAC;AAEpB,SACEC,2BAAAA;AAAAA,IAACC,yBAAc;AAAA,IAAd;AAAA,MACC,KAAK;AAAA,MACL,WAAWC,GAAAA;AAAAA,QACT;AAAA,QACA,YAAY,sCAAsC;AAAA,QAClD;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAED,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA;AAAA,QACDC,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAK;AAAA,YACL,eAAW;AAAA,YACX,WAAU;AAAA,YACV,OAAO,EAAE,SAAS,EAAA;AAAA,UAAE;AAAA,QAAA;AAAA,MACtB;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;AAED,SAAS,cAAc;;"}
@@ -30,18 +30,18 @@ const TabsTrigger = React__namespace.forwardRef(({ className, children, ...props
30
30
  className: cn.cn(
31
31
  "inline-flex min-w-0 items-center justify-center",
32
32
  "rounded-xs",
33
- "typography-semibold-body-lg cursor-pointer text-foreground-default",
33
+ "typography-semibold-body-lg cursor-pointer text-content-primary",
34
34
  "motion-safe:transition-colors motion-safe:duration-150 motion-safe:ease-in-out",
35
35
  "data-[orientation=horizontal]:px-4 data-[orientation=horizontal]:py-3",
36
36
  "data-[orientation=vertical]:justify-start data-[orientation=vertical]:px-4 data-[orientation=vertical]:py-3",
37
- "data-[state=active]:hover:text-neutral-350",
38
- "data-[state=inactive]:hover:text-neutral-300",
39
- "data-[state=active]:active:text-neutral-350",
40
- "data-[state=inactive]:active:text-neutral-300",
37
+ "data-[state=active]:hover:text-buttons-primary-muted",
38
+ "data-[state=inactive]:hover:text-neutral-alphas-300",
39
+ "data-[state=active]:active:text-buttons-primary-muted",
40
+ "data-[state=inactive]:active:text-neutral-alphas-300",
41
41
  "data-disabled:pointer-events-none",
42
- "data-disabled:data-[state=active]:text-neutral-250",
43
- "data-disabled:data-[state=inactive]:text-neutral-300",
44
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface-page",
42
+ "data-disabled:data-[state=active]:text-content-tertiary",
43
+ "data-disabled:data-[state=inactive]:text-neutral-alphas-300",
44
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-interaction-focus focus-visible:ring-offset-2 focus-visible:ring-offset-bg-primary",
45
45
  className
46
46
  ),
47
47
  ...props,
@@ -1 +1 @@
1
- {"version":3,"file":"TabsTrigger.cjs","sources":["../../../../src/components/Tabs/TabsTrigger.tsx"],"sourcesContent":["import * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\n\n/** Props for the {@link TabsTrigger} button component. */\nexport type TabsTriggerProps = React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>;\n\n/** An interactive tab button that activates its associated {@link TabsContent} panel when clicked. */\nexport const TabsTrigger = React.forwardRef<\n React.ComponentRef<typeof TabsPrimitive.Trigger>,\n TabsTriggerProps\n>(({ className, children, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex min-w-0 items-center justify-center\",\n \"rounded-xs\",\n \"typography-semibold-body-lg cursor-pointer text-foreground-default\",\n \"motion-safe:transition-colors motion-safe:duration-150 motion-safe:ease-in-out\",\n \"data-[orientation=horizontal]:px-4 data-[orientation=horizontal]:py-3\",\n \"data-[orientation=vertical]:justify-start data-[orientation=vertical]:px-4 data-[orientation=vertical]:py-3\",\n \"data-[state=active]:hover:text-neutral-350\",\n \"data-[state=inactive]:hover:text-neutral-300\",\n \"data-[state=active]:active:text-neutral-350\",\n \"data-[state=inactive]:active:text-neutral-300\",\n \"data-disabled:pointer-events-none\",\n \"data-disabled:data-[state=active]:text-neutral-250\",\n \"data-disabled:data-[state=inactive]:text-neutral-300\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface-page\",\n className,\n )}\n {...props}\n >\n <span className=\"min-w-0 truncate\">{children}</span>\n </TabsPrimitive.Trigger>\n));\n\nTabsTrigger.displayName = \"TabsTrigger\";\n"],"names":["React","jsx","TabsPrimitive","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAQO,MAAM,cAAcA,iBAAM,WAG/B,CAAC,EAAE,WAAW,UAAU,GAAG,SAAS,QACpCC,2BAAAA;AAAAA,EAACC,yBAAc;AAAA,EAAd;AAAA,IACC;AAAA,IACA,WAAWC,GAAAA;AAAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAED,GAAG;AAAA,IAEJ,UAAAF,2BAAAA,IAAC,QAAA,EAAK,WAAU,oBAAoB,SAAA,CAAS;AAAA,EAAA;AAC/C,CACD;AAED,YAAY,cAAc;;"}
1
+ {"version":3,"file":"TabsTrigger.cjs","sources":["../../../../src/components/Tabs/TabsTrigger.tsx"],"sourcesContent":["import * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\n\n/** Props for the {@link TabsTrigger} button component. */\nexport type TabsTriggerProps = React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>;\n\n/** An interactive tab button that activates its associated {@link TabsContent} panel when clicked. */\nexport const TabsTrigger = React.forwardRef<\n React.ComponentRef<typeof TabsPrimitive.Trigger>,\n TabsTriggerProps\n>(({ className, children, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex min-w-0 items-center justify-center\",\n \"rounded-xs\",\n \"typography-semibold-body-lg cursor-pointer text-content-primary\",\n \"motion-safe:transition-colors motion-safe:duration-150 motion-safe:ease-in-out\",\n \"data-[orientation=horizontal]:px-4 data-[orientation=horizontal]:py-3\",\n \"data-[orientation=vertical]:justify-start data-[orientation=vertical]:px-4 data-[orientation=vertical]:py-3\",\n \"data-[state=active]:hover:text-buttons-primary-muted\",\n \"data-[state=inactive]:hover:text-neutral-alphas-300\",\n \"data-[state=active]:active:text-buttons-primary-muted\",\n \"data-[state=inactive]:active:text-neutral-alphas-300\",\n \"data-disabled:pointer-events-none\",\n \"data-disabled:data-[state=active]:text-content-tertiary\",\n \"data-disabled:data-[state=inactive]:text-neutral-alphas-300\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-interaction-focus focus-visible:ring-offset-2 focus-visible:ring-offset-bg-primary\",\n className,\n )}\n {...props}\n >\n <span className=\"min-w-0 truncate\">{children}</span>\n </TabsPrimitive.Trigger>\n));\n\nTabsTrigger.displayName = \"TabsTrigger\";\n"],"names":["React","jsx","TabsPrimitive","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAQO,MAAM,cAAcA,iBAAM,WAG/B,CAAC,EAAE,WAAW,UAAU,GAAG,SAAS,QACpCC,2BAAAA;AAAAA,EAACC,yBAAc;AAAA,EAAd;AAAA,IACC;AAAA,IACA,WAAWC,GAAAA;AAAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAED,GAAG;AAAA,IAEJ,UAAAF,2BAAAA,IAAC,QAAA,EAAK,WAAU,oBAAoB,SAAA,CAAS;AAAA,EAAA;AAC/C,CACD;AAED,YAAY,cAAc;;"}
@@ -51,16 +51,16 @@ const CLEAR_BUTTON_RIGHT = {
51
51
  };
52
52
  function getContainerClassName(size, error, disabled) {
53
53
  return cn.cn(
54
- "relative rounded-xl border bg-neutral-100 has-focus-visible:outline-none motion-safe:transition-colors",
55
- error ? "border-error-default" : "border-transparent",
56
- !disabled && !error && "hover:border-neutral-400",
54
+ "relative rounded-sm border bg-neutral-alphas-50 has-focus-visible:outline-none motion-safe:transition-colors",
55
+ error ? "border-error-content" : "border-transparent",
56
+ !disabled && !error && "hover:border-neutral-alphas-400",
57
57
  CONTAINER_MIN_HEIGHT[size],
58
58
  disabled && "opacity-50"
59
59
  );
60
60
  }
61
61
  function getTextareaClassName(size, hasClearButton, hasMinRows, resizable) {
62
62
  return cn.cn(
63
- "w-full rounded-xl bg-transparent text-foreground-default no-underline placeholder:text-foreground-secondary placeholder:opacity-40 focus:outline-none disabled:cursor-not-allowed",
63
+ "h-full w-full bg-transparent text-content-primary no-underline placeholder:text-content-secondary focus:outline-none disabled:cursor-not-allowed",
64
64
  resizable ? "resize-y" : "resize-none",
65
65
  !hasMinRows && "min-h-[80px]",
66
66
  TEXTAREA_SIZE_CLASSES[size],
@@ -79,7 +79,7 @@ function TextAreaHelperText({
79
79
  id,
80
80
  className: cn.cn(
81
81
  "typography-regular-body-sm px-2 pt-1 pb-0.5",
82
- error ? "text-error-default" : "text-foreground-secondary"
82
+ error ? "text-error-content" : "text-content-secondary"
83
83
  ),
84
84
  children
85
85
  }
@@ -179,7 +179,7 @@ const TextArea = React__namespace.forwardRef(
179
179
  "label",
180
180
  {
181
181
  htmlFor: inputId,
182
- className: "typography-semibold-body-sm px-1 pt-1 pb-2 text-foreground-default",
182
+ className: "typography-semibold-body-sm px-1 pt-1 pb-2 text-content-primary",
183
183
  children: label
184
184
  }
185
185
  ),
@@ -222,7 +222,7 @@ const TextArea = React__namespace.forwardRef(
222
222
  "pointer-events-none absolute flex size-5 items-center justify-center",
223
223
  CLEAR_BUTTON_RIGHT[size]
224
224
  ),
225
- children: /* @__PURE__ */ jsxRuntime.jsx(CheckOutlineIcon.CheckOutlineIcon, { className: "text-success-default" })
225
+ children: /* @__PURE__ */ jsxRuntime.jsx(CheckOutlineIcon.CheckOutlineIcon, { className: "text-success-content" })
226
226
  }
227
227
  )
228
228
  ] }),