@cube-dev/ui-kit 0.164.0 → 0.165.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 (582) hide show
  1. package/dist/CHANGELOG.md +17 -0
  2. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  3. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/dist/_internal/hooks/use-event.js +1 -1
  6. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  7. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +1 -1
  12. package/dist/components/CollectionItem.js +1 -1
  13. package/dist/components/GlobalStyles.js +1 -1
  14. package/dist/components/GridProvider.js +1 -1
  15. package/dist/components/HiddenInput.js +1 -1
  16. package/dist/components/Root.js +1 -1
  17. package/dist/components/actions/Action/Action.js +1 -1
  18. package/dist/components/actions/Banner/Banner.js +1 -1
  19. package/dist/components/actions/Button/Button.d.ts +0 -1
  20. package/dist/components/actions/Button/Button.js +1 -1
  21. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  22. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  23. package/dist/components/actions/ButtonSplit/context.js +1 -1
  24. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  25. package/dist/components/actions/CommandMenu/styled.js +1 -1
  26. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  27. package/dist/components/actions/ItemActionContext.js +1 -1
  28. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  29. package/dist/components/actions/Link/Link.js +1 -1
  30. package/dist/components/actions/Menu/Menu.js +1 -1
  31. package/dist/components/actions/Menu/MenuItem.js +1 -1
  32. package/dist/components/actions/Menu/MenuSection.js +1 -1
  33. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  35. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  36. package/dist/components/actions/Menu/context.js +1 -1
  37. package/dist/components/actions/Menu/styled.js +1 -1
  38. package/dist/components/actions/index.js +1 -1
  39. package/dist/components/actions/use-action.js +1 -1
  40. package/dist/components/actions/use-anchored-menu.js +1 -1
  41. package/dist/components/actions/use-context-menu.js +1 -1
  42. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  43. package/dist/components/content/Alert/Alert.js +1 -1
  44. package/dist/components/content/Alert/use-alert.js +1 -1
  45. package/dist/components/content/Avatar/Avatar.js +1 -1
  46. package/dist/components/content/Badge/Badge.js +1 -1
  47. package/dist/components/content/Card/Card.js +1 -1
  48. package/dist/components/content/Content.js +1 -1
  49. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  50. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  51. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  52. package/dist/components/content/Divider.js +1 -1
  53. package/dist/components/content/Footer.js +1 -1
  54. package/dist/components/content/Header.js +1 -1
  55. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  56. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  57. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  58. package/dist/components/content/Item/Item.js +1 -1
  59. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  60. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  61. package/dist/components/content/Layout/GridLayout.js +1 -1
  62. package/dist/components/content/Layout/Layout.js +1 -1
  63. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  64. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  65. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  66. package/dist/components/content/Layout/LayoutContent.js +1 -1
  67. package/dist/components/content/Layout/LayoutContext.js +1 -1
  68. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  69. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  70. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  71. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  72. package/dist/components/content/Layout/LayoutPane.js +1 -1
  73. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  74. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  75. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  76. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  77. package/dist/components/content/Layout/index.js +1 -1
  78. package/dist/components/content/Layout/utils.js +1 -1
  79. package/dist/components/content/Paragraph.js +1 -1
  80. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  81. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  82. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  83. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  84. package/dist/components/content/Result/Result.js +1 -1
  85. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  86. package/dist/components/content/Tag/Tag.js +1 -1
  87. package/dist/components/content/Text.d.ts +14 -14
  88. package/dist/components/content/Text.js +1 -1
  89. package/dist/components/content/TextItem/TextItem.js +1 -1
  90. package/dist/components/content/Title.js +1 -1
  91. package/dist/components/content/Tree/Tree.js +1 -1
  92. package/dist/components/content/Tree/TreeNode.js +1 -1
  93. package/dist/components/content/Tree/styled.js +1 -1
  94. package/dist/components/content/Tree/tree-index.js +1 -1
  95. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  96. package/dist/components/content/Tree/use-load-data.js +1 -1
  97. package/dist/components/content/highlightText.js +1 -1
  98. package/dist/components/content/use-auto-tooltip.js +1 -1
  99. package/dist/components/data/DataTable/DataTable.js +140 -21
  100. package/dist/components/data/DataTable/DataTable.js.map +1 -1
  101. package/dist/components/data/DataTable/index.d.ts +1 -1
  102. package/dist/components/data/DataTable/types.d.ts +19 -4
  103. package/dist/components/data/ItemTable/ItemTable.js +169 -25
  104. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  105. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  106. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  107. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  108. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  109. package/dist/components/data/ItemTable/types.d.ts +7 -2
  110. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  111. package/dist/components/data/TableBase/RowCollection.js +1 -1
  112. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  113. package/dist/components/data/TableBase/TableRow.js +30 -5
  114. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  115. package/dist/components/data/TableBase/TableView.d.ts +2 -1
  116. package/dist/components/data/TableBase/TableView.js +299 -75
  117. package/dist/components/data/TableBase/TableView.js.map +1 -1
  118. package/dist/components/data/TableBase/column-menu.js +1 -1
  119. package/dist/components/data/TableBase/column-tint.js +1 -1
  120. package/dist/components/data/TableBase/index.d.ts +1 -1
  121. package/dist/components/data/TableBase/row-menu.js +1 -1
  122. package/dist/components/data/TableBase/styled.d.ts +1 -2
  123. package/dist/components/data/TableBase/styled.js +75 -2
  124. package/dist/components/data/TableBase/styled.js.map +1 -1
  125. package/dist/components/data/TableBase/table-tree.js +129 -0
  126. package/dist/components/data/TableBase/table-tree.js.map +1 -0
  127. package/dist/components/data/TableBase/types.d.ts +46 -1
  128. package/dist/components/data/TableBase/types.js +1 -1
  129. package/dist/components/data/TableBase/types.js.map +1 -1
  130. package/dist/components/data/TableBase/use-cell-selection.d.ts +0 -1
  131. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  132. package/dist/components/data/TableBase/use-column-order.js +1 -1
  133. package/dist/components/data/TableBase/use-container-width.js +1 -1
  134. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  135. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  136. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  137. package/dist/components/data/TableBase/use-table-search.js +4 -4
  138. package/dist/components/data/TableBase/use-table-search.js.map +1 -1
  139. package/dist/components/data/TableBase/use-table-selection.js +124 -24
  140. package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
  141. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  142. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  143. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  144. package/dist/components/data/TableBase/use-table-tree-state.js +107 -0
  145. package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -0
  146. package/dist/components/data/index.d.ts +2 -2
  147. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  148. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  149. package/dist/components/fields/Checkbox/context.js +1 -1
  150. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  151. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  152. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  153. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  154. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  155. package/dist/components/fields/CommandTextArea/CommandTextArea.js +8 -25
  156. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  157. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  158. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  159. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  160. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  161. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  162. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  163. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  164. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  165. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  166. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  167. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  168. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  169. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  170. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  171. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  172. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  173. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  174. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  175. package/dist/components/fields/DatePicker/period.js +1 -1
  176. package/dist/components/fields/DatePicker/props.js +1 -1
  177. package/dist/components/fields/DatePicker/utils.js +1 -1
  178. package/dist/components/fields/FileInput/FileInput.js +1 -1
  179. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  180. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  181. package/dist/components/fields/Input/Input.js +1 -1
  182. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  183. package/dist/components/fields/ListBox/ListBox.js +1 -1
  184. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  185. package/dist/components/fields/ListBoxPopover/index.d.ts +0 -1
  186. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  187. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  188. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  189. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  190. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  191. package/dist/components/fields/Picker/Picker.js +1 -1
  192. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  193. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  194. package/dist/components/fields/RadioGroup/context.js +1 -1
  195. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  196. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  197. package/dist/components/fields/Select/Select.js +1 -1
  198. package/dist/components/fields/Slider/Gradation.js +1 -1
  199. package/dist/components/fields/Slider/HueSlider.js +1 -1
  200. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  201. package/dist/components/fields/Slider/Slider.js +1 -1
  202. package/dist/components/fields/Slider/SliderBase.js +1 -1
  203. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  204. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  205. package/dist/components/fields/Slider/elements.js +1 -1
  206. package/dist/components/fields/Slider/index.js +1 -1
  207. package/dist/components/fields/Switch/Switch.js +1 -1
  208. package/dist/components/fields/TextArea/TextArea.js +10 -29
  209. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  210. package/dist/components/fields/TextInput/TextInput.js +1 -1
  211. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  212. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +146 -0
  213. package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -0
  214. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  215. package/dist/components/fields/color/ColorPanel.js +1 -1
  216. package/dist/components/fields/color/channels.js +1 -1
  217. package/dist/components/fields/color/color.js +1 -1
  218. package/dist/components/fields/color/context.js +1 -1
  219. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  220. package/dist/components/form/Form/Field.js +1 -1
  221. package/dist/components/form/Form/Form.js +1 -1
  222. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  223. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  224. package/dist/components/form/Form/SubmitError.js +1 -1
  225. package/dist/components/form/Form/index.js +1 -1
  226. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  227. package/dist/components/form/Form/use-field/use-field.js +1 -1
  228. package/dist/components/form/Form/use-form.js +1 -1
  229. package/dist/components/form/Form/validation.js +1 -1
  230. package/dist/components/form/Label.js +1 -1
  231. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  232. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  233. package/dist/components/form/validation/use-validation-props.js +1 -1
  234. package/dist/components/form/wrapper.js +1 -1
  235. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  236. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  237. package/dist/components/layout/Board/Board.d.ts +8 -5
  238. package/dist/components/layout/Board/Board.js +1 -1
  239. package/dist/components/layout/Board/Board.js.map +1 -1
  240. package/dist/components/layout/Board/BoardProvider.js +1 -1
  241. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  242. package/dist/components/layout/Board/Widget.js +1 -1
  243. package/dist/components/layout/Board/WidgetHost.js +1 -1
  244. package/dist/components/layout/Board/board-context.js +1 -1
  245. package/dist/components/layout/Board/board-store.js +1 -1
  246. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  247. package/dist/components/layout/Board/grid-core/collision-modes.js +7 -4
  248. package/dist/components/layout/Board/grid-core/collision-modes.js.map +1 -1
  249. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  250. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  251. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  252. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  253. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  254. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  255. package/dist/components/layout/Board/grid-core/types.d.ts +6 -4
  256. package/dist/components/layout/Board/index.js +1 -1
  257. package/dist/components/layout/Board/responsive-utils.js +1 -1
  258. package/dist/components/layout/Board/use-board-layout.js +1 -1
  259. package/dist/components/layout/Board/use-board-registry.js +90 -48
  260. package/dist/components/layout/Board/use-board-registry.js.map +1 -1
  261. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  262. package/dist/components/layout/Board/use-board-selection.js +1 -1
  263. package/dist/components/layout/Flex.js +1 -1
  264. package/dist/components/layout/Flow.js +1 -1
  265. package/dist/components/layout/Grid.js +1 -1
  266. package/dist/components/layout/Panel.js +1 -1
  267. package/dist/components/layout/Prefix.js +1 -1
  268. package/dist/components/layout/ResizablePanel.js +1 -1
  269. package/dist/components/layout/Space.js +1 -1
  270. package/dist/components/layout/Suffix.js +1 -1
  271. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  272. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  273. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  274. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  275. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  276. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  277. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  278. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  279. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  280. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  281. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  282. package/dist/components/navigation/Tabs/styled.js +1 -1
  283. package/dist/components/navigation/Tabs/types.js +1 -1
  284. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  285. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  286. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  287. package/dist/components/other/Calendar/Calendar.js +1 -1
  288. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  289. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  290. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  291. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  292. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  293. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  294. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  295. package/dist/components/other/Calendar/styled.js +1 -1
  296. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  297. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  298. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  299. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  300. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  301. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  302. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  303. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  304. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  305. package/dist/components/overlays/Dialog/context.js +1 -1
  306. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  307. package/dist/components/overlays/Modal/Modal.d.ts +1 -2
  308. package/dist/components/overlays/Modal/Modal.js +1 -1
  309. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  310. package/dist/components/overlays/Modal/Overlay.d.ts +0 -1
  311. package/dist/components/overlays/Modal/Overlay.js +1 -1
  312. package/dist/components/overlays/Modal/Popover.js +1 -1
  313. package/dist/components/overlays/Modal/Tray.js +1 -1
  314. package/dist/components/overlays/Modal/Underlay.js +1 -1
  315. package/dist/components/overlays/Modal/types.d.ts +0 -1
  316. package/dist/components/overlays/Notifications/Notification.js +1 -1
  317. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  318. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  319. package/dist/components/overlays/Notifications/NotificationContext.d.ts +0 -2
  320. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  321. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  322. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  323. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  324. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  325. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  326. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  327. package/dist/components/overlays/Notifications/index.js +1 -1
  328. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  329. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  330. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  331. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  332. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  333. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  334. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  335. package/dist/components/overlays/Toast/index.js +1 -1
  336. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  337. package/dist/components/overlays/Toast/useToast.js +1 -1
  338. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  339. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  340. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  341. package/dist/components/overlays/Tooltip/context.js +1 -1
  342. package/dist/components/portal/Portal.js +1 -1
  343. package/dist/components/portal/PortalProvider.js +1 -1
  344. package/dist/components/portal/index.d.ts +0 -1
  345. package/dist/components/portal/usePortal.js +1 -1
  346. package/dist/components/shared/DraggableCollection.js +1 -1
  347. package/dist/components/shared/InvalidIcon.js +1 -1
  348. package/dist/components/shared/ValidIcon.js +1 -1
  349. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  350. package/dist/components/status/Spin/Cube.js +1 -1
  351. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  352. package/dist/components/status/Spin/Spin.js +1 -1
  353. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  354. package/dist/data/item-themes.js +1 -1
  355. package/dist/data/themes.js +1 -1
  356. package/dist/eslint-plugin/defaults.generated.js +13 -1
  357. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  358. package/dist/eslint-plugin/index.js +1 -1
  359. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  360. package/dist/i18n/I18nProvider.js +1 -1
  361. package/dist/i18n/createFormatter.js +1 -1
  362. package/dist/i18n/index.js +1 -1
  363. package/dist/i18n/instance.js +1 -1
  364. package/dist/i18n/locales/de-DE/uikit.js +2 -1
  365. package/dist/i18n/locales/en-US/uikit.js +2 -1
  366. package/dist/i18n/locales/en-US/uikit.json.d.ts +1 -0
  367. package/dist/i18n/locales/es-ES/uikit.js +2 -1
  368. package/dist/i18n/locales/es-MX/uikit.js +2 -1
  369. package/dist/i18n/locales/fr-FR/uikit.js +2 -1
  370. package/dist/i18n/locales/it-IT/uikit.js +2 -1
  371. package/dist/i18n/locales/ja-JP/uikit.js +2 -1
  372. package/dist/i18n/locales/nb-NO/uikit.js +2 -1
  373. package/dist/i18n/locales/pt-BR/uikit.js +2 -1
  374. package/dist/i18n/locales/pt-PT/uikit.js +2 -1
  375. package/dist/i18n/locales/sv-SE/uikit.js +2 -1
  376. package/dist/i18n/locales/vi-VN/uikit.js +2 -1
  377. package/dist/i18n/locales.js +1 -1
  378. package/dist/i18n/useFormatter.js +1 -1
  379. package/dist/i18n/useI18n.js +1 -1
  380. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  381. package/dist/icons/AdjustmentsIcon.js +1 -1
  382. package/dist/icons/AiIcon.js +1 -1
  383. package/dist/icons/AreaChartIcon.js +1 -1
  384. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  385. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  386. package/dist/icons/BackwardIcon.js +1 -1
  387. package/dist/icons/BarChartIcon.js +1 -1
  388. package/dist/icons/BellFilledIcon.js +1 -1
  389. package/dist/icons/BellIcon.js +1 -1
  390. package/dist/icons/BooleanIcon.js +1 -1
  391. package/dist/icons/CalendarEditIcon.js +1 -1
  392. package/dist/icons/CalendarIcon.js +1 -1
  393. package/dist/icons/CaretDownIcon.js +1 -1
  394. package/dist/icons/CaretUpIcon.js +1 -1
  395. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  396. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  397. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  398. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  399. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  400. package/dist/icons/ChartBarLineIcon.js +1 -1
  401. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  402. package/dist/icons/ChartBarStackedIcon.js +1 -1
  403. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  404. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  405. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  406. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  407. package/dist/icons/ChartBubbleIcon.js +1 -1
  408. package/dist/icons/ChartDonut2Icon.js +1 -1
  409. package/dist/icons/ChartFunnelIcon.js +1 -1
  410. package/dist/icons/ChartHeatmapIcon.js +1 -1
  411. package/dist/icons/ChartKPIIcon.js +1 -1
  412. package/dist/icons/ChartPie2Icon.js +1 -1
  413. package/dist/icons/ChartScatterIcon.js +1 -1
  414. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  415. package/dist/icons/CheckCircleIcon.js +1 -1
  416. package/dist/icons/CheckIcon.js +1 -1
  417. package/dist/icons/CircleFilledIcon.js +1 -1
  418. package/dist/icons/ClearIcon.js +1 -1
  419. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  420. package/dist/icons/CloseCircleIcon.js +1 -1
  421. package/dist/icons/CloseIcon.js +1 -1
  422. package/dist/icons/CodeIcon.js +1 -1
  423. package/dist/icons/ColumnTotalIcon.js +1 -1
  424. package/dist/icons/CopyIcon.js +1 -1
  425. package/dist/icons/CountIcon.js +1 -1
  426. package/dist/icons/CubeIcon.js +1 -1
  427. package/dist/icons/CubePauseIcon.js +1 -1
  428. package/dist/icons/CubePlayIcon.js +1 -1
  429. package/dist/icons/CurrencyDollarIcon.js +1 -1
  430. package/dist/icons/DangerIcon.js +1 -1
  431. package/dist/icons/DashboardIcon.js +1 -1
  432. package/dist/icons/DatabaseIcon.js +1 -1
  433. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  434. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  435. package/dist/icons/DirectionIcon.js +1 -1
  436. package/dist/icons/DonutIcon.js +1 -1
  437. package/dist/icons/DownIcon.js +1 -1
  438. package/dist/icons/EditIcon.js +1 -1
  439. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  440. package/dist/icons/ExclamationCircleIcon.js +1 -1
  441. package/dist/icons/ExclamationIcon.js +1 -1
  442. package/dist/icons/EyeIcon.js +1 -1
  443. package/dist/icons/EyeInvisibleIcon.js +1 -1
  444. package/dist/icons/FilterIcon.js +1 -1
  445. package/dist/icons/FolderFilledIcon.js +1 -1
  446. package/dist/icons/FolderIcon.js +1 -1
  447. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  448. package/dist/icons/FolderOpenIcon.js +1 -1
  449. package/dist/icons/ForwardIcon.js +1 -1
  450. package/dist/icons/GripVerticalIcon.js +1 -1
  451. package/dist/icons/HierarchyIcon.js +1 -1
  452. package/dist/icons/HierarchyOpenIcon.js +1 -1
  453. package/dist/icons/Icon.js +1 -1
  454. package/dist/icons/InfoCircleIcon.js +1 -1
  455. package/dist/icons/InfoIcon.js +1 -1
  456. package/dist/icons/KeyIcon.js +1 -1
  457. package/dist/icons/LeftIcon.js +1 -1
  458. package/dist/icons/LineChartIcon.js +1 -1
  459. package/dist/icons/LoadingIcon.js +1 -1
  460. package/dist/icons/LockFilledIcon.js +1 -1
  461. package/dist/icons/LockIcon.js +1 -1
  462. package/dist/icons/MoreIcon.js +1 -1
  463. package/dist/icons/NotAllowedIcon.js +1 -1
  464. package/dist/icons/Number123Icon.js +1 -1
  465. package/dist/icons/NumberIcon.js +1 -1
  466. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  467. package/dist/icons/PauseCircleIcon.js +1 -1
  468. package/dist/icons/PauseIcon.js +1 -1
  469. package/dist/icons/PercentageIcon.js +1 -1
  470. package/dist/icons/PieChartIcon.js +1 -1
  471. package/dist/icons/PipetteIcon.js +1 -1
  472. package/dist/icons/PlayCircleIcon.js +1 -1
  473. package/dist/icons/PlayIcon.js +1 -1
  474. package/dist/icons/PlusIcon.js +1 -1
  475. package/dist/icons/ProgressBarIcon.js +1 -1
  476. package/dist/icons/ReloadIcon.js +1 -1
  477. package/dist/icons/ReportIcon.js +1 -1
  478. package/dist/icons/ReturnIcon.js +1 -1
  479. package/dist/icons/RightIcon.js +1 -1
  480. package/dist/icons/RowTotalsIcon.js +1 -1
  481. package/dist/icons/SchemeIcon.js +1 -1
  482. package/dist/icons/SearchIcon.js +1 -1
  483. package/dist/icons/SemanticQueryIcon.js +1 -1
  484. package/dist/icons/SettingsIcon.js +1 -1
  485. package/dist/icons/ShieldFilledIcon.js +1 -1
  486. package/dist/icons/ShieldIcon.js +1 -1
  487. package/dist/icons/SlashIcon.js +1 -1
  488. package/dist/icons/SparklesIcon.js +1 -1
  489. package/dist/icons/SqlIcon.js +1 -1
  490. package/dist/icons/StatsIcon.js +1 -1
  491. package/dist/icons/StopIcon.js +1 -1
  492. package/dist/icons/StringIcon.js +1 -1
  493. package/dist/icons/SubtotalsIcon.js +1 -1
  494. package/dist/icons/SwitchIcon.js +1 -1
  495. package/dist/icons/TableIcon.js +1 -1
  496. package/dist/icons/ThumbsDownIcon.js +1 -1
  497. package/dist/icons/ThumbsUpIcon.js +1 -1
  498. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  499. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  500. package/dist/icons/ThunderboltIcon.js +1 -1
  501. package/dist/icons/TimeIcon.js +1 -1
  502. package/dist/icons/TrashIcon.js +1 -1
  503. package/dist/icons/UnlockIcon.js +1 -1
  504. package/dist/icons/UpIcon.js +1 -1
  505. package/dist/icons/UserGroupIcon.js +1 -1
  506. package/dist/icons/UserIcon.js +1 -1
  507. package/dist/icons/UserLockIcon.js +1 -1
  508. package/dist/icons/ViewIcon.js +1 -1
  509. package/dist/icons/WarningFilledIcon.js +1 -1
  510. package/dist/icons/WarningIcon.js +1 -1
  511. package/dist/icons/wrap-icon.js +1 -1
  512. package/dist/index.d.ts +3 -3
  513. package/dist/index.js +1 -1
  514. package/dist/probe/canonicalize.js +1 -1
  515. package/dist/probe/css.js +1 -1
  516. package/dist/probe/index.js +1 -1
  517. package/dist/provider.js +1 -1
  518. package/dist/providers/TrackingProvider.js +1 -1
  519. package/dist/providers/navigationAdapter.default.js +1 -1
  520. package/dist/tokens/base.js +1 -1
  521. package/dist/tokens/color-seed.js +1 -1
  522. package/dist/tokens/color-theme.js +1 -1
  523. package/dist/tokens/colors.js +1 -1
  524. package/dist/tokens/index.js +1 -1
  525. package/dist/tokens/layout.js +1 -1
  526. package/dist/tokens/lazy-styles.js +1 -1
  527. package/dist/tokens/palette-config.js +1 -1
  528. package/dist/tokens/palette.js +1 -1
  529. package/dist/tokens/shadows.js +1 -1
  530. package/dist/tokens/sizes.js +1 -1
  531. package/dist/tokens/spacing.js +1 -1
  532. package/dist/tokens/typography.js +1 -1
  533. package/dist/utils/ResizeSensor.js +1 -1
  534. package/dist/utils/is-dev-env.js +1 -1
  535. package/dist/utils/modules.js +1 -1
  536. package/dist/utils/promise.js +1 -1
  537. package/dist/utils/raf.js +1 -1
  538. package/dist/utils/random.js +1 -1
  539. package/dist/utils/range.js +1 -1
  540. package/dist/utils/react/RenderCache.js +1 -1
  541. package/dist/utils/react/Slots.js +1 -1
  542. package/dist/utils/react/chain.js +1 -1
  543. package/dist/utils/react/disabledProps.js +1 -1
  544. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  545. package/dist/utils/react/index.js +1 -1
  546. package/dist/utils/react/interactions.js +1 -1
  547. package/dist/utils/react/isTextOnly.js +1 -1
  548. package/dist/utils/react/mapProps.js +1 -1
  549. package/dist/utils/react/mergeProps.js +1 -1
  550. package/dist/utils/react/nullableValue.js +1 -1
  551. package/dist/utils/react/resolveIcon.js +1 -1
  552. package/dist/utils/react/sharedStore.js +1 -1
  553. package/dist/utils/react/useBufferedValue.js +1 -1
  554. package/dist/utils/react/useCombinedRefs.js +1 -1
  555. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  556. package/dist/utils/react/useEventBus.js +1 -1
  557. package/dist/utils/react/useId.js +1 -1
  558. package/dist/utils/react/useIsDarwin.js +1 -1
  559. package/dist/utils/react/useKeySymbols.js +1 -1
  560. package/dist/utils/react/useLayoutEffect.js +1 -1
  561. package/dist/utils/react/useLocalStorage.js +1 -1
  562. package/dist/utils/react/useMergeStyles.js +1 -1
  563. package/dist/utils/react/usePopoverSync.js +1 -1
  564. package/dist/utils/react/useQaProps.js +1 -1
  565. package/dist/utils/react/useViewportSize.js +1 -1
  566. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  567. package/dist/utils/selection.js +1 -1
  568. package/dist/utils/styles.js +1 -1
  569. package/dist/utils/tree.js +1 -1
  570. package/dist/utils/warnings.js +1 -1
  571. package/dist/version.js +3 -3
  572. package/docs/Introduction.md +85 -97
  573. package/docs/Usage.md +26 -0
  574. package/docs/components/data/DataTable.md +110 -11
  575. package/docs/components/data/ItemTable.md +63 -1
  576. package/docs/components/layout/Board.md +6 -5
  577. package/docs/tasty/configuration.md +10 -6
  578. package/docs/tasty/dsl.md +99 -2
  579. package/docs/tasty/styles.md +3 -1
  580. package/package.json +2 -2
  581. package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +0 -2
  582. package/dist/components/portal/PortalProvider.d.ts +0 -2
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { LayoutActionsContext, LayoutContextReset, LayoutPanelContext, LayoutRefsContext, LayoutStateContext, useLayoutActionsContext, useLayoutPanelContext, useLayoutRefsContext, useLayoutStateContext } from "./LayoutContext.js";
3
3
  import { _Layout } from "./Layout.js";
