@kiefer-tek/sophea-design-system 0.15.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 (999) hide show
  1. package/README.md +141 -0
  2. package/dist/ai-surface/RenderAgentComponent.d.ts +67 -0
  3. package/dist/ai-surface/RenderAgentComponent.d.ts.map +1 -0
  4. package/dist/ai-surface/index.d.ts +2 -0
  5. package/dist/ai-surface/index.d.ts.map +1 -0
  6. package/dist/chunks/Icon-BIcnLjtu.js +6506 -0
  7. package/dist/chunks/Icon-BIcnLjtu.js.map +1 -0
  8. package/dist/chunks/VisuallyHidden-DNar1Eli.js +972 -0
  9. package/dist/chunks/VisuallyHidden-DNar1Eli.js.map +1 -0
  10. package/dist/chunks/XCircle-CoMtPyVN.js +266 -0
  11. package/dist/chunks/XCircle-CoMtPyVN.js.map +1 -0
  12. package/dist/components/AIAnatomy/AIAnatomy.d.ts +29 -0
  13. package/dist/components/AIAnatomy/AIAnatomy.d.ts.map +1 -0
  14. package/dist/components/AIAnatomy/index.d.ts +3 -0
  15. package/dist/components/AIAnatomy/index.d.ts.map +1 -0
  16. package/dist/components/Accordion/Accordion.d.ts +12 -0
  17. package/dist/components/Accordion/Accordion.d.ts.map +1 -0
  18. package/dist/components/Accordion/index.d.ts +3 -0
  19. package/dist/components/Accordion/index.d.ts.map +1 -0
  20. package/dist/components/AlertDialog/AlertDialog.d.ts +16 -0
  21. package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -0
  22. package/dist/components/AlertDialog/index.d.ts +3 -0
  23. package/dist/components/AlertDialog/index.d.ts.map +1 -0
  24. package/dist/components/AnimatedBorder/AnimatedBorder.d.ts +62 -0
  25. package/dist/components/AnimatedBorder/AnimatedBorder.d.ts.map +1 -0
  26. package/dist/components/AnimatedBorder/index.d.ts +3 -0
  27. package/dist/components/AnimatedBorder/index.d.ts.map +1 -0
  28. package/dist/components/AspectRatio/AspectRatio.d.ts +7 -0
  29. package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -0
  30. package/dist/components/AspectRatio/index.d.ts +3 -0
  31. package/dist/components/AspectRatio/index.d.ts.map +1 -0
  32. package/dist/components/Attachment/Attachment.d.ts +13 -0
  33. package/dist/components/Attachment/Attachment.d.ts.map +1 -0
  34. package/dist/components/Attachment/index.d.ts +3 -0
  35. package/dist/components/Attachment/index.d.ts.map +1 -0
  36. package/dist/components/Avatar/Avatar.d.ts +31 -0
  37. package/dist/components/Avatar/Avatar.d.ts.map +1 -0
  38. package/dist/components/Avatar/index.d.ts +3 -0
  39. package/dist/components/Avatar/index.d.ts.map +1 -0
  40. package/dist/components/AvatarGroup/AvatarGroup.d.ts +11 -0
  41. package/dist/components/AvatarGroup/AvatarGroup.d.ts.map +1 -0
  42. package/dist/components/AvatarGroup/index.d.ts +3 -0
  43. package/dist/components/AvatarGroup/index.d.ts.map +1 -0
  44. package/dist/components/Badge/Badge.d.ts +13 -0
  45. package/dist/components/Badge/Badge.d.ts.map +1 -0
  46. package/dist/components/Badge/index.d.ts +3 -0
  47. package/dist/components/Badge/index.d.ts.map +1 -0
  48. package/dist/components/Banner/Banner.d.ts +21 -0
  49. package/dist/components/Banner/Banner.d.ts.map +1 -0
  50. package/dist/components/Banner/index.d.ts +3 -0
  51. package/dist/components/Banner/index.d.ts.map +1 -0
  52. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +21 -0
  53. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
  54. package/dist/components/Breadcrumbs/index.d.ts +3 -0
  55. package/dist/components/Breadcrumbs/index.d.ts.map +1 -0
  56. package/dist/components/Button/Button.d.ts +65 -0
  57. package/dist/components/Button/Button.d.ts.map +1 -0
  58. package/dist/components/Button/index.d.ts +3 -0
  59. package/dist/components/Button/index.d.ts.map +1 -0
  60. package/dist/components/Card/Card.d.ts +81 -0
  61. package/dist/components/Card/Card.d.ts.map +1 -0
  62. package/dist/components/Card/index.d.ts +3 -0
  63. package/dist/components/Card/index.d.ts.map +1 -0
  64. package/dist/components/Checkbox/Checkbox.d.ts +19 -0
  65. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  66. package/dist/components/Checkbox/index.d.ts +3 -0
  67. package/dist/components/Checkbox/index.d.ts.map +1 -0
  68. package/dist/components/Citation/Citation.d.ts +17 -0
  69. package/dist/components/Citation/Citation.d.ts.map +1 -0
  70. package/dist/components/Citation/index.d.ts +3 -0
  71. package/dist/components/Citation/index.d.ts.map +1 -0
  72. package/dist/components/Code/Code.d.ts +35 -0
  73. package/dist/components/Code/Code.d.ts.map +1 -0
  74. package/dist/components/Code/index.d.ts +3 -0
  75. package/dist/components/Code/index.d.ts.map +1 -0
  76. package/dist/components/Collapsible/Collapsible.d.ts +11 -0
  77. package/dist/components/Collapsible/Collapsible.d.ts.map +1 -0
  78. package/dist/components/Collapsible/index.d.ts +2 -0
  79. package/dist/components/Collapsible/index.d.ts.map +1 -0
  80. package/dist/components/ColorPicker/ColorPicker.d.ts +16 -0
  81. package/dist/components/ColorPicker/ColorPicker.d.ts.map +1 -0
  82. package/dist/components/ColorPicker/index.d.ts +3 -0
  83. package/dist/components/ColorPicker/index.d.ts.map +1 -0
  84. package/dist/components/Composer/Composer.d.ts +27 -0
  85. package/dist/components/Composer/Composer.d.ts.map +1 -0
  86. package/dist/components/Composer/ComposerChip.d.ts +61 -0
  87. package/dist/components/Composer/ComposerChip.d.ts.map +1 -0
  88. package/dist/components/Composer/index.d.ts +5 -0
  89. package/dist/components/Composer/index.d.ts.map +1 -0
  90. package/dist/components/Container/Container.d.ts +10 -0
  91. package/dist/components/Container/Container.d.ts.map +1 -0
  92. package/dist/components/Container/index.d.ts +3 -0
  93. package/dist/components/Container/index.d.ts.map +1 -0
  94. package/dist/components/Content/Content.d.ts +103 -0
  95. package/dist/components/Content/Content.d.ts.map +1 -0
  96. package/dist/components/Content/ContentLg.d.ts +28 -0
  97. package/dist/components/Content/ContentLg.d.ts.map +1 -0
  98. package/dist/components/Content/ContentMd.d.ts +40 -0
  99. package/dist/components/Content/ContentMd.d.ts.map +1 -0
  100. package/dist/components/Content/ContentSm.d.ts +29 -0
  101. package/dist/components/Content/ContentSm.d.ts.map +1 -0
  102. package/dist/components/Content/ContentXl.d.ts +32 -0
  103. package/dist/components/Content/ContentXl.d.ts.map +1 -0
  104. package/dist/components/Content/index.d.ts +11 -0
  105. package/dist/components/Content/index.d.ts.map +1 -0
  106. package/dist/components/ContentAction/ContentAction.d.ts +25 -0
  107. package/dist/components/ContentAction/ContentAction.d.ts.map +1 -0
  108. package/dist/components/ContentAction/index.d.ts +3 -0
  109. package/dist/components/ContentAction/index.d.ts.map +1 -0
  110. package/dist/components/ContextChip/ContextChip.d.ts +15 -0
  111. package/dist/components/ContextChip/ContextChip.d.ts.map +1 -0
  112. package/dist/components/ContextChip/index.d.ts +3 -0
  113. package/dist/components/ContextChip/index.d.ts.map +1 -0
  114. package/dist/components/ContextMenu/ContextMenu.d.ts +17 -0
  115. package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -0
  116. package/dist/components/ContextMenu/index.d.ts +3 -0
  117. package/dist/components/ContextMenu/index.d.ts.map +1 -0
  118. package/dist/components/DataTable/ActionsContainer.d.ts +9 -0
  119. package/dist/components/DataTable/ActionsContainer.d.ts.map +1 -0
  120. package/dist/components/DataTable/ColumnSortabilityPopover.d.ts +17 -0
  121. package/dist/components/DataTable/ColumnSortabilityPopover.d.ts.map +1 -0
  122. package/dist/components/DataTable/ColumnVisibilityPopover.d.ts +9 -0
  123. package/dist/components/DataTable/ColumnVisibilityPopover.d.ts.map +1 -0
  124. package/dist/components/DataTable/DataTableText.d.ts +26 -0
  125. package/dist/components/DataTable/DataTableText.d.ts.map +1 -0
  126. package/dist/components/DataTable/DragOverlayRow.d.ts +13 -0
  127. package/dist/components/DataTable/DragOverlayRow.d.ts.map +1 -0
  128. package/dist/components/DataTable/Footer.d.ts +66 -0
  129. package/dist/components/DataTable/Footer.d.ts.map +1 -0
  130. package/dist/components/DataTable/QualifierContainer.d.ts +9 -0
  131. package/dist/components/DataTable/QualifierContainer.d.ts.map +1 -0
  132. package/dist/components/DataTable/TableBody.d.ts +24 -0
  133. package/dist/components/DataTable/TableBody.d.ts.map +1 -0
  134. package/dist/components/DataTable/TableCell.d.ts +8 -0
  135. package/dist/components/DataTable/TableCell.d.ts.map +1 -0
  136. package/dist/components/DataTable/TableElement.d.ts +17 -0
  137. package/dist/components/DataTable/TableElement.d.ts.map +1 -0
  138. package/dist/components/DataTable/TableHead.d.ts +33 -0
  139. package/dist/components/DataTable/TableHead.d.ts.map +1 -0
  140. package/dist/components/DataTable/TableHeader.d.ts +5 -0
  141. package/dist/components/DataTable/TableHeader.d.ts.map +1 -0
  142. package/dist/components/DataTable/TableQualifier.d.ts +25 -0
  143. package/dist/components/DataTable/TableQualifier.d.ts.map +1 -0
  144. package/dist/components/DataTable/TableRow.d.ts +13 -0
  145. package/dist/components/DataTable/TableRow.d.ts.map +1 -0
  146. package/dist/components/DataTable/TableSizeContext.d.ts +10 -0
  147. package/dist/components/DataTable/TableSizeContext.d.ts.map +1 -0
  148. package/dist/components/DataTable/columns.d.ts +89 -0
  149. package/dist/components/DataTable/columns.d.ts.map +1 -0
  150. package/dist/components/DataTable/components.d.ts +28 -0
  151. package/dist/components/DataTable/components.d.ts.map +1 -0
  152. package/dist/components/DataTable/hooks/useColumnWidths.d.ts +32 -0
  153. package/dist/components/DataTable/hooks/useColumnWidths.d.ts.map +1 -0
  154. package/dist/components/DataTable/hooks/useDataTable.d.ts +103 -0
  155. package/dist/components/DataTable/hooks/useDataTable.d.ts.map +1 -0
  156. package/dist/components/DataTable/hooks/useDraggableRows.d.ts +41 -0
  157. package/dist/components/DataTable/hooks/useDraggableRows.d.ts.map +1 -0
  158. package/dist/components/DataTable/index.d.ts +37 -0
  159. package/dist/components/DataTable/index.d.ts.map +1 -0
  160. package/dist/components/DataTable/types.d.ts +170 -0
  161. package/dist/components/DataTable/types.d.ts.map +1 -0
  162. package/dist/components/DatePicker/DatePicker.d.ts +34 -0
  163. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -0
  164. package/dist/components/DatePicker/index.d.ts +3 -0
  165. package/dist/components/DatePicker/index.d.ts.map +1 -0
  166. package/dist/components/DescriptionList/DescriptionList.d.ts +14 -0
  167. package/dist/components/DescriptionList/DescriptionList.d.ts.map +1 -0
  168. package/dist/components/DescriptionList/index.d.ts +3 -0
  169. package/dist/components/DescriptionList/index.d.ts.map +1 -0
  170. package/dist/components/Disabled/Disabled.d.ts +32 -0
  171. package/dist/components/Disabled/Disabled.d.ts.map +1 -0
  172. package/dist/components/Disabled/index.d.ts +3 -0
  173. package/dist/components/Disabled/index.d.ts.map +1 -0
  174. package/dist/components/Drawer/Drawer.d.ts +20 -0
  175. package/dist/components/Drawer/Drawer.d.ts.map +1 -0
  176. package/dist/components/Drawer/index.d.ts +3 -0
  177. package/dist/components/Drawer/index.d.ts.map +1 -0
  178. package/dist/components/DropdownMenu/DropdownMenu.d.ts +27 -0
  179. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -0
  180. package/dist/components/DropdownMenu/index.d.ts +3 -0
  181. package/dist/components/DropdownMenu/index.d.ts.map +1 -0
  182. package/dist/components/EmptyMessageCard/EmptyMessageCard.d.ts +28 -0
  183. package/dist/components/EmptyMessageCard/EmptyMessageCard.d.ts.map +1 -0
  184. package/dist/components/EmptyMessageCard/index.d.ts +3 -0
  185. package/dist/components/EmptyMessageCard/index.d.ts.map +1 -0
  186. package/dist/components/EmptyState/EmptyState.d.ts +13 -0
  187. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -0
  188. package/dist/components/EmptyState/index.d.ts +3 -0
  189. package/dist/components/EmptyState/index.d.ts.map +1 -0
  190. package/dist/components/ExpandableButton/ExpandableButton.d.ts +26 -0
  191. package/dist/components/ExpandableButton/ExpandableButton.d.ts.map +1 -0
  192. package/dist/components/ExpandableButton/index.d.ts +3 -0
  193. package/dist/components/ExpandableButton/index.d.ts.map +1 -0
  194. package/dist/components/FeedbackThumbs/FeedbackThumbs.d.ts +27 -0
  195. package/dist/components/FeedbackThumbs/FeedbackThumbs.d.ts.map +1 -0
  196. package/dist/components/FeedbackThumbs/index.d.ts +3 -0
  197. package/dist/components/FeedbackThumbs/index.d.ts.map +1 -0
  198. package/dist/components/FileInput/FileInput.d.ts +21 -0
  199. package/dist/components/FileInput/FileInput.d.ts.map +1 -0
  200. package/dist/components/FileInput/index.d.ts +3 -0
  201. package/dist/components/FileInput/index.d.ts.map +1 -0
  202. package/dist/components/FilterButton/FilterButton.d.ts +24 -0
  203. package/dist/components/FilterButton/FilterButton.d.ts.map +1 -0
  204. package/dist/components/FilterButton/index.d.ts +3 -0
  205. package/dist/components/FilterButton/index.d.ts.map +1 -0
  206. package/dist/components/Grid/Grid.d.ts +20 -0
  207. package/dist/components/Grid/Grid.d.ts.map +1 -0
  208. package/dist/components/Grid/index.d.ts +3 -0
  209. package/dist/components/Grid/index.d.ts.map +1 -0
  210. package/dist/components/HoverCard/HoverCard.d.ts +5 -0
  211. package/dist/components/HoverCard/HoverCard.d.ts.map +1 -0
  212. package/dist/components/HoverCard/index.d.ts +2 -0
  213. package/dist/components/HoverCard/index.d.ts.map +1 -0
  214. package/dist/components/Hoverable/Hoverable.d.ts +54 -0
  215. package/dist/components/Hoverable/Hoverable.d.ts.map +1 -0
  216. package/dist/components/Hoverable/index.d.ts +3 -0
  217. package/dist/components/Hoverable/index.d.ts.map +1 -0
  218. package/dist/components/IllustrationContent/IllustrationContent.d.ts +28 -0
  219. package/dist/components/IllustrationContent/IllustrationContent.d.ts.map +1 -0
  220. package/dist/components/IllustrationContent/index.d.ts +3 -0
  221. package/dist/components/IllustrationContent/index.d.ts.map +1 -0
  222. package/dist/components/Input/Input.d.ts +10 -0
  223. package/dist/components/Input/Input.d.ts.map +1 -0
  224. package/dist/components/Input/index.d.ts +3 -0
  225. package/dist/components/Input/index.d.ts.map +1 -0
  226. package/dist/components/InputLayouts/InputLayouts.d.ts +81 -0
  227. package/dist/components/InputLayouts/InputLayouts.d.ts.map +1 -0
  228. package/dist/components/InputLayouts/index.d.ts +3 -0
  229. package/dist/components/InputLayouts/index.d.ts.map +1 -0
  230. package/dist/components/Interactive/Interactive.d.ts +106 -0
  231. package/dist/components/Interactive/Interactive.d.ts.map +1 -0
  232. package/dist/components/Interactive/index.d.ts +3 -0
  233. package/dist/components/Interactive/index.d.ts.map +1 -0
  234. package/dist/components/KeyboardKey/KeyboardKey.d.ts +14 -0
  235. package/dist/components/KeyboardKey/KeyboardKey.d.ts.map +1 -0
  236. package/dist/components/KeyboardKey/index.d.ts +3 -0
  237. package/dist/components/KeyboardKey/index.d.ts.map +1 -0
  238. package/dist/components/LineItemButton/LineItemButton.d.ts +27 -0
  239. package/dist/components/LineItemButton/LineItemButton.d.ts.map +1 -0
  240. package/dist/components/LineItemButton/index.d.ts +3 -0
  241. package/dist/components/LineItemButton/index.d.ts.map +1 -0
  242. package/dist/components/LinkButton/LinkButton.d.ts +27 -0
  243. package/dist/components/LinkButton/LinkButton.d.ts.map +1 -0
  244. package/dist/components/LinkButton/index.d.ts +3 -0
  245. package/dist/components/LinkButton/index.d.ts.map +1 -0
  246. package/dist/components/List/List.d.ts +27 -0
  247. package/dist/components/List/List.d.ts.map +1 -0
  248. package/dist/components/List/index.d.ts +3 -0
  249. package/dist/components/List/index.d.ts.map +1 -0
  250. package/dist/components/Message/Message.d.ts +37 -0
  251. package/dist/components/Message/Message.d.ts.map +1 -0
  252. package/dist/components/Message/index.d.ts +3 -0
  253. package/dist/components/Message/index.d.ts.map +1 -0
  254. package/dist/components/MessageCard/MessageCard.d.ts +35 -0
  255. package/dist/components/MessageCard/MessageCard.d.ts.map +1 -0
  256. package/dist/components/MessageCard/index.d.ts +3 -0
  257. package/dist/components/MessageCard/index.d.ts.map +1 -0
  258. package/dist/components/Modal/Modal.d.ts +18 -0
  259. package/dist/components/Modal/Modal.d.ts.map +1 -0
  260. package/dist/components/Modal/index.d.ts +3 -0
  261. package/dist/components/Modal/index.d.ts.map +1 -0
  262. package/dist/components/NumberInput/NumberInput.d.ts +30 -0
  263. package/dist/components/NumberInput/NumberInput.d.ts.map +1 -0
  264. package/dist/components/NumberInput/index.d.ts +3 -0
  265. package/dist/components/NumberInput/index.d.ts.map +1 -0
  266. package/dist/components/OpenButton/OpenButton.d.ts +52 -0
  267. package/dist/components/OpenButton/OpenButton.d.ts.map +1 -0
  268. package/dist/components/OpenButton/index.d.ts +3 -0
  269. package/dist/components/OpenButton/index.d.ts.map +1 -0
  270. package/dist/components/Pagination/Pagination.d.ts +41 -0
  271. package/dist/components/Pagination/Pagination.d.ts.map +1 -0
  272. package/dist/components/Pagination/index.d.ts +3 -0
  273. package/dist/components/Pagination/index.d.ts.map +1 -0
  274. package/dist/components/PinInput/PinInput.d.ts +26 -0
  275. package/dist/components/PinInput/PinInput.d.ts.map +1 -0
  276. package/dist/components/PinInput/index.d.ts +3 -0
  277. package/dist/components/PinInput/index.d.ts.map +1 -0
  278. package/dist/components/Popover/Popover.d.ts +12 -0
  279. package/dist/components/Popover/Popover.d.ts.map +1 -0
  280. package/dist/components/Popover/index.d.ts +3 -0
  281. package/dist/components/Popover/index.d.ts.map +1 -0
  282. package/dist/components/Progress/Progress.d.ts +15 -0
  283. package/dist/components/Progress/Progress.d.ts.map +1 -0
  284. package/dist/components/Progress/index.d.ts +3 -0
  285. package/dist/components/Progress/index.d.ts.map +1 -0
  286. package/dist/components/RadioGroup/RadioGroup.d.ts +24 -0
  287. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -0
  288. package/dist/components/RadioGroup/index.d.ts +3 -0
  289. package/dist/components/RadioGroup/index.d.ts.map +1 -0
  290. package/dist/components/RegenerateButton/RegenerateButton.d.ts +11 -0
  291. package/dist/components/RegenerateButton/RegenerateButton.d.ts.map +1 -0
  292. package/dist/components/RegenerateButton/index.d.ts +3 -0
  293. package/dist/components/RegenerateButton/index.d.ts.map +1 -0
  294. package/dist/components/ScrollArea/ScrollArea.d.ts +9 -0
  295. package/dist/components/ScrollArea/ScrollArea.d.ts.map +1 -0
  296. package/dist/components/ScrollArea/index.d.ts +3 -0
  297. package/dist/components/ScrollArea/index.d.ts.map +1 -0
  298. package/dist/components/ScrollableList/ScrollableList.d.ts +81 -0
  299. package/dist/components/ScrollableList/ScrollableList.d.ts.map +1 -0
  300. package/dist/components/ScrollableList/index.d.ts +3 -0
  301. package/dist/components/ScrollableList/index.d.ts.map +1 -0
  302. package/dist/components/SearchInput/SearchInput.d.ts +26 -0
  303. package/dist/components/SearchInput/SearchInput.d.ts.map +1 -0
  304. package/dist/components/SearchInput/index.d.ts +3 -0
  305. package/dist/components/SearchInput/index.d.ts.map +1 -0
  306. package/dist/components/SegmentedControl/SegmentedControl.d.ts +19 -0
  307. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -0
  308. package/dist/components/SegmentedControl/index.d.ts +3 -0
  309. package/dist/components/SegmentedControl/index.d.ts.map +1 -0
  310. package/dist/components/Select/Select.d.ts +21 -0
  311. package/dist/components/Select/Select.d.ts.map +1 -0
  312. package/dist/components/Select/index.d.ts +3 -0
  313. package/dist/components/Select/index.d.ts.map +1 -0
  314. package/dist/components/SelectButton/SelectButton.d.ts +44 -0
  315. package/dist/components/SelectButton/SelectButton.d.ts.map +1 -0
  316. package/dist/components/SelectButton/index.d.ts +3 -0
  317. package/dist/components/SelectButton/index.d.ts.map +1 -0
  318. package/dist/components/SelectCard/SelectCard.d.ts +19 -0
  319. package/dist/components/SelectCard/SelectCard.d.ts.map +1 -0
  320. package/dist/components/SelectCard/index.d.ts +3 -0
  321. package/dist/components/SelectCard/index.d.ts.map +1 -0
  322. package/dist/components/Separator/Separator.d.ts +43 -0
  323. package/dist/components/Separator/Separator.d.ts.map +1 -0
  324. package/dist/components/Separator/index.d.ts +3 -0
  325. package/dist/components/Separator/index.d.ts.map +1 -0
  326. package/dist/components/SidebarTab/SidebarTab.d.ts +30 -0
  327. package/dist/components/SidebarTab/SidebarTab.d.ts.map +1 -0
  328. package/dist/components/SidebarTab/index.d.ts +3 -0
  329. package/dist/components/SidebarTab/index.d.ts.map +1 -0
  330. package/dist/components/Skeleton/Skeleton.d.ts +10 -0
  331. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -0
  332. package/dist/components/Skeleton/index.d.ts +3 -0
  333. package/dist/components/Skeleton/index.d.ts.map +1 -0
  334. package/dist/components/SkipLink/SkipLink.d.ts +19 -0
  335. package/dist/components/SkipLink/SkipLink.d.ts.map +1 -0
  336. package/dist/components/SkipLink/index.d.ts +3 -0
  337. package/dist/components/SkipLink/index.d.ts.map +1 -0
  338. package/dist/components/Slider/Slider.d.ts +12 -0
  339. package/dist/components/Slider/Slider.d.ts.map +1 -0
  340. package/dist/components/Slider/index.d.ts +3 -0
  341. package/dist/components/Slider/index.d.ts.map +1 -0
  342. package/dist/components/Slot/Slot.d.ts +14 -0
  343. package/dist/components/Slot/Slot.d.ts.map +1 -0
  344. package/dist/components/Slot/index.d.ts +2 -0
  345. package/dist/components/Slot/index.d.ts.map +1 -0
  346. package/dist/components/Spinner/Spinner.d.ts +11 -0
  347. package/dist/components/Spinner/Spinner.d.ts.map +1 -0
  348. package/dist/components/Spinner/index.d.ts +3 -0
  349. package/dist/components/Spinner/index.d.ts.map +1 -0
  350. package/dist/components/Stack/Stack.d.ts +15 -0
  351. package/dist/components/Stack/Stack.d.ts.map +1 -0
  352. package/dist/components/Stack/index.d.ts +3 -0
  353. package/dist/components/Stack/index.d.ts.map +1 -0
  354. package/dist/components/Stat/Stat.d.ts +23 -0
  355. package/dist/components/Stat/Stat.d.ts.map +1 -0
  356. package/dist/components/Stat/index.d.ts +3 -0
  357. package/dist/components/Stat/index.d.ts.map +1 -0
  358. package/dist/components/StreamingMarkdown/StreamingMarkdown.d.ts +31 -0
  359. package/dist/components/StreamingMarkdown/StreamingMarkdown.d.ts.map +1 -0
  360. package/dist/components/StreamingMarkdown/index.d.ts +3 -0
  361. package/dist/components/StreamingMarkdown/index.d.ts.map +1 -0
  362. package/dist/components/Switch/Switch.d.ts +19 -0
  363. package/dist/components/Switch/Switch.d.ts.map +1 -0
  364. package/dist/components/Switch/index.d.ts +3 -0
  365. package/dist/components/Switch/index.d.ts.map +1 -0
  366. package/dist/components/Table/Table.d.ts +18 -0
  367. package/dist/components/Table/Table.d.ts.map +1 -0
  368. package/dist/components/Table/index.d.ts +3 -0
  369. package/dist/components/Table/index.d.ts.map +1 -0
  370. package/dist/components/Tabs/Tabs.d.ts +25 -0
  371. package/dist/components/Tabs/Tabs.d.ts.map +1 -0
  372. package/dist/components/Tabs/index.d.ts +3 -0
  373. package/dist/components/Tabs/index.d.ts.map +1 -0
  374. package/dist/components/Tag/Tag.d.ts +20 -0
  375. package/dist/components/Tag/Tag.d.ts.map +1 -0
  376. package/dist/components/Tag/index.d.ts +3 -0
  377. package/dist/components/Tag/index.d.ts.map +1 -0
  378. package/dist/components/TagInput/TagInput.d.ts +31 -0
  379. package/dist/components/TagInput/TagInput.d.ts.map +1 -0
  380. package/dist/components/TagInput/index.d.ts +3 -0
  381. package/dist/components/TagInput/index.d.ts.map +1 -0
  382. package/dist/components/Text/Text.d.ts +43 -0
  383. package/dist/components/Text/Text.d.ts.map +1 -0
  384. package/dist/components/Text/index.d.ts +5 -0
  385. package/dist/components/Text/index.d.ts.map +1 -0
  386. package/dist/components/Text/richstr.d.ts +46 -0
  387. package/dist/components/Text/richstr.d.ts.map +1 -0
  388. package/dist/components/Textarea/Textarea.d.ts +12 -0
  389. package/dist/components/Textarea/Textarea.d.ts.map +1 -0
  390. package/dist/components/Textarea/index.d.ts +3 -0
  391. package/dist/components/Textarea/index.d.ts.map +1 -0
  392. package/dist/components/ThemeProvider/ThemeProvider.d.ts +25 -0
  393. package/dist/components/ThemeProvider/ThemeProvider.d.ts.map +1 -0
  394. package/dist/components/ThemeProvider/index.d.ts +3 -0
  395. package/dist/components/ThemeProvider/index.d.ts.map +1 -0
  396. package/dist/components/ThoughtBubble/ThoughtBubble.d.ts +17 -0
  397. package/dist/components/ThoughtBubble/ThoughtBubble.d.ts.map +1 -0
  398. package/dist/components/ThoughtBubble/index.d.ts +3 -0
  399. package/dist/components/ThoughtBubble/index.d.ts.map +1 -0
  400. package/dist/components/Timeline/Timeline.d.ts +17 -0
  401. package/dist/components/Timeline/Timeline.d.ts.map +1 -0
  402. package/dist/components/Timeline/index.d.ts +3 -0
  403. package/dist/components/Timeline/index.d.ts.map +1 -0
  404. package/dist/components/Toast/Toast.d.ts +25 -0
  405. package/dist/components/Toast/Toast.d.ts.map +1 -0
  406. package/dist/components/Toast/index.d.ts +3 -0
  407. package/dist/components/Toast/index.d.ts.map +1 -0
  408. package/dist/components/ToggleGroup/ToggleGroup.d.ts +16 -0
  409. package/dist/components/ToggleGroup/ToggleGroup.d.ts.map +1 -0
  410. package/dist/components/ToggleGroup/index.d.ts +3 -0
  411. package/dist/components/ToggleGroup/index.d.ts.map +1 -0
  412. package/dist/components/TokenCounter/TokenCounter.d.ts +14 -0
  413. package/dist/components/TokenCounter/TokenCounter.d.ts.map +1 -0
  414. package/dist/components/TokenCounter/index.d.ts +3 -0
  415. package/dist/components/TokenCounter/index.d.ts.map +1 -0
  416. package/dist/components/ToolCallCard/ToolCallCard.d.ts +21 -0
  417. package/dist/components/ToolCallCard/ToolCallCard.d.ts.map +1 -0
  418. package/dist/components/ToolCallCard/index.d.ts +3 -0
  419. package/dist/components/ToolCallCard/index.d.ts.map +1 -0
  420. package/dist/components/Tooltip/Tooltip.d.ts +39 -0
  421. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
  422. package/dist/components/Tooltip/index.d.ts +3 -0
  423. package/dist/components/Tooltip/index.d.ts.map +1 -0
  424. package/dist/components/Tree/Tree.d.ts +24 -0
  425. package/dist/components/Tree/Tree.d.ts.map +1 -0
  426. package/dist/components/Tree/index.d.ts +3 -0
  427. package/dist/components/Tree/index.d.ts.map +1 -0
  428. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +9 -0
  429. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
  430. package/dist/components/VisuallyHidden/index.d.ts +3 -0
  431. package/dist/components/VisuallyHidden/index.d.ts.map +1 -0
  432. package/dist/components/index.d.ts +93 -0
  433. package/dist/components/index.d.ts.map +1 -0
  434. package/dist/components/spacing/index.d.ts +2 -0
  435. package/dist/components/spacing/index.d.ts.map +1 -0
  436. package/dist/components/spacing/padding.d.ts +49 -0
  437. package/dist/components/spacing/padding.d.ts.map +1 -0
  438. package/dist/icons/Actions.d.ts +4 -0
  439. package/dist/icons/Actions.d.ts.map +1 -0
  440. package/dist/icons/Activity.d.ts +4 -0
  441. package/dist/icons/Activity.d.ts.map +1 -0
  442. package/dist/icons/ActivitySmall.d.ts +4 -0
  443. package/dist/icons/ActivitySmall.d.ts.map +1 -0
  444. package/dist/icons/AddLines.d.ts +4 -0
  445. package/dist/icons/AddLines.d.ts.map +1 -0
  446. package/dist/icons/AiSearch.d.ts +4 -0
  447. package/dist/icons/AiSearch.d.ts.map +1 -0
  448. package/dist/icons/AlertCircle.d.ts +4 -0
  449. package/dist/icons/AlertCircle.d.ts.map +1 -0
  450. package/dist/icons/AlertTriangle.d.ts +4 -0
  451. package/dist/icons/AlertTriangle.d.ts.map +1 -0
  452. package/dist/icons/Archive.d.ts +4 -0
  453. package/dist/icons/Archive.d.ts.map +1 -0
  454. package/dist/icons/Arrow.d.ts +4 -0
  455. package/dist/icons/Arrow.d.ts.map +1 -0
  456. package/dist/icons/ArrowDown.d.ts +4 -0
  457. package/dist/icons/ArrowDown.d.ts.map +1 -0
  458. package/dist/icons/ArrowExchange.d.ts +4 -0
  459. package/dist/icons/ArrowExchange.d.ts.map +1 -0
  460. package/dist/icons/ArrowLeft.d.ts +4 -0
  461. package/dist/icons/ArrowLeft.d.ts.map +1 -0
  462. package/dist/icons/ArrowLeftDot.d.ts +4 -0
  463. package/dist/icons/ArrowLeftDot.d.ts.map +1 -0
  464. package/dist/icons/ArrowRight.d.ts +4 -0
  465. package/dist/icons/ArrowRight.d.ts.map +1 -0
  466. package/dist/icons/ArrowRightCircle.d.ts +4 -0
  467. package/dist/icons/ArrowRightCircle.d.ts.map +1 -0
  468. package/dist/icons/ArrowRightDot.d.ts +4 -0
  469. package/dist/icons/ArrowRightDot.d.ts.map +1 -0
  470. package/dist/icons/ArrowUp.d.ts +4 -0
  471. package/dist/icons/ArrowUp.d.ts.map +1 -0
  472. package/dist/icons/ArrowUpDown.d.ts +4 -0
  473. package/dist/icons/ArrowUpDown.d.ts.map +1 -0
  474. package/dist/icons/ArrowUpRight.d.ts +4 -0
  475. package/dist/icons/ArrowUpRight.d.ts.map +1 -0
  476. package/dist/icons/Audio.d.ts +4 -0
  477. package/dist/icons/Audio.d.ts.map +1 -0
  478. package/dist/icons/AudioEqSmall.d.ts +4 -0
  479. package/dist/icons/AudioEqSmall.d.ts.map +1 -0
  480. package/dist/icons/BarChart.d.ts +4 -0
  481. package/dist/icons/BarChart.d.ts.map +1 -0
  482. package/dist/icons/BarChartSmall.d.ts +4 -0
  483. package/dist/icons/BarChartSmall.d.ts.map +1 -0
  484. package/dist/icons/Bell.d.ts +4 -0
  485. package/dist/icons/Bell.d.ts.map +1 -0
  486. package/dist/icons/Blocks.d.ts +4 -0
  487. package/dist/icons/Blocks.d.ts.map +1 -0
  488. package/dist/icons/BookOpen.d.ts +4 -0
  489. package/dist/icons/BookOpen.d.ts.map +1 -0
  490. package/dist/icons/Bookmark.d.ts +4 -0
  491. package/dist/icons/Bookmark.d.ts.map +1 -0
  492. package/dist/icons/BooksLineSmall.d.ts +4 -0
  493. package/dist/icons/BooksLineSmall.d.ts.map +1 -0
  494. package/dist/icons/BooksStackSmall.d.ts +4 -0
  495. package/dist/icons/BooksStackSmall.d.ts.map +1 -0
  496. package/dist/icons/Bookstack.d.ts +4 -0
  497. package/dist/icons/Bookstack.d.ts.map +1 -0
  498. package/dist/icons/Bot.d.ts +4 -0
  499. package/dist/icons/Bot.d.ts.map +1 -0
  500. package/dist/icons/Boxes.d.ts +4 -0
  501. package/dist/icons/Boxes.d.ts.map +1 -0
  502. package/dist/icons/Brain.d.ts +4 -0
  503. package/dist/icons/Brain.d.ts.map +1 -0
  504. package/dist/icons/Branch.d.ts +4 -0
  505. package/dist/icons/Branch.d.ts.map +1 -0
  506. package/dist/icons/BubbleText.d.ts +4 -0
  507. package/dist/icons/BubbleText.d.ts.map +1 -0
  508. package/dist/icons/Bulb.d.ts +4 -0
  509. package/dist/icons/Bulb.d.ts.map +1 -0
  510. package/dist/icons/Calendar.d.ts +4 -0
  511. package/dist/icons/Calendar.d.ts.map +1 -0
  512. package/dist/icons/Cancel.d.ts +4 -0
  513. package/dist/icons/Cancel.d.ts.map +1 -0
  514. package/dist/icons/ChatBubble.d.ts +4 -0
  515. package/dist/icons/ChatBubble.d.ts.map +1 -0
  516. package/dist/icons/Check.d.ts +4 -0
  517. package/dist/icons/Check.d.ts.map +1 -0
  518. package/dist/icons/CheckCircle.d.ts +4 -0
  519. package/dist/icons/CheckCircle.d.ts.map +1 -0
  520. package/dist/icons/CheckSmall.d.ts +4 -0
  521. package/dist/icons/CheckSmall.d.ts.map +1 -0
  522. package/dist/icons/CheckSquare.d.ts +4 -0
  523. package/dist/icons/CheckSquare.d.ts.map +1 -0
  524. package/dist/icons/ChevronDown.d.ts +4 -0
  525. package/dist/icons/ChevronDown.d.ts.map +1 -0
  526. package/dist/icons/ChevronDownSmall.d.ts +4 -0
  527. package/dist/icons/ChevronDownSmall.d.ts.map +1 -0
  528. package/dist/icons/ChevronLeft.d.ts +4 -0
  529. package/dist/icons/ChevronLeft.d.ts.map +1 -0
  530. package/dist/icons/ChevronRight.d.ts +4 -0
  531. package/dist/icons/ChevronRight.d.ts.map +1 -0
  532. package/dist/icons/ChevronUp.d.ts +4 -0
  533. package/dist/icons/ChevronUp.d.ts.map +1 -0
  534. package/dist/icons/ChevronsDown.d.ts +4 -0
  535. package/dist/icons/ChevronsDown.d.ts.map +1 -0
  536. package/dist/icons/ChevronsUp.d.ts +4 -0
  537. package/dist/icons/ChevronsUp.d.ts.map +1 -0
  538. package/dist/icons/Circle.d.ts +4 -0
  539. package/dist/icons/Circle.d.ts.map +1 -0
  540. package/dist/icons/Clipboard.d.ts +4 -0
  541. package/dist/icons/Clipboard.d.ts.map +1 -0
  542. package/dist/icons/Clock.d.ts +4 -0
  543. package/dist/icons/Clock.d.ts.map +1 -0
  544. package/dist/icons/ClockHandsSmall.d.ts +4 -0
  545. package/dist/icons/ClockHandsSmall.d.ts.map +1 -0
  546. package/dist/icons/Code.d.ts +4 -0
  547. package/dist/icons/Code.d.ts.map +1 -0
  548. package/dist/icons/Command.d.ts +4 -0
  549. package/dist/icons/Command.d.ts.map +1 -0
  550. package/dist/icons/Connectors.d.ts +4 -0
  551. package/dist/icons/Connectors.d.ts.map +1 -0
  552. package/dist/icons/Copy.d.ts +4 -0
  553. package/dist/icons/Copy.d.ts.map +1 -0
  554. package/dist/icons/CornerRightUpDot.d.ts +4 -0
  555. package/dist/icons/CornerRightUpDot.d.ts.map +1 -0
  556. package/dist/icons/Cpu.d.ts +4 -0
  557. package/dist/icons/Cpu.d.ts.map +1 -0
  558. package/dist/icons/Database.d.ts +4 -0
  559. package/dist/icons/Database.d.ts.map +1 -0
  560. package/dist/icons/Delete.d.ts +4 -0
  561. package/dist/icons/Delete.d.ts.map +1 -0
  562. package/dist/icons/DevKit.d.ts +4 -0
  563. package/dist/icons/DevKit.d.ts.map +1 -0
  564. package/dist/icons/Discord.d.ts +4 -0
  565. package/dist/icons/Discord.d.ts.map +1 -0
  566. package/dist/icons/Download.d.ts +4 -0
  567. package/dist/icons/Download.d.ts.map +1 -0
  568. package/dist/icons/DownloadCloud.d.ts +4 -0
  569. package/dist/icons/DownloadCloud.d.ts.map +1 -0
  570. package/dist/icons/Edit.d.ts +4 -0
  571. package/dist/icons/Edit.d.ts.map +1 -0
  572. package/dist/icons/EditBig.d.ts +4 -0
  573. package/dist/icons/EditBig.d.ts.map +1 -0
  574. package/dist/icons/Expand.d.ts +4 -0
  575. package/dist/icons/Expand.d.ts.map +1 -0
  576. package/dist/icons/ExternalLink.d.ts +4 -0
  577. package/dist/icons/ExternalLink.d.ts.map +1 -0
  578. package/dist/icons/Eye.d.ts +4 -0
  579. package/dist/icons/Eye.d.ts.map +1 -0
  580. package/dist/icons/EyeClosed.d.ts +4 -0
  581. package/dist/icons/EyeClosed.d.ts.map +1 -0
  582. package/dist/icons/EyeOff.d.ts +4 -0
  583. package/dist/icons/EyeOff.d.ts.map +1 -0
  584. package/dist/icons/File.d.ts +4 -0
  585. package/dist/icons/File.d.ts.map +1 -0
  586. package/dist/icons/FileBraces.d.ts +4 -0
  587. package/dist/icons/FileBraces.d.ts.map +1 -0
  588. package/dist/icons/FileBroadcast.d.ts +4 -0
  589. package/dist/icons/FileBroadcast.d.ts.map +1 -0
  590. package/dist/icons/FileChartPie.d.ts +4 -0
  591. package/dist/icons/FileChartPie.d.ts.map +1 -0
  592. package/dist/icons/FileSmall.d.ts +4 -0
  593. package/dist/icons/FileSmall.d.ts.map +1 -0
  594. package/dist/icons/FileText.d.ts +4 -0
  595. package/dist/icons/FileText.d.ts.map +1 -0
  596. package/dist/icons/Files.d.ts +4 -0
  597. package/dist/icons/Files.d.ts.map +1 -0
  598. package/dist/icons/Filter.d.ts +4 -0
  599. package/dist/icons/Filter.d.ts.map +1 -0
  600. package/dist/icons/FilterPlus.d.ts +4 -0
  601. package/dist/icons/FilterPlus.d.ts.map +1 -0
  602. package/dist/icons/FlaskConical.d.ts +4 -0
  603. package/dist/icons/FlaskConical.d.ts.map +1 -0
  604. package/dist/icons/Fold.d.ts +4 -0
  605. package/dist/icons/Fold.d.ts.map +1 -0
  606. package/dist/icons/Folder.d.ts +4 -0
  607. package/dist/icons/Folder.d.ts.map +1 -0
  608. package/dist/icons/FolderIn.d.ts +4 -0
  609. package/dist/icons/FolderIn.d.ts.map +1 -0
  610. package/dist/icons/FolderOpen.d.ts +4 -0
  611. package/dist/icons/FolderOpen.d.ts.map +1 -0
  612. package/dist/icons/FolderOpenDot.d.ts +4 -0
  613. package/dist/icons/FolderOpenDot.d.ts.map +1 -0
  614. package/dist/icons/FolderPartialOpen.d.ts +4 -0
  615. package/dist/icons/FolderPartialOpen.d.ts.map +1 -0
  616. package/dist/icons/FolderPlus.d.ts +4 -0
  617. package/dist/icons/FolderPlus.d.ts.map +1 -0
  618. package/dist/icons/Globe.d.ts +4 -0
  619. package/dist/icons/Globe.d.ts.map +1 -0
  620. package/dist/icons/Handle.d.ts +4 -0
  621. package/dist/icons/Handle.d.ts.map +1 -0
  622. package/dist/icons/HardDrive.d.ts +4 -0
  623. package/dist/icons/HardDrive.d.ts.map +1 -0
  624. package/dist/icons/History.d.ts +4 -0
  625. package/dist/icons/History.d.ts.map +1 -0
  626. package/dist/icons/Home.d.ts +4 -0
  627. package/dist/icons/Home.d.ts.map +1 -0
  628. package/dist/icons/Hourglass.d.ts +4 -0
  629. package/dist/icons/Hourglass.d.ts.map +1 -0
  630. package/dist/icons/Icon.d.ts +21 -0
  631. package/dist/icons/Icon.d.ts.map +1 -0
  632. package/dist/icons/Image.d.ts +4 -0
  633. package/dist/icons/Image.d.ts.map +1 -0
  634. package/dist/icons/ImageSmall.d.ts +4 -0
  635. package/dist/icons/ImageSmall.d.ts.map +1 -0
  636. package/dist/icons/Import.d.ts +4 -0
  637. package/dist/icons/Import.d.ts.map +1 -0
  638. package/dist/icons/Info.d.ts +4 -0
  639. package/dist/icons/Info.d.ts.map +1 -0
  640. package/dist/icons/InfoCircle.d.ts +4 -0
  641. package/dist/icons/InfoCircle.d.ts.map +1 -0
  642. package/dist/icons/InfoSmall.d.ts +4 -0
  643. package/dist/icons/InfoSmall.d.ts.map +1 -0
  644. package/dist/icons/Key.d.ts +4 -0
  645. package/dist/icons/Key.d.ts.map +1 -0
  646. package/dist/icons/Keystroke.d.ts +4 -0
  647. package/dist/icons/Keystroke.d.ts.map +1 -0
  648. package/dist/icons/Lightbulb.d.ts +4 -0
  649. package/dist/icons/Lightbulb.d.ts.map +1 -0
  650. package/dist/icons/Link.d.ts +4 -0
  651. package/dist/icons/Link.d.ts.map +1 -0
  652. package/dist/icons/Loader.d.ts +4 -0
  653. package/dist/icons/Loader.d.ts.map +1 -0
  654. package/dist/icons/Lock.d.ts +4 -0
  655. package/dist/icons/Lock.d.ts.map +1 -0
  656. package/dist/icons/LogOut.d.ts +4 -0
  657. package/dist/icons/LogOut.d.ts.map +1 -0
  658. package/dist/icons/Mail.d.ts +4 -0
  659. package/dist/icons/Mail.d.ts.map +1 -0
  660. package/dist/icons/Maximize.d.ts +4 -0
  661. package/dist/icons/Maximize.d.ts.map +1 -0
  662. package/dist/icons/Menu.d.ts +4 -0
  663. package/dist/icons/Menu.d.ts.map +1 -0
  664. package/dist/icons/MessagesSquare.d.ts +4 -0
  665. package/dist/icons/MessagesSquare.d.ts.map +1 -0
  666. package/dist/icons/Mic.d.ts +4 -0
  667. package/dist/icons/Mic.d.ts.map +1 -0
  668. package/dist/icons/Microphone.d.ts +4 -0
  669. package/dist/icons/Microphone.d.ts.map +1 -0
  670. package/dist/icons/MicrophoneOff.d.ts +4 -0
  671. package/dist/icons/MicrophoneOff.d.ts.map +1 -0
  672. package/dist/icons/Minus.d.ts +4 -0
  673. package/dist/icons/Minus.d.ts.map +1 -0
  674. package/dist/icons/MinusCircle.d.ts +4 -0
  675. package/dist/icons/MinusCircle.d.ts.map +1 -0
  676. package/dist/icons/Moon.d.ts +4 -0
  677. package/dist/icons/Moon.d.ts.map +1 -0
  678. package/dist/icons/MoreHorizontal.d.ts +4 -0
  679. package/dist/icons/MoreHorizontal.d.ts.map +1 -0
  680. package/dist/icons/MusicSmall.d.ts +4 -0
  681. package/dist/icons/MusicSmall.d.ts.map +1 -0
  682. package/dist/icons/NoAccess.d.ts +4 -0
  683. package/dist/icons/NoAccess.d.ts.map +1 -0
  684. package/dist/icons/NotificationBubble.d.ts +4 -0
  685. package/dist/icons/NotificationBubble.d.ts.map +1 -0
  686. package/dist/icons/Octagon.d.ts +4 -0
  687. package/dist/icons/Octagon.d.ts.map +1 -0
  688. package/dist/icons/Orbit.d.ts +4 -0
  689. package/dist/icons/Orbit.d.ts.map +1 -0
  690. package/dist/icons/Organization.d.ts +4 -0
  691. package/dist/icons/Organization.d.ts.map +1 -0
  692. package/dist/icons/Owl.d.ts +4 -0
  693. package/dist/icons/Owl.d.ts.map +1 -0
  694. package/dist/icons/PaintBrush.d.ts +4 -0
  695. package/dist/icons/PaintBrush.d.ts.map +1 -0
  696. package/dist/icons/PanelsTopBottom.d.ts +4 -0
  697. package/dist/icons/PanelsTopBottom.d.ts.map +1 -0
  698. package/dist/icons/Paperclip.d.ts +4 -0
  699. package/dist/icons/Paperclip.d.ts.map +1 -0
  700. package/dist/icons/Pause.d.ts +4 -0
  701. package/dist/icons/Pause.d.ts.map +1 -0
  702. package/dist/icons/PauseCircle.d.ts +4 -0
  703. package/dist/icons/PauseCircle.d.ts.map +1 -0
  704. package/dist/icons/PenSmall.d.ts +4 -0
  705. package/dist/icons/PenSmall.d.ts.map +1 -0
  706. package/dist/icons/PencilEdit.d.ts +4 -0
  707. package/dist/icons/PencilEdit.d.ts.map +1 -0
  708. package/dist/icons/PencilRuler.d.ts +4 -0
  709. package/dist/icons/PencilRuler.d.ts.map +1 -0
  710. package/dist/icons/Pin.d.ts +4 -0
  711. package/dist/icons/Pin.d.ts.map +1 -0
  712. package/dist/icons/Pinned.d.ts +4 -0
  713. package/dist/icons/Pinned.d.ts.map +1 -0
  714. package/dist/icons/Play.d.ts +4 -0
  715. package/dist/icons/Play.d.ts.map +1 -0
  716. package/dist/icons/PlayCircle.d.ts +4 -0
  717. package/dist/icons/PlayCircle.d.ts.map +1 -0
  718. package/dist/icons/Plug.d.ts +4 -0
  719. package/dist/icons/Plug.d.ts.map +1 -0
  720. package/dist/icons/Plus.d.ts +4 -0
  721. package/dist/icons/Plus.d.ts.map +1 -0
  722. package/dist/icons/PlusCircle.d.ts +4 -0
  723. package/dist/icons/PlusCircle.d.ts.map +1 -0
  724. package/dist/icons/ProgressBars.d.ts +4 -0
  725. package/dist/icons/ProgressBars.d.ts.map +1 -0
  726. package/dist/icons/QuestionMarkSmall.d.ts +4 -0
  727. package/dist/icons/QuestionMarkSmall.d.ts.map +1 -0
  728. package/dist/icons/Quote.d.ts +4 -0
  729. package/dist/icons/Quote.d.ts.map +1 -0
  730. package/dist/icons/Refresh.d.ts +4 -0
  731. package/dist/icons/Refresh.d.ts.map +1 -0
  732. package/dist/icons/RefreshCw.d.ts +4 -0
  733. package/dist/icons/RefreshCw.d.ts.map +1 -0
  734. package/dist/icons/Revert.d.ts +4 -0
  735. package/dist/icons/Revert.d.ts.map +1 -0
  736. package/dist/icons/Robot.d.ts +4 -0
  737. package/dist/icons/Robot.d.ts.map +1 -0
  738. package/dist/icons/Rotate.d.ts +4 -0
  739. package/dist/icons/Rotate.d.ts.map +1 -0
  740. package/dist/icons/Search.d.ts +4 -0
  741. package/dist/icons/Search.d.ts.map +1 -0
  742. package/dist/icons/SearchMenu.d.ts +4 -0
  743. package/dist/icons/SearchMenu.d.ts.map +1 -0
  744. package/dist/icons/SearchSmall.d.ts +4 -0
  745. package/dist/icons/SearchSmall.d.ts.map +1 -0
  746. package/dist/icons/Send.d.ts +4 -0
  747. package/dist/icons/Send.d.ts.map +1 -0
  748. package/dist/icons/SendBold.d.ts +4 -0
  749. package/dist/icons/SendBold.d.ts.map +1 -0
  750. package/dist/icons/Server.d.ts +4 -0
  751. package/dist/icons/Server.d.ts.map +1 -0
  752. package/dist/icons/Settings.d.ts +4 -0
  753. package/dist/icons/Settings.d.ts.map +1 -0
  754. package/dist/icons/Share.d.ts +4 -0
  755. package/dist/icons/Share.d.ts.map +1 -0
  756. package/dist/icons/ShareWebhook.d.ts +4 -0
  757. package/dist/icons/ShareWebhook.d.ts.map +1 -0
  758. package/dist/icons/Sidebar.d.ts +4 -0
  759. package/dist/icons/Sidebar.d.ts.map +1 -0
  760. package/dist/icons/Slack.d.ts +4 -0
  761. package/dist/icons/Slack.d.ts.map +1 -0
  762. package/dist/icons/Sliders.d.ts +4 -0
  763. package/dist/icons/Sliders.d.ts.map +1 -0
  764. package/dist/icons/SlidersHorizontal.d.ts +4 -0
  765. package/dist/icons/SlidersHorizontal.d.ts.map +1 -0
  766. package/dist/icons/SlidersSmall.d.ts +4 -0
  767. package/dist/icons/SlidersSmall.d.ts.map +1 -0
  768. package/dist/icons/Sparkle.d.ts +4 -0
  769. package/dist/icons/Sparkle.d.ts.map +1 -0
  770. package/dist/icons/Sparkles.d.ts +4 -0
  771. package/dist/icons/Sparkles.d.ts.map +1 -0
  772. package/dist/icons/Star.d.ts +4 -0
  773. package/dist/icons/Star.d.ts.map +1 -0
  774. package/dist/icons/StarOff.d.ts +4 -0
  775. package/dist/icons/StarOff.d.ts.map +1 -0
  776. package/dist/icons/Stop.d.ts +4 -0
  777. package/dist/icons/Stop.d.ts.map +1 -0
  778. package/dist/icons/StopCircle.d.ts +4 -0
  779. package/dist/icons/StopCircle.d.ts.map +1 -0
  780. package/dist/icons/Sun.d.ts +4 -0
  781. package/dist/icons/Sun.d.ts.map +1 -0
  782. package/dist/icons/Tag.d.ts +4 -0
  783. package/dist/icons/Tag.d.ts.map +1 -0
  784. package/dist/icons/Terminal.d.ts +4 -0
  785. package/dist/icons/Terminal.d.ts.map +1 -0
  786. package/dist/icons/TerminalSmall.d.ts +4 -0
  787. package/dist/icons/TerminalSmall.d.ts.map +1 -0
  788. package/dist/icons/TextLines.d.ts +4 -0
  789. package/dist/icons/TextLines.d.ts.map +1 -0
  790. package/dist/icons/TextLinesSmall.d.ts +4 -0
  791. package/dist/icons/TextLinesSmall.d.ts.map +1 -0
  792. package/dist/icons/ThumbsDown.d.ts +4 -0
  793. package/dist/icons/ThumbsDown.d.ts.map +1 -0
  794. package/dist/icons/ThumbsUp.d.ts +4 -0
  795. package/dist/icons/ThumbsUp.d.ts.map +1 -0
  796. package/dist/icons/Tick.d.ts +4 -0
  797. package/dist/icons/Tick.d.ts.map +1 -0
  798. package/dist/icons/TrainFace.d.ts +4 -0
  799. package/dist/icons/TrainFace.d.ts.map +1 -0
  800. package/dist/icons/TrainFront.d.ts +4 -0
  801. package/dist/icons/TrainFront.d.ts.map +1 -0
  802. package/dist/icons/TrainFrontTunnel.d.ts +4 -0
  803. package/dist/icons/TrainFrontTunnel.d.ts.map +1 -0
  804. package/dist/icons/Translate.d.ts +4 -0
  805. package/dist/icons/Translate.d.ts.map +1 -0
  806. package/dist/icons/Trash.d.ts +4 -0
  807. package/dist/icons/Trash.d.ts.map +1 -0
  808. package/dist/icons/TwoLineSmall.d.ts +4 -0
  809. package/dist/icons/TwoLineSmall.d.ts.map +1 -0
  810. package/dist/icons/UploadCloud.d.ts +4 -0
  811. package/dist/icons/UploadCloud.d.ts.map +1 -0
  812. package/dist/icons/UploadSquare.d.ts +4 -0
  813. package/dist/icons/UploadSquare.d.ts.map +1 -0
  814. package/dist/icons/User.d.ts +4 -0
  815. package/dist/icons/User.d.ts.map +1 -0
  816. package/dist/icons/UserCheck.d.ts +4 -0
  817. package/dist/icons/UserCheck.d.ts.map +1 -0
  818. package/dist/icons/UserEdit.d.ts +4 -0
  819. package/dist/icons/UserEdit.d.ts.map +1 -0
  820. package/dist/icons/UserKey.d.ts +4 -0
  821. package/dist/icons/UserKey.d.ts.map +1 -0
  822. package/dist/icons/UserManage.d.ts +4 -0
  823. package/dist/icons/UserManage.d.ts.map +1 -0
  824. package/dist/icons/UserMinus.d.ts +4 -0
  825. package/dist/icons/UserMinus.d.ts.map +1 -0
  826. package/dist/icons/UserPlus.d.ts +4 -0
  827. package/dist/icons/UserPlus.d.ts.map +1 -0
  828. package/dist/icons/UserSync.d.ts +4 -0
  829. package/dist/icons/UserSync.d.ts.map +1 -0
  830. package/dist/icons/UserX.d.ts +4 -0
  831. package/dist/icons/UserX.d.ts.map +1 -0
  832. package/dist/icons/Users.d.ts +4 -0
  833. package/dist/icons/Users.d.ts.map +1 -0
  834. package/dist/icons/UsersRound.d.ts +4 -0
  835. package/dist/icons/UsersRound.d.ts.map +1 -0
  836. package/dist/icons/Volume.d.ts +4 -0
  837. package/dist/icons/Volume.d.ts.map +1 -0
  838. package/dist/icons/VolumeOff.d.ts +4 -0
  839. package/dist/icons/VolumeOff.d.ts.map +1 -0
  840. package/dist/icons/Warning.d.ts +4 -0
  841. package/dist/icons/Warning.d.ts.map +1 -0
  842. package/dist/icons/Wrench.d.ts +4 -0
  843. package/dist/icons/Wrench.d.ts.map +1 -0
  844. package/dist/icons/X.d.ts +4 -0
  845. package/dist/icons/X.d.ts.map +1 -0
  846. package/dist/icons/XCircle.d.ts +4 -0
  847. package/dist/icons/XCircle.d.ts.map +1 -0
  848. package/dist/icons/XOctagon.d.ts +4 -0
  849. package/dist/icons/XOctagon.d.ts.map +1 -0
  850. package/dist/icons/ZoomIn.d.ts +4 -0
  851. package/dist/icons/ZoomIn.d.ts.map +1 -0
  852. package/dist/icons/ZoomOut.d.ts +4 -0
  853. package/dist/icons/ZoomOut.d.ts.map +1 -0
  854. package/dist/icons/index.d.ts +212 -0
  855. package/dist/icons/index.d.ts.map +1 -0
  856. package/dist/icons/index.js +215 -0
  857. package/dist/icons/index.js.map +1 -0
  858. package/dist/icons/registry.d.ts +212 -0
  859. package/dist/icons/registry.d.ts.map +1 -0
  860. package/dist/illustrations/index.d.ts +13 -0
  861. package/dist/illustrations/index.d.ts.map +1 -0
  862. package/dist/illustrations/index.js +15 -0
  863. package/dist/illustrations/index.js.map +1 -0
  864. package/dist/illustrations/no-access.d.ts +4 -0
  865. package/dist/illustrations/no-access.d.ts.map +1 -0
  866. package/dist/illustrations/no-access.js +29 -0
  867. package/dist/illustrations/no-access.js.map +1 -0
  868. package/dist/illustrations/no-result.d.ts +4 -0
  869. package/dist/illustrations/no-result.d.ts.map +1 -0
  870. package/dist/illustrations/no-result.js +29 -0
  871. package/dist/illustrations/no-result.js.map +1 -0
  872. package/dist/illustrations/not-found.d.ts +4 -0
  873. package/dist/illustrations/not-found.d.ts.map +1 -0
  874. package/dist/illustrations/not-found.js +31 -0
  875. package/dist/illustrations/not-found.js.map +1 -0
  876. package/dist/illustrations/plug-broken.d.ts +4 -0
  877. package/dist/illustrations/plug-broken.d.ts.map +1 -0
  878. package/dist/illustrations/plug-broken.js +32 -0
  879. package/dist/illustrations/plug-broken.js.map +1 -0
  880. package/dist/illustrations/timeout.d.ts +4 -0
  881. package/dist/illustrations/timeout.d.ts.map +1 -0
  882. package/dist/illustrations/timeout.js +30 -0
  883. package/dist/illustrations/timeout.js.map +1 -0
  884. package/dist/illustrations/usage-alert.d.ts +4 -0
  885. package/dist/illustrations/usage-alert.d.ts.map +1 -0
  886. package/dist/illustrations/usage-alert.js +30 -0
  887. package/dist/illustrations/usage-alert.js.map +1 -0
  888. package/dist/index.css +12851 -0
  889. package/dist/index.d.ts +7 -0
  890. package/dist/index.d.ts.map +1 -0
  891. package/dist/index.js +11630 -0
  892. package/dist/index.js.map +1 -0
  893. package/dist/internal/A11yPanel.d.ts +35 -0
  894. package/dist/internal/A11yPanel.d.ts.map +1 -0
  895. package/dist/internal/SurfacePreview.d.ts +18 -0
  896. package/dist/internal/SurfacePreview.d.ts.map +1 -0
  897. package/dist/internal/interactive-buttons.d.ts +23 -0
  898. package/dist/internal/interactive-buttons.d.ts.map +1 -0
  899. package/dist/patterns/AppShell/AppShell.d.ts +100 -0
  900. package/dist/patterns/AppShell/AppShell.d.ts.map +1 -0
  901. package/dist/patterns/AppShell/index.d.ts +3 -0
  902. package/dist/patterns/AppShell/index.d.ts.map +1 -0
  903. package/dist/patterns/DestructiveConfirm/DestructiveConfirm.d.ts +26 -0
  904. package/dist/patterns/DestructiveConfirm/DestructiveConfirm.d.ts.map +1 -0
  905. package/dist/patterns/DestructiveConfirm/index.d.ts +3 -0
  906. package/dist/patterns/DestructiveConfirm/index.d.ts.map +1 -0
  907. package/dist/patterns/EmptyHierarchy/EmptyHierarchy.d.ts +13 -0
  908. package/dist/patterns/EmptyHierarchy/EmptyHierarchy.d.ts.map +1 -0
  909. package/dist/patterns/EmptyHierarchy/index.d.ts +3 -0
  910. package/dist/patterns/EmptyHierarchy/index.d.ts.map +1 -0
  911. package/dist/patterns/ErrorRecovery/ErrorRecovery.d.ts +22 -0
  912. package/dist/patterns/ErrorRecovery/ErrorRecovery.d.ts.map +1 -0
  913. package/dist/patterns/ErrorRecovery/index.d.ts +3 -0
  914. package/dist/patterns/ErrorRecovery/index.d.ts.map +1 -0
  915. package/dist/patterns/FilePreview/FilePreview.d.ts +35 -0
  916. package/dist/patterns/FilePreview/FilePreview.d.ts.map +1 -0
  917. package/dist/patterns/FilePreview/index.d.ts +3 -0
  918. package/dist/patterns/FilePreview/index.d.ts.map +1 -0
  919. package/dist/patterns/FilteringPattern/FilteringPattern.d.ts +28 -0
  920. package/dist/patterns/FilteringPattern/FilteringPattern.d.ts.map +1 -0
  921. package/dist/patterns/FilteringPattern/index.d.ts +3 -0
  922. package/dist/patterns/FilteringPattern/index.d.ts.map +1 -0
  923. package/dist/patterns/FormsPattern/FormsPattern.d.ts +40 -0
  924. package/dist/patterns/FormsPattern/FormsPattern.d.ts.map +1 -0
  925. package/dist/patterns/FormsPattern/index.d.ts +3 -0
  926. package/dist/patterns/FormsPattern/index.d.ts.map +1 -0
  927. package/dist/patterns/LoadingStates/LoadingStates.d.ts +22 -0
  928. package/dist/patterns/LoadingStates/LoadingStates.d.ts.map +1 -0
  929. package/dist/patterns/LoadingStates/index.d.ts +3 -0
  930. package/dist/patterns/LoadingStates/index.d.ts.map +1 -0
  931. package/dist/patterns/MasterDetail/MasterDetail.d.ts +48 -0
  932. package/dist/patterns/MasterDetail/MasterDetail.d.ts.map +1 -0
  933. package/dist/patterns/MasterDetail/index.d.ts +3 -0
  934. package/dist/patterns/MasterDetail/index.d.ts.map +1 -0
  935. package/dist/patterns/PricingTable/PricingTable.d.ts +36 -0
  936. package/dist/patterns/PricingTable/PricingTable.d.ts.map +1 -0
  937. package/dist/patterns/PricingTable/index.d.ts +3 -0
  938. package/dist/patterns/PricingTable/index.d.ts.map +1 -0
  939. package/dist/patterns/SettingsPage/SettingsPage.d.ts +10 -0
  940. package/dist/patterns/SettingsPage/SettingsPage.d.ts.map +1 -0
  941. package/dist/patterns/SettingsPage/index.d.ts +3 -0
  942. package/dist/patterns/SettingsPage/index.d.ts.map +1 -0
  943. package/dist/patterns/SignInForm/SignInForm.d.ts +32 -0
  944. package/dist/patterns/SignInForm/SignInForm.d.ts.map +1 -0
  945. package/dist/patterns/SignInForm/index.d.ts +3 -0
  946. package/dist/patterns/SignInForm/index.d.ts.map +1 -0
  947. package/dist/patterns/Wizard/Wizard.d.ts +30 -0
  948. package/dist/patterns/Wizard/Wizard.d.ts.map +1 -0
  949. package/dist/patterns/Wizard/index.d.ts +3 -0
  950. package/dist/patterns/Wizard/index.d.ts.map +1 -0
  951. package/dist/patterns/index.d.ts +14 -0
  952. package/dist/patterns/index.d.ts.map +1 -0
  953. package/dist/table/index.d.ts +2 -0
  954. package/dist/table/index.d.ts.map +1 -0
  955. package/dist/table/index.js +1750 -0
  956. package/dist/table/index.js.map +1 -0
  957. package/dist/templates/EmptyWorkspace/EmptyWorkspace.d.ts +25 -0
  958. package/dist/templates/EmptyWorkspace/EmptyWorkspace.d.ts.map +1 -0
  959. package/dist/templates/EmptyWorkspace/index.d.ts +2 -0
  960. package/dist/templates/EmptyWorkspace/index.d.ts.map +1 -0
  961. package/dist/templates/Forbidden403/Forbidden403.d.ts +24 -0
  962. package/dist/templates/Forbidden403/Forbidden403.d.ts.map +1 -0
  963. package/dist/templates/Forbidden403/index.d.ts +2 -0
  964. package/dist/templates/Forbidden403/index.d.ts.map +1 -0
  965. package/dist/templates/NotFound404/NotFound404.d.ts +17 -0
  966. package/dist/templates/NotFound404/NotFound404.d.ts.map +1 -0
  967. package/dist/templates/NotFound404/index.d.ts +2 -0
  968. package/dist/templates/NotFound404/index.d.ts.map +1 -0
  969. package/dist/templates/NotificationsInbox/NotificationsInbox.d.ts +42 -0
  970. package/dist/templates/NotificationsInbox/NotificationsInbox.d.ts.map +1 -0
  971. package/dist/templates/NotificationsInbox/index.d.ts +2 -0
  972. package/dist/templates/NotificationsInbox/index.d.ts.map +1 -0
  973. package/dist/templates/OnboardingWizard/OnboardingWizard.d.ts +14 -0
  974. package/dist/templates/OnboardingWizard/OnboardingWizard.d.ts.map +1 -0
  975. package/dist/templates/OnboardingWizard/index.d.ts +2 -0
  976. package/dist/templates/OnboardingWizard/index.d.ts.map +1 -0
  977. package/dist/templates/index.d.ts +6 -0
  978. package/dist/templates/index.d.ts.map +1 -0
  979. package/dist/tokens/index.d.ts +79 -0
  980. package/dist/tokens/index.d.ts.map +1 -0
  981. package/dist/tokens/index.js +465 -0
  982. package/dist/tokens/index.js.map +1 -0
  983. package/dist/tokens/tailwind-preset.d.ts +4 -0
  984. package/dist/tokens/tailwind-preset.d.ts.map +1 -0
  985. package/dist/tokens/tailwind-preset.js +61 -0
  986. package/dist/tokens/tailwind-preset.js.map +1 -0
  987. package/package.json +200 -0
  988. package/src/assets/connectors/Anthropic.svg +1 -0
  989. package/src/assets/connectors/Asana.png +0 -0
  990. package/src/assets/connectors/Confluence.svg +16 -0
  991. package/src/assets/connectors/Gemini.svg +1 -0
  992. package/src/assets/connectors/Github.png +0 -0
  993. package/src/assets/connectors/GoogleDrive.png +0 -0
  994. package/src/assets/connectors/Notion.png +0 -0
  995. package/src/assets/connectors/Slack.png +0 -0
  996. package/src/assets/sophea-logo.svg +3 -0
  997. package/src/assets/sophea-wordmark.svg +5 -0
  998. package/src/tokens/colors_and_type.css +1131 -0
  999. package/src/tokens/tokens.json +384 -0
