@cube-dev/ui-kit 0.0.0-canary-34ce1a4 → 0.0.0-canary-7dc6906

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 (564) hide show
  1. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.js +1 -1
  16. package/dist/components/actions/Action/Action.js +1 -1
  17. package/dist/components/actions/Banner/Banner.js +1 -1
  18. package/dist/components/actions/Button/Button.js +10 -4
  19. package/dist/components/actions/Button/Button.js.map +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 +1 -1
  41. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  42. package/dist/components/content/Alert/Alert.js +1 -1
  43. package/dist/components/content/Alert/use-alert.js +1 -1
  44. package/dist/components/content/Avatar/Avatar.js +1 -1
  45. package/dist/components/content/Badge/Badge.js +1 -1
  46. package/dist/components/content/Card/Card.js +1 -1
  47. package/dist/components/content/Content.js +1 -1
  48. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  49. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  50. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  51. package/dist/components/content/Divider.js +1 -1
  52. package/dist/components/content/Footer.js +1 -1
  53. package/dist/components/content/Header.js +1 -1
  54. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  55. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  56. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  57. package/dist/components/content/Item/Item.d.ts +7 -0
  58. package/dist/components/content/Item/Item.js +13 -6
  59. package/dist/components/content/Item/Item.js.map +1 -1
  60. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  61. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  62. package/dist/components/content/Layout/GridLayout.js +1 -1
  63. package/dist/components/content/Layout/Layout.js +1 -1
  64. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  65. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  66. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  67. package/dist/components/content/Layout/LayoutContent.js +1 -1
  68. package/dist/components/content/Layout/LayoutContext.js +1 -1
  69. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  70. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  71. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  72. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  73. package/dist/components/content/Layout/LayoutPane.js +1 -1
  74. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  75. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  76. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  77. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  78. package/dist/components/content/Layout/index.js +1 -1
  79. package/dist/components/content/Layout/utils.js +1 -1
  80. package/dist/components/content/Paragraph.js +1 -1
  81. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  82. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  83. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  84. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  85. package/dist/components/content/Result/Result.js +1 -1
  86. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  87. package/dist/components/content/Tag/Tag.js +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 +41 -32
  100. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  101. package/dist/components/data/DataTable/DataTable.js +24 -82
  102. package/dist/components/data/DataTable/DataTable.js.map +1 -1
  103. package/dist/components/data/DataTable/types.d.ts +1 -56
  104. package/dist/components/data/ItemTable/ItemTable.js +5 -13
  105. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  106. package/dist/components/data/ItemTable/ItemTableBulkBar.js +3 -7
  107. package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
  108. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  109. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  110. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  111. package/dist/components/data/ItemTable/types.d.ts +0 -19
  112. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  113. package/dist/components/data/TableBase/RowCollection.js +3 -5
  114. package/dist/components/data/TableBase/RowCollection.js.map +1 -1
  115. package/dist/components/data/TableBase/TableRow.js +1 -1
  116. package/dist/components/data/TableBase/TableView.js +31 -192
  117. package/dist/components/data/TableBase/TableView.js.map +1 -1
  118. package/dist/components/data/TableBase/index.d.ts +2 -3
  119. package/dist/components/data/TableBase/row-menu.js +6 -11
  120. package/dist/components/data/TableBase/row-menu.js.map +1 -1
  121. package/dist/components/data/TableBase/styled.js +11 -44
  122. package/dist/components/data/TableBase/styled.js.map +1 -1
  123. package/dist/components/data/TableBase/types.d.ts +6 -104
  124. package/dist/components/data/TableBase/types.js +1 -1
  125. package/dist/components/data/TableBase/types.js.map +1 -1
  126. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  127. package/dist/components/data/TableBase/use-container-width.js +1 -1
  128. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  129. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  130. package/dist/components/data/TableBase/use-table-columns.js +2 -24
  131. package/dist/components/data/TableBase/use-table-columns.js.map +1 -1
  132. package/dist/components/data/TableBase/use-table-search.js +1 -1
  133. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  134. package/dist/components/data/TableBase/use-table-sort.js +1 -20
  135. package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
  136. package/dist/components/data/TableBase/use-table-sorts.js +1 -40
  137. package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
  138. package/dist/components/data/TableBase/use-table-storage.d.ts +1 -1
  139. package/dist/components/data/TableBase/use-table-storage.js +2 -6
  140. package/dist/components/data/TableBase/use-table-storage.js.map +1 -1
  141. package/dist/components/data/index.d.ts +1 -2
  142. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  143. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  144. package/dist/components/fields/Checkbox/context.js +1 -1
  145. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  146. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  147. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  148. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  149. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  150. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  151. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  152. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  153. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  154. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  155. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  156. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  157. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  158. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  159. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  160. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  161. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  162. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  163. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  164. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  165. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  166. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  167. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  168. package/dist/components/fields/DatePicker/period.js +1 -1
  169. package/dist/components/fields/DatePicker/props.js +1 -1
  170. package/dist/components/fields/DatePicker/utils.js +1 -1
  171. package/dist/components/fields/FileInput/FileInput.js +1 -1
  172. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  173. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  174. package/dist/components/fields/Input/Input.js +1 -1
  175. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  176. package/dist/components/fields/ListBox/ListBox.js +1 -1
  177. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  178. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  179. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  180. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  181. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  182. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  183. package/dist/components/fields/Picker/Picker.js +1 -1
  184. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  185. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  186. package/dist/components/fields/RadioGroup/context.js +1 -1
  187. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  188. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  189. package/dist/components/fields/Select/Select.js +1 -1
  190. package/dist/components/fields/Slider/Gradation.js +1 -1
  191. package/dist/components/fields/Slider/HueSlider.js +1 -1
  192. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  193. package/dist/components/fields/Slider/Slider.js +1 -1
  194. package/dist/components/fields/Slider/SliderBase.js +1 -1
  195. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  196. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  197. package/dist/components/fields/Slider/elements.js +1 -1
  198. package/dist/components/fields/Slider/index.js +1 -1
  199. package/dist/components/fields/Switch/Switch.js +1 -1
  200. package/dist/components/fields/TextArea/TextArea.js +1 -1
  201. package/dist/components/fields/TextInput/TextInput.js +1 -1
  202. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  203. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  204. package/dist/components/fields/color/ColorPanel.js +1 -1
  205. package/dist/components/fields/color/ColorSwatch.js +1 -1
  206. package/dist/components/fields/color/channels.js +1 -1
  207. package/dist/components/fields/color/color.js +1 -1
  208. package/dist/components/fields/color/context.js +1 -1
  209. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  210. package/dist/components/form/Form/Field.js +1 -1
  211. package/dist/components/form/Form/Form.js +1 -1
  212. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  213. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  214. package/dist/components/form/Form/SubmitError.js +1 -1
  215. package/dist/components/form/Form/index.js +1 -1
  216. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  217. package/dist/components/form/Form/use-field/use-field.js +1 -1
  218. package/dist/components/form/Form/use-form.js +1 -1
  219. package/dist/components/form/Form/validation.js +1 -1
  220. package/dist/components/form/Label.js +1 -1
  221. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  222. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  223. package/dist/components/form/validation/use-validation-props.js +1 -1
  224. package/dist/components/form/wrapper.js +1 -1
  225. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  226. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  227. package/dist/components/layout/Board/Board.js +1 -1
  228. package/dist/components/layout/Board/BoardProvider.js +1 -1
  229. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  230. package/dist/components/layout/Board/Widget.js +1 -1
  231. package/dist/components/layout/Board/WidgetHost.js +1 -1
  232. package/dist/components/layout/Board/board-context.js +1 -1
  233. package/dist/components/layout/Board/board-store.js +1 -1
  234. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  235. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  236. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  237. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  238. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  239. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  240. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  241. package/dist/components/layout/Board/index.js +1 -1
  242. package/dist/components/layout/Board/responsive-utils.js +1 -1
  243. package/dist/components/layout/Board/use-board-layout.js +1 -1
  244. package/dist/components/layout/Board/use-board-registry.js +1 -1
  245. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  246. package/dist/components/layout/Board/use-board-selection.js +1 -1
  247. package/dist/components/layout/Flex.js +1 -1
  248. package/dist/components/layout/Flow.js +1 -1
  249. package/dist/components/layout/Grid.js +1 -1
  250. package/dist/components/layout/Panel.js +1 -1
  251. package/dist/components/layout/Prefix.js +1 -1
  252. package/dist/components/layout/ResizablePanel.js +1 -1
  253. package/dist/components/layout/Space.js +1 -1
  254. package/dist/components/layout/Suffix.js +1 -1
  255. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  256. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  257. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  258. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  259. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  260. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  261. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  262. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  263. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  264. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  265. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  266. package/dist/components/navigation/Tabs/styled.js +1 -1
  267. package/dist/components/navigation/Tabs/types.js +1 -1
  268. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  269. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  270. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  271. package/dist/components/other/Calendar/Calendar.js +1 -1
  272. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  273. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  274. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  275. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  276. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  277. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  278. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  279. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  280. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  281. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  282. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  283. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  284. package/dist/components/overlays/Dialog/context.js +1 -1
  285. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  286. package/dist/components/overlays/Modal/Modal.js +1 -1
  287. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  288. package/dist/components/overlays/Modal/Overlay.js +1 -1
  289. package/dist/components/overlays/Modal/Popover.js +1 -1
  290. package/dist/components/overlays/Modal/Tray.js +1 -1
  291. package/dist/components/overlays/Modal/Underlay.js +1 -1
  292. package/dist/components/overlays/Notifications/Notification.js +1 -1
  293. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  294. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  295. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  296. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  297. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  298. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  299. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  300. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  301. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  302. package/dist/components/overlays/Notifications/index.js +1 -1
  303. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  304. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  305. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  306. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  307. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  308. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  309. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  310. package/dist/components/overlays/Toast/index.js +1 -1
  311. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  312. package/dist/components/overlays/Toast/useToast.js +1 -1
  313. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  314. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  315. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  316. package/dist/components/overlays/Tooltip/context.js +1 -1
  317. package/dist/components/portal/Portal.js +1 -1
  318. package/dist/components/portal/PortalProvider.js +1 -1
  319. package/dist/components/portal/usePortal.js +1 -1
  320. package/dist/components/shared/DraggableCollection.js +1 -1
  321. package/dist/components/shared/InvalidIcon.js +1 -1
  322. package/dist/components/shared/ValidIcon.js +1 -1
  323. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  324. package/dist/components/status/Spin/Cube.js +1 -1
  325. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  326. package/dist/components/status/Spin/Spin.js +1 -1
  327. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  328. package/dist/data/item-themes.js +1 -1
  329. package/dist/data/themes.js +1 -1
  330. package/dist/eslint-plugin/defaults.generated.js +1 -13
  331. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  332. package/dist/eslint-plugin/index.js +1 -1
  333. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  334. package/dist/i18n/I18nProvider.js +1 -1
  335. package/dist/i18n/createFormatter.js +1 -1
  336. package/dist/i18n/index.js +1 -1
  337. package/dist/i18n/instance.js +1 -1
  338. package/dist/i18n/locales/de-DE/uikit.js +1 -5
  339. package/dist/i18n/locales/en-US/uikit.js +1 -5
  340. package/dist/i18n/locales/en-US/uikit.json.d.ts +0 -4
  341. package/dist/i18n/locales/es-ES/uikit.js +1 -5
  342. package/dist/i18n/locales/es-MX/uikit.js +1 -5
  343. package/dist/i18n/locales/fr-FR/uikit.js +1 -5
  344. package/dist/i18n/locales/it-IT/uikit.js +1 -5
  345. package/dist/i18n/locales/ja-JP/uikit.js +1 -5
  346. package/dist/i18n/locales/nb-NO/uikit.js +1 -5
  347. package/dist/i18n/locales/pt-BR/uikit.js +1 -5
  348. package/dist/i18n/locales/pt-PT/uikit.js +1 -5
  349. package/dist/i18n/locales/sv-SE/uikit.js +1 -5
  350. package/dist/i18n/locales/vi-VN/uikit.js +1 -5
  351. package/dist/i18n/locales.js +1 -1
  352. package/dist/i18n/useFormatter.js +1 -1
  353. package/dist/i18n/useI18n.js +1 -1
  354. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  355. package/dist/icons/AdjustmentsIcon.js +1 -1
  356. package/dist/icons/AiIcon.js +1 -1
  357. package/dist/icons/AreaChartIcon.js +1 -1
  358. package/dist/icons/BackwardIcon.js +1 -1
  359. package/dist/icons/BarChartIcon.js +1 -1
  360. package/dist/icons/BellFilledIcon.js +1 -1
  361. package/dist/icons/BellIcon.js +1 -1
  362. package/dist/icons/BooleanIcon.js +1 -1
  363. package/dist/icons/CalendarEditIcon.js +1 -1
  364. package/dist/icons/CalendarIcon.js +1 -1
  365. package/dist/icons/CaretDownIcon.js +1 -1
  366. package/dist/icons/CaretUpIcon.js +1 -1
  367. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  368. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  369. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  370. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  371. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  372. package/dist/icons/ChartBarLineIcon.js +1 -1
  373. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  374. package/dist/icons/ChartBarStackedIcon.js +1 -1
  375. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  376. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  377. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  378. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  379. package/dist/icons/ChartBubbleIcon.js +1 -1
  380. package/dist/icons/ChartDonut2Icon.js +1 -1
  381. package/dist/icons/ChartFunnelIcon.js +1 -1
  382. package/dist/icons/ChartHeatmapIcon.js +1 -1
  383. package/dist/icons/ChartKPIIcon.js +1 -1
  384. package/dist/icons/ChartPie2Icon.js +1 -1
  385. package/dist/icons/ChartScatterIcon.js +1 -1
  386. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  387. package/dist/icons/CheckCircleIcon.js +1 -1
  388. package/dist/icons/CheckIcon.js +1 -1
  389. package/dist/icons/CircleFilledIcon.js +1 -1
  390. package/dist/icons/ClearIcon.js +1 -1
  391. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  392. package/dist/icons/CloseCircleIcon.js +1 -1
  393. package/dist/icons/CloseIcon.js +1 -1
  394. package/dist/icons/CodeIcon.js +1 -1
  395. package/dist/icons/ColumnTotalIcon.js +1 -1
  396. package/dist/icons/CopyIcon.js +1 -1
  397. package/dist/icons/CountIcon.js +1 -1
  398. package/dist/icons/CubeIcon.js +1 -1
  399. package/dist/icons/CubePauseIcon.js +1 -1
  400. package/dist/icons/CubePlayIcon.js +1 -1
  401. package/dist/icons/CurrencyDollarIcon.js +1 -1
  402. package/dist/icons/DangerIcon.js +1 -1
  403. package/dist/icons/DashboardIcon.js +1 -1
  404. package/dist/icons/DatabaseIcon.js +1 -1
  405. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  406. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  407. package/dist/icons/DirectionIcon.js +1 -1
  408. package/dist/icons/DonutIcon.js +1 -1
  409. package/dist/icons/DownIcon.js +1 -1
  410. package/dist/icons/EditIcon.js +1 -1
  411. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  412. package/dist/icons/ExclamationCircleIcon.js +1 -1
  413. package/dist/icons/ExclamationIcon.js +1 -1
  414. package/dist/icons/EyeIcon.js +1 -1
  415. package/dist/icons/EyeInvisibleIcon.js +1 -1
  416. package/dist/icons/FilterIcon.js +1 -1
  417. package/dist/icons/FolderFilledIcon.js +1 -1
  418. package/dist/icons/FolderIcon.js +1 -1
  419. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  420. package/dist/icons/FolderOpenIcon.js +1 -1
  421. package/dist/icons/ForwardIcon.js +1 -1
  422. package/dist/icons/GripVerticalIcon.js +1 -1
  423. package/dist/icons/HierarchyIcon.js +1 -1
  424. package/dist/icons/HierarchyOpenIcon.js +1 -1
  425. package/dist/icons/Icon.js +1 -1
  426. package/dist/icons/InfoCircleIcon.js +1 -1
  427. package/dist/icons/InfoIcon.js +1 -1
  428. package/dist/icons/KeyIcon.js +1 -1
  429. package/dist/icons/LeftIcon.js +1 -1
  430. package/dist/icons/LineChartIcon.js +1 -1
  431. package/dist/icons/LoadingIcon.js +1 -1
  432. package/dist/icons/LockFilledIcon.js +1 -1
  433. package/dist/icons/LockIcon.js +1 -1
  434. package/dist/icons/MoreIcon.js +1 -1
  435. package/dist/icons/NotAllowedIcon.js +1 -1
  436. package/dist/icons/Number123Icon.js +1 -1
  437. package/dist/icons/NumberIcon.js +1 -1
  438. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  439. package/dist/icons/PauseCircleIcon.js +1 -1
  440. package/dist/icons/PauseIcon.js +1 -1
  441. package/dist/icons/PercentageIcon.js +1 -1
  442. package/dist/icons/PieChartIcon.js +1 -1
  443. package/dist/icons/PipetteIcon.js +1 -1
  444. package/dist/icons/PlayCircleIcon.js +1 -1
  445. package/dist/icons/PlayIcon.js +1 -1
  446. package/dist/icons/PlusIcon.js +1 -1
  447. package/dist/icons/ProgressBarIcon.js +1 -1
  448. package/dist/icons/ReloadIcon.js +1 -1
  449. package/dist/icons/ReportIcon.js +1 -1
  450. package/dist/icons/ReturnIcon.js +1 -1
  451. package/dist/icons/RightIcon.js +1 -1
  452. package/dist/icons/RowTotalsIcon.js +1 -1
  453. package/dist/icons/SchemeIcon.js +1 -1
  454. package/dist/icons/SearchIcon.js +1 -1
  455. package/dist/icons/SemanticQueryIcon.js +1 -1
  456. package/dist/icons/SettingsIcon.js +1 -1
  457. package/dist/icons/ShieldFilledIcon.js +1 -1
  458. package/dist/icons/ShieldIcon.js +1 -1
  459. package/dist/icons/SlashIcon.js +1 -1
  460. package/dist/icons/SparklesIcon.js +1 -1
  461. package/dist/icons/SqlIcon.js +1 -1
  462. package/dist/icons/StatsIcon.js +1 -1
  463. package/dist/icons/StopIcon.js +1 -1
  464. package/dist/icons/StringIcon.js +1 -1
  465. package/dist/icons/SubtotalsIcon.js +1 -1
  466. package/dist/icons/SwitchIcon.js +1 -1
  467. package/dist/icons/TableIcon.js +1 -1
  468. package/dist/icons/ThumbsDownIcon.js +1 -1
  469. package/dist/icons/ThumbsUpIcon.js +1 -1
  470. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  471. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  472. package/dist/icons/ThunderboltIcon.js +1 -1
  473. package/dist/icons/TimeIcon.js +1 -1
  474. package/dist/icons/TrashIcon.js +1 -1
  475. package/dist/icons/UnlockIcon.js +1 -1
  476. package/dist/icons/UpIcon.js +1 -1
  477. package/dist/icons/UserGroupIcon.js +1 -1
  478. package/dist/icons/UserIcon.js +1 -1
  479. package/dist/icons/UserLockIcon.js +1 -1
  480. package/dist/icons/ViewIcon.js +1 -1
  481. package/dist/icons/WarningFilledIcon.js +1 -1
  482. package/dist/icons/WarningIcon.js +1 -1
  483. package/dist/icons/wrap-icon.js +1 -1
  484. package/dist/index.d.ts +3 -4
  485. package/dist/index.js +3 -4
  486. package/dist/index.js.map +1 -1
  487. package/dist/provider.js +1 -1
  488. package/dist/providers/TrackingProvider.js +1 -1
  489. package/dist/providers/navigationAdapter.default.js +1 -1
  490. package/dist/tokens/base.js +1 -1
  491. package/dist/tokens/colors.js +1 -1
  492. package/dist/tokens/index.d.ts +0 -1
  493. package/dist/tokens/index.js +1 -2
  494. package/dist/tokens/index.js.map +1 -1
  495. package/dist/tokens/layout.js +1 -1
  496. package/dist/tokens/lazy-styles.js +1 -1
  497. package/dist/tokens/palette-config.js +2 -2
  498. package/dist/tokens/palette.d.ts +1 -1
  499. package/dist/tokens/palette.js +2 -44
  500. package/dist/tokens/palette.js.map +1 -1
  501. package/dist/tokens/shadows.js +1 -1
  502. package/dist/tokens/sizes.js +1 -1
  503. package/dist/tokens/spacing.js +1 -1
  504. package/dist/tokens/typography.js +1 -1
  505. package/dist/utils/ResizeSensor.js +1 -1
  506. package/dist/utils/index.d.ts +1 -0
  507. package/dist/utils/is-dev-env.js +1 -1
  508. package/dist/utils/modules.js +1 -1
  509. package/dist/utils/promise.js +1 -1
  510. package/dist/utils/raf.js +1 -1
  511. package/dist/utils/random.js +1 -1
  512. package/dist/utils/range.js +1 -1
  513. package/dist/utils/react/RenderCache.js +1 -1
  514. package/dist/utils/react/Slots.js +1 -1
  515. package/dist/utils/react/chain.js +1 -1
  516. package/dist/utils/react/disabledProps.d.ts +49 -0
  517. package/dist/utils/react/disabledProps.js +82 -0
  518. package/dist/utils/react/disabledProps.js.map +1 -0
  519. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  520. package/dist/utils/react/index.d.ts +1 -0
  521. package/dist/utils/react/index.js +2 -1
  522. package/dist/utils/react/interactions.js +1 -1
  523. package/dist/utils/react/isTextOnly.js +1 -1
  524. package/dist/utils/react/mapProps.js +1 -1
  525. package/dist/utils/react/mergeProps.js +1 -1
  526. package/dist/utils/react/nullableValue.js +1 -1
  527. package/dist/utils/react/resolveIcon.js +1 -1
  528. package/dist/utils/react/sharedStore.js +1 -1
  529. package/dist/utils/react/useBufferedValue.js +1 -1
  530. package/dist/utils/react/useCombinedRefs.js +1 -1
  531. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  532. package/dist/utils/react/useEventBus.js +1 -1
  533. package/dist/utils/react/useId.js +1 -1
  534. package/dist/utils/react/useIsDarwin.js +1 -1
  535. package/dist/utils/react/useKeySymbols.js +1 -1
  536. package/dist/utils/react/useLayoutEffect.js +1 -1
  537. package/dist/utils/react/useLocalStorage.js +1 -1
  538. package/dist/utils/react/useMergeStyles.js +1 -1
  539. package/dist/utils/react/usePopoverSync.js +1 -1
  540. package/dist/utils/react/useQaProps.js +1 -1
  541. package/dist/utils/react/useViewportSize.js +1 -1
  542. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  543. package/dist/utils/selection.js +1 -1
  544. package/dist/utils/styles.js +1 -1
  545. package/dist/utils/tree.js +1 -1
  546. package/dist/utils/warnings.js +1 -1
  547. package/dist/version.js +2 -2
  548. package/docs/components/actions/Button.md +17 -0
  549. package/docs/components/content/Item.md +8 -1
  550. package/docs/components/data/DataTable.md +2 -118
  551. package/docs/components/data/ItemTable.md +5 -37
  552. package/package.json +1 -1
  553. package/dist/components/data/TableBase/TableHeaderCell.js +0 -115
  554. package/dist/components/data/TableBase/TableHeaderCell.js.map +0 -1
  555. package/dist/components/data/TableBase/column-menu.d.ts +0 -36
  556. package/dist/components/data/TableBase/column-menu.js +0 -104
  557. package/dist/components/data/TableBase/column-menu.js.map +0 -1
  558. package/dist/components/data/TableBase/column-tint.js +0 -168
  559. package/dist/components/data/TableBase/column-tint.js.map +0 -1
  560. package/dist/components/data/TableBase/use-column-order.js +0 -100
  561. package/dist/components/data/TableBase/use-column-order.js.map +0 -1
  562. package/dist/tokens/color-theme.d.ts +0 -86
  563. package/dist/tokens/color-theme.js +0 -156
  564. package/dist/tokens/color-theme.js.map +0 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { useRef } from "react";