4
4
  import { _LayoutContent } from "./LayoutContent.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  //#region src/components/content/Layout/utils.ts
3
3
  /**
4
4
  * Clamps a size value within min/max constraints.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { _Text } from "./Text.js";
4
4
  import { CONTAINER_STYLES, TEXT_STYLES } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useI18n } from "../../../i18n/useI18n.js";
4
4
  import { CONTAINER_STYLES, filterBaseProps, keyframes, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { RendererPrism, ensureYamlSqlExtensions } from "./prismSetup.js";
3
3
  import { CONTAINER_STYLES, tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { Prism as RendererPrism } from "prism-react-renderer";
3
3
 
4
4
  //#region src/components/content/PrismCode/prismSetup.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { _PrismCode } from "../PrismCode/PrismCode.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { diffLines } from "diff";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps } from "../../../utils/react/mergeProps.js";
4
4
  import { wrapNodeIfPlain } from "../../../utils/react/wrapNodeIfPlain.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { Space } from "../../layout/Space.js";
3
3
  import { Grid } from "../../layout/Grid.js";
4
4
  import { Flow } from "../../layout/Flow.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { _Item } from "../Item/Item.js";
3
3
  import { useI18n } from "../../../i18n/useI18n.js";
4
4
  import { CloseIcon } from "../../../icons/CloseIcon.js";
@@ -140,7 +140,7 @@ declare const MinorText: react.ComponentType<{
140
140
  accessKey?: string | undefined;
141
141
  autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
142
142
  autoFocus?: boolean | undefined;
143
- contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
143
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
144
144
  contextMenu?: string | undefined;
145
145
  dir?: string | undefined;
146
146
  draggable?: (boolean | "true" | "false") | undefined;
@@ -179,7 +179,7 @@ declare const MinorText: react.ComponentType<{
179
179
  part?: string | undefined;
180
180
  "aria-activedescendant"?: string | undefined;
181
181
  "aria-atomic"?: (boolean | "true" | "false") | undefined;
182
- "aria-autocomplete"?: "list" | "inline" | "none" | "both" | undefined;
182
+ "aria-autocomplete"?: "list" | "none" | "inline" | "both" | undefined;
183
183
  "aria-braillelabel"?: string | undefined;
184
184
  "aria-brailleroledescription"?: string | undefined;
185
185
  "aria-busy"?: (boolean | "true" | "false") | undefined;
@@ -546,7 +546,7 @@ declare const DangerText: react.ComponentType<{
546
546
  accessKey?: string | undefined;
547
547
  autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
548
548
  autoFocus?: boolean | undefined;
549
- contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
549
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
550
550
  contextMenu?: string | undefined;
551
551
  dir?: string | undefined;
552
552
  draggable?: (boolean | "true" | "false") | undefined;
@@ -585,7 +585,7 @@ declare const DangerText: react.ComponentType<{
585
585
  part?: string | undefined;
586
586
  "aria-activedescendant"?: string | undefined;
587
587
  "aria-atomic"?: (boolean | "true" | "false") | undefined;
588
- "aria-autocomplete"?: "list" | "inline" | "none" | "both" | undefined;
588
+ "aria-autocomplete"?: "list" | "none" | "inline" | "both" | undefined;
589
589
  "aria-braillelabel"?: string | undefined;
590
590
  "aria-brailleroledescription"?: string | undefined;
591
591
  "aria-busy"?: (boolean | "true" | "false") | undefined;
@@ -952,7 +952,7 @@ declare const SuccessText: react.ComponentType<{
952
952
  accessKey?: string | undefined;
953
953
  autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
954
954
  autoFocus?: boolean | undefined;
955
- contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
955
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
956
956
  contextMenu?: string | undefined;
957
957
  dir?: string | undefined;
958
958
  draggable?: (boolean | "true" | "false") | undefined;
@@ -991,7 +991,7 @@ declare const SuccessText: react.ComponentType<{
991
991
  part?: string | undefined;
992
992
  "aria-activedescendant"?: string | undefined;
993
993
  "aria-atomic"?: (boolean | "true" | "false") | undefined;
994
- "aria-autocomplete"?: "list" | "inline" | "none" | "both" | undefined;
994
+ "aria-autocomplete"?: "list" | "none" | "inline" | "both" | undefined;
995
995
  "aria-braillelabel"?: string | undefined;
996
996
  "aria-brailleroledescription"?: string | undefined;
997
997
  "aria-busy"?: (boolean | "true" | "false") | undefined;
@@ -1358,7 +1358,7 @@ declare const StrongText: react.ComponentType<{
1358
1358
  accessKey?: string | undefined;
1359
1359
  autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
1360
1360
  autoFocus?: boolean | undefined;
1361
- contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
1361
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
1362
1362
  contextMenu?: string | undefined;
1363
1363
  dir?: string | undefined;
1364
1364
  draggable?: (boolean | "true" | "false") | undefined;
@@ -1397,7 +1397,7 @@ declare const StrongText: react.ComponentType<{
1397
1397
  part?: string | undefined;
1398
1398
  "aria-activedescendant"?: string | undefined;
1399
1399
  "aria-atomic"?: (boolean | "true" | "false") | undefined;
1400
- "aria-autocomplete"?: "list" | "inline" | "none" | "both" | undefined;
1400
+ "aria-autocomplete"?: "list" | "none" | "inline" | "both" | undefined;
1401
1401
  "aria-braillelabel"?: string | undefined;
1402
1402
  "aria-brailleroledescription"?: string | undefined;
1403
1403
  "aria-busy"?: (boolean | "true" | "false") | undefined;
@@ -1764,7 +1764,7 @@ declare const EmphasisText: react.ComponentType<{
1764
1764
  accessKey?: string | undefined;
1765
1765
  autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
1766
1766
  autoFocus?: boolean | undefined;
1767
- contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
1767
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
1768
1768
  contextMenu?: string | undefined;
1769
1769
  dir?: string | undefined;
1770
1770
  draggable?: (boolean | "true" | "false") | undefined;
@@ -1803,7 +1803,7 @@ declare const EmphasisText: react.ComponentType<{
1803
1803
  part?: string | undefined;
1804
1804
  "aria-activedescendant"?: string | undefined;
1805
1805
  "aria-atomic"?: (boolean | "true" | "false") | undefined;
1806
- "aria-autocomplete"?: "list" | "inline" | "none" | "both" | undefined;
1806
+ "aria-autocomplete"?: "list" | "none" | "inline" | "both" | undefined;
1807
1807
  "aria-braillelabel"?: string | undefined;
1808
1808
  "aria-brailleroledescription"?: string | undefined;
1809
1809
  "aria-busy"?: (boolean | "true" | "false") | undefined;
@@ -2170,7 +2170,7 @@ declare const PlaceholderText: react.ComponentType<{
2170
2170
  accessKey?: string | undefined;
2171
2171
  autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
2172
2172
  autoFocus?: boolean | undefined;
2173
- contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
2173
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
2174
2174
  contextMenu?: string | undefined;
2175
2175
  dir?: string | undefined;
2176
2176
  draggable?: (boolean | "true" | "false") | undefined;
@@ -2209,7 +2209,7 @@ declare const PlaceholderText: react.ComponentType<{
2209
2209
  part?: string | undefined;
2210
2210
  "aria-activedescendant"?: string | undefined;
2211
2211
  "aria-atomic"?: (boolean | "true" | "false") | undefined;
2212
- "aria-autocomplete"?: "list" | "inline" | "none" | "both" | undefined;
2212
+ "aria-autocomplete"?: "list" | "none" | "inline" | "both" | undefined;
2213
2213
  "aria-braillelabel"?: string | undefined;
2214
2214
  "aria-brailleroledescription"?: string | undefined;
2215
2215
  "aria-busy"?: (boolean | "true" | "false") | undefined;
@@ -2576,7 +2576,7 @@ declare const HighlightText: react.ComponentType<{
2576
2576
  accessKey?: string | undefined;
2577
2577
  autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
2578
2578
  autoFocus?: boolean | undefined;
2579
- contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
2579
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
2580
2580
  contextMenu?: string | undefined;
2581
2581
  dir?: string | undefined;
2582
2582
  draggable?: (boolean | "true" | "false") | undefined;
@@ -2615,7 +2615,7 @@ declare const HighlightText: react.ComponentType<{
2615
2615
  part?: string | undefined;
2616
2616
  "aria-activedescendant"?: string | undefined;
2617
2617
  "aria-atomic"?: (boolean | "true" | "false") | undefined;
2618
- "aria-autocomplete"?: "list" | "inline" | "none" | "both" | undefined;
2618
+ "aria-autocomplete"?: "list" | "none" | "inline" | "both" | undefined;
2619
2619
  "aria-braillelabel"?: string | undefined;
2620
2620
  "aria-brailleroledescription"?: string | undefined;
2621
2621
  "aria-busy"?: (boolean | "true" | "false") | undefined;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { useSlotProps } from "../../utils/react/Slots.js";
4
4
  import { BASE_STYLES, COLOR_STYLES, TEXT_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { TEXT_PROP_MAP, _Text } from "../Text.js";
4
4
  import { highlightText } from "../highlightText.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { useSlotProps } from "../../utils/react/Slots.js";
4
4
  import { TEXT_PROP_MAP } from "./Text.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { mergeRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { _Item } from "../Item/Item.js";
3
3
  import { Action } from "../../actions/Action/Action.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  //#region src/components/content/Tree/tree-index.ts
3
3
  function buildTreeIndex(treeData) {
4
4
  const byKey = /* @__PURE__ */ new Map();
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useMemo, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useRef, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { _Text } from "./Text.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { TooltipProvider } from "../overlays/Tooltip/TooltipProvider.js";
3
3
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,32 +1,60 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.164.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.165.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
5
+ import { useWarn } from "../../../_internal/hooks/use-warn.js";
5
6
  import { useI18n } from "../../../i18n/useI18n.js";
