@cube-dev/ui-kit 0.156.0 → 0.157.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 (634) hide show
  1. package/dist/CHANGELOG.md +220 -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.js +1 -1
  20. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  21. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  22. package/dist/components/actions/ButtonSplit/context.js +1 -1
  23. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  24. package/dist/components/actions/CommandMenu/styled.js +1 -1
  25. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  26. package/dist/components/actions/ItemActionContext.js +1 -1
  27. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  28. package/dist/components/actions/Link/Link.js +1 -1
  29. package/dist/components/actions/Menu/Menu.js +1 -1
  30. package/dist/components/actions/Menu/MenuItem.js +1 -1
  31. package/dist/components/actions/Menu/MenuSection.js +1 -1
  32. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  33. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  35. package/dist/components/actions/Menu/context.js +1 -1
  36. package/dist/components/actions/Menu/styled.js +1 -1
  37. package/dist/components/actions/index.js +1 -1
  38. package/dist/components/actions/use-action.js +1 -1
  39. package/dist/components/actions/use-anchored-menu.js +1 -1
  40. package/dist/components/actions/use-context-menu.js +42 -44
  41. package/dist/components/actions/use-context-menu.js.map +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 +2 -2
  87. package/dist/components/content/Tag/Tag.js.map +1 -1
  88. package/dist/components/content/Text.d.ts +14 -14
  89. package/dist/components/content/Text.js +1 -1
  90. package/dist/components/content/TextItem/TextItem.js +1 -1
  91. package/dist/components/content/Title.js +1 -1
  92. package/dist/components/content/Tree/Tree.js +1 -1
  93. package/dist/components/content/Tree/TreeNode.js +1 -1
  94. package/dist/components/content/Tree/styled.js +1 -1
  95. package/dist/components/content/Tree/tree-index.js +1 -1
  96. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  97. package/dist/components/content/Tree/use-load-data.js +1 -1
  98. package/dist/components/content/highlightText.js +1 -1
  99. package/dist/components/content/use-auto-tooltip.js +1 -1
  100. package/dist/components/data/DataTable/DataTable.d.ts +13 -0
  101. package/dist/components/data/DataTable/DataTable.js +246 -0
  102. package/dist/components/data/DataTable/DataTable.js.map +1 -0
  103. package/dist/components/data/DataTable/index.d.ts +3 -0
  104. package/dist/components/data/DataTable/types.d.ts +145 -0
  105. package/dist/components/data/ItemTable/ItemTable.d.ts +19 -0
  106. package/dist/components/data/ItemTable/ItemTable.js +350 -0
  107. package/dist/components/data/ItemTable/ItemTable.js.map +1 -0
  108. package/dist/components/data/ItemTable/ItemTableBulkBar.d.ts +23 -0
  109. package/dist/components/data/ItemTable/ItemTableBulkBar.js +131 -0
  110. package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -0
  111. package/dist/components/data/ItemTable/ItemTableDragPreview.js +46 -0
  112. package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -0
  113. package/dist/components/data/ItemTable/ItemTableFooter.js +79 -0
  114. package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -0
  115. package/dist/components/data/ItemTable/ItemTableToolbar.d.ts +34 -0
  116. package/dist/components/data/ItemTable/ItemTableToolbar.js +91 -0
  117. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -0
  118. package/dist/components/data/ItemTable/index.d.ts +4 -0
  119. package/dist/components/data/ItemTable/types.d.ts +327 -0
  120. package/dist/components/data/TableBase/ColumnResizer.js +70 -0
  121. package/dist/components/data/TableBase/ColumnResizer.js.map +1 -0
  122. package/dist/components/data/TableBase/RowCollection.js +99 -0
  123. package/dist/components/data/TableBase/RowCollection.js.map +1 -0
  124. package/dist/components/data/TableBase/TableRow.js +89 -0
  125. package/dist/components/data/TableBase/TableRow.js.map +1 -0
  126. package/dist/components/data/TableBase/TableView.d.ts +22 -0
  127. package/dist/components/data/TableBase/TableView.js +921 -0
  128. package/dist/components/data/TableBase/TableView.js.map +1 -0
  129. package/dist/components/data/TableBase/index.d.ts +5 -0
  130. package/dist/components/data/TableBase/row-menu.js +40 -0
  131. package/dist/components/data/TableBase/row-menu.js.map +1 -0
  132. package/dist/components/data/TableBase/styled.d.ts +5 -0
  133. package/dist/components/data/TableBase/styled.js +532 -0
  134. package/dist/components/data/TableBase/styled.js.map +1 -0
  135. package/dist/components/data/TableBase/types.d.ts +160 -0
  136. package/dist/components/data/TableBase/types.js +31 -0
  137. package/dist/components/data/TableBase/types.js.map +1 -0
  138. package/dist/components/data/TableBase/use-cell-selection.d.ts +3 -0
  139. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  140. package/dist/components/data/TableBase/use-cell-selection.js.map +1 -0
  141. package/dist/components/data/TableBase/use-container-width.js +35 -0
  142. package/dist/components/data/TableBase/use-container-width.js.map +1 -0
  143. package/dist/components/data/TableBase/use-row-move-animation.js +90 -0
  144. package/dist/components/data/TableBase/use-row-move-animation.js.map +1 -0
  145. package/dist/components/data/TableBase/use-scrollability.js +49 -0
  146. package/dist/components/data/TableBase/use-scrollability.js.map +1 -0
  147. package/dist/components/data/TableBase/use-table-columns.d.ts +2 -0
  148. package/dist/components/data/TableBase/use-table-columns.js +166 -0
  149. package/dist/components/data/TableBase/use-table-columns.js.map +1 -0
  150. package/dist/components/data/TableBase/use-table-search.js +64 -0
  151. package/dist/components/data/TableBase/use-table-search.js.map +1 -0
  152. package/dist/components/data/TableBase/use-table-selection.d.ts +4 -0
  153. package/dist/components/data/TableBase/use-table-selection.js +233 -0
  154. package/dist/components/data/TableBase/use-table-selection.js.map +1 -0
  155. package/dist/components/data/TableBase/use-table-sort.js +91 -0
  156. package/dist/components/data/TableBase/use-table-sort.js.map +1 -0
  157. package/dist/components/data/TableBase/use-table-sorts.js +97 -0
  158. package/dist/components/data/TableBase/use-table-sorts.js.map +1 -0
  159. package/dist/components/data/TableBase/use-table-storage.d.ts +8 -0
  160. package/dist/components/data/TableBase/use-table-storage.js +58 -0
  161. package/dist/components/data/TableBase/use-table-storage.js.map +1 -0
  162. package/dist/components/data/index.d.ts +10 -0
  163. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  164. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  165. package/dist/components/fields/Checkbox/context.js +1 -1
  166. package/dist/components/fields/ColorInput/ColorInput.d.ts +67 -0
  167. package/dist/components/fields/ColorInput/ColorInput.js +230 -0
  168. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -0
  169. package/dist/components/fields/ColorInput/index.d.ts +2 -0
  170. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +34 -37
  171. package/dist/components/fields/ColorPicker/ColorPicker.js +131 -182
  172. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  173. package/dist/components/fields/ColorPicker/index.d.ts +1 -3
  174. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +50 -0
  175. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +269 -0
  176. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -0
  177. package/dist/components/fields/ColorSwatchGroup/index.d.ts +2 -0
  178. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  179. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  180. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  181. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  182. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  183. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  184. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  185. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  186. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  187. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  188. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  189. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  190. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  191. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  192. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  193. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  194. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  195. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  196. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  197. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  198. package/dist/components/fields/DatePicker/period.js +1 -1
  199. package/dist/components/fields/DatePicker/props.js +1 -1
  200. package/dist/components/fields/DatePicker/utils.js +1 -1
  201. package/dist/components/fields/FileInput/FileInput.js +1 -1
  202. package/dist/components/fields/FilterListBox/FilterListBox.js +2 -1
  203. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  204. package/dist/components/fields/FilterPicker/FilterPicker.js +6 -1
  205. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  206. package/dist/components/fields/Input/Input.js +2 -2
  207. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  208. package/dist/components/fields/ListBox/ListBox.d.ts +7 -0
  209. package/dist/components/fields/ListBox/ListBox.js +4 -3
  210. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  211. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  212. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  213. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  214. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  215. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  216. package/dist/components/fields/PasswordInput/PasswordInput.d.ts +2 -2
  217. package/dist/components/fields/PasswordInput/PasswordInput.js +12 -2
  218. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  219. package/dist/components/fields/Picker/Picker.js +6 -1
  220. package/dist/components/fields/Picker/Picker.js.map +1 -1
  221. package/dist/components/fields/RadioGroup/Radio.d.ts +2 -2
  222. package/dist/components/fields/RadioGroup/Radio.js +4 -4
  223. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  224. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  225. package/dist/components/fields/RadioGroup/context.js +1 -1
  226. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  227. package/dist/components/fields/SearchInput/SearchInput.d.ts +2 -2
  228. package/dist/components/fields/SearchInput/SearchInput.js +17 -4
  229. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  230. package/dist/components/fields/Select/Select.js +1 -1
  231. package/dist/components/fields/Slider/Gradation.js +1 -1
  232. package/dist/components/fields/Slider/HueSlider.js +1 -1
  233. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  234. package/dist/components/fields/Slider/Slider.js +1 -1
  235. package/dist/components/fields/Slider/SliderBase.js +1 -1
  236. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  237. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  238. package/dist/components/fields/Slider/elements.js +1 -1
  239. package/dist/components/fields/Slider/index.js +1 -1
  240. package/dist/components/fields/Switch/Switch.js +1 -1
  241. package/dist/components/fields/TextArea/TextArea.d.ts +2 -2
  242. package/dist/components/fields/TextArea/TextArea.js +12 -5
  243. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  244. package/dist/components/fields/TextInput/TextInput.d.ts +2 -2
  245. package/dist/components/fields/TextInput/TextInput.js +15 -3
  246. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  247. package/dist/components/fields/TextInput/TextInputBase.d.ts +17 -1
  248. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  249. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  250. package/dist/components/fields/TextInput/index.d.ts +1 -1
  251. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  252. package/dist/components/fields/{ColorPicker/ColorPickerPanel.js → color/ColorPanel.js} +14 -11
  253. package/dist/components/fields/color/ColorPanel.js.map +1 -0
  254. package/dist/components/fields/color/ColorSwatch.d.ts +22 -0
  255. package/dist/components/fields/color/ColorSwatch.js +58 -0
  256. package/dist/components/fields/color/ColorSwatch.js.map +1 -0
  257. package/dist/components/fields/{ColorPicker → color}/channels.d.ts +1 -1
  258. package/dist/components/fields/{ColorPicker → color}/channels.js +2 -2
  259. package/dist/components/fields/color/channels.js.map +1 -0
  260. package/dist/components/fields/color/color.d.ts +21 -0
  261. package/dist/components/fields/{ColorPicker → color}/color.js +2 -2
  262. package/dist/components/fields/color/color.js.map +1 -0
  263. package/dist/components/fields/color/context.js +20 -0
  264. package/dist/components/fields/color/context.js.map +1 -0
  265. package/dist/components/fields/color/index.d.ts +4 -0
  266. package/dist/components/fields/index.d.ts +10 -4
  267. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  268. package/dist/components/form/Form/Field.js +1 -1
  269. package/dist/components/form/Form/Form.js +1 -1
  270. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  271. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  272. package/dist/components/form/Form/SubmitError.js +1 -1
  273. package/dist/components/form/Form/index.js +1 -1
  274. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  275. package/dist/components/form/Form/use-field/use-field.js +1 -1
  276. package/dist/components/form/Form/use-form.js +1 -1
  277. package/dist/components/form/Form/validation.js +1 -1
  278. package/dist/components/form/Label.js +1 -1
  279. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  280. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  281. package/dist/components/form/validation/use-validation-props.js +1 -1
  282. package/dist/components/form/wrapper.js +1 -1
  283. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  284. package/dist/components/helpers/IconSwitch/IconSwitch.d.ts +26 -0
  285. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  286. package/dist/components/layout/Board/Board.js +1 -1
  287. package/dist/components/layout/Board/BoardProvider.js +1 -1
  288. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  289. package/dist/components/layout/Board/Widget.js +1 -1
  290. package/dist/components/layout/Board/WidgetHost.js +1 -1
  291. package/dist/components/layout/Board/board-context.js +1 -1
  292. package/dist/components/layout/Board/board-store.js +1 -1
  293. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  294. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  295. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  296. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  297. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  298. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  299. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  300. package/dist/components/layout/Board/index.js +1 -1
  301. package/dist/components/layout/Board/responsive-utils.js +1 -1
  302. package/dist/components/layout/Board/use-board-layout.js +1 -1
  303. package/dist/components/layout/Board/use-board-registry.js +1 -1
  304. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  305. package/dist/components/layout/Board/use-board-selection.js +1 -1
  306. package/dist/components/layout/Flex.js +1 -1
  307. package/dist/components/layout/Flow.js +1 -1
  308. package/dist/components/layout/Grid.js +1 -1
  309. package/dist/components/layout/Panel.js +1 -1
  310. package/dist/components/layout/Prefix.js +1 -1
  311. package/dist/components/layout/ResizablePanel.js +1 -1
  312. package/dist/components/layout/Space.js +1 -1
  313. package/dist/components/layout/Suffix.js +1 -1
  314. package/dist/components/navigation/Pagination/Pagination.d.ts +9 -0
  315. package/dist/components/navigation/Pagination/Pagination.js +258 -0
  316. package/dist/components/navigation/Pagination/Pagination.js.map +1 -0
  317. package/dist/components/navigation/Pagination/index.d.ts +4 -0
  318. package/dist/components/navigation/Pagination/types.d.ts +81 -0
  319. package/dist/components/navigation/Pagination/use-pagination.d.ts +52 -0
  320. package/dist/components/navigation/Pagination/use-pagination.js +83 -0
  321. package/dist/components/navigation/Pagination/use-pagination.js.map +1 -0
  322. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  323. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  324. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  325. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  326. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  327. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  328. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  329. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  330. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  331. package/dist/components/navigation/Tabs/styled.js +1 -1
  332. package/dist/components/navigation/Tabs/types.js +1 -1
  333. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  334. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  335. package/dist/components/navigation/index.d.ts +5 -1
  336. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  337. package/dist/components/other/Calendar/Calendar.js +1 -1
  338. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  339. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  340. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  341. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  342. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  343. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  344. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  345. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  346. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  347. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  348. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  349. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  350. package/dist/components/overlays/Dialog/context.js +1 -1
  351. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  352. package/dist/components/overlays/Modal/Modal.js +1 -1
  353. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  354. package/dist/components/overlays/Modal/Overlay.js +1 -1
  355. package/dist/components/overlays/Modal/Popover.js +1 -1
  356. package/dist/components/overlays/Modal/Tray.js +1 -1
  357. package/dist/components/overlays/Modal/Underlay.js +1 -1
  358. package/dist/components/overlays/Notifications/Notification.js +1 -1
  359. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  360. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  361. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  362. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  363. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  364. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  365. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  366. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  367. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  368. package/dist/components/overlays/Notifications/index.js +1 -1
  369. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  370. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  371. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  372. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  373. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  374. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  375. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  376. package/dist/components/overlays/Toast/index.js +1 -1
  377. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  378. package/dist/components/overlays/Toast/useToast.js +1 -1
  379. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  380. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  381. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  382. package/dist/components/overlays/Tooltip/context.js +1 -1
  383. package/dist/components/portal/Portal.js +1 -1
  384. package/dist/components/portal/PortalProvider.js +1 -1
  385. package/dist/components/portal/usePortal.js +1 -1
  386. package/dist/components/shared/DraggableCollection.js +24 -8
  387. package/dist/components/shared/DraggableCollection.js.map +1 -1
  388. package/dist/components/shared/InvalidIcon.js +1 -1
  389. package/dist/components/shared/ValidIcon.js +1 -1
  390. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  391. package/dist/components/status/Spin/Cube.js +1 -1
  392. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  393. package/dist/components/status/Spin/Spin.js +1 -1
  394. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  395. package/dist/data/item-themes.js +1 -1
  396. package/dist/data/themes.js +1 -1
  397. package/dist/eslint-plugin/defaults.generated.js +219 -5
  398. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  399. package/dist/eslint-plugin/index.js +1 -1
  400. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  401. package/dist/i18n/I18nProvider.js +1 -1
  402. package/dist/i18n/createFormatter.js +1 -1
  403. package/dist/i18n/index.js +1 -1
  404. package/dist/i18n/instance.js +1 -1
  405. package/dist/i18n/locales/de-DE/uikit.js +36 -1
  406. package/dist/i18n/locales/en-US/uikit.js +36 -1
  407. package/dist/i18n/locales/en-US/uikit.json.d.ts +41 -1
  408. package/dist/i18n/locales/es-ES/uikit.js +36 -1
  409. package/dist/i18n/locales/es-MX/uikit.js +36 -1
  410. package/dist/i18n/locales/fr-FR/uikit.js +36 -1
  411. package/dist/i18n/locales/it-IT/uikit.js +36 -1
  412. package/dist/i18n/locales/ja-JP/uikit.js +36 -1
  413. package/dist/i18n/locales/nb-NO/uikit.js +36 -1
  414. package/dist/i18n/locales/pt-BR/uikit.js +36 -1
  415. package/dist/i18n/locales/pt-PT/uikit.js +36 -1
  416. package/dist/i18n/locales/sv-SE/uikit.js +36 -1
  417. package/dist/i18n/locales/vi-VN/uikit.js +36 -1
  418. package/dist/i18n/locales.js +1 -1
  419. package/dist/i18n/useFormatter.js +1 -1
  420. package/dist/i18n/useI18n.js +1 -1
  421. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  422. package/dist/icons/AdjustmentsIcon.js +1 -1
  423. package/dist/icons/AiIcon.js +1 -1
  424. package/dist/icons/AreaChartIcon.js +1 -1
  425. package/dist/icons/BackwardIcon.js +1 -1
  426. package/dist/icons/BarChartIcon.js +1 -1
  427. package/dist/icons/BellFilledIcon.js +1 -1
  428. package/dist/icons/BellIcon.js +1 -1
  429. package/dist/icons/BooleanIcon.js +1 -1
  430. package/dist/icons/CalendarEditIcon.js +1 -1
  431. package/dist/icons/CalendarIcon.js +1 -1
  432. package/dist/icons/CaretDownIcon.js +1 -1
  433. package/dist/icons/CaretUpIcon.js +1 -1
  434. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  435. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  436. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  437. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  438. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  439. package/dist/icons/ChartBarLineIcon.js +1 -1
  440. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  441. package/dist/icons/ChartBarStackedIcon.js +1 -1
  442. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  443. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  444. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  445. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  446. package/dist/icons/ChartBubbleIcon.js +1 -1
  447. package/dist/icons/ChartDonut2Icon.js +1 -1
  448. package/dist/icons/ChartFunnelIcon.js +1 -1
  449. package/dist/icons/ChartHeatmapIcon.js +1 -1
  450. package/dist/icons/ChartKPIIcon.js +1 -1
  451. package/dist/icons/ChartPie2Icon.js +1 -1
  452. package/dist/icons/ChartScatterIcon.js +1 -1
  453. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  454. package/dist/icons/CheckCircleIcon.js +1 -1
  455. package/dist/icons/CheckIcon.js +1 -1
  456. package/dist/icons/CircleFilledIcon.js +1 -1
  457. package/dist/icons/ClearIcon.js +1 -1
  458. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  459. package/dist/icons/CloseCircleIcon.js +1 -1
  460. package/dist/icons/CloseIcon.js +1 -1
  461. package/dist/icons/CodeIcon.js +1 -1
  462. package/dist/icons/ColumnTotalIcon.js +1 -1
  463. package/dist/icons/CopyIcon.js +1 -1
  464. package/dist/icons/CountIcon.js +1 -1
  465. package/dist/icons/CubeIcon.js +1 -1
  466. package/dist/icons/CubePauseIcon.js +1 -1
  467. package/dist/icons/CubePlayIcon.js +1 -1
  468. package/dist/icons/CurrencyDollarIcon.js +1 -1
  469. package/dist/icons/DangerIcon.js +1 -1
  470. package/dist/icons/DashboardIcon.js +1 -1
  471. package/dist/icons/DatabaseIcon.js +1 -1
  472. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  473. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  474. package/dist/icons/DirectionIcon.js +1 -1
  475. package/dist/icons/DonutIcon.js +1 -1
  476. package/dist/icons/DownIcon.js +1 -1
  477. package/dist/icons/EditIcon.js +1 -1
  478. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  479. package/dist/icons/ExclamationCircleIcon.js +1 -1
  480. package/dist/icons/ExclamationIcon.js +1 -1
  481. package/dist/icons/EyeIcon.js +1 -1
  482. package/dist/icons/EyeInvisibleIcon.js +1 -1
  483. package/dist/icons/FilterIcon.js +1 -1
  484. package/dist/icons/FolderFilledIcon.js +1 -1
  485. package/dist/icons/FolderIcon.js +1 -1
  486. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  487. package/dist/icons/FolderOpenIcon.js +1 -1
  488. package/dist/icons/ForwardIcon.js +1 -1
  489. package/dist/icons/GripVerticalIcon.js +1 -1
  490. package/dist/icons/HierarchyIcon.js +1 -1
  491. package/dist/icons/HierarchyOpenIcon.js +1 -1
  492. package/dist/icons/Icon.js +1 -1
  493. package/dist/icons/InfoCircleIcon.js +1 -1
  494. package/dist/icons/InfoIcon.js +1 -1
  495. package/dist/icons/KeyIcon.js +1 -1
  496. package/dist/icons/LeftIcon.js +1 -1
  497. package/dist/icons/LineChartIcon.js +1 -1
  498. package/dist/icons/LoadingIcon.js +1 -1
  499. package/dist/icons/LockFilledIcon.js +1 -1
  500. package/dist/icons/LockIcon.js +1 -1
  501. package/dist/icons/MoreIcon.js +1 -1
  502. package/dist/icons/NotAllowedIcon.js +1 -1
  503. package/dist/icons/Number123Icon.js +1 -1
  504. package/dist/icons/NumberIcon.js +1 -1
  505. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  506. package/dist/icons/PauseCircleIcon.js +1 -1
  507. package/dist/icons/PauseIcon.js +1 -1
  508. package/dist/icons/PercentageIcon.js +1 -1
  509. package/dist/icons/PieChartIcon.js +1 -1
  510. package/dist/icons/PipetteIcon.js +1 -1
  511. package/dist/icons/PlayCircleIcon.js +1 -1
  512. package/dist/icons/PlayIcon.js +1 -1
  513. package/dist/icons/PlusIcon.js +1 -1
  514. package/dist/icons/ProgressBarIcon.js +1 -1
  515. package/dist/icons/ReloadIcon.js +1 -1
  516. package/dist/icons/ReportIcon.js +1 -1
  517. package/dist/icons/ReturnIcon.js +1 -1
  518. package/dist/icons/RightIcon.js +1 -1
  519. package/dist/icons/RowTotalsIcon.js +1 -1
  520. package/dist/icons/SchemeIcon.js +1 -1
  521. package/dist/icons/SearchIcon.js +1 -1
  522. package/dist/icons/SemanticQueryIcon.js +1 -1
  523. package/dist/icons/SettingsIcon.js +1 -1
  524. package/dist/icons/ShieldFilledIcon.js +1 -1
  525. package/dist/icons/ShieldIcon.js +1 -1
  526. package/dist/icons/SlashIcon.js +1 -1
  527. package/dist/icons/SparklesIcon.js +1 -1
  528. package/dist/icons/SqlIcon.js +1 -1
  529. package/dist/icons/StatsIcon.js +1 -1
  530. package/dist/icons/StopIcon.js +1 -1
  531. package/dist/icons/StringIcon.js +1 -1
  532. package/dist/icons/SubtotalsIcon.js +1 -1
  533. package/dist/icons/SwitchIcon.js +1 -1
  534. package/dist/icons/TableIcon.js +1 -1
  535. package/dist/icons/ThumbsDownIcon.js +1 -1
  536. package/dist/icons/ThumbsUpIcon.js +1 -1
  537. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  538. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  539. package/dist/icons/ThunderboltIcon.js +1 -1
  540. package/dist/icons/TimeIcon.js +1 -1
  541. package/dist/icons/TrashIcon.js +1 -1
  542. package/dist/icons/UnlockIcon.js +1 -1
  543. package/dist/icons/UpIcon.js +1 -1
  544. package/dist/icons/UserGroupIcon.js +1 -1
  545. package/dist/icons/UserIcon.js +1 -1
  546. package/dist/icons/UserLockIcon.js +1 -1
  547. package/dist/icons/ViewIcon.js +1 -1
  548. package/dist/icons/WarningFilledIcon.js +1 -1
  549. package/dist/icons/WarningIcon.js +1 -1
  550. package/dist/icons/wrap-icon.js +1 -1
  551. package/dist/index.d.ts +28 -14
  552. package/dist/index.js +15 -7
  553. package/dist/index.js.map +1 -1
  554. package/dist/provider.js +1 -1
  555. package/dist/providers/TrackingProvider.js +1 -1
  556. package/dist/providers/navigationAdapter.default.js +1 -1
  557. package/dist/tokens/base.js +1 -1
  558. package/dist/tokens/colors.js +1 -1
  559. package/dist/tokens/index.js +1 -1
  560. package/dist/tokens/layout.js +1 -1
  561. package/dist/tokens/lazy-styles.js +1 -1
  562. package/dist/tokens/palette-config.js +1 -1
  563. package/dist/tokens/palette.js +1 -1
  564. package/dist/tokens/shadows.js +1 -1
  565. package/dist/tokens/sizes.js +1 -1
  566. package/dist/tokens/spacing.js +1 -1
  567. package/dist/tokens/typography.d.ts +1 -1
  568. package/dist/tokens/typography.js +11 -2
  569. package/dist/tokens/typography.js.map +1 -1
  570. package/dist/utils/ResizeSensor.js +1 -1
  571. package/dist/utils/index.d.ts +1 -0
  572. package/dist/utils/is-dev-env.js +1 -1
  573. package/dist/utils/modules.js +1 -1
  574. package/dist/utils/promise.js +1 -1
  575. package/dist/utils/raf.js +1 -1
  576. package/dist/utils/random.js +1 -1
  577. package/dist/utils/range.js +1 -1
  578. package/dist/utils/react/RenderCache.js +1 -1
  579. package/dist/utils/react/Slots.js +1 -1
  580. package/dist/utils/react/chain.js +1 -1
  581. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  582. package/dist/utils/react/index.d.ts +1 -0
  583. package/dist/utils/react/index.js +2 -1
  584. package/dist/utils/react/interactions.js +1 -1
  585. package/dist/utils/react/isTextOnly.js +1 -1
  586. package/dist/utils/react/mapProps.js +1 -1
  587. package/dist/utils/react/mergeProps.js +1 -1
  588. package/dist/utils/react/nullableValue.js +1 -1
  589. package/dist/utils/react/resolveIcon.js +1 -1
  590. package/dist/utils/react/sharedStore.js +1 -1
  591. package/dist/utils/react/useBufferedValue.d.ts +56 -0
  592. package/dist/utils/react/useBufferedValue.js +86 -0
  593. package/dist/utils/react/useBufferedValue.js.map +1 -0
  594. package/dist/utils/react/useCombinedRefs.js +1 -1
  595. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  596. package/dist/utils/react/useEventBus.js +1 -1
  597. package/dist/utils/react/useId.js +1 -1
  598. package/dist/utils/react/useIsDarwin.js +1 -1
  599. package/dist/utils/react/useKeySymbols.js +1 -1
  600. package/dist/utils/react/useLayoutEffect.js +1 -1
  601. package/dist/utils/react/useLocalStorage.js +1 -1
  602. package/dist/utils/react/useMergeStyles.js +1 -1
  603. package/dist/utils/react/usePopoverSync.js +1 -1
  604. package/dist/utils/react/useQaProps.js +1 -1
  605. package/dist/utils/react/useViewportSize.js +1 -1
  606. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  607. package/dist/utils/selection.js +1 -1
  608. package/dist/utils/styles.js +1 -1
  609. package/dist/utils/tree.js +1 -1
  610. package/dist/utils/warnings.js +1 -1
  611. package/dist/version.js +2 -2
  612. package/docs/components/actions/ButtonGroup.md +1 -1
  613. package/docs/components/data/DataTable.md +298 -0
  614. package/docs/components/data/ItemTable.md +984 -0
  615. package/docs/components/fields/ColorInput.md +284 -0
  616. package/docs/components/fields/ColorPicker.md +85 -144
  617. package/docs/components/fields/ColorSwatchGroup.md +206 -0
  618. package/docs/components/fields/FilterPicker.md +1 -1
  619. package/docs/components/fields/ListBox.md +4 -0
  620. package/docs/components/fields/PasswordInput.md +1 -0
  621. package/docs/components/fields/Picker.md +1 -1
  622. package/docs/components/fields/SearchInput.md +1 -0
  623. package/docs/components/fields/TextArea.md +1 -0
  624. package/docs/components/fields/TextInput.md +1 -0
  625. package/docs/components/navigation/Pagination.md +245 -0
  626. package/package.json +8 -3
  627. package/dist/components/fields/ColorPicker/ColorPickerPanel.js.map +0 -1
  628. package/dist/components/fields/ColorPicker/channels.js.map +0 -1
  629. package/dist/components/fields/ColorPicker/color.d.ts +0 -15
  630. package/dist/components/fields/ColorPicker/color.js.map +0 -1
  631. package/dist/components/organisms/FileTabs/FileTabs.d.ts +0 -54
  632. package/dist/components/organisms/FileTabs/FileTabs.js +0 -282
  633. package/dist/components/organisms/FileTabs/FileTabs.js.map +0 -1
  634. package/docs/components/organisms/FileTabs.md +0 -51