3
3
  import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { mergeProps } from "./mergeProps.js";
3
3
  import { Children, cloneElement, createContext, useContext, useMemo } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  //#region src/utils/react/chain.ts
3
3
  /**
4
4
  * Calls all functions in the order they were chained with the same arguments.
@@ -0,0 +1,49 @@
1
+
2
+ import { Props } from "../../props.js";
3
+
4
+ //#region src/utils/react/disabledProps.d.ts
5
+ interface DisabledElementOptions {
6
+ /** Whether the component is disabled. */
7
+ isDisabled?: boolean;
8
+ /**
9
+ * Whether the element has to keep receiving pointer and focus events while
10
+ * disabled. Set it when the element hosts a tooltip: the tooltip is there to
11
+ * explain why the element is unavailable, so hover has to reach it.
12
+ */
13
+ keepEvents?: boolean;
14
+ /** The tag the component renders. */
15
+ as?: string;
16
+ }
17
+ interface DisabledElementProps {
18
+ /** Whether the element has to carry the native `disabled` attribute. */
19
+ isNativelyDisabled: boolean;
20
+ /**
21
+ * Whether the element is disabled through `aria-disabled` only and therefore
22
+ * has to be kept inert by hand.
23
+ */
24
+ isInert: boolean;
25
+ /** Props that mark the element disabled and inert. Spread them last. */
26
+ inertProps: Props;
27
+ }
28
+ /**
29
+ * Decides how the disabled state reaches the DOM.
30
+ *
31
+ * The native `disabled` attribute is the strongest option, but it also makes
32
+ * the browser swallow the events the element needs to open a tooltip. When
33
+ * such an element has to stay hoverable, it is marked `aria-disabled` instead
34
+ * and kept inert by blocking activation — the outcome a user sees is the same,
35
+ * except the tooltip now opens and screen readers still announce the state.
36
+ */
37
+ declare function getDisabledElementProps({
38
+ isDisabled,
39
+ keepEvents,
40
+ as
41
+ }: DisabledElementOptions): DisabledElementProps;
42
+ /**
43
+ * Removes the handlers that would activate an element which is disabled
44
+ * without the native attribute.
45
+ */
46
+ declare function omitActivationEventProps<T extends Props>(props: T): T;
47
+ //#endregion
48
+ export { DisabledElementOptions, DisabledElementProps, getDisabledElementProps, omitActivationEventProps };
49
+ //# sourceMappingURL=disabledProps.d.ts.map
@@ -0,0 +1,82 @@
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
+ //#region src/utils/react/disabledProps.ts
3
+ /**
4
+ * Tags where `disabled` is a real HTML attribute. Browsers refuse to dispatch
5
+ * mouse events on those elements while the attribute is set, so nothing that
6
+ * listens for hover — a tooltip trigger above all — ever hears from them.
7
+ * On every other tag the attribute is invalid markup that does nothing.
8
+ */
9
+ const FORM_CONTROL_TAGS = new Set([
10
+ "button",
11
+ "input",
12
+ "select",
13
+ "textarea",
14
+ "fieldset",
15
+ "option",
16
+ "optgroup"
17
+ ]);
18
+ /**
19
+ * Handlers that can activate an element. They are dropped while the element is
20
+ * disabled through `aria-disabled` alone, so it stays as inert as a natively
21
+ * disabled one.
22
+ */
23
+ const ACTIVATION_EVENT_PROPS = [
24
+ "onClick",
25
+ "onDoubleClick",
26
+ "onMouseDown",
27
+ "onMouseUp",
28
+ "onPointerDown",
29
+ "onPointerUp",
30
+ "onTouchStart",
31
+ "onTouchEnd",
32
+ "onKeyDown",
33
+ "onKeyUp",
34
+ "onKeyPress"
35
+ ];
36
+ function preventActivation(event) {
37
+ event.preventDefault();
38
+ }
39
+ const INERT_PROPS = {
40
+ "aria-disabled": true,
41
+ onClick: preventActivation
42
+ };
43
+ const EMPTY_PROPS = {};
44
+ /**
45
+ * Decides how the disabled state reaches the DOM.
46
+ *
47
+ * The native `disabled` attribute is the strongest option, but it also makes
48
+ * the browser swallow the events the element needs to open a tooltip. When
49
+ * such an element has to stay hoverable, it is marked `aria-disabled` instead
50
+ * and kept inert by blocking activation — the outcome a user sees is the same,
51
+ * except the tooltip now opens and screen readers still announce the state.
52
+ */
53
+ function getDisabledElementProps({ isDisabled, keepEvents, as = "div" }) {
54
+ if (!isDisabled) return {
55
+ isNativelyDisabled: false,
56
+ isInert: false,
57
+ inertProps: EMPTY_PROPS
58
+ };
59
+ if (FORM_CONTROL_TAGS.has(as) && !keepEvents) return {
60
+ isNativelyDisabled: true,
61
+ isInert: false,
62
+ inertProps: EMPTY_PROPS
63
+ };
64
+ return {
65
+ isNativelyDisabled: false,
66
+ isInert: true,
67
+ inertProps: INERT_PROPS
68
+ };
69
+ }
70
+ /**
71
+ * Removes the handlers that would activate an element which is disabled
72
+ * without the native attribute.
73
+ */
74
+ function omitActivationEventProps(props) {
75
+ const result = { ...props };
76
+ for (const prop of ACTIVATION_EVENT_PROPS) delete result[prop];
77
+ return result;
78
+ }
79
+
80
+ //#endregion
81
+ export { getDisabledElementProps, omitActivationEventProps };
82
+ //# sourceMappingURL=disabledProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disabledProps.js","names":[],"sources":["../../../src/utils/react/disabledProps.ts"],"sourcesContent":["import type { SyntheticEvent } from 'react';\nimport type { Props } from '../../props';\n\n/**\n * Tags where `disabled` is a real HTML attribute. Browsers refuse to dispatch\n * mouse events on those elements while the attribute is set, so nothing that\n * listens for hover — a tooltip trigger above all — ever hears from them.\n * On every other tag the attribute is invalid markup that does nothing.\n */\nconst FORM_CONTROL_TAGS = new Set([\n 'button',\n 'input',\n 'select',\n 'textarea',\n 'fieldset',\n 'option',\n 'optgroup',\n]);\n\n/**\n * Handlers that can activate an element. They are dropped while the element is\n * disabled through `aria-disabled` alone, so it stays as inert as a natively\n * disabled one.\n */\nconst ACTIVATION_EVENT_PROPS = [\n 'onClick',\n 'onDoubleClick',\n 'onMouseDown',\n 'onMouseUp',\n 'onPointerDown',\n 'onPointerUp',\n 'onTouchStart',\n 'onTouchEnd',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n] as const;\n\nfunction preventActivation(event: SyntheticEvent) {\n // Without the native attribute a click (or Enter/Space, which the browser\n // turns into a click) still runs the default action and would submit the\n // surrounding form.\n event.preventDefault();\n}\n\nconst INERT_PROPS: Props = {\n 'aria-disabled': true,\n onClick: preventActivation,\n};\n\nconst EMPTY_PROPS: Props = {};\n\nexport interface DisabledElementOptions {\n /** Whether the component is disabled. */\n isDisabled?: boolean;\n /**\n * Whether the element has to keep receiving pointer and focus events while\n * disabled. Set it when the element hosts a tooltip: the tooltip is there to\n * explain why the element is unavailable, so hover has to reach it.\n */\n keepEvents?: boolean;\n /** The tag the component renders. */\n as?: string;\n}\n\nexport interface DisabledElementProps {\n /** Whether the element has to carry the native `disabled` attribute. */\n isNativelyDisabled: boolean;\n /**\n * Whether the element is disabled through `aria-disabled` only and therefore\n * has to be kept inert by hand.\n */\n isInert: boolean;\n /** Props that mark the element disabled and inert. Spread them last. */\n inertProps: Props;\n}\n\n/**\n * Decides how the disabled state reaches the DOM.\n *\n * The native `disabled` attribute is the strongest option, but it also makes\n * the browser swallow the events the element needs to open a tooltip. When\n * such an element has to stay hoverable, it is marked `aria-disabled` instead\n * and kept inert by blocking activation — the outcome a user sees is the same,\n * except the tooltip now opens and screen readers still announce the state.\n */\nexport function getDisabledElementProps({\n isDisabled,\n keepEvents,\n as = 'div',\n}: DisabledElementOptions): DisabledElementProps {\n if (!isDisabled) {\n return {\n isNativelyDisabled: false,\n isInert: false,\n inertProps: EMPTY_PROPS,\n };\n }\n\n // The attribute only means something on form controls, and there it can be\n // kept whenever nothing depends on the element's events.\n if (FORM_CONTROL_TAGS.has(as) && !keepEvents) {\n return {\n isNativelyDisabled: true,\n isInert: false,\n inertProps: EMPTY_PROPS,\n };\n }\n\n return { isNativelyDisabled: false, isInert: true, inertProps: INERT_PROPS };\n}\n\n/**\n * Removes the handlers that would activate an element which is disabled\n * without the native attribute.\n */\nexport function omitActivationEventProps<T extends Props>(props: T): T {\n const result = { ...props };\n\n for (const prop of ACTIVATION_EVENT_PROPS) {\n delete result[prop];\n }\n\n return result;\n}\n"],"mappings":";;;;;;;;AASA,MAAM,oBAAoB,IAAI,IAAI;CAChC;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;;;;;;AAOF,MAAM,yBAAyB;CAC7B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,SAAS,kBAAkB,OAAuB;AAIhD,OAAM,gBAAgB;;AAGxB,MAAM,cAAqB;CACzB,iBAAiB;CACjB,SAAS;CACV;AAED,MAAM,cAAqB,EAAE;;;;;;;;;;AAoC7B,SAAgB,wBAAwB,EACtC,YACA,YACA,KAAK,SAC0C;AAC/C,KAAI,CAAC,WACH,QAAO;EACL,oBAAoB;EACpB,SAAS;EACT,YAAY;EACb;AAKH,KAAI,kBAAkB,IAAI,GAAG,IAAI,CAAC,WAChC,QAAO;EACL,oBAAoB;EACpB,SAAS;EACT,YAAY;EACb;AAGH,QAAO;EAAE,oBAAoB;EAAO,SAAS;EAAM,YAAY;EAAa;;;;;;AAO9E,SAAgB,yBAA0C,OAAa;CACrE,MAAM,SAAS,EAAE,GAAG,OAAO;AAE3B,MAAK,MAAM,QAAQ,uBACjB,QAAO,OAAO;AAGhB,QAAO"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  //#region src/utils/react/forwardRefWithGenerics.tsx
3
3
  /**
4
4
  * A helper for creating forwardRef components with generic types.
@@ -1,5 +1,6 @@
1
1
 
2
2
  import { chain } from "./chain.js";
3
+ import { DisabledElementOptions, DisabledElementProps, getDisabledElementProps, omitActivationEventProps } from "./disabledProps.js";
3
4
  import { forwardRefWithGenerics } from "./forwardRefWithGenerics.js";
4
5
  import { isTextOnly } from "./isTextOnly.js";
5
6
  import { mergeProps } from "./mergeProps.js";
@@ -1,5 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
+ import { getDisabledElementProps, omitActivationEventProps } from "./disabledProps.js";
3
4
  import { forwardRefWithGenerics } from "./forwardRefWithGenerics.js";
4
5
  import { isTextOnly } from "./isTextOnly.js";
5
6
  import { useLayoutEffect } from "./useLayoutEffect.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { useState } from "react";
3
3
  import { useFocus, useFocusVisible } from "react-aria";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { Children, isValidElement } from "react";
3
3
 
4
4
  //#region src/utils/react/isTextOnly.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  //#region src/utils/react/mapProps.ts
3
3
  /** Converts AriaButtonProps to CubeButtonProps */