@@ -0,0 +1,1750 @@
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { useState, useEffect, useRef, useMemo, useCallback, useLayoutEffect, createContext, useContext, forwardRef, memo, Fragment as Fragment$1 } from "react";
3
+ import { getCoreRowModel, getSortedRowModel, getPaginationRowModel, getFilteredRowModel, useReactTable, flexRender, createColumnHelper } from "@tanstack/react-table";
4
+ import { useSensors, useSensor, PointerSensor, KeyboardSensor, closestCenter, DndContext, DragOverlay } from "@dnd-kit/core";
5
+ import { sortableKeyboardCoordinates, arrayMove, useSortable, SortableContext, verticalListSortingStrategy } from "@dnd-kit/sortable";
6
+ import { C as Checkbox, c as Pagination, f as Popover, j as PopoverTrigger, i as PopoverContent, S as Separator, V as VisuallyHidden } from "../chunks/VisuallyHidden-DNar1Eli.js";
7
+ import { restrictToVerticalAxis } from "@dnd-kit/modifiers";
8
+ import { CSS } from "@dnd-kit/utilities";
9
+ import { f as ForwardRef, F as ForwardRef$1, b as ForwardRef$2, d as ForwardRef$3, e as ForwardRef$4, h as ForwardRef$5, g as ForwardRef$6, a as ForwardRef$7 } from "../chunks/XCircle-CoMtPyVN.js";
10
+ function toSortDirection(dir) {
11
+ if (dir === "asc") return "ascending";
12
+ if (dir === "desc") return "descending";
13
+ return "none";
14
+ }
15
+ function useDataTable(options) {
16
+ const {
17
+ data,
18
+ columns,
19
+ pageSize: pageSizeOption = 10,
20
+ enableRowSelection = true,
21
+ enableColumnResizing = true,
22
+ columnResizeMode = "onChange",
23
+ initialSorting = [],
24
+ initialColumnVisibility = {},
25
+ initialRowSelection = {},
26
+ initialViewSelected = false,
27
+ getRowId,
28
+ onSelectionChange,
29
+ searchTerm,
30
+ serverSide,
31
+ tableOptions
32
+ } = options;
33
+ const isServerSide = !!serverSide;
34
+ const [sorting, setSorting] = useState(initialSorting);
35
+ const [rowSelection, setRowSelection] = useState(initialRowSelection);
36
+ const [columnSizing, setColumnSizing] = useState({});
37
+ const [columnVisibility, setColumnVisibility] = useState(
38
+ initialColumnVisibility
39
+ );
40
+ const [pagination, setPagination] = useState({
41
+ pageIndex: 0,
42
+ pageSize: pageSizeOption
43
+ });
44
+ const initialSelectedIds = initialViewSelected && Object.keys(initialRowSelection).length > 0 ? new Set(Object.keys(initialRowSelection)) : null;
45
+ const [globalFilter, setGlobalFilter] = useState({
46
+ selectedIds: initialSelectedIds,
47
+ searchTerm: ""
48
+ });
49
+ useEffect(() => {
50
+ setPagination((prev) => ({
51
+ ...prev,
52
+ pageSize: pageSizeOption,
53
+ pageIndex: 0
54
+ }));
55
+ }, [pageSizeOption]);
56
+ const preSearchPageRef = useRef(0);
57
+ useEffect(() => {
58
+ if (isServerSide) return;
59
+ const term = searchTerm ?? "";
60
+ const wasSearching = !!globalFilter.searchTerm;
61
+ if (!wasSearching && term) {
62
+ preSearchPageRef.current = pagination.pageIndex;
63
+ setPagination((p) => ({ ...p, pageIndex: 0 }));
64
+ } else if (wasSearching && !term) {
65
+ setPagination((p) => ({ ...p, pageIndex: preSearchPageRef.current }));
66
+ }
67
+ setGlobalFilter((prev) => ({ ...prev, searchTerm: term }));
68
+ }, [searchTerm, isServerSide]);
69
+ const serverSideRef = useRef(serverSide);
70
+ serverSideRef.current = serverSide;
71
+ useEffect(() => {
72
+ if (!isServerSide) return;
73
+ serverSideRef.current.onSortingChange(sorting);
74
+ }, [sorting, isServerSide]);
75
+ useEffect(() => {
76
+ if (!isServerSide) return;
77
+ serverSideRef.current.onPaginationChange(
78
+ pagination.pageIndex,
79
+ pagination.pageSize
80
+ );
81
+ }, [pagination.pageIndex, pagination.pageSize, isServerSide]);
82
+ useEffect(() => {
83
+ if (!isServerSide) return;
84
+ setPagination((p) => ({ ...p, pageIndex: 0 }));
85
+ serverSideRef.current.onSearchTermChange(searchTerm ?? "");
86
+ }, [searchTerm, isServerSide]);
87
+ const serverPageCount = isServerSide ? isFinite(pagination.pageSize) && pagination.pageSize > 0 ? Math.ceil((serverSide.totalItems || 0) / pagination.pageSize) : 1 : void 0;
88
+ const tableOpts = {
89
+ data,
90
+ columns,
91
+ getRowId,
92
+ state: {
93
+ sorting,
94
+ rowSelection,
95
+ columnSizing,
96
+ columnVisibility,
97
+ pagination,
98
+ ...isServerSide ? {} : { globalFilter }
99
+ },
100
+ onSortingChange: isServerSide ? (updater) => {
101
+ setSorting(updater);
102
+ setPagination((p) => ({ ...p, pageIndex: 0 }));
103
+ } : setSorting,
104
+ onRowSelectionChange: setRowSelection,
105
+ onColumnSizingChange: setColumnSizing,
106
+ onColumnVisibilityChange: setColumnVisibility,
107
+ onPaginationChange: setPagination,
108
+ getCoreRowModel: getCoreRowModel(),
109
+ // We manage page resets explicitly (search enter/clear, view mode,
110
+ // pageSize change) so disable TanStack's auto-reset which would
111
+ // clobber our restored page index when the filter changes.
112
+ autoResetPageIndex: false,
113
+ columnResizeMode,
114
+ enableRowSelection,
115
+ enableColumnResizing,
116
+ ...tableOptions
117
+ };
118
+ if (isServerSide) {
119
+ tableOpts.manualPagination = true;
120
+ tableOpts.manualSorting = true;
121
+ tableOpts.manualFiltering = true;
122
+ tableOpts.pageCount = serverPageCount;
123
+ } else {
124
+ tableOpts.onGlobalFilterChange = setGlobalFilter;
125
+ tableOpts.getSortedRowModel = getSortedRowModel();
126
+ tableOpts.getPaginationRowModel = getPaginationRowModel();
127
+ tableOpts.getFilteredRowModel = getFilteredRowModel();
128
+ tableOpts.globalFilterFn = (row, _columnId, filterValue) => {
129
+ if (filterValue.selectedIds != null && !filterValue.selectedIds.has(row.id)) {
130
+ return false;
131
+ }
132
+ if (filterValue.searchTerm) {
133
+ const term = filterValue.searchTerm.toLowerCase();
134
+ return row.getAllCells().some((cell) => {
135
+ const value = cell.getValue();
136
+ if (value == null) return false;
137
+ return String(value).toLowerCase().includes(term);
138
+ });
139
+ }
140
+ return true;
141
+ };
142
+ }
143
+ const table = useReactTable(tableOpts);
144
+ const isAllPageRowsSelected = table.getIsAllPageRowsSelected();
145
+ const isSomePageRowsSelected = table.getIsSomePageRowsSelected();
146
+ const selectionState = isAllPageRowsSelected ? "all" : isSomePageRowsSelected ? "partial" : "none";
147
+ const selectedRowIds = useMemo(
148
+ () => Object.keys(rowSelection),
149
+ [rowSelection]
150
+ );
151
+ const selectedCount = selectedRowIds.length;
152
+ const totalPages = Math.max(1, table.getPageCount());
153
+ const currentPage = pagination.pageIndex + 1;
154
+ const hasActiveFilter = !isServerSide && (globalFilter.selectedIds != null || !!globalFilter.searchTerm);
155
+ const totalItems = isServerSide ? serverSide.totalItems : hasActiveFilter ? table.getPrePaginationRowModel().rows.length : data.length;
156
+ const isPaginated = isFinite(pagination.pageSize);
157
+ useEffect(() => {
158
+ if (isServerSide) return;
159
+ if (globalFilter.selectedIds == null) return;
160
+ const currentIds = new Set(Object.keys(rowSelection));
161
+ let changed = false;
162
+ const next = /* @__PURE__ */ new Set();
163
+ globalFilter.selectedIds.forEach((id) => {
164
+ if (currentIds.has(id)) {
165
+ next.add(id);
166
+ } else {
167
+ changed = true;
168
+ }
169
+ });
170
+ if (changed) {
171
+ setGlobalFilter((prev) => ({ ...prev, selectedIds: next }));
172
+ }
173
+ }, [rowSelection, isServerSide]);
174
+ const isFirstRenderRef = useRef(true);
175
+ const onSelectionChangeRef = useRef(onSelectionChange);
176
+ onSelectionChangeRef.current = onSelectionChange;
177
+ useEffect(() => {
178
+ if (isFirstRenderRef.current) {
179
+ isFirstRenderRef.current = false;
180
+ if (selectedRowIds.length > 0) {
181
+ onSelectionChangeRef.current?.(selectedRowIds);
182
+ }
183
+ return;
184
+ }
185
+ onSelectionChangeRef.current?.(selectedRowIds);
186
+ }, [selectedRowIds]);
187
+ const setPage = (page) => {
188
+ const clamped = Math.max(1, Math.min(page, totalPages));
189
+ setPagination((prev) => ({ ...prev, pageIndex: clamped - 1 }));
190
+ };
191
+ const clearSelection = () => {
192
+ table.resetRowSelection();
193
+ };
194
+ const toggleAllPageRowsSelected = (selected) => {
195
+ table.toggleAllPageRowsSelected(selected);
196
+ };
197
+ const toggleAllRowsSelected = (selected) => {
198
+ table.toggleAllRowsSelected(selected);
199
+ };
200
+ const isAllRowsSelected = table.getIsAllRowsSelected();
201
+ const isViewingSelected = globalFilter.selectedIds != null;
202
+ const enterViewMode = () => {
203
+ if (isServerSide) return;
204
+ if (selectedRowIds.length > 0) {
205
+ setGlobalFilter((prev) => ({
206
+ ...prev,
207
+ selectedIds: new Set(selectedRowIds)
208
+ }));
209
+ setPagination((prev) => ({ ...prev, pageIndex: 0 }));
210
+ }
211
+ };
212
+ const exitViewMode = () => {
213
+ if (isServerSide) return;
214
+ setGlobalFilter((prev) => ({ ...prev, selectedIds: null }));
215
+ setPagination((prev) => ({ ...prev, pageIndex: 0 }));
216
+ };
217
+ return {
218
+ table,
219
+ currentPage,
220
+ totalPages,
221
+ totalItems,
222
+ pageSize: pagination.pageSize,
223
+ setPage,
224
+ isPaginated,
225
+ selectionState,
226
+ selectedCount,
227
+ selectedRowIds,
228
+ isAllPageRowsSelected,
229
+ isAllRowsSelected,
230
+ clearSelection,
231
+ toggleAllPageRowsSelected,
232
+ toggleAllRowsSelected,
233
+ isViewingSelected,
234
+ enterViewMode,
235
+ exitViewMode
236
+ };
237
+ }
238
+ function useElementWidth() {
239
+ const ref = useRef(null);
240
+ const [width, setWidth] = useState(0);
241
+ useLayoutEffect(() => {
242
+ const el = ref.current;
243
+ if (!el) return;
244
+ setWidth(el.clientWidth);
245
+ const ro = new ResizeObserver((entries) => {
246
+ const entry = entries[0];
247
+ if (entry) setWidth(entry.contentRect.width);
248
+ });
249
+ ro.observe(el);
250
+ return () => ro.disconnect();
251
+ }, []);
252
+ return [ref, width];
253
+ }
254
+ function computeColumnWidths(containerWidth, headers, customWeights, fixedColumnIds, columnWeights, columnMinWidths) {
255
+ const result = {};
256
+ let fixedTotal = 0;
257
+ const dataColumns = [];
258
+ for (const h of headers) {
259
+ const baseSize = h.column.columnDef.size ?? 20;
260
+ if (fixedColumnIds.has(h.id)) {
261
+ fixedTotal += baseSize;
262
+ } else {
263
+ dataColumns.push({
264
+ id: h.id,
265
+ weight: customWeights[h.id] ?? columnWeights[h.id] ?? baseSize,
266
+ minWidth: columnMinWidths[h.id] ?? 50
267
+ });
268
+ }
269
+ }
270
+ const tableMinWidth = fixedTotal + dataColumns.reduce((sum, col) => sum + col.minWidth, 0);
271
+ const tableWidth = containerWidth > 0 ? Math.max(containerWidth, tableMinWidth) : 0;
272
+ if (tableWidth === 0) {
273
+ for (const h of headers) {
274
+ result[h.id] = h.column.columnDef.size ?? 20;
275
+ }
276
+ return result;
277
+ }
278
+ const available = tableWidth - fixedTotal;
279
+ let clampedTotal = 0;
280
+ const clamped = /* @__PURE__ */ new Set();
281
+ let stable = false;
282
+ while (!stable) {
283
+ stable = true;
284
+ const unclamped = dataColumns.filter((col) => !clamped.has(col.id));
285
+ const unclampedWeight2 = unclamped.reduce((s, c) => s + c.weight, 0);
286
+ const remaining = available - clampedTotal;
287
+ for (const col of unclamped) {
288
+ const proportional = remaining * (col.weight / unclampedWeight2);
289
+ if (proportional < col.minWidth) {
290
+ result[col.id] = col.minWidth;
291
+ clampedTotal += col.minWidth;
292
+ clamped.add(col.id);
293
+ stable = false;
294
+ }
295
+ }
296
+ }
297
+ const unclampedCols = dataColumns.filter((col) => !clamped.has(col.id));
298
+ const unclampedWeight = unclampedCols.reduce((s, c) => s + c.weight, 0);
299
+ const remainingSpace = available - clampedTotal;
300
+ let assigned = 0;
301
+ for (let i = 0; i < unclampedCols.length; i++) {
302
+ const col = unclampedCols[i];
303
+ if (i === unclampedCols.length - 1) {
304
+ result[col.id] = remainingSpace - assigned;
305
+ } else {
306
+ const w = Math.round(remainingSpace * (col.weight / unclampedWeight));
307
+ result[col.id] = w;
308
+ assigned += w;
309
+ }
310
+ }
311
+ for (const h of headers) {
312
+ if (fixedColumnIds.has(h.id)) {
313
+ result[h.id] = h.column.columnDef.size ?? 20;
314
+ }
315
+ }
316
+ return result;
317
+ }
318
+ function createSplitterResizeHandler(columnId, neighborId, startColumnWidth, startNeighborWidth, startColumnWeight, startNeighborWeight, columnMinWidth, neighborMinWidth, setter, isDraggingRef) {
319
+ return (event) => {
320
+ const startX = "touches" in event ? event.touches[0].clientX : event.clientX;
321
+ isDraggingRef.current = true;
322
+ const onMove = (e) => {
323
+ const currentX = "touches" in e ? e.touches[0].clientX : e.clientX;
324
+ const rawDelta = currentX - startX;
325
+ const minDelta = columnMinWidth - startColumnWidth;
326
+ const maxDelta = startNeighborWidth - neighborMinWidth;
327
+ const delta = Math.max(minDelta, Math.min(maxDelta, rawDelta));
328
+ setter((prev) => ({
329
+ ...prev,
330
+ [columnId]: startColumnWeight * ((startColumnWidth + delta) / startColumnWidth),
331
+ [neighborId]: startNeighborWeight * ((startNeighborWidth - delta) / startNeighborWidth)
332
+ }));
333
+ };
334
+ const onUp = () => {
335
+ document.removeEventListener("mousemove", onMove);
336
+ document.removeEventListener("mouseup", onUp);
337
+ document.removeEventListener("touchmove", onMove);
338
+ document.removeEventListener("touchend", onUp);
339
+ document.removeEventListener("touchcancel", onUp);
340
+ document.body.style.userSelect = "";
341
+ document.body.style.cursor = "";
342
+ isDraggingRef.current = false;
343
+ };
344
+ document.body.style.userSelect = "none";
345
+ document.body.style.cursor = "col-resize";
346
+ document.addEventListener("mousemove", onMove);
347
+ document.addEventListener("mouseup", onUp);
348
+ document.addEventListener("touchmove", onMove);
349
+ document.addEventListener("touchend", onUp);
350
+ document.addEventListener("touchcancel", onUp);
351
+ };
352
+ }
353
+ function useColumnWidths({
354
+ headers,
355
+ fixedColumnIds,
356
+ columnWeights = {},
357
+ columnMinWidths
358
+ }) {
359
+ const [containerRef, containerWidth] = useElementWidth();
360
+ const [customWeights, setCustomWeights] = useState(
361
+ {}
362
+ );
363
+ const isDraggingRef = useRef(false);
364
+ useEffect(() => {
365
+ const isDragging = isDraggingRef;
366
+ return () => {
367
+ if (isDragging.current) {
368
+ document.body.style.userSelect = "";
369
+ document.body.style.cursor = "";
370
+ }
371
+ };
372
+ }, []);
373
+ const columnWidths = computeColumnWidths(
374
+ containerWidth,
375
+ headers,
376
+ customWeights,
377
+ fixedColumnIds,
378
+ columnWeights,
379
+ columnMinWidths
380
+ );
381
+ const createResizeHandler = useCallback(
382
+ (columnId, neighborId) => {
383
+ const header = headers.find((h) => h.id === columnId);
384
+ const neighbor = headers.find((h) => h.id === neighborId);
385
+ return createSplitterResizeHandler(
386
+ columnId,
387
+ neighborId,
388
+ columnWidths[columnId] ?? 0,
389
+ columnWidths[neighborId] ?? 0,
390
+ customWeights[columnId] ?? columnWeights[columnId] ?? header?.column.columnDef.size ?? 20,
391
+ customWeights[neighborId] ?? columnWeights[neighborId] ?? neighbor?.column.columnDef.size ?? 20,
392
+ columnMinWidths[columnId] ?? 50,
393
+ columnMinWidths[neighborId] ?? 50,
394
+ setCustomWeights,
395
+ isDraggingRef
396
+ );
397
+ },
398
+ [headers, columnWidths, customWeights, columnWeights, columnMinWidths]
399
+ );
400
+ return { containerRef, columnWidths, createResizeHandler };
401
+ }
402
+ function useDraggableRows(options) {
403
+ const { data, getRowId, enabled = true, onReorder } = options;
404
+ const [activeId, setActiveId] = useState(null);
405
+ const wasDraggingRef = useRef(false);
406
+ const sensors = useSensors(
407
+ useSensor(PointerSensor, {
408
+ activationConstraint: { distance: 5 }
409
+ }),
410
+ useSensor(KeyboardSensor, {
411
+ coordinateGetter: sortableKeyboardCoordinates
412
+ })
413
+ );
414
+ const sortableItems = useMemo(
415
+ () => data.map((row) => getRowId(row)),
416
+ [data, getRowId]
417
+ );
418
+ const sortableIndexMap = useMemo(() => {
419
+ const map = /* @__PURE__ */ new Map();
420
+ for (let i = 0; i < sortableItems.length; i++) {
421
+ const item = sortableItems[i];
422
+ if (item !== void 0) {
423
+ map.set(item, i);
424
+ }
425
+ }
426
+ return map;
427
+ }, [sortableItems]);
428
+ const handleDragStart = useCallback((event) => {
429
+ setActiveId(String(event.active.id));
430
+ }, []);
431
+ const handleDragEnd = useCallback(
432
+ (event) => {
433
+ setActiveId(null);
434
+ wasDraggingRef.current = true;
435
+ requestAnimationFrame(() => {
436
+ wasDraggingRef.current = false;
437
+ });
438
+ if (event.activatorEvent instanceof PointerEvent) {
439
+ document.activeElement?.blur();
440
+ }
441
+ const { active, over } = event;
442
+ if (!over || active.id === over.id) return;
443
+ const oldIndex = sortableIndexMap.get(String(active.id));
444
+ const newIndex = sortableIndexMap.get(String(over.id));
445
+ if (oldIndex === void 0 || newIndex === void 0) return;
446
+ const reordered = arrayMove(sortableItems, oldIndex, newIndex);
447
+ const minIdx = Math.min(oldIndex, newIndex);
448
+ const maxIdx = Math.max(oldIndex, newIndex);
449
+ const changedOrders = {};
450
+ for (let i = minIdx; i <= maxIdx; i++) {
451
+ const id = reordered[i];
452
+ if (id !== void 0) {
453
+ changedOrders[id] = i;
454
+ }
455
+ }
456
+ onReorder?.(reordered, changedOrders);
457
+ },
458
+ [sortableItems, sortableIndexMap, onReorder]
459
+ );
460
+ const handleDragCancel = useCallback(() => {
461
+ setActiveId(null);
462
+ }, []);
463
+ return {
464
+ dndContextProps: {
465
+ sensors,
466
+ collisionDetection: closestCenter,
467
+ modifiers: [restrictToVerticalAxis],
468
+ onDragStart: handleDragStart,
469
+ onDragEnd: handleDragEnd,
470
+ onDragCancel: handleDragCancel
471
+ },
472
+ sortableItems,
473
+ activeId,
474
+ isDragging: activeId !== null,
475
+ isEnabled: enabled,
476
+ wasDraggingRef
477
+ };
478
+ }
479
+ const TableSizeContext = createContext("lg");
480
+ function TableSizeProvider({ size, children }) {
481
+ return /* @__PURE__ */ jsx(TableSizeContext.Provider, { value: size, children });
482
+ }
483
+ function useTableSize() {
484
+ return useContext(TableSizeContext);
485
+ }
486
+ const TableElement = forwardRef(
487
+ function TableElement2({
488
+ variant = "cards",
489
+ selectionBehavior = "no-select",
490
+ width,
491
+ className,
492
+ style,
493
+ ...rest
494
+ }, ref) {
495
+ const size = useTableSize();
496
+ return /* @__PURE__ */ jsx(
497
+ "table",
498
+ {
499
+ ref,
500
+ className: ["sds-datatable-table", className].filter(Boolean).join(" "),
501
+ style: { ...style, width },
502
+ "data-fill": width ? void 0 : "",
503
+ "data-size": size,
504
+ "data-variant": variant,
505
+ "data-selection": selectionBehavior,
506
+ ...rest
507
+ }
508
+ );
509
+ }
510
+ );
511
+ const TableHeader = forwardRef(
512
+ function TableHeader2(props, ref) {
513
+ return /* @__PURE__ */ jsx("thead", { ref, ...props });
514
+ }
515
+ );
516
+ const TableBody = forwardRef(
517
+ function TableBody2({ dndSortable, renderDragOverlay, ...rest }, ref) {
518
+ return /* @__PURE__ */ jsx("tbody", { ref, ...rest });
519
+ }
520
+ );
521
+ function SortableTableRow({
522
+ sortableId,
523
+ showDragHandle = true,
524
+ selected,
525
+ disabled,
526
+ ref: _externalRef,
527
+ children,
528
+ className,
529
+ ...props
530
+ }) {
531
+ const resolvedSize = useTableSize();
532
+ const {
533
+ attributes,
534
+ listeners,
535
+ setNodeRef,
536
+ setActivatorNodeRef,
537
+ transform,
538
+ transition,
539
+ isDragging
540
+ } = useSortable({ id: sortableId });
541
+ const style = {
542
+ transform: CSS.Transform.toString(transform),
543
+ transition,
544
+ opacity: isDragging ? 0 : void 0
545
+ };
546
+ return /* @__PURE__ */ jsxs(
547
+ "tr",
548
+ {
549
+ ref: setNodeRef,
550
+ style,
551
+ className: ["sds-datatable-row", className].filter(Boolean).join(" "),
552
+ "data-drag-handle": showDragHandle || void 0,
553
+ "data-selected": selected || void 0,
554
+ "data-disabled": disabled || void 0,
555
+ ...props,
556
+ children: [
557
+ children,
558
+ showDragHandle && /* @__PURE__ */ jsx("td", { className: "sds-datatable-drag-cell", children: /* @__PURE__ */ jsx(
559
+ "button",
560
+ {
561
+ ref: setActivatorNodeRef,
562
+ type: "button",
563
+ className: "sds-datatable-drag-button",
564
+ "data-size": resolvedSize,
565
+ "aria-label": "Drag to reorder",
566
+ onMouseDown: (e) => e.preventDefault(),
567
+ ...attributes,
568
+ ...listeners,
569
+ children: /* @__PURE__ */ jsx(ForwardRef, {})
570
+ }
571
+ ) })
572
+ ]
573
+ }
574
+ );
575
+ }
576
+ function TableRow({
577
+ sortableId,
578
+ showDragHandle,
579
+ selected,
580
+ disabled,
581
+ ref,
582
+ className,
583
+ ...props
584
+ }) {
585
+ if (sortableId) {
586
+ return /* @__PURE__ */ jsx(
587
+ SortableTableRow,
588
+ {
589
+ sortableId,
590
+ showDragHandle,
591
+ selected,
592
+ disabled,
593
+ ref,
594
+ className,
595
+ ...props
596
+ }
597
+ );
598
+ }
599
+ return /* @__PURE__ */ jsx(
600
+ "tr",
601
+ {
602
+ ref,
603
+ className: ["sds-datatable-row", className].filter(Boolean).join(" "),
604
+ "data-selected": selected || void 0,
605
+ "data-disabled": disabled || void 0,
606
+ ...props
607
+ }
608
+ );
609
+ }
610
+ const COLOR_VAR = {
611
+ "text-03": "var(--text-03)",
612
+ "text-04": "var(--text-04)"
613
+ };
614
+ function DataTableText({
615
+ font,
616
+ color,
617
+ truncate,
618
+ children
619
+ }) {
620
+ return /* @__PURE__ */ jsx(
621
+ "span",
622
+ {
623
+ className: `font-${font}`,
624
+ style: {
625
+ color: COLOR_VAR[color],
626
+ ...truncate ? {
627
+ display: "block",
628
+ overflow: "hidden",
629
+ textOverflow: "ellipsis",
630
+ whiteSpace: "nowrap"
631
+ } : void 0
632
+ },
633
+ children
634
+ }
635
+ );
636
+ }
637
+ function defaultSortIcon(sorted) {
638
+ switch (sorted) {
639
+ case "ascending":
640
+ return ForwardRef$3;
641
+ case "descending":
642
+ return ForwardRef$2;
643
+ default:
644
+ return ForwardRef$1;
645
+ }
646
+ }
647
+ function TableHead({
648
+ children,
649
+ sorted,
650
+ onSort,
651
+ icon: iconFn = defaultSortIcon,
652
+ resizable,
653
+ onResizeStart,
654
+ alignment = "left",
655
+ width,
656
+ bottomBorder = true,
657
+ ...thProps
658
+ }) {
659
+ const resolvedSize = useTableSize();
660
+ const isSmall = resolvedSize === "md";
661
+ const SortIcon = iconFn(sorted ?? "none");
662
+ return /* @__PURE__ */ jsxs(
663
+ "th",
664
+ {
665
+ ...thProps,
666
+ style: width != null ? { width } : void 0,
667
+ className: "sds-datatable-head",
668
+ "data-size": resolvedSize,
669
+ "data-align": alignment,
670
+ "data-bottom-border": bottomBorder || void 0,
671
+ children: [
672
+ /* @__PURE__ */ jsxs("div", { className: "sds-datatable-head-row", children: [
673
+ /* @__PURE__ */ jsx("div", { className: "sds-datatable-head-label", children: typeof children === "string" ? /* @__PURE__ */ jsx(
674
+ DataTableText,
675
+ {
676
+ font: isSmall ? "secondary-action" : "main-ui-action",
677
+ color: "text-04",
678
+ truncate: true,
679
+ children
680
+ }
681
+ ) : children }),
682
+ /* @__PURE__ */ jsx("div", { className: "sds-datatable-head-sort", children: onSort && /* @__PURE__ */ jsx(
683
+ "button",
684
+ {
685
+ type: "button",
686
+ className: "sds-datatable-sort-button",
687
+ onClick: onSort,
688
+ "aria-label": typeof children === "string" ? `Sort ${children}` : "Sort",
689
+ children: /* @__PURE__ */ jsx(SortIcon, {})
690
+ }
691
+ ) })
692
+ ] }),
693
+ resizable && /* @__PURE__ */ jsx(
694
+ "div",
695
+ {
696
+ onMouseDown: onResizeStart,
697
+ onTouchStart: onResizeStart,
698
+ className: "sds-datatable-resize-handle",
699
+ "aria-hidden": "true",
700
+ children: /* @__PURE__ */ jsx(ForwardRef, {})
701
+ }
702
+ )
703
+ ]
704
+ }
705
+ );
706
+ }
707
+ function TableCell({
708
+ width,
709
+ children,
710
+ className,
711
+ style,
712
+ ...props
713
+ }) {
714
+ const resolvedSize = useTableSize();
715
+ return /* @__PURE__ */ jsx(
716
+ "td",
717
+ {
718
+ className: ["sds-datatable-cell", className].filter(Boolean).join(" "),
719
+ "data-size": resolvedSize,
720
+ style: width != null ? { ...style, width } : style,
721
+ ...props,
722
+ children: /* @__PURE__ */ jsx("div", { className: "sds-datatable-cell-inner", "data-size": resolvedSize, children })
723
+ }
724
+ );
725
+ }
726
+ const iconSizesMap = {
727
+ lg: { lg: 28, md: 24 },
728
+ md: { lg: 20, md: 16 }
729
+ };
730
+ function getOverlayState(selected, disabled) {
731
+ if (disabled) return selected ? "selected" : "hidden";
732
+ if (selected) return "selected";
733
+ return "hover";
734
+ }
735
+ function TableQualifier({
736
+ content,
737
+ disabled = false,
738
+ selectable = false,
739
+ selected = false,
740
+ onSelectChange,
741
+ icon: Icon,
742
+ imageSrc,
743
+ imageAlt = "",
744
+ background = false,
745
+ iconSize: iconSizePreset = "md"
746
+ }) {
747
+ const resolvedSize = useTableSize();
748
+ const iconFontSize = iconSizesMap[iconSizePreset][resolvedSize];
749
+ const overlayState = getOverlayState(selected, disabled);
750
+ function renderContent() {
751
+ switch (content) {
752
+ case "icon":
753
+ return Icon ? /* @__PURE__ */ jsx("span", { style: { fontSize: iconFontSize, lineHeight: 0 }, children: /* @__PURE__ */ jsx(Icon, {}) }) : null;
754
+ case "image":
755
+ return imageSrc ? /* @__PURE__ */ jsx(
756
+ "img",
757
+ {
758
+ src: imageSrc,
759
+ alt: imageAlt,
760
+ className: "sds-datatable-tq-img"
761
+ }
762
+ ) : null;
763
+ case "simple":
764
+ default:
765
+ return null;
766
+ }
767
+ }
768
+ const inner = renderContent();
769
+ const showBackground = background && content !== "simple";
770
+ return /* @__PURE__ */ jsxs(
771
+ "div",
772
+ {
773
+ className: "sds-datatable-tq",
774
+ "data-size": resolvedSize,
775
+ "data-disabled": disabled || void 0,
776
+ children: [
777
+ showBackground ? /* @__PURE__ */ jsx(
778
+ "div",
779
+ {
780
+ className: "sds-datatable-tq-bg",
781
+ "data-selected": selected || void 0,
782
+ "data-disabled": disabled || void 0,
783
+ children: inner
784
+ }
785
+ ) : inner,
786
+ selectable && /* @__PURE__ */ jsx(
787
+ "div",
788
+ {
789
+ className: "sds-datatable-tq-overlay",
790
+ "data-content": content,
791
+ "data-state": content === "simple" ? void 0 : overlayState,
792
+ children: /* @__PURE__ */ jsx(
793
+ Checkbox,
794
+ {
795
+ checked: selected,
796
+ onCheckedChange: (state) => onSelectChange?.(state === true),
797
+ disabled,
798
+ "aria-label": "Select row"
799
+ }
800
+ )
801
+ }
802
+ )
803
+ ]
804
+ }
805
+ );
806
+ }
807
+ function QualifierContainer({
808
+ type,
809
+ children,
810
+ onClick
811
+ }) {
812
+ const resolvedSize = useTableSize();
813
+ const Tag = type === "head" ? "th" : "td";
814
+ return /* @__PURE__ */ jsx(
815
+ Tag,
816
+ {
817
+ className: "sds-datatable-qualifier",
818
+ "data-type": type,
819
+ "data-size": resolvedSize,
820
+ onClick,
821
+ children: /* @__PURE__ */ jsx("div", { className: "sds-datatable-qualifier-inner", children })
822
+ }
823
+ );
824
+ }
825
+ function ActionsContainer({
826
+ type,
827
+ children,
828
+ onClick
829
+ }) {
830
+ const size = useTableSize();
831
+ const Tag = type === "head" ? "th" : "td";
832
+ return /* @__PURE__ */ jsx(
833
+ Tag,
834
+ {
835
+ className: "sds-datatable-actions",
836
+ "data-type": type,
837
+ "data-size": size,
838
+ onClick,
839
+ children: /* @__PURE__ */ jsx("div", { className: "sds-datatable-actions-inner", children })
840
+ }
841
+ );
842
+ }
843
+ function DragOverlayRowInner({
844
+ row,
845
+ columnWidths,
846
+ columnKindMap,
847
+ qualifierColumn,
848
+ isSelectable = false
849
+ }) {
850
+ const tableWidth = columnWidths ? Object.values(columnWidths).reduce((sum, w) => sum + w, 0) : void 0;
851
+ return /* @__PURE__ */ jsxs(
852
+ "table",
853
+ {
854
+ className: "sds-datatable-table",
855
+ style: {
856
+ tableLayout: "fixed",
857
+ ...tableWidth != null ? { width: tableWidth } : { minWidth: "100%" }
858
+ },
859
+ children: [
860
+ columnWidths && /* @__PURE__ */ jsx("colgroup", { children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx(
861
+ "col",
862
+ {
863
+ style: { width: columnWidths[cell.column.id] }
864
+ },
865
+ cell.column.id
866
+ )) }),
867
+ /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsx(TableRow, { selected: row.getIsSelected(), children: row.getVisibleCells().map((cell) => {
868
+ const colDef = columnKindMap?.get(cell.column.id);
869
+ if (colDef?.kind === "qualifier" && qualifierColumn) {
870
+ return /* @__PURE__ */ jsx(QualifierContainer, { type: "cell", children: /* @__PURE__ */ jsx(
871
+ TableQualifier,
872
+ {
873
+ content: qualifierColumn.content,
874
+ icon: qualifierColumn.getContent?.(row.original),
875
+ imageSrc: qualifierColumn.getImageSrc?.(row.original),
876
+ imageAlt: qualifierColumn.getImageAlt?.(row.original),
877
+ background: qualifierColumn.background,
878
+ iconSize: qualifierColumn.iconSize,
879
+ selectable: isSelectable,
880
+ selected: isSelectable && row.getIsSelected()
881
+ }
882
+ ) }, cell.id);
883
+ }
884
+ if (colDef?.kind === "actions") {
885
+ return /* @__PURE__ */ jsx(ActionsContainer, { type: "cell", children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id);
886
+ }
887
+ return /* @__PURE__ */ jsx(TableCell, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id);
888
+ }) }) })
889
+ ]
890
+ }
891
+ );
892
+ }
893
+ const DragOverlayRow = memo(DragOverlayRowInner);
894
+ function getSelectionMessage(state, multi, count, isViewingSelected) {
895
+ if (state === "none" && !isViewingSelected) {
896
+ return multi ? "Select items to continue" : "Select an item to continue";
897
+ }
898
+ if (!multi) return "Item selected";
899
+ return `${count} item${count !== 1 ? "s" : ""} selected`;
900
+ }
901
+ function Footer(props) {
902
+ const resolvedSize = useTableSize();
903
+ return /* @__PURE__ */ jsxs("div", { className: "sds-datatable-footer", "data-size": resolvedSize, children: [
904
+ /* @__PURE__ */ jsx("div", { className: "sds-datatable-footer-left", children: props.mode === "selection" ? /* @__PURE__ */ jsx(
905
+ SelectionLeft,
906
+ {
907
+ selectionState: props.selectionState,
908
+ multiSelect: props.multiSelect,
909
+ selectedCount: props.selectedCount,
910
+ onView: props.onView,
911
+ isViewingSelected: props.isViewingSelected,
912
+ onClear: props.onClear
913
+ }
914
+ ) : /* @__PURE__ */ jsxs(Fragment, { children: [
915
+ /* @__PURE__ */ jsx(
916
+ SummaryLeft,
917
+ {
918
+ rangeStart: props.rangeStart,
919
+ rangeEnd: props.rangeEnd,
920
+ totalItems: props.totalItems,
921
+ units: props.units
922
+ }
923
+ ),
924
+ props.leftExtra
925
+ ] }) }),
926
+ /* @__PURE__ */ jsx("div", { className: "sds-datatable-footer-right", children: /* @__PURE__ */ jsx(
927
+ Pagination,
928
+ {
929
+ page: props.currentPage,
930
+ pageCount: props.totalPages,
931
+ onPageChange: props.onPageChange
932
+ }
933
+ ) })
934
+ ] });
935
+ }
936
+ function SelectionLeft({
937
+ selectionState,
938
+ multiSelect,
939
+ selectedCount,
940
+ onView,
941
+ isViewingSelected = false,
942
+ onClear
943
+ }) {
944
+ const message = getSelectionMessage(
945
+ selectionState,
946
+ multiSelect,
947
+ selectedCount,
948
+ isViewingSelected
949
+ );
950
+ const hasSelection = selectionState !== "none";
951
+ const showActions = hasSelection || isViewingSelected;
952
+ return /* @__PURE__ */ jsxs("div", { className: "sds-datatable-footer-selection", children: [
953
+ /* @__PURE__ */ jsx(
954
+ DataTableText,
955
+ {
956
+ font: hasSelection ? "main-ui-action" : "main-ui-body",
957
+ color: "text-03",
958
+ children: message
959
+ }
960
+ ),
961
+ showActions && /* @__PURE__ */ jsxs("div", { className: "sds-datatable-footer-selection-actions", children: [
962
+ onView && /* @__PURE__ */ jsx(
963
+ "button",
964
+ {
965
+ type: "button",
966
+ className: "sds-datatable-footer-button",
967
+ "data-active": isViewingSelected || void 0,
968
+ onClick: onView,
969
+ "aria-label": "View selected",
970
+ "aria-pressed": isViewingSelected,
971
+ children: /* @__PURE__ */ jsx(ForwardRef$4, {})
972
+ }
973
+ ),
974
+ onClear && /* @__PURE__ */ jsx(
975
+ "button",
976
+ {
977
+ type: "button",
978
+ className: "sds-datatable-footer-button",
979
+ onClick: onClear,
980
+ "aria-label": "Deselect all",
981
+ children: /* @__PURE__ */ jsx(ForwardRef$5, {})
982
+ }
983
+ )
984
+ ] })
985
+ ] });
986
+ }
987
+ function SummaryLeft({
988
+ rangeStart,
989
+ rangeEnd,
990
+ totalItems,
991
+ units
992
+ }) {
993
+ const suffix = units ? ` ${units}` : "";
994
+ return /* @__PURE__ */ jsx("div", { className: "sds-datatable-footer-summary", children: /* @__PURE__ */ jsx(DataTableText, { font: "main-ui-body", color: "text-03", children: `Showing ${rangeStart}~${rangeEnd} of ${totalItems}${suffix}` }) });
995
+ }
996
+ function ColumnVisibilityPopover({
997
+ table,
998
+ columnVisibility
999
+ }) {
1000
+ const [open, setOpen] = useState(false);
1001
+ const dataColumns = table.getAllLeafColumns().filter(
1002
+ (col) => !col.id.startsWith("__") && col.id !== "qualifier" && typeof col.columnDef.header === "string" && col.columnDef.header.trim() !== ""
1003
+ );
1004
+ return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
1005
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
1006
+ "button",
1007
+ {
1008
+ type: "button",
1009
+ className: "sds-datatable-popover-trigger",
1010
+ "data-open": open || void 0,
1011
+ "aria-label": "Column options",
1012
+ children: /* @__PURE__ */ jsx(ForwardRef$6, {})
1013
+ }
1014
+ ) }),
1015
+ /* @__PURE__ */ jsx(PopoverContent, { align: "end", side: "bottom", withArrow: false, children: /* @__PURE__ */ jsxs("div", { className: "sds-datatable-menu", children: [
1016
+ /* @__PURE__ */ jsx(Separator, { label: "Shown columns", decorative: false }),
1017
+ dataColumns.map((column) => {
1018
+ const canHide = column.getCanHide();
1019
+ const isVisible = columnVisibility[column.id] !== false;
1020
+ const label = typeof column.columnDef.header === "string" ? column.columnDef.header : column.id;
1021
+ return /* @__PURE__ */ jsxs(
1022
+ "button",
1023
+ {
1024
+ type: "button",
1025
+ className: "sds-datatable-menu-item",
1026
+ "data-selected": isVisible || void 0,
1027
+ "data-disabled": !canHide || void 0,
1028
+ onClick: canHide ? () => column.toggleVisibility() : void 0,
1029
+ children: [
1030
+ /* @__PURE__ */ jsx(DataTableText, { font: "main-ui-body", color: "text-04", children: label }),
1031
+ !canHide ? /* @__PURE__ */ jsx("span", { className: "sds-datatable-menu-tag", children: "Always shown" }) : isVisible ? /* @__PURE__ */ jsx("span", { className: "sds-datatable-menu-check", children: /* @__PURE__ */ jsx(ForwardRef$7, {}) }) : null
1032
+ ]
1033
+ },
1034
+ column.id
1035
+ );
1036
+ })
1037
+ ] }) })
1038
+ ] });
1039
+ }
1040
+ function createColumnVisibilityColumn() {
1041
+ return {
1042
+ id: "__columnVisibility",
1043
+ size: 44,
1044
+ enableHiding: false,
1045
+ enableSorting: false,
1046
+ enableResizing: false,
1047
+ header: ({ table }) => /* @__PURE__ */ jsx(
1048
+ ColumnVisibilityPopover,
1049
+ {
1050
+ table,
1051
+ columnVisibility: table.getState().columnVisibility
1052
+ }
1053
+ ),
1054
+ cell: () => null
1055
+ };
1056
+ }
1057
+ function SortMenuItem({ selected, label, onClick }) {
1058
+ return /* @__PURE__ */ jsxs(
1059
+ "button",
1060
+ {
1061
+ type: "button",
1062
+ className: "sds-datatable-menu-item",
1063
+ "data-selected": selected || void 0,
1064
+ onClick,
1065
+ children: [
1066
+ /* @__PURE__ */ jsx(DataTableText, { font: "main-ui-body", color: "text-04", children: label }),
1067
+ selected ? /* @__PURE__ */ jsx("span", { className: "sds-datatable-menu-check", children: /* @__PURE__ */ jsx(ForwardRef$7, {}) }) : null
1068
+ ]
1069
+ }
1070
+ );
1071
+ }
1072
+ function SortingPopover({
1073
+ table,
1074
+ sorting,
1075
+ footerText,
1076
+ ascendingLabel = "Ascending",
1077
+ descendingLabel = "Descending"
1078
+ }) {
1079
+ const [open, setOpen] = useState(false);
1080
+ const sortableColumns = table.getAllLeafColumns().filter((col) => col.getCanSort());
1081
+ const currentSort = sorting[0] ?? null;
1082
+ return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
1083
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
1084
+ "button",
1085
+ {
1086
+ type: "button",
1087
+ className: "sds-datatable-popover-trigger",
1088
+ "data-open": open || void 0,
1089
+ "aria-label": "Sort options",
1090
+ children: /* @__PURE__ */ jsx(ForwardRef$1, {})
1091
+ }
1092
+ ) }),
1093
+ /* @__PURE__ */ jsx(PopoverContent, { align: "end", side: "bottom", withArrow: false, children: /* @__PURE__ */ jsxs("div", { className: "sds-datatable-menu", children: [
1094
+ /* @__PURE__ */ jsx(Separator, { label: "Sort by", decorative: false }),
1095
+ /* @__PURE__ */ jsx(
1096
+ SortMenuItem,
1097
+ {
1098
+ selected: currentSort === null,
1099
+ label: "Manual ordering",
1100
+ onClick: () => table.resetSorting()
1101
+ }
1102
+ ),
1103
+ sortableColumns.map((column) => {
1104
+ const isSorted = currentSort?.id === column.id;
1105
+ const label = typeof column.columnDef.header === "string" ? column.columnDef.header : column.id;
1106
+ return /* @__PURE__ */ jsx(
1107
+ SortMenuItem,
1108
+ {
1109
+ selected: isSorted,
1110
+ label,
1111
+ onClick: () => {
1112
+ if (isSorted) {
1113
+ table.resetSorting();
1114
+ return;
1115
+ }
1116
+ column.toggleSorting(false);
1117
+ }
1118
+ },
1119
+ column.id
1120
+ );
1121
+ }),
1122
+ currentSort !== null && /* @__PURE__ */ jsxs(Fragment, { children: [
1123
+ /* @__PURE__ */ jsx(Separator, { label: "Sorting order", decorative: false }),
1124
+ /* @__PURE__ */ jsx(
1125
+ SortMenuItem,
1126
+ {
1127
+ selected: !currentSort.desc,
1128
+ label: ascendingLabel,
1129
+ onClick: () => table.setSorting([{ id: currentSort.id, desc: false }])
1130
+ }
1131
+ ),
1132
+ /* @__PURE__ */ jsx(
1133
+ SortMenuItem,
1134
+ {
1135
+ selected: currentSort.desc,
1136
+ label: descendingLabel,
1137
+ onClick: () => table.setSorting([{ id: currentSort.id, desc: true }])
1138
+ }
1139
+ )
1140
+ ] }),
1141
+ footerText ? /* @__PURE__ */ jsx("div", { className: "sds-datatable-menu-footer", children: /* @__PURE__ */ jsx(DataTableText, { font: "secondary-body", color: "text-03", children: footerText }) }) : null
1142
+ ] }) })
1143
+ ] });
1144
+ }
1145
+ function createSortingColumn(options) {
1146
+ return {
1147
+ id: "__sorting",
1148
+ size: 44,
1149
+ enableHiding: false,
1150
+ enableSorting: false,
1151
+ enableResizing: false,
1152
+ header: ({ table }) => /* @__PURE__ */ jsx(
1153
+ SortingPopover,
1154
+ {
1155
+ table,
1156
+ sorting: table.getState().sorting,
1157
+ footerText: options?.footerText,
1158
+ ascendingLabel: options?.ascendingLabel,
1159
+ descendingLabel: options?.descendingLabel
1160
+ }
1161
+ ),
1162
+ cell: () => null
1163
+ };
1164
+ }
1165
+ function processColumns(columns, size) {
1166
+ const tanstackColumns = [];
1167
+ const fixedColumnIds = /* @__PURE__ */ new Set();
1168
+ const columnWeights = {};
1169
+ const columnMinWidths = {};
1170
+ const columnKindMap = /* @__PURE__ */ new Map();
1171
+ let qualifierColumn = null;
1172
+ let firstDataColumnSeen = false;
1173
+ for (const col of columns) {
1174
+ const resolvedWidth = typeof col.width === "function" ? col.width(size) : col.width;
1175
+ const clonedDef = {
1176
+ ...col.def,
1177
+ id: col.id,
1178
+ size: "fixed" in resolvedWidth ? resolvedWidth.fixed : resolvedWidth.weight
1179
+ };
1180
+ if (col.kind === "data" && !firstDataColumnSeen) {
1181
+ firstDataColumnSeen = true;
1182
+ clonedDef.enableHiding = false;
1183
+ }
1184
+ tanstackColumns.push(clonedDef);
1185
+ const id = col.id;
1186
+ columnKindMap.set(id, col);
1187
+ if ("fixed" in resolvedWidth) {
1188
+ fixedColumnIds.add(id);
1189
+ } else {
1190
+ columnWeights[id] = resolvedWidth.weight;
1191
+ columnMinWidths[id] = resolvedWidth.minWidth ?? 50;
1192
+ }
1193
+ if (col.kind === "qualifier") qualifierColumn = col;
1194
+ }
1195
+ return {
1196
+ tanstackColumns,
1197
+ widthConfig: { fixedColumnIds, columnWeights, columnMinWidths },
1198
+ qualifierColumn,
1199
+ columnKindMap
1200
+ };
1201
+ }
1202
+ function DataTable(props) {
1203
+ const {
1204
+ data,
1205
+ columns,
1206
+ getRowId,
1207
+ pageSize,
1208
+ initialSorting,
1209
+ initialColumnVisibility,
1210
+ initialRowSelection,
1211
+ initialViewSelected,
1212
+ draggable,
1213
+ expandable,
1214
+ footer,
1215
+ size = "lg",
1216
+ variant = "cards",
1217
+ selectionBehavior = "no-select",
1218
+ onSelectionChange,
1219
+ onRowClick,
1220
+ searchTerm,
1221
+ height,
1222
+ serverSide,
1223
+ emptyState,
1224
+ className
1225
+ } = props;
1226
+ const effectivePageSize = pageSize ?? (footer ? 10 : data.length);
1227
+ const qualifierColDef = columns.find(
1228
+ (c) => c.kind === "qualifier"
1229
+ );
1230
+ const hasQualifierColumn = qualifierColDef != null && qualifierColDef.content !== "simple" || selectionBehavior === "multi-select";
1231
+ const { tanstackColumns, widthConfig, qualifierColumn, columnKindMap } = useMemo(() => {
1232
+ const processed = processColumns(columns, size);
1233
+ if (!hasQualifierColumn) {
1234
+ return {
1235
+ ...processed,
1236
+ tanstackColumns: processed.tanstackColumns.filter(
1237
+ (c) => c.id !== "qualifier"
1238
+ ),
1239
+ widthConfig: {
1240
+ ...processed.widthConfig,
1241
+ fixedColumnIds: new Set(
1242
+ Array.from(processed.widthConfig.fixedColumnIds).filter(
1243
+ (id) => id !== "qualifier"
1244
+ )
1245
+ )
1246
+ },
1247
+ qualifierColumn: null
1248
+ };
1249
+ }
1250
+ return processed;
1251
+ }, [columns, size, hasQualifierColumn]);
1252
+ const {
1253
+ table,
1254
+ currentPage,
1255
+ totalPages,
1256
+ totalItems,
1257
+ setPage,
1258
+ pageSize: resolvedPageSize,
1259
+ selectionState,
1260
+ selectedCount,
1261
+ clearSelection,
1262
+ toggleAllRowsSelected,
1263
+ isAllRowsSelected,
1264
+ isViewingSelected,
1265
+ enterViewMode,
1266
+ exitViewMode
1267
+ } = useDataTable({
1268
+ data,
1269
+ columns: tanstackColumns,
1270
+ pageSize: effectivePageSize,
1271
+ initialSorting,
1272
+ initialColumnVisibility,
1273
+ initialRowSelection,
1274
+ initialViewSelected,
1275
+ getRowId,
1276
+ onSelectionChange,
1277
+ searchTerm,
1278
+ serverSide: serverSide ? {
1279
+ totalItems: serverSide.totalItems,
1280
+ onSortingChange: serverSide.onSortingChange,
1281
+ onPaginationChange: serverSide.onPaginationChange,
1282
+ onSearchTermChange: serverSide.onSearchTermChange
1283
+ } : void 0
1284
+ });
1285
+ const { containerRef, columnWidths, createResizeHandler } = useColumnWidths({
1286
+ headers: table.getHeaderGroups()[0]?.headers ?? [],
1287
+ ...widthConfig
1288
+ });
1289
+ useEffect(() => {
1290
+ if (serverSide && draggable) {
1291
+ console.warn(
1292
+ "DataTable: `draggable` is ignored when `serverSide` is enabled. Drag-and-drop reordering is not supported with server-side pagination."
1293
+ );
1294
+ }
1295
+ }, [serverSide, draggable]);
1296
+ const effectiveDraggable = serverSide ? void 0 : draggable;
1297
+ const draggableReturn = useDraggableRows({
1298
+ data,
1299
+ getRowId,
1300
+ enabled: !!effectiveDraggable && table.getState().sorting.length === 0,
1301
+ onReorder: effectiveDraggable?.onReorder
1302
+ });
1303
+ const hasDraggable = !!effectiveDraggable;
1304
+ const isSelectable = selectionBehavior !== "no-select";
1305
+ const isMultiSelect = selectionBehavior === "multi-select";
1306
+ const showQualifierCheckbox = isSelectable;
1307
+ const expandedControlled = expandable?.expandedIds != null;
1308
+ const [expandedInternal, setExpandedInternal] = useState(() => {
1309
+ const init = {};
1310
+ for (const id of expandable?.defaultExpandedIds ?? []) init[id] = true;
1311
+ return init;
1312
+ });
1313
+ const expandedMap = useMemo(() => {
1314
+ if (!expandedControlled) return expandedInternal;
1315
+ const m = {};
1316
+ for (const id of expandable?.expandedIds ?? []) m[id] = true;
1317
+ return m;
1318
+ }, [expandedControlled, expandable?.expandedIds, expandedInternal]);
1319
+ const expandOnRowClick = expandable ? expandable.expandOnRowClick !== false : false;
1320
+ const canRowExpand = useCallback(
1321
+ (rowOriginal) => !!expandable && (expandable.getRowCanExpand?.(rowOriginal) ?? true),
1322
+ [expandable]
1323
+ );
1324
+ const toggleExpanded = useCallback(
1325
+ (id) => {
1326
+ const next = { ...expandedMap, [id]: !expandedMap[id] };
1327
+ if (!next[id]) delete next[id];
1328
+ if (!expandedControlled) setExpandedInternal(next);
1329
+ expandable?.onExpandedChange?.(Object.keys(next));
1330
+ },
1331
+ [expandedMap, expandedControlled, expandable]
1332
+ );
1333
+ const isServerLoading = !!serverSide?.isLoading;
1334
+ function renderFooter(footerConfig) {
1335
+ if (isSelectable) {
1336
+ return /* @__PURE__ */ jsx(
1337
+ Footer,
1338
+ {
1339
+ mode: "selection",
1340
+ multiSelect: isMultiSelect,
1341
+ selectionState,
1342
+ selectedCount,
1343
+ onClear: footerConfig.onClear ?? (() => {
1344
+ if (isViewingSelected) exitViewMode();
1345
+ clearSelection();
1346
+ }),
1347
+ onView: !serverSide ? isViewingSelected ? exitViewMode : enterViewMode : void 0,
1348
+ isViewingSelected,
1349
+ pageSize: resolvedPageSize,
1350
+ totalItems,
1351
+ currentPage,
1352
+ totalPages,
1353
+ onPageChange: setPage,
1354
+ units: footerConfig.units
1355
+ }
1356
+ );
1357
+ }
1358
+ const rangeStart = totalItems === 0 ? 0 : !isFinite(resolvedPageSize) ? 1 : (currentPage - 1) * resolvedPageSize + 1;
1359
+ const rangeEnd = !isFinite(resolvedPageSize) ? totalItems : Math.min(currentPage * resolvedPageSize, totalItems);
1360
+ return /* @__PURE__ */ jsx(
1361
+ Footer,
1362
+ {
1363
+ mode: "summary",
1364
+ rangeStart,
1365
+ rangeEnd,
1366
+ totalItems,
1367
+ currentPage,
1368
+ totalPages,
1369
+ onPageChange: setPage,
1370
+ leftExtra: footerConfig.leftExtra,
1371
+ units: footerConfig.units
1372
+ }
1373
+ );
1374
+ }
1375
+ const scrollStyle = height != null ? {
1376
+ maxHeight: typeof height === "number" ? `${height}px` : height,
1377
+ overflowY: "auto"
1378
+ } : void 0;
1379
+ function DraggableTableInner() {
1380
+ return /* @__PURE__ */ jsxs(
1381
+ TableElement,
1382
+ {
1383
+ variant,
1384
+ selectionBehavior,
1385
+ width: Object.keys(columnWidths).length > 0 ? Object.values(columnWidths).reduce((sum, w) => sum + w, 0) : void 0,
1386
+ children: [
1387
+ /* @__PURE__ */ jsx("colgroup", { children: table.getVisibleLeafColumns().map((col) => /* @__PURE__ */ jsx(
1388
+ "col",
1389
+ {
1390
+ style: columnWidths[col.id] != null ? { width: columnWidths[col.id] } : void 0
1391
+ },
1392
+ col.id
1393
+ )) }),
1394
+ /* @__PURE__ */ jsx(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx(TableRow, { children: headerGroup.headers.map((header, headerIndex) => {
1395
+ const colDef = columnKindMap.get(header.id);
1396
+ if (colDef?.kind === "qualifier") {
1397
+ return /* @__PURE__ */ jsxs(QualifierContainer, { type: "head", children: [
1398
+ /* @__PURE__ */ jsx(VisuallyHidden, { children: "Selection" }),
1399
+ isMultiSelect && /* @__PURE__ */ jsx(
1400
+ Checkbox,
1401
+ {
1402
+ label: /* @__PURE__ */ jsx(VisuallyHidden, { children: "Select all rows" }),
1403
+ checked: isAllRowsSelected ? true : selectedCount > 0 ? "indeterminate" : false,
1404
+ onCheckedChange: () => {
1405
+ if (!isAllRowsSelected && selectedCount > 0) {
1406
+ toggleAllRowsSelected(false);
1407
+ } else {
1408
+ toggleAllRowsSelected(!isAllRowsSelected);
1409
+ }
1410
+ }
1411
+ }
1412
+ )
1413
+ ] }, header.id);
1414
+ }
1415
+ if (colDef?.kind === "actions") {
1416
+ const actionsDef = colDef;
1417
+ return /* @__PURE__ */ jsxs(ActionsContainer, { type: "head", children: [
1418
+ actionsDef.showColumnVisibility !== false && /* @__PURE__ */ jsx(
1419
+ ColumnVisibilityPopover,
1420
+ {
1421
+ table,
1422
+ columnVisibility: table.getState().columnVisibility
1423
+ }
1424
+ ),
1425
+ actionsDef.showSorting !== false && /* @__PURE__ */ jsx(
1426
+ SortingPopover,
1427
+ {
1428
+ table,
1429
+ sorting: table.getState().sorting,
1430
+ footerText: actionsDef.sortingFooterText
1431
+ }
1432
+ )
1433
+ ] }, header.id);
1434
+ }
1435
+ const canSort = header.column.getCanSort();
1436
+ const sortDir = header.column.getIsSorted();
1437
+ const nextHeader = headerGroup.headers[headerIndex + 1];
1438
+ const canResize = header.column.getCanResize() && !!nextHeader && !widthConfig.fixedColumnIds.has(nextHeader.id);
1439
+ const dataCol = colDef?.kind === "data" ? colDef : null;
1440
+ return /* @__PURE__ */ jsx(
1441
+ TableHead,
1442
+ {
1443
+ width: columnWidths[header.id],
1444
+ sorted: canSort ? toSortDirection(sortDir) : void 0,
1445
+ onSort: canSort ? () => header.column.toggleSorting() : void 0,
1446
+ icon: dataCol?.icon,
1447
+ resizable: canResize,
1448
+ onResizeStart: canResize ? createResizeHandler(header.id, nextHeader.id) : void 0,
1449
+ children: flexRender(
1450
+ header.column.columnDef.header,
1451
+ header.getContext()
1452
+ )
1453
+ },
1454
+ header.id
1455
+ );
1456
+ }) }, headerGroup.id)) }),
1457
+ /* @__PURE__ */ jsxs(TableBody, { children: [
1458
+ emptyState && table.getRowModel().rows.length === 0 && /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx(
1459
+ "td",
1460
+ {
1461
+ className: "sds-datatable-empty-cell",
1462
+ colSpan: table.getVisibleLeafColumns().length,
1463
+ children: emptyState
1464
+ }
1465
+ ) }),
1466
+ table.getRowModel().rows.map((row) => {
1467
+ const stableId = getRowId(row.original);
1468
+ const rowId = hasDraggable ? stableId : void 0;
1469
+ const rowCanExpand = canRowExpand(row.original);
1470
+ const rowExpanded = rowCanExpand && !!expandedMap[stableId];
1471
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
1472
+ /* @__PURE__ */ jsx(
1473
+ TableRow,
1474
+ {
1475
+ sortableId: rowId,
1476
+ selected: row.getIsSelected(),
1477
+ "aria-expanded": rowCanExpand ? rowExpanded : void 0,
1478
+ "data-expanded": rowExpanded ? "true" : void 0,
1479
+ onClick: () => {
1480
+ if (hasDraggable && draggableReturn.wasDraggingRef.current) {
1481
+ return;
1482
+ }
1483
+ if (onRowClick) {
1484
+ onRowClick(row.original);
1485
+ } else if (isSelectable) {
1486
+ if (!isMultiSelect) {
1487
+ table.toggleAllRowsSelected(false);
1488
+ }
1489
+ row.toggleSelected();
1490
+ }
1491
+ if (expandOnRowClick && rowCanExpand) {
1492
+ toggleExpanded(stableId);
1493
+ }
1494
+ },
1495
+ children: row.getVisibleCells().map((cell) => {
1496
+ const cellColDef = columnKindMap.get(cell.column.id);
1497
+ if (cellColDef?.kind === "qualifier") {
1498
+ const qDef = cellColDef;
1499
+ return /* @__PURE__ */ jsx(
1500
+ QualifierContainer,
1501
+ {
1502
+ type: "cell",
1503
+ onClick: (e) => e.stopPropagation(),
1504
+ children: /* @__PURE__ */ jsx(
1505
+ TableQualifier,
1506
+ {
1507
+ content: qDef.content,
1508
+ icon: qDef.getContent?.(row.original),
1509
+ imageSrc: qDef.getImageSrc?.(row.original),
1510
+ imageAlt: qDef.getImageAlt?.(row.original),
1511
+ background: qDef.background,
1512
+ iconSize: qDef.iconSize,
1513
+ selectable: showQualifierCheckbox,
1514
+ selected: showQualifierCheckbox && row.getIsSelected(),
1515
+ onSelectChange: showQualifierCheckbox ? (checked) => {
1516
+ if (!isMultiSelect) {
1517
+ table.toggleAllRowsSelected(false);
1518
+ }
1519
+ row.toggleSelected(checked);
1520
+ } : void 0
1521
+ }
1522
+ )
1523
+ },
1524
+ cell.id
1525
+ );
1526
+ }
1527
+ if (cellColDef?.kind === "actions") {
1528
+ return /* @__PURE__ */ jsx(
1529
+ ActionsContainer,
1530
+ {
1531
+ type: "cell",
1532
+ onClick: (e) => e.stopPropagation(),
1533
+ children: flexRender(
1534
+ cell.column.columnDef.cell,
1535
+ cell.getContext()
1536
+ )
1537
+ },
1538
+ cell.id
1539
+ );
1540
+ }
1541
+ return /* @__PURE__ */ jsx(TableCell, { "data-column-id": cell.column.id, children: flexRender(
1542
+ cell.column.columnDef.cell,
1543
+ cell.getContext()
1544
+ ) }, cell.id);
1545
+ })
1546
+ }
1547
+ ),
1548
+ rowExpanded && expandable ? /* @__PURE__ */ jsx("tr", { className: "sds-datatable-expanded-row", "data-row-id": stableId, children: /* @__PURE__ */ jsx(
1549
+ "td",
1550
+ {
1551
+ className: "sds-datatable-expanded-cell",
1552
+ colSpan: table.getVisibleLeafColumns().length,
1553
+ children: expandable.renderExpandedContent(row.original)
1554
+ }
1555
+ ) }) : null
1556
+ ] }, row.id);
1557
+ })
1558
+ ] })
1559
+ ]
1560
+ }
1561
+ );
1562
+ }
1563
+ return /* @__PURE__ */ jsx(TableSizeProvider, { size, children: /* @__PURE__ */ jsxs(
1564
+ "div",
1565
+ {
1566
+ className: ["sds-datatable-root", className].filter(Boolean).join(" "),
1567
+ "data-variant": variant,
1568
+ children: [
1569
+ /* @__PURE__ */ jsx(
1570
+ "div",
1571
+ {
1572
+ className: "sds-datatable-scroll",
1573
+ "data-loading": isServerLoading || void 0,
1574
+ ref: containerRef,
1575
+ style: scrollStyle,
1576
+ children: hasDraggable ? /* @__PURE__ */ jsxs(
1577
+ DndContext,
1578
+ {
1579
+ sensors: draggableReturn.dndContextProps.sensors,
1580
+ collisionDetection: draggableReturn.dndContextProps.collisionDetection,
1581
+ modifiers: draggableReturn.dndContextProps.modifiers,
1582
+ onDragStart: draggableReturn.dndContextProps.onDragStart,
1583
+ onDragEnd: draggableReturn.dndContextProps.onDragEnd,
1584
+ onDragCancel: draggableReturn.dndContextProps.onDragCancel,
1585
+ children: [
1586
+ /* @__PURE__ */ jsx(
1587
+ SortableContext,
1588
+ {
1589
+ items: draggableReturn.sortableItems,
1590
+ strategy: verticalListSortingStrategy,
1591
+ children: /* @__PURE__ */ jsx(DraggableTableInner, {})
1592
+ }
1593
+ ),
1594
+ /* @__PURE__ */ jsx(DragOverlay, { dropAnimation: null, children: draggableReturn.activeId ? (() => {
1595
+ const row = table.getRowModel().rows.find(
1596
+ (r) => getRowId(r.original) === draggableReturn.activeId
1597
+ );
1598
+ if (!row) return null;
1599
+ return /* @__PURE__ */ jsx(
1600
+ DragOverlayRow,
1601
+ {
1602
+ row,
1603
+ columnWidths,
1604
+ columnKindMap,
1605
+ qualifierColumn,
1606
+ isSelectable
1607
+ }
1608
+ );
1609
+ })() : null })
1610
+ ]
1611
+ }
1612
+ ) : /* @__PURE__ */ jsx(DraggableTableInner, {})
1613
+ }
1614
+ ),
1615
+ footer && renderFooter(footer)
1616
+ ]
1617
+ }
1618
+ ) });
1619
+ }
1620
+ function createTableColumns() {
1621
+ const helper = createColumnHelper();
1622
+ return {
1623
+ qualifier(config) {
1624
+ const content = config?.content ?? "simple";
1625
+ const def = helper.display({
1626
+ id: "qualifier",
1627
+ enableResizing: false,
1628
+ enableSorting: false,
1629
+ enableHiding: false,
1630
+ // Cell rendering is handled by DataTable based on the qualifier config
1631
+ cell: () => null
1632
+ });
1633
+ return {
1634
+ kind: "qualifier",
1635
+ id: "qualifier",
1636
+ def,
1637
+ width: (size) => size === "md" ? { fixed: 36 } : { fixed: 44 },
1638
+ content,
1639
+ getContent: config?.getContent,
1640
+ getImageSrc: config?.getImageSrc,
1641
+ getImageAlt: config?.getImageAlt,
1642
+ background: config?.background,
1643
+ iconSize: config?.iconSize
1644
+ };
1645
+ },
1646
+ column(accessor, config) {
1647
+ const {
1648
+ header,
1649
+ cell,
1650
+ enableSorting = true,
1651
+ enableResizing = true,
1652
+ enableHiding = true,
1653
+ icon,
1654
+ weight = 20
1655
+ } = config;
1656
+ const accessorDef = helper.accessor(accessor, {
1657
+ header,
1658
+ enableSorting,
1659
+ enableResizing,
1660
+ enableHiding,
1661
+ cell: cell ? (info) => cell(info.getValue(), info.row.original) : (info) => {
1662
+ const value = info.getValue();
1663
+ return value == null ? null : String(value);
1664
+ }
1665
+ });
1666
+ const def = accessorDef;
1667
+ return {
1668
+ kind: "data",
1669
+ id: accessor,
1670
+ def,
1671
+ width: { weight, minWidth: Math.max(header.length * 8 + 40, 80) },
1672
+ icon
1673
+ };
1674
+ },
1675
+ displayColumn(config) {
1676
+ const { id, header, cell, width, enableHiding = true } = config;
1677
+ const def = helper.display({
1678
+ id,
1679
+ header: header ?? void 0,
1680
+ enableHiding,
1681
+ enableSorting: false,
1682
+ enableResizing: false,
1683
+ cell: (info) => cell(info.row.original)
1684
+ });
1685
+ return {
1686
+ kind: "display",
1687
+ id,
1688
+ def,
1689
+ width
1690
+ };
1691
+ },
1692
+ actions(config) {
1693
+ const def = {
1694
+ id: "__actions",
1695
+ enableHiding: false,
1696
+ enableSorting: false,
1697
+ enableResizing: false,
1698
+ // Header rendering is handled by DataTable based on the actions config
1699
+ header: () => null,
1700
+ cell: config?.cell ? (info) => config.cell(info.row.original) : () => null
1701
+ };
1702
+ const showVisibility = config?.showColumnVisibility ?? true;
1703
+ const showSorting = config?.showSorting ?? true;
1704
+ const buttonCount = (showVisibility ? 1 : 0) + (showSorting ? 1 : 0);
1705
+ const BUTTON_MD = 28;
1706
+ const BUTTON_SM = 24;
1707
+ const PADDING = 8;
1708
+ return {
1709
+ kind: "actions",
1710
+ id: "__actions",
1711
+ def,
1712
+ width: (size) => ({
1713
+ fixed: Math.max(
1714
+ buttonCount * (size === "md" ? BUTTON_SM : BUTTON_MD),
1715
+ size === "md" ? BUTTON_SM : BUTTON_MD
1716
+ ) + PADDING
1717
+ }),
1718
+ showColumnVisibility: showVisibility,
1719
+ showSorting,
1720
+ sortingFooterText: config?.sortingFooterText
1721
+ };
1722
+ }
1723
+ };
1724
+ }
1725
+ export {
1726
+ ActionsContainer,
1727
+ ColumnVisibilityPopover,
1728
+ DataTable,
1729
+ DragOverlayRow,
1730
+ Footer,
1731
+ QualifierContainer,
1732
+ SortingPopover,
1733
+ TableBody,
1734
+ TableCell,
1735
+ TableElement,
1736
+ TableHead,
1737
+ TableHeader,
1738
+ TableQualifier,
1739
+ TableRow,
1740
+ TableSizeProvider,
1741
+ createColumnVisibilityColumn,
1742
+ createSortingColumn,
1743
+ createTableColumns,
1744
+ toSortDirection,
1745
+ useColumnWidths,
1746
+ useDataTable,
1747
+ useDraggableRows,
1748
+ useTableSize
1749
+ };
1750
+ //# sourceMappingURL=index.js.map