@@ -0,0 +1,298 @@
1
+ # DataTable
2
+
3
+ A grid for query results.
4
+
5
+ The same engine as ItemTable — one renderer, one
6
+ column layout, one value pipeline — with the defaults an analytical grid wants
7
+ rather than a list's.
8
+
9
+ ## When to Use
10
+
11
+ Use `DataTable` for the output of a query: rows the user reads as a block,
12
+ scans down a column of, and sorts by more than one thing at a time.
13
+
14
+ Use `ItemTable` for a list of things the user acts on — deployments, members,
15
+ API keys. That is the one with selection, bulk actions, row menus and row links.
16
+
17
+ | | `ItemTable` | `DataTable` |
18
+ | --- | --- | --- |
19
+ | Typography | `t3` | `t4` |
20
+ | Density | `medium` | `small` |
21
+ | Banded rows | off | **on** |
22
+ | Column resize | opt-in | **on** |
23
+ | Sorting | one column | **several, in precedence order** |
24
+ | Pinned rows | — | **totals, top and bottom** |
25
+ | Row numbers | — | **optional** |
26
+ | Selection | rows | **cells, as a rectangle** |
27
+ | Bulk actions, row menu, row link | yes | — |
28
+ | Column rules | off | **on** |
29
+
30
+ ## It knows nothing about Cube
31
+
32
+ Measures, dimensions, pivots, drill-downs and calculated fields never reach this
33
+ component as concepts. They arrive as ordinary columns, `render` output and
34
+ `column.header.menu` content — which is what keeps Cloud's column-header menu,
35
+ and everything it knows about the query, in Cloud.
36
+
37
+ ## Component
38
+
39
+ ### Properties
40
+
41
+ #### Data
42
+
43
+ - **`data`** `readonly T[]` — The rows.
44
+ - **`columns`** `CubeDataTableColumn<T>[]` — Same shape as `ItemTable`'s, plus `dataType`.
45
+ - **`rowKey`** `string` (default: `'id'`) — Property to read the row identity from.
46
+ - **`getRowKey`** `(row: T, index: number) => Key` — Wins over `rowKey`.
47
+ - **`pinnedTopRows`** `readonly T[]` — Rows stuck to the top of the scroller. Ordinary rows as far as the columns are concerned.
48
+ - **`pinnedBottomRows`** `readonly T[]` — The same, at the bottom. This is where totals go.
49
+
50
+ #### Status
51
+
52
+ - **`isLoading`** `boolean`
53
+ - **`loadingIndicator`** `'overlay' | 'skeleton' | 'none'` (default: `'overlay'`) — A translucent overlay keeps the previous result readable while the next one loads.
54
+ - **`skeletonRowCount`** `number` (default: `6`)
55
+ - **`error`** `ReactNode` — Takes precedence over both empty labels.
56
+ - **`emptyLabel`** `ReactNode` — Nothing to show at all.
57
+ - **`noResultsLabel`** `ReactNode` — Shown instead when `isFiltered`.
58
+ - **`isFiltered`** `boolean` — Tells the empty state a filter is why there is nothing.
59
+
60
+ #### Shape
61
+
62
+ - **`shape`** `'plain' | 'card'` (default: `'plain'`)
63
+ - **`size`** `SizeName` (default: `'small'`) — An analytical grid packs more rows than a list.
64
+ - **`rowHeight`** `number` — Overrides the height implied by `size`.
65
+ - **`headerHeight`** `number`
66
+ - **`isStriped`** `boolean` (default: `true`) — Banding is what makes a wide row readable across.
67
+ - **`isHeaderHidden`** `boolean`
68
+ - **`isHeaderSticky`** `boolean` (default: `true`)
69
+ - **`isRowMoveAnimated`** `boolean` (default: `true`) — Slide rows to their new positions when the order changes, instead of teleporting them. Respects `prefers-reduced-motion`.
70
+ - **`showRowNumbers`** `boolean` (default: `false`) — A continuous count down the side, which stays continuous across pages.
71
+
72
+ #### Sorting
73
+
74
+ - **`sortMode`** `'client' | 'server' | 'off'`
75
+ - **`sorts`** `CubeTableSort[]` — Array order is the sort precedence.
76
+ - **`defaultSorts`** `CubeTableSort[]`
77
+ - **`onSortsChange`** `(sorts: CubeTableSort[]) => void`
78
+
79
+ #### Pagination
80
+
81
+ - **`paginationMode`** `'client' | 'server' | 'off'` (default: `'client'`)
82
+ - **`page`** `number` — 1-based.
83
+ - **`defaultPage`** `number`
84
+ - **`onPageChange`** `(page: number) => void`
85
+ - **`pageSize`** `number`
86
+ - **`defaultPageSize`** `number` (default: `100`)
87
+ - **`onPageSizeChange`** `(pageSize: number) => void`
88
+ - **`pageSizeOptions`** `number[]`
89
+ - **`total`** `number` — Server mode: the row count behind the current page.
90
+ - **`totalPages`** `number` — Supply instead of `total` when only the page count is known.
91
+ - **`hasNextPage`** `boolean` — When neither count is known.
92
+ - **`summary`** `boolean | ((info: CubeTablePageInfo) => ReactNode)`
93
+ - **`autoHidePagination`** `boolean` (default: `true`) — Hides the footer when it can do nothing: one page, and fewer rows than the smallest page size.
94
+ - **`footerStart`** `ReactNode`
95
+ - **`footerCenter`** `ReactNode`
96
+ - **`footerEnd`** `ReactNode`
97
+
98
+ #### Cell selection
99
+
100
+ - **`cellSelectionMode`** `'none' | 'cell' | 'range'` (default: `'range'`) — Click selects a cell; shift-click and drag grow a rectangle.
101
+ - **`isCellSelectable`** `(ctx) => boolean` — Vetoes individual cells. `ctx` is `{ row, rowKey, columnKey, section }`.
102
+ - **`selectedCellRange`** `CubeTableCellRange | null` — Two opposite corners.
103
+ - **`defaultSelectedCellRange`** `CubeTableCellRange | null`
104
+ - **`onCellRangeChange`** `(range: CubeTableCellRange | null) => void`
105
+
106
+ #### Columns
107
+
108
+ - **`isResizable`** `boolean` (default: `true`) — A result grid is the case resizing exists for.
109
+ - **`columnWidths`** `Record<string, number>`
110
+ - **`defaultColumnWidths`** `Record<string, number>`
111
+ - **`onColumnResize`** `(columnKey: string, width: number, all: Record<string, number>) => void`
112
+
113
+ #### Virtualization
114
+
115
+ - **`isVirtualized`** `boolean | 'auto'` (default: `'auto'`) — On when the grid is height-bounded and has more rows than the threshold.
116
+ - **`virtualizeThreshold`** `number`
117
+ - **`overscan`** `number`
118
+
119
+ #### Other
120
+
121
+ - **`getRowProps`** `(ctx: CubeTableRowContext<T>) => Record<string, any>` — Per-row mods, styles and height.
122
+ - **`storageKey`** `string` — Persists page size and column widths.
123
+ - **`ariaLabel`** `string`
124
+
125
+ #### `dataType`
126
+
127
+ Presentational, not a Cube type. `number` right-aligns the column and switches
128
+ it to tabular figures, so digits line up down the column and a total lines up
129
+ with the rows above it.
130
+
131
+ Loading, empty and error states, pagination, footer slots, virtualization,
132
+ column resize and persistence all behave exactly as they do in `ItemTable` —
133
+ they come from the shared renderer.
134
+
135
+ ### Base Properties
136
+
137
+ Supports Base Properties.
138
+
139
+ ### Styling Properties
140
+
141
+ #### styles
142
+
143
+ Customizes the root frame. Every internal part of the grid is a **sub-element**
144
+ reachable from this one prop — the same contract, and the same sub-element
145
+ names, as ItemTable.
146
+
147
+ `DataTable` adds one: `StateCell`, the full-span cell that carries the empty,
148
+ no-results and error content. It is deliberately not a `Cell`, so it takes none
149
+ of the row's banding or hover paint.
150
+
151
+ #### Targeted slots
152
+
153
+ Each merges into the corresponding sub-element at the same selector and
154
+ specificity, so an override lands later in source order and wins without
155
+ `!important`.
156
+
157
+ - **`headerStyles`** `Styles` — The column header row.
158
+ - **`headerCellStyles`** `Styles`
159
+ - **`bodyStyles`** `Styles`
160
+ - **`rowStyles`** `Styles`
161
+ - **`cellStyles`** `Styles`
162
+ - **`footerStyles`** `Styles`
163
+
164
+ ### Style Properties
165
+
166
+ These properties allow direct style application without using the `styles` prop:
167
+
168
+ - **Base:** `display`, `font`, `preset`, `hide`, `opacity`, `whiteSpace`, `transition`
169
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `place`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
170
+ - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
171
+ - **Block:** `padding`, `paddingInline`, `paddingBlock`, `border`, `radius`, `shadow`, `overflow`, `outline`, `scrollbar`, `textAlign`
172
+ - **Color:** `color`, `fill`, `fade`, `image`
173
+ - **Flow:** `flow`, `gap`, `columnGap`, `rowGap`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
174
+
175
+ `height` is the important one, and more so here than for a list: a result grid
176
+ is almost always taller than the screen, so bounding it is what turns the
177
+ body into a scroller, pins the header, and lets virtualization engage at all.
178
+
179
+ ### Modifiers
180
+
181
+ | Modifier | Type | Description |
182
+ | -------- | ---- | ----------- |
183
+ | `size` | `SizeName` | Row height scale |
184
+ | `shape` | `'plain' \| 'card'` | Frame treatment |
185
+ | `sticky-header` | `boolean` | Header is pinned |
186
+ | `column-dividers` | `boolean` | Vertical rules between columns — always on here |
187
+ | `range-dragging` | `boolean` | A cell-range drag is in progress |
188
+
189
+ Cell-level, in addition to `ItemTable`'s: `cell-selected`, `last-column`,
190
+ `pinned`.
191
+
192
+ ## Examples
193
+
194
+ ### Multi-Column Sorting
195
+
196
+ The main behavioural difference from `ItemTable`. Clicking a second header adds
197
+ it to the sort rather than replacing it, and each sorted column shows its place
198
+ in the precedence.
199
+
200
+ ```jsx
201
+ <DataTable
202
+ data={rows}
203
+ columns={columns}
204
+ sorts={sorts}
205
+ onSortsChange={setSorts}
206
+ />
207
+ ```
208
+
209
+ A newly sorted column is **appended**, so it is the least significant — the
210
+ ordering the user already established keeps leading. Cycling a column through
211
+ `ascending → descending → unsorted` leaves the others untouched.
212
+
213
+ `sortMode="server"` reports the array and never reorders, which is the shape
214
+ Cloud's reports already send to the query.
215
+
216
+ ### Pinned Totals
217
+
218
+ Pinned rows stick to the edges of the scroller while the rest scrolls under
219
+ them. They are excluded from sorting and paging — a total is not a row
220
+ competing for a position.
221
+
222
+ ### Row Numbers
223
+
224
+ ### The Whole Result
225
+
226
+ Above `virtualizeThreshold` a bounded grid virtualizes on its own, so
227
+ `paginationMode="off"` is a reasonable default for a result the user scrolls.
228
+
229
+ ### Sorting Moves Rows
230
+
231
+ When a sort reorders rows, they slide to their new positions over 120ms rather
232
+ than jumping. The point is to be able to follow one row to where it went — a
233
+ table that teleports gives the eye nothing to track.
234
+
235
+ Only rows that were already on screen slide: a row arriving from outside the
236
+ window, or from another page, has no position to come from. Scrolling is never
237
+ mistaken for movement, and `prefers-reduced-motion` turns it off. Set
238
+ `isRowMoveAnimated={false}` to opt out.
239
+
240
+ ### Cell Selection
241
+
242
+ A list is acted on by row; a result grid is read by cell. Click one, shift-click
243
+ or drag to grow a rectangle, and `⌘/Ctrl+C` copies the block as tab-separated
244
+ values — the format Excel and Sheets both paste as a grid rather than as one run
245
+ of text. `Escape` clears it.
246
+
247
+ The range is stored as two opposite corners rather than a set of keys, so it
248
+ survives sorting and paging the way a keyed row selection does.
249
+
250
+ A pinned total takes part — a total is a figure like any other, and selecting the
251
+ column it sums only to copy it separately is the wrong trade. It joins by press
252
+ or shift-click, but a drag will not sweep through it: a pinned row sits *over*
253
+ the scrolling ones and is last in the row order, so brushing it mid-drag would
254
+ otherwise snap the range to the whole rest of the grid.
255
+
256
+ (ag-grid excludes pinned rows from a range outright. This is a deliberate
257
+ departure.)
258
+
259
+ The structural columns — row numbers, the checkbox, the row-menu button — stay
260
+ out of every range. They are the grid's own furniture, not data.
261
+
262
+ `isCellSelectable` vetoes anything else. A total's label cell is the motivating
263
+ case — `"Total"` is a caption for the row, not a figure:
264
+
265
+ ```jsx
266
+ <DataTable
267
+ isCellSelectable={({ section, columnKey }) =>
268
+ !(section === 'pinnedBottom' && columnKey === 'region')
269
+ }
270
+ />
271
+ ```
272
+
273
+ A vetoed cell is **inert**, not merely unpainted: pressing it neither starts a
274
+ range nor disturbs the standing one, and it cannot be extended onto. A range that
275
+ spans it skips it and copies an empty field in its place, so the pasted block
276
+ keeps its shape.
277
+
278
+ ### Pagination With Totals
279
+
280
+ The total sits outside the page window, so it stays put as you move through the
281
+ pages and keeps summing the whole result rather than the rows on screen. It is
282
+ excluded from sorting for the same reason.
283
+
284
+ Copying reports the count in a toast, since nothing on screen changes when a copy
285
+ succeeds.
286
+
287
+ ### States
288
+
289
+ ## Accessibility
290
+
291
+ The table is a `role="grid"` with document-absolute `aria-rowindex` /
292
+ `aria-colindex`, and `aria-rowcount` counts pinned rows. Every sorted column
293
+ carries `aria-sort`, not just the first.
294
+
295
+ ## Related Components
296
+
297
+ - ItemTable — a list of things to act on.
298
+ - [Pagination](../navigation/Pagination.md) — the footer control.