6
7
  import { DraggableCollection } from "../../shared/DraggableCollection.js";
7
8
  import { clampPage, getPageInfo } from "../../navigation/Pagination/use-pagination.js";
8
9
  import { ItemTableFooter } from "../ItemTable/ItemTableFooter.js";
9
10
  import { RowCollection } from "../TableBase/RowCollection.js";
11
+ import { buildTableTree, flattenTableTree, reindexTableTree, sortTableTree } from "../TableBase/table-tree.js";
10
12
  import { selectionRowKey } from "../TableBase/types.js";
11
13
  import { useCellSelection } from "../TableBase/use-cell-selection.js";
12
14
  import { getDraggableColumnKeys, isColumnDraggable, useColumnOrder } from "../TableBase/use-column-order.js";
13
- import { freezeColumnWidths, useTableColumns } from "../TableBase/use-table-columns.js";
15
+ import { freezeColumnWidths, getColumnText, useTableColumns } from "../TableBase/use-table-columns.js";
14
16
  import { ROW_NUMBER_COLUMN_KEY } from "../TableBase/use-table-selection.js";
15
17
  import { TableView } from "../TableBase/TableView.js";
16
18
  import { useContainerWidth } from "../TableBase/use-container-width.js";
19
+ import { compareByColumn } from "../TableBase/use-table-sort.js";
17
20
  import { useTableSorts } from "../TableBase/use-table-sorts.js";