4
4
  function ariaToCubeButtonProps(props) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { mergeIds } from "./useId.js";
4
4
  import { mergeStyles } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  //#region src/utils/react/nullableValue.ts
3
3
  function castNullableStringValue(props) {
4
4
  return castNullableField(props, ["value", "defaultValue"], "string", (v) => String(v));
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  //#region src/utils/react/resolveIcon.ts
3
3
  /**
4
4
  * Resolves a dynamic icon prop to its content and slot state.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { useCallback, useRef, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { useEffect, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useCombinedRefs.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { createSharedStore } from "./sharedStore.js";
3
3
  import { useEffect } from "react";
4
4
  import { useFocusVisible } from "react-aria";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useEventBus.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { useSSRSafeId } from "@react-aria/ssr";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useIsDarwin.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { useIsDarwin } from "./useIsDarwin.js";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import * as React$1 from "react";
3
3
 
4
4
  //#region src/utils/react/useLayoutEffect.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useCallback, useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { mergeStyles } from "@tenphi/tasty";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { EventBusContext, useEventBus } from "./useEventBus.js";
3
3
  import { useCallback, useContext, useEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  //#region src/utils/react/useQaProps.ts
3
3
  /**
4
4
  * Processes QA props.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useViewportSize.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  import { isValidElement } from "react";
3
3
  import { isFragment } from "react-is";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  //#region src/utils/selection.ts
3
3
  /**
4
4
  * Deduplicate/toggle keys in a selection: if a key appears twice it is
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  //#region src/utils/styles.ts
3
3
  /**
4
4
  * Split properties into style and non-style properties.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  //#region src/utils/tree.ts
3
3
  function toFlatTree(tree, includingFolders) {
4
4
  return tree.reduce((result, node) => {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  //#region src/utils/warnings.ts
3
3
  const SUGGESTED_PROP_MAP = {
4
4
  disabled: "isDisabled",
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-34ce1a4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7dc6906 | Cube Dev Team */
2
2
  //#region src/version.ts
3
- const VERSION = "0.0.0-canary-34ce1a4";
3
+ const VERSION = "0.0.0-canary-7dc6906";
4
4
  const TASTY_VERSION = "3.0.1";
5
5
  if (typeof window !== "undefined") {
6
6
  const version = VERSION;
@@ -179,8 +179,23 @@ import { IconPlus } from '@tabler/icons-react';
179
179
  <Button tooltip={true} width="100px">
180
180
  This text will be truncated
181
181
  </Button>;
182
+
183
+ {
184
+ /* Explain why the button is unavailable */
185
+ }
186
+ <Button isDisabled tooltip="Not enough permissions">
187
+ Delete
188
+ </Button>;
182
189
  ```
183
190
 
191
+ A disabled button keeps showing its tooltip. Browsers stop dispatching mouse
192
+ events on elements carrying the native `disabled` attribute, so a button that
193
+ has a tooltip is marked with `aria-disabled` instead and kept inert: `onPress`
194
+ never fires and clicks (including the ones Enter and Space produce) do nothing.
195
+ Such a button also stays in the tab order, so keyboard users can focus it and
196
+ read the tooltip. Buttons rendered as links (`to`) are always marked this way,
197
+ since `disabled` is not a valid attribute on an anchor.
198
+
184
199
  ### Custom Size
185
200
 
186
201
  ```jsx
@@ -212,6 +227,8 @@ import { IconPlus } from '@tabler/icons-react';
212
227
 
213
228
  - `aria-label`, `aria-labelledby` – Accessible name.
214
229
  - `aria-pressed` – Managed automatically when `isSelected` is used.
230
+ - `aria-disabled` – Announces the disabled state whenever the native `disabled`
231
+ attribute cannot be used: on links, and on buttons that carry a tooltip.
215
232
  - Additional ARIA attributes supported by React Aria's `useButton`.
216
233
 
217
234
  ## Behaviour Inside Popovers
@@ -388,8 +388,15 @@ By default, Item shows an auto tooltip when content overflows.
388
388
  >
389
389
  This shows custom tooltip only when text overflows
390
390
  </Item>
391
+
392
+ {/* Explain why the item is unavailable */}
393
+ <Item isDisabled tooltip="Available on the Enterprise plan">
394
+ Row-level security
395
+ </Item>
391
396
  ```
392
397
 
398
+ A disabled item keeps showing its tooltip — that is usually where the reason for being unavailable is written. Browsers stop dispatching mouse events on elements carrying the native `disabled` attribute, so an item that has a tooltip is marked with `aria-disabled` instead and kept inert: activation handlers are dropped and clicks (including the ones Enter and Space produce) do nothing.
399
+
393
400
  ## Accessibility
394
401
 
395
402
  ### Keyboard Navigation
@@ -408,7 +415,7 @@ By default, Item shows an auto tooltip when content overflows.
408
415
  ### ARIA Properties
409
416
 
410
417
  - `aria-label` - Provides accessible label when no visible label exists
411
- - `aria-disabled` - Indicates disabled state
418
+ - `aria-disabled` - Indicates disabled state. The native `disabled` attribute is only added on top of it when the item renders as a form control (`as="button"`, for instance) and has no tooltip to keep hoverable
412
419
  - `aria-selected` - Indicates selection state when applicable
413
420
  - `tabIndex` - Controls focus behavior
414
421
 
@@ -61,8 +61,7 @@ and everything it knows about the query, in Cloud.
61
61
 
62
62
  - **`shape`** `'plain' | 'card'` (default: `'plain'`)
63
63
  - **`size`** `SizeName` (default: `'small'`) — An analytical grid packs more rows than a list.
64
- - **`rowSize`** `'small' | 'medium' | 'large'` — Row height as a named step: 28px / 32px / 40px. Rows only; the header keeps answering to `size`. Unset, the height comes from `size`.
65
- - **`rowHeight`** `number` — An exact height, when none of the named steps is the answer. Wins over both `rowSize` and `size`.
64
+ - **`rowHeight`** `number` — Overrides the height implied by `size`.
66
65
  - **`headerHeight`** `number`
67
66
  - **`isStriped`** `boolean` (default: `true`) — Banding is what makes a wide row readable across.
68
67
  - **`isHeaderHidden`** `boolean`
@@ -110,20 +109,6 @@ and everything it knows about the query, in Cloud.
110
109
  - **`columnWidths`** `Record<string, number>`
111
110
  - **`defaultColumnWidths`** `Record<string, number>`
112
111
  - **`onColumnResize`** `(columnKey: string, width: number, all: Record<string, number>) => void`
113
- - **`isColumnReorderable`** `boolean` (default: `false`) — Drag column headers sideways to reorder them.
114
- - **`columnOrder`** `string[]` — Controlled order, as column keys. Works with or without dragging.
115
- - **`defaultColumnOrder`** `string[]`
116
- - **`onColumnOrderChange`** `(order: string[]) => void` — The full key list, including hidden and pinned columns.
117
-
118
- Per column, on `CubeDataTableColumn`: `isReorderable`, `color` and `colorScope` —
119
- see [Column Colors](#column-colors) for the last two.
120
-
121
- #### Column menu
122
-
123
- - **`columnContextMenu`** `boolean | 'context-only'` (default: `true`) — Where a column's `header.menu` is exposed.
124
- - **`onColumnMenuAction`** `(action: string, columnKey: string) => void` — The pressed key, as written.
125
- - **`columnMenuTriggerProps`** `Record<string, any>`
126
- - **`columnMenuProps`** `Record<string, any>`
127
112
 
128
113
  #### Virtualization
129
114
 
@@ -134,7 +119,7 @@ see [Column Colors](#column-colors) for the last two.
134
119
  #### Other
135
120
 
136
121
  - **`getRowProps`** `(ctx: CubeTableRowContext<T>) => Record<string, any>` — Per-row mods, styles and height.
137
- - **`storageKey`** `string` — Persists page size, column widths and column order.
122
+ - **`storageKey`** `string` — Persists page size and column widths.
138
123
  - **`ariaLabel`** `string`
139
124
 
140
125
  #### `dataType`
@@ -301,113 +286,12 @@ succeeds.
301
286
 
302
287
  ### States
303
288
 
304
- ### Sorting Affordance
305
-
306
- A sortable header shows nothing at rest. Hover it — or focus it from the keyboard
307
- — and the sort arrow fades in at 40%, pointing the way a press would sort it
308
- (ascending, for a column that is currently unsorted). Press it and the arrow goes
309
- solid and stays that way with the pointer gone, which is what separates a hint
310
- from a state.
311
-
312
- The arrow keeps its slot throughout, so none of this shifts the label. A
313
- non-sortable column has no arrow at all — the hint is not a reason to render one.
314
-
315
- ### Column Menu
316
-
317
- A column exposes a menu through `header.menu`, opened from a `⋮` trigger in the
318
- header, by right-click, or with `Shift`+`F10`. The contents are opaque — the grid
319
- mounts the node and reports the pressed key back through `onColumnMenuAction`,
320
- which is what keeps Cube vocabulary out of the kit.
321
-
322
- Sorting is the exception, because it is the one thing the table itself can do.
323
- `columnSortMenu()` returns `sort-asc` / `sort-desc` / `clear-sort` items that the
324
- table labels from the current locale, disables when they would do nothing, and
325
- applies before telling the consumer. Everything else is yours:
326
-
327
- ```tsx
328
- import { columnSortMenu, Menu } from '@cube-dev/ui-kit';
329
-
330
- const columns = [
331
- {
332
- key: 'revenue',
333
- title: 'Revenue',
334
- isSortable: true,
335
- header: {
336
- menu: (
337
- <>
338
- {columnSortMenu()}
339
- <Menu.Item key="pin">Pin column</Menu.Item>
340
- </>
341
- ),
342
- },
343
- },
344
- ];
345
-
346
- <DataTable
347
- columns={columns}
348
- onColumnMenuAction={(action, columnKey) => {
349
- if (action === 'pin') pinColumn(columnKey);
350
- }}
351
- />;
352
- ```
353
-
354
- Pressing the trigger never sorts the column: the header's `Item` swallows the
355
- click, which is why it sits *inside* the `<th>` rather than being it.
356
-
357
- ### Column Reordering
358
-
359
- `isColumnReorderable` lets a user drag a header sideways, or move the focused
360
- column with `Alt`+`←` / `→`. Clicking still sorts and the resize handle still
361
- resizes.
362
-
363
- Structural and pinned columns stay put — `pin` is already the ordering authority
364
- for a pinned column — and a single column opts out with `isReorderable: false`.
365
- `columnOrder` works on its own too, so a column manager elsewhere in the page can
366
- drive the order without any dragging.
367
-
368
- A stale order is safe: keys for columns that no longer exist are ignored, and a
369
- column missing from the list lands after the neighbour it had in `columns`
370
- rather than being swept to the end.
371
-
372
- ### Column Colors
373
-
374
- `column.color` tints a whole column — header, cells and pinned totals. It takes a
375
- palette theme name, any CSS color, a `{ hue, saturation }` seed, or a
376
- `{ fill, text }` pair for full manual control.
377
-
378
- Every form but the last is *derived*: only the hue and saturation are kept, and
379
- the tone ramp plus an AA/AAA text floor are re-solved for light, dark and
380
- high-contrast. A column cannot end up unreadable in a scheme nobody checked.
381
-
382
- ```tsx
383
- const columns = [
384
- { key: 'orders', title: 'Orders', color: 'note' },
385
- { key: 'revenue', title: 'Revenue', color: 'success' },
386
- { key: 'conversion', title: 'Conversion', color: '#0ea5e9' },
387
- // Header only, cells left neutral.
388
- { key: 'region', title: 'Region', color: 'danger', colorScope: ['header'] },
389
- ];
390
- ```
391
-
392
- Row banding survives inside a tinted column: the tint carries its own band one
393
- tone step away, so the stripe still reads down the column instead of being
394
- painted over.
395
-
396
- Under the hood each distinct color becomes a small adaptive theme named by a hash
397
- of its config, registered once per document — so ten columns sharing a color cost
398
- one set of tokens. That machinery is public as `useColorTheme` if you want it
399
- elsewhere.
400
-
401
289
  ## Accessibility
402
290
 
403
291
  The table is a `role="grid"` with document-absolute `aria-rowindex` /
404
292
  `aria-colindex`, and `aria-rowcount` counts pinned rows. Every sorted column
405
293
  carries `aria-sort`, not just the first.
406
294
 
407
- A header cell takes a tab stop when it is interactive — sortable, carrying a
408
- menu, or reorderable. `Shift`+`F10` opens the column menu from the keyboard, and
409
- `Alt`+`←` / `→` moves a reorderable column, so neither needs a pointer.
410
-
411
295
  ## Related Components
412
296
 
413
297
  - ItemTable — a list of things to act on.