18
21
  import { useTableStorage } from "../TableBase/use-table-storage.js";
22
+ import { useTableTreeState } from "../TableBase/use-table-tree-state.js";
19
23
  import { CONTAINER_STYLES } from "@tenphi/tasty";
20
24
  import { forwardRef, useMemo, useRef, useState } from "react";
21
25
  import { jsx } from "react/jsx-runtime";
22
26
  import { useMultipleSelectionState } from "react-stately";
23
27
  import { useControlledState } from "@react-stately/utils";
28
+ import { useCollator } from "@react-aria/i18n";
24
29
  import { SelectionManager } from "@react-stately/selection";
25
30
 
26
31
  //#region src/components/data/DataTable/DataTable.tsx
27
32
  /** Wide enough for five digits at the dense default. */
28
33
  const ROW_NUMBER_WIDTH = 56;
29
34
  const EMPTY_WIDTHS = {};
35
+ function isColumnGroup(column) {
36
+ return "children" in column;
37
+ }
38
+ /** Flattens the public column tree while retaining each leaf's header path. */
39
+ function buildColumnModel(definitions) {
40
+ const columns = [];
41
+ const headerPaths = /* @__PURE__ */ new Map();
42
+ function visit(entries, path) {
43
+ for (const entry of entries) if (isColumnGroup(entry)) visit(entry.children, [...path, {
44
+ key: entry.key,
45
+ title: entry.title
46
+ }]);
47
+ else {
48
+ columns.push(entry);
49
+ if (path.length) headerPaths.set(entry.key, path);
50
+ }
51
+ }
52
+ visit(definitions, []);
53
+ return {
54
+ columns,
55
+ headerPaths
56
+ };
57
+ }
30
58
  function defaultGetRowKey(rowKey) {
31
59
  return (row, index) => {
32
60
  const value = row?.[rowKey];
@@ -42,18 +70,34 @@ function defaultGetRowKey(rowKey) {
42
70
  * rows pinned for totals.
43
71
  *
44
72
  * It knows nothing about Cube. Measures, dimensions, pivots and drill-downs
45
- * reach it as ordinary columns, `render` output and `column.header.menu`
46
- * content, which is what keeps the ~34 kB of Cloud's column-header menu in
47
- * Cloud.
73
+ * reach it as leaf columns, presentational column groups, `render` output and
74
+ * `column.header.menu` content, which is what keeps the ~34 kB of Cloud's
75
+ * column-header menu in Cloud.
48
76
  */
49
77
  function DataTable(props, ref) {
50
- const { data, columns, rowKey = "id", getRowKey, pinnedTopRows, pinnedBottomRows, isLoading = false, loadingIndicator = "overlay", skeletonRowCount, error, emptyLabel, noResultsLabel, isFiltered, shape = "plain", size = "small", rowSize, rowHeight, headerHeight, isStriped = true, isHeaderHidden, isHeaderSticky, showRowNumbers = false, sortMode, sorts: sortsProp, defaultSorts, onSortsChange, paginationMode = "client", page: pageProp, defaultPage, onPageChange, pageSize: pageSizeProp, defaultPageSize = 100, onPageSizeChange, pageSizeOptions, total: totalProp, totalPages, hasNextPage, summary = true, autoHidePagination = true, footerStart, footerCenter, footerEnd, cellSelectionMode = "range", isCellSelectable, selectedCellRange, defaultSelectedCellRange, onCellRangeChange, isRowMoveAnimated, isResizable = true, columnWidths: columnWidthsProp, defaultColumnWidths, onColumnResize, isColumnReorderable = false, columnOrder, defaultColumnOrder, onColumnOrderChange, columnContextMenu, onColumnMenuAction, columnMenuTriggerProps, columnMenuProps, isVirtualized, virtualizeThreshold, overscan, getRowProps, storageKey, styles, headerStyles, headerCellStyles, bodyStyles, rowStyles, cellStyles, footerStyles, ariaLabel, qa, mods, ...rest } = props;
78
+ const { data, columns, rowKey = "id", getRowKey, getRowChildren, treeColumnKey, expandedKeys, defaultExpandedKeys, onExpand, pinnedTopRows, pinnedBottomRows, isLoading = false, loadingIndicator = "overlay", skeletonRowCount, error, emptyLabel, noResultsLabel, isFiltered, shape = "plain", size = "small", rowSize, rowHeight, headerHeight, isStriped = true, isHeaderHidden, isHeaderSticky, isAutoHeight = false, showRowNumbers = false, sortMode, sorts: sortsProp, defaultSorts, onSortsChange, paginationMode = "client", page: pageProp, defaultPage, onPageChange, pageSize: pageSizeProp, defaultPageSize = 100, onPageSizeChange, pageSizeOptions, total: totalProp, totalPages, hasNextPage, summary = true, autoHidePagination = true, footerStart, footerCenter, footerEnd, cellSelectionMode = "range", isCellSelectable, selectedCellRange, defaultSelectedCellRange, onCellRangeChange, isRowMoveAnimated, isResizable = true, columnWidths: columnWidthsProp, defaultColumnWidths, onColumnResize, isColumnReorderable = false, columnOrder, defaultColumnOrder, onColumnOrderChange, columnContextMenu, onColumnMenuAction, columnMenuTriggerProps, columnMenuProps, isVirtualized, virtualizeThreshold, overscan, getRowProps, storageKey, styles, headerStyles, headerCellStyles, bodyStyles, rowStyles, cellStyles, footerStyles, ariaLabel, qa, mods, ...rest } = props;
51
79
  const rootRef = useCombinedRefs(ref, useRef(null));
52
80
  const [scrollerEl, setScrollerEl] = useState(null);
53
81
  const containerWidth = useContainerWidth(scrollerEl);
82
+ const resolvedGetRowKey = useMemo(() => getRowKey ?? defaultGetRowKey(rowKey), [getRowKey, rowKey]);
83
+ const treeModel = useMemo(() => getRowChildren ? buildTableTree(data, getRowChildren, resolvedGetRowKey) : null, [
84
+ data,
85
+ getRowChildren,
86
+ resolvedGetRowKey
87
+ ]);
88
+ useWarn(treeModel != null && treeModel.duplicateKeys.length > 0, {
89
+ key: ["data-table-tree-duplicate-keys"],
90
+ args: ["DataTable:", "Tree row keys must be unique across the complete hierarchy. Duplicate rows were ignored."]
91
+ });
92
+ useWarn(treeModel != null && treeModel.cyclicKeys.length > 0, {
93
+ key: ["data-table-tree-cyclic-keys"],
94
+ args: ["DataTable:", "Tree data contains a cycle. Cyclic descendants were ignored."]
95
+ });
54
96
  const storage = useTableStorage(storageKey);
97
+ const columnModel = useMemo(() => buildColumnModel(columns), [columns]);
98
+ const hasColumnGroups = columnModel.headerPaths.size > 0;
55
99
  const columnOrderState = useColumnOrder({
56
- columns: useMemo(() => columns.map((column) => {
100
+ columns: useMemo(() => columnModel.columns.map((column) => {
57
101
  const isNumeric = column.dataType === "number";
58
102
  return {
59
103
  ...column,
@@ -63,26 +107,65 @@ function DataTable(props, ref) {
63
107
  ...typeof column.cellStyles === "object" ? column.cellStyles : null
64
108
  } : column.cellStyles
65
109
  };
66
- }), [columns]),
110
+ }), [columnModel.columns]),
67
111
  columnOrder,
68
112
  defaultColumnOrder,
69
113
  onColumnOrderChange,
70
114
  storage
71
115
  });
72
116
  const orderedColumns = columnOrderState.columns;
117
+ const resolvedTreeColumnKey = useMemo(() => {
118
+ if (!treeModel) return void 0;
119
+ const visibleColumns = orderedColumns.filter((column) => !column.isHidden);
120
+ return visibleColumns.some((column) => column.key === treeColumnKey) ? treeColumnKey : visibleColumns[0]?.key;
121
+ }, [
122
+ treeModel,
123
+ orderedColumns,
124
+ treeColumnKey
125
+ ]);
126
+ useWarn(treeModel != null && treeColumnKey != null && resolvedTreeColumnKey !== treeColumnKey, {
127
+ key: ["data-table-tree-column-invalid", treeColumnKey],
128
+ args: ["DataTable:", "`treeColumnKey` must identify a visible data column. Falling back to the first visible column."]
129
+ });
73
130
  const { sorts, sortedRows, toggleSort, setColumnSort, mode: resolvedSortMode } = useTableSorts({
74
131
  columns: orderedColumns,
75
- rows: data,
76
- mode: sortMode,
132
+ rows: treeModel ? treeModel.roots.map((node) => node.row) : data,
133
+ mode: treeModel ? "server" : sortMode,
77
134
  sorts: sortsProp,
78
135
  defaultSorts,
79
136
  onSortsChange
80
137
  });
138
+ const collator = useCollator({
139
+ numeric: true,
140
+ sensitivity: "base"
141
+ });
142
+ const treeSortMode = treeModel ? sortMode ?? (orderedColumns.some((column) => column.isSortable) ? "client" : "off") : resolvedSortMode;
143
+ const processedTreeRoots = useMemo(() => {
144
+ const roots = treeModel?.roots ?? [];
145
+ if (treeSortMode !== "client" || !sorts.length) return roots;
146
+ const active = sorts.map((sort) => ({
147
+ sort,
148
+ column: orderedColumns.find((column) => column.key === sort.columnKey)
149
+ })).filter((entry) => entry.column != null);
150
+ return sortTableTree(roots, (a, b) => {
151
+ for (const { sort, column } of active) {
152
+ const result = compareByColumn(column, collator, a.row, a.sourceIndex, b.row, b.sourceIndex);
153
+ if (result !== 0) return result * (sort.direction === "asc" ? 1 : -1);
154
+ }
155
+ return a.siblingIndex - b.siblingIndex;
156
+ });
157
+ }, [
158
+ treeModel,
159
+ treeSortMode,
160
+ sorts,
161
+ orderedColumns,
162
+ collator
163
+ ]);
81
164
  const [pageSize, setPageSizeState] = useControlledState(pageSizeProp, pageSizeProp === void 0 && storage.has("pageSize") ? storage.initial.pageSize ?? defaultPageSize : defaultPageSize, onPageSizeChange);
82
165
  const [page, setPageState] = useControlledState(pageProp, defaultPage ?? 1, onPageChange);
83
166
  const isPaginated = paginationMode !== "off";
84
167
  const isServerPaginated = paginationMode === "server";
85
- const total = isServerPaginated ? totalProp ?? 0 : sortedRows.length;
168
+ const total = isServerPaginated ? totalProp ?? 0 : treeModel ? processedTreeRoots.length : sortedRows.length;
86
169
  const pageInfo = getPageInfo({
87
170
  page,
88
171
  pageSize,
@@ -95,7 +178,27 @@ function DataTable(props, ref) {
95
178
  setPageState(1);
96
179
  if (pageSizeProp === void 0) storage.write({ pageSize: next });
97
180
  });
98
- const visibleRows = paginationMode === "client" ? sortedRows.slice((pageInfo.page - 1) * pageSize, pageInfo.page * pageSize) : sortedRows;
181
+ const flatVisibleRows = paginationMode === "client" ? sortedRows.slice((pageInfo.page - 1) * pageSize, pageInfo.page * pageSize) : sortedRows;
182
+ const treeState = useTableTreeState({
183
+ roots: useMemo(() => reindexTableTree(paginationMode === "client" ? processedTreeRoots.slice((pageInfo.page - 1) * pageSize, pageInfo.page * pageSize) : processedTreeRoots), [
184
+ processedTreeRoots,
185
+ paginationMode,
186
+ pageInfo.page,
187
+ pageSize
188
+ ]),
189
+ allNodesByKey: treeModel?.byKey ?? /* @__PURE__ */ new Map(),
190
+ expandedKeys,
191
+ defaultExpandedKeys,
192
+ getTextValue: (node) => {
193
+ const column = orderedColumns.find((entry) => entry.key === resolvedTreeColumnKey);
194
+ return column ? getColumnText(column, node.row, node.sourceIndex) ?? String(node.key) : String(node.key);
195
+ },
196
+ onExpand,
197
+ ariaLabel
198
+ });
199
+ const visibleTreeEntries = treeModel ? treeState.visibleEntries : [];
200
+ const visibleRows = treeModel ? visibleTreeEntries.map((entry) => entry.row) : flatVisibleRows;
201
+ const visibleRowKeys = treeModel ? visibleTreeEntries.map((entry) => entry.key) : void 0;
99
202
  const [ownColumnWidths, setOwnColumnWidths] = useState(() => (columnWidthsProp === void 0 && storage.has("columnWidths") ? storage.initial.columnWidths ?? defaultColumnWidths : defaultColumnWidths) ?? EMPTY_WIDTHS);
100
203
  const [draftColumnWidths, setDraftColumnWidths] = useState(null);
101
204
  const draftRef = useRef(null);
@@ -135,7 +238,6 @@ function DataTable(props, ref) {
135
238
  });
136
239
  layoutRef.current = layout;
137
240
  const { t } = useI18n();
138
- const resolvedGetRowKey = useMemo(() => getRowKey ?? defaultGetRowKey(rowKey), [getRowKey, rowKey]);
139
241
  const selectionRows = useMemo(() => [
140
242
  ...pinnedTopRows ?? [],
141
243
  ...visibleRows,
@@ -147,11 +249,12 @@ function DataTable(props, ref) {
147
249
  ]);
148
250
  const selectionRowKeys = useMemo(() => [
149
251
  ...(pinnedTopRows ?? []).map((row, index) => selectionRowKey("pinnedTop", resolvedGetRowKey(row, index))),
150
- ...visibleRows.map(resolvedGetRowKey),
252
+ ...visibleRows.map((row, index) => visibleRowKeys?.[index] ?? resolvedGetRowKey(row, index)),
151
253
  ...(pinnedBottomRows ?? []).map((row, index) => selectionRowKey("pinnedBottom", resolvedGetRowKey(row, index)))
152
254
  ], [
153
255
  pinnedTopRows,
154
256
  visibleRows,
257
+ visibleRowKeys,
155
258
  pinnedBottomRows,
156
259
  resolvedGetRowKey
157
260
  ]);
@@ -183,9 +286,14 @@ function DataTable(props, ref) {
183
286
  const smallestPageSize = pageSizeOptions?.length ? Math.min(...pageSizeOptions) : pageSize;
184
287
  const showPagination = isPaginated && !(autoHidePagination && !hasNextPage && pageInfo.totalPages <= 1 && total <= smallestPageSize);
185
288
  const hasFooter = showPagination || footerStart != null || footerCenter != null || footerEnd != null;
289
+ useWarn(isColumnReorderable && hasColumnGroups, {
290
+ key: ["data-table-grouped-column-reorder"],
291
+ args: ["DataTable:", "`isColumnReorderable` is ignored when columns contain header groups."]
292
+ });
293
+ const canReorderColumns = isColumnReorderable && !hasColumnGroups;
186
294
  const headRowRef = useRef(null);
187
- const draggableColumnKeys = useMemo(() => getDraggableColumnKeys(layout.columns, isColumnReorderable), [layout.columns, isColumnReorderable]);
188
- const columnCollection = useMemo(() => new RowCollection(layout.columns.filter((column) => isColumnDraggable(column, isColumnReorderable)), (column) => column.key, /* @__PURE__ */ new Set(), (column) => typeof column.title === "string" ? column.title : column.key), [layout.columns, isColumnReorderable]);
295
+ const draggableColumnKeys = useMemo(() => getDraggableColumnKeys(layout.columns, canReorderColumns), [layout.columns, canReorderColumns]);
296
+ const columnCollection = useMemo(() => new RowCollection(layout.columns.filter((column) => isColumnDraggable(column, canReorderColumns)), (column) => column.key, /* @__PURE__ */ new Set(), (column) => typeof column.title === "string" ? column.title : column.key), [layout.columns, canReorderColumns]);
189
297
  /**
190
298
  * `'single'`, not `'none'`.
191
299
  *
@@ -202,18 +310,21 @@ function DataTable(props, ref) {
202
310
  const handleColumnFocus = useEvent((columnKey) => {
203
311
  columnSelectionManager.setFocusedKey(columnKey);
204
312
  });
205
- const isColumnDragEnabled = isColumnReorderable && draggableColumnKeys.length > 1;
313
+ const isColumnDragEnabled = canReorderColumns && draggableColumnKeys.length > 1;
314
+ const treeRowNumberOffset = treeModel ? paginationMode === "client" ? flattenTableTree(processedTreeRoots.slice(0, (pageInfo.page - 1) * pageSize), treeState.expandedKeys).length : 0 : null;
206
315
  const renderTable = (columnDragState, columnDropState, headCollectionProps) => /* @__PURE__ */ jsx(TableView, {
207
316
  ...rest,
208
317
  rootRef,
209
318
  qa: qa || "DataTable",
210
319
  rows: visibleRows,
320
+ rowKeys: visibleRowKeys,
211
321
  pinnedTopRows,
212
322
  pinnedBottomRows,
213
- rowNumberOffset: paginationMode === "off" ? 0 : (pageInfo.page - 1) * pageSize,
214
- rowIndexOffset: paginationMode === "off" ? 0 : (pageInfo.page - 1) * pageSize,
215
- totalRowCount: total,
323
+ rowNumberOffset: treeRowNumberOffset ?? (paginationMode === "off" ? 0 : (pageInfo.page - 1) * pageSize),
324
+ rowIndexOffset: treeModel ? 0 : paginationMode === "off" ? 0 : (pageInfo.page - 1) * pageSize,
325
+ totalRowCount: treeModel ? visibleRows.length : total,
216
326
  layout,
327
+ columnHeaderPaths: columnModel.headerPaths,
217
328
  hasColumnDividers: true,
218
329
  cellSelection,
219
330
  getRowKey: resolvedGetRowKey,
@@ -234,9 +345,10 @@ function DataTable(props, ref) {
234
345
  isRowMoveAnimated,
235
346
  isHeaderHidden,
236
347
  isHeaderSticky,
348
+ isAutoHeight,
237
349
  contentPreset: "t4",
238
350
  headerPreset: "t4m",
239
- sortMode: resolvedSortMode,
351
+ sortMode: treeSortMode,
240
352
  sorts,
241
353
  onColumnSort: toggleSort,
242
354
  onColumnSortChange: setColumnSort,
@@ -265,6 +377,13 @@ function DataTable(props, ref) {
265
377
  headCollectionProps,
266
378
  headRowRef,
267
379
  onColumnFocus: handleColumnFocus,
380
+ tree: treeModel ? {
381
+ state: treeState.state,
382
+ ariaProps: treeState.ariaProps,
383
+ nodes: treeState.visibleNodes,
384
+ entries: visibleTreeEntries,
385
+ columnKey: resolvedTreeColumnKey
386
+ } : void 0,
268
387
  footer: hasFooter ? /* @__PURE__ */ jsx(ItemTableFooter, {
269
388
  start: footerStart,
270
389
  center: footerCenter,