@cube-dev/ui-kit 0.193.1 → 0.194.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 (671) hide show
  1. package/dist/CHANGELOG.md +28 -0
  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.d.ts +25 -12
  12. package/dist/components/CollectionItem.js +59 -4
  13. package/dist/components/CollectionItem.js.map +1 -1
  14. package/dist/components/GlobalStyles.js +1 -1
  15. package/dist/components/GridProvider.js +1 -1
  16. package/dist/components/HiddenInput.js +1 -1
  17. package/dist/components/Root.js +2 -2
  18. package/dist/components/actions/Action/Action.js +1 -1
  19. package/dist/components/actions/Banner/Banner.d.ts +1 -1
  20. package/dist/components/actions/Banner/Banner.js +6 -6
  21. package/dist/components/actions/Banner/Banner.js.map +1 -1
  22. package/dist/components/actions/Button/Button.js +1 -1
  23. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  24. package/dist/components/actions/ButtonSplit/ButtonSplit.js +28 -25
  25. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  26. package/dist/components/actions/ButtonSplit/context.js +1 -1
  27. package/dist/components/actions/CommandMenu/CommandMenu.d.ts +7 -7
  28. package/dist/components/actions/CommandMenu/CommandMenu.js +232 -239
  29. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  30. package/dist/components/actions/CommandMenu/styled.js +1 -1
  31. package/dist/components/actions/ItemAction/ItemAction.js +26 -22
  32. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  33. package/dist/components/actions/ItemActionContext.d.ts +3 -0
  34. package/dist/components/actions/ItemActionContext.js +15 -13
  35. package/dist/components/actions/ItemActionContext.js.map +1 -1
  36. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  37. package/dist/components/actions/ItemButton/ItemButton.d.ts +2 -2
  38. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  39. package/dist/components/actions/Link/Link.js +1 -1
  40. package/dist/components/actions/Menu/Menu.d.ts +9 -9
  41. package/dist/components/actions/Menu/Menu.js +88 -64
  42. package/dist/components/actions/Menu/Menu.js.map +1 -1
  43. package/dist/components/actions/Menu/MenuCollectionItem.d.ts +18 -0
  44. package/dist/components/actions/Menu/MenuCollectionItem.js +36 -0
  45. package/dist/components/actions/Menu/MenuCollectionItem.js.map +1 -0
  46. package/dist/components/actions/Menu/MenuItem.d.ts +5 -0
  47. package/dist/components/actions/Menu/MenuItem.js +402 -116
  48. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  49. package/dist/components/actions/Menu/MenuSection.d.ts +3 -1
  50. package/dist/components/actions/Menu/MenuSection.js +31 -33
  51. package/dist/components/actions/Menu/MenuSection.js.map +1 -1
  52. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  53. package/dist/components/actions/Menu/SubMenuTrigger.d.ts +1 -1
  54. package/dist/components/actions/Menu/SubMenuTrigger.js +2 -2
  55. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  56. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  57. package/dist/components/actions/Menu/context.js +1 -1
  58. package/dist/components/actions/Menu/index.d.ts +1 -0
  59. package/dist/components/actions/Menu/styled.js +1 -1
  60. package/dist/components/actions/actions-run.js +1 -1
  61. package/dist/components/actions/index.d.ts +3 -2
  62. package/dist/components/actions/index.js +1 -1
  63. package/dist/components/actions/use-action.js +60 -36
  64. package/dist/components/actions/use-action.js.map +1 -1
  65. package/dist/components/actions/use-anchored-menu.js +1 -1
  66. package/dist/components/actions/use-context-menu.js +1 -1
  67. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  68. package/dist/components/content/Alert/Alert.js +1 -1
  69. package/dist/components/content/Alert/use-alert.js +1 -1
  70. package/dist/components/content/Avatar/Avatar.js +1 -1
  71. package/dist/components/content/Badge/Badge.js +1 -1
  72. package/dist/components/content/Card/Card.js +1 -1
  73. package/dist/components/content/Content.js +1 -1
  74. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  75. package/dist/components/content/CopySnippet/CopySnippet.d.ts +19 -19
  76. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  77. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  78. package/dist/components/content/Divider.js +1 -1
  79. package/dist/components/content/Footer.js +1 -1
  80. package/dist/components/content/Header.js +1 -1
  81. package/dist/components/content/HotKeys/HotKeys.js +44 -33
  82. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  83. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  84. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  85. package/dist/components/content/Item/Item.d.ts +7 -7
  86. package/dist/components/content/Item/Item.js +205 -67
  87. package/dist/components/content/Item/Item.js.map +1 -1
  88. package/dist/components/content/Item/ItemWithNativeLinks.js +314 -0
  89. package/dist/components/content/Item/ItemWithNativeLinks.js.map +1 -0
  90. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  91. package/dist/components/content/ItemCard/ItemCard.d.ts +1 -1
  92. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  93. package/dist/components/content/Layout/GridLayout.js +1 -1
  94. package/dist/components/content/Layout/Layout.js +1 -1
  95. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  96. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  97. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  98. package/dist/components/content/Layout/LayoutContent.js +1 -1
  99. package/dist/components/content/Layout/LayoutContext.js +1 -1
  100. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  101. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  102. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  103. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  104. package/dist/components/content/Layout/LayoutPane.js +18 -15
  105. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  106. package/dist/components/content/Layout/LayoutPanel.js +41 -46
  107. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  108. package/dist/components/content/Layout/LayoutPanelHeader.js +2 -2
  109. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  110. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  111. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  112. package/dist/components/content/Layout/index.js +1 -1
  113. package/dist/components/content/Layout/utils.js +1 -1
  114. package/dist/components/content/Paragraph.js +1 -1
  115. package/dist/components/content/Placeholder/Placeholder.js +77 -70
  116. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  117. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  118. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  119. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  120. package/dist/components/content/Result/Result.js +5 -5
  121. package/dist/components/content/Result/Result.js.map +1 -1
  122. package/dist/components/content/Skeleton/Skeleton.js +18 -19
  123. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  124. package/dist/components/content/Tag/Tag.js +2 -2
  125. package/dist/components/content/Text.d.ts +14 -14
  126. package/dist/components/content/Text.js +1 -1
  127. package/dist/components/content/TextItem/TextItem.js +1 -1
  128. package/dist/components/content/Title.js +66 -48
  129. package/dist/components/content/Title.js.map +1 -1
  130. package/dist/components/content/Tree/Tree.js +6 -3
  131. package/dist/components/content/Tree/Tree.js.map +1 -1
  132. package/dist/components/content/Tree/TreeNode.js +1 -1
  133. package/dist/components/content/Tree/styled.js +1 -1
  134. package/dist/components/content/Tree/tree-index.js +1 -1
  135. package/dist/components/content/Tree/types.d.ts +2 -2
  136. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  137. package/dist/components/content/Tree/use-load-data.js +1 -1
  138. package/dist/components/content/highlightText.js +1 -1
  139. package/dist/components/content/use-auto-tooltip.js +1 -1
  140. package/dist/components/data/DataTable/DataTable.js +1 -1
  141. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  142. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  143. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  144. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  145. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  146. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  147. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  148. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  149. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  150. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  151. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  152. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  153. package/dist/components/data/TableBase/RowCollection.js +1 -1
  154. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  155. package/dist/components/data/TableBase/TableRow.js +1 -1
  156. package/dist/components/data/TableBase/TableView.js +39 -19
  157. package/dist/components/data/TableBase/TableView.js.map +1 -1
  158. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  159. package/dist/components/data/TableBase/column-header.js +1 -1
  160. package/dist/components/data/TableBase/column-menu.js +1 -1
  161. package/dist/components/data/TableBase/column-styles.js +1 -1
  162. package/dist/components/data/TableBase/column-tint.js +1 -1
  163. package/dist/components/data/TableBase/row-menu.js +1 -1
  164. package/dist/components/data/TableBase/styled.d.ts +1 -1
  165. package/dist/components/data/TableBase/styled.js +14 -1
  166. package/dist/components/data/TableBase/styled.js.map +1 -1
  167. package/dist/components/data/TableBase/table-tree.js +1 -1
  168. package/dist/components/data/TableBase/types.js +1 -1
  169. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  170. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  171. package/dist/components/data/TableBase/use-column-order.js +1 -1
  172. package/dist/components/data/TableBase/use-column-window.js +219 -0
  173. package/dist/components/data/TableBase/use-column-window.js.map +1 -0
  174. package/dist/components/data/TableBase/use-container-width.js +1 -1
  175. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  176. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  177. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  178. package/dist/components/data/TableBase/use-table-search.js +1 -1
  179. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  180. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  181. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  182. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  183. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +32 -19
  184. package/dist/components/data/TableBase/use-table-tooltip-refresh.js.map +1 -1
  185. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  186. package/dist/components/fields/Checkbox/Checkbox.js +3 -1
  187. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  188. package/dist/components/fields/Checkbox/CheckboxGroup.js +13 -13
  189. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  190. package/dist/components/fields/Checkbox/context.js +1 -1
  191. package/dist/components/fields/ColorInput/ColorInput.js +32 -29
  192. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  193. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +2 -0
  194. package/dist/components/fields/ColorPicker/ColorPicker.js +8 -5
  195. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  196. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  197. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +6 -3
  198. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  199. package/dist/components/fields/ComboBox/ComboBox.js +41 -30
  200. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  201. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  202. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  203. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  204. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  205. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  206. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  207. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  208. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  209. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  210. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  211. package/dist/components/fields/DatePicker/DateRangePicker.js +2 -2
  212. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +246 -238
  213. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  214. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  215. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  216. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  217. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  218. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  219. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  220. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  221. package/dist/components/fields/DatePicker/period.js +1 -1
  222. package/dist/components/fields/DatePicker/props.js +1 -1
  223. package/dist/components/fields/DatePicker/utils.js +1 -1
  224. package/dist/components/fields/FileInput/FileInput.js +22 -2
  225. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  226. package/dist/components/fields/FilterListBox/FilterListBox.js +5 -1
  227. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  228. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +4 -2
  229. package/dist/components/fields/FilterPicker/FilterPicker.js +3 -2
  230. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  231. package/dist/components/fields/Input/Input.js +1 -1
  232. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  233. package/dist/components/fields/ListBox/ListBox.js +8 -7
  234. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  235. package/dist/components/fields/ListBox/optionId.js +1 -1
  236. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +36 -32
  237. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  238. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  239. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  240. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  241. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  242. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  243. package/dist/components/fields/Picker/Picker.d.ts +4 -2
  244. package/dist/components/fields/Picker/Picker.js +3 -2
  245. package/dist/components/fields/Picker/Picker.js.map +1 -1
  246. package/dist/components/fields/RadioGroup/Radio.d.ts +24 -24
  247. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  248. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  249. package/dist/components/fields/RadioGroup/context.js +1 -1
  250. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  251. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  252. package/dist/components/fields/Select/Select.d.ts +4 -4
  253. package/dist/components/fields/Select/Select.js +35 -32
  254. package/dist/components/fields/Select/Select.js.map +1 -1
  255. package/dist/components/fields/Slider/Gradation.js +1 -1
  256. package/dist/components/fields/Slider/HueSlider.js +1 -1
  257. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  258. package/dist/components/fields/Slider/Slider.js +1 -1
  259. package/dist/components/fields/Slider/SliderBase.js +1 -1
  260. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  261. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  262. package/dist/components/fields/Slider/elements.js +1 -1
  263. package/dist/components/fields/Slider/index.js +1 -1
  264. package/dist/components/fields/Switch/Switch.js +1 -1
  265. package/dist/components/fields/TagInput/TagInput.js +1 -1
  266. package/dist/components/fields/TagInput/TagList.js +1 -1
  267. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  268. package/dist/components/fields/TagInput/useTagError.js +1 -1
  269. package/dist/components/fields/TextArea/TextArea.js +1 -1
  270. package/dist/components/fields/TextInput/TextInput.js +1 -1
  271. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  272. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  273. package/dist/components/fields/TextInputMapper/TextInputMapper.js +13 -5
  274. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  275. package/dist/components/fields/TriggerActions.js +1 -1
  276. package/dist/components/fields/color/ColorPanel.js +62 -53
  277. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  278. package/dist/components/fields/color/channels.js +1 -1
  279. package/dist/components/fields/color/color.js +1 -1
  280. package/dist/components/fields/color/context.js +1 -1
  281. package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +1 -0
  282. package/dist/components/form/FieldWrapper/FieldWrapper.js +133 -109
  283. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  284. package/dist/components/form/FieldWrapper/field-description.js +102 -0
  285. package/dist/components/form/FieldWrapper/field-description.js.map +1 -0
  286. package/dist/components/form/FieldWrapper/types.d.ts +6 -1
  287. package/dist/components/form/Form/Field.js +1 -1
  288. package/dist/components/form/Form/Form.js +1 -1
  289. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  290. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  291. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  292. package/dist/components/form/Form/SubmitError.js +1 -1
  293. package/dist/components/form/Form/backend.js +1 -1
  294. package/dist/components/form/Form/index.js +1 -1
  295. package/dist/components/form/Form/modern/actions.js +1 -1
  296. package/dist/components/form/Form/modern/context.js +1 -1
  297. package/dist/components/form/Form/modern/controller.js +1 -1
  298. package/dist/components/form/Form/modern/field-binding.js +1 -1
  299. package/dist/components/form/Form/modern/field.js +1 -1
  300. package/dist/components/form/Form/modern/react.js +1 -1
  301. package/dist/components/form/Form/modern/store.js +1 -1
  302. package/dist/components/form/Form/modern/validation.js +1 -1
  303. package/dist/components/form/Form/modern/values.js +1 -1
  304. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  305. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  306. package/dist/components/form/Form/use-field/use-field-props.js +17 -4
  307. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  308. package/dist/components/form/Form/use-field/use-field.js +1 -1
  309. package/dist/components/form/Form/use-form.js +1 -1
  310. package/dist/components/form/Form/validation.js +1 -1
  311. package/dist/components/form/Label.js +27 -24
  312. package/dist/components/form/Label.js.map +1 -1
  313. package/dist/components/form/legacy-tooltip.js +1 -1
  314. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  315. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  316. package/dist/components/form/validation/use-validation-props.js +1 -1
  317. package/dist/components/form/wrapper.js +2 -1
  318. package/dist/components/form/wrapper.js.map +1 -1
  319. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  320. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  321. package/dist/components/layout/Flex.js +1 -1
  322. package/dist/components/layout/Flow.js +1 -1
  323. package/dist/components/layout/Grid.js +1 -1
  324. package/dist/components/layout/Panel.js +1 -1
  325. package/dist/components/layout/Prefix.js +1 -1
  326. package/dist/components/layout/ResizablePanel.js +1 -1
  327. package/dist/components/layout/Space.js +1 -1
  328. package/dist/components/layout/Suffix.js +1 -1
  329. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  330. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  331. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  332. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  333. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  334. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  335. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  336. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  337. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  338. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  339. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  340. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  341. package/dist/components/navigation/Tabs/styled.js +1 -1
  342. package/dist/components/navigation/Tabs/types.d.ts +3 -3
  343. package/dist/components/navigation/Tabs/types.js +1 -1
  344. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  345. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  346. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  347. package/dist/components/other/Calendar/Calendar.js +1 -1
  348. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  349. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  350. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  351. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  352. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  353. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  354. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  355. package/dist/components/other/Calendar/styled.js +1 -1
  356. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  357. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  358. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  359. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  360. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  361. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  362. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  363. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  364. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  365. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  366. package/dist/components/overlays/Dialog/context.js +1 -1
  367. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  368. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  369. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  370. package/dist/components/overlays/Modal/Modal.js +44 -24
  371. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  372. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  373. package/dist/components/overlays/Modal/Overlay.js +1 -1
  374. package/dist/components/overlays/Modal/Popover.js +34 -24
  375. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  376. package/dist/components/overlays/Modal/Tray.js +45 -25
  377. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  378. package/dist/components/overlays/Modal/Underlay.js +1 -1
  379. package/dist/components/overlays/Modal/modal-containment.js +145 -0
  380. package/dist/components/overlays/Modal/modal-containment.js.map +1 -0
  381. package/dist/components/overlays/Notifications/Notification.js +1 -1
  382. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  383. package/dist/components/overlays/Notifications/NotificationCard.js +2 -2
  384. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  385. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  386. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  387. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  388. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  389. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  390. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  391. package/dist/components/overlays/Notifications/index.js +1 -1
  392. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  393. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  394. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  395. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  396. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  397. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  398. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  399. package/dist/components/overlays/Toast/index.js +1 -1
  400. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  401. package/dist/components/overlays/Toast/useToast.js +1 -1
  402. package/dist/components/overlays/Tooltip/Tooltip.js +50 -47
  403. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  404. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  405. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  406. package/dist/components/overlays/Tooltip/context.js +1 -1
  407. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  408. package/dist/components/portal/Portal.js +1 -1
  409. package/dist/components/portal/PortalProvider.js +1 -1
  410. package/dist/components/portal/usePortal.js +1 -1
  411. package/dist/components/shared/DraggableCollection.js +1 -1
  412. package/dist/components/shared/InvalidIcon.js +1 -1
  413. package/dist/components/shared/ValidIcon.js +1 -1
  414. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  415. package/dist/components/status/Spin/Cube.js +1 -1
  416. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  417. package/dist/components/status/Spin/Spin.js +1 -1
  418. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  419. package/dist/data/item-themes.js +1 -1
  420. package/dist/data/themes.js +1 -1
  421. package/dist/eslint-plugin/defaults.generated.js +2 -2
  422. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  423. package/dist/eslint-plugin/index.js +1 -1
  424. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  425. package/dist/i18n/I18nProvider.js +3 -2
  426. package/dist/i18n/I18nProvider.js.map +1 -1
  427. package/dist/i18n/createFormatter.js +1 -1
  428. package/dist/i18n/index.d.ts +2 -1
  429. package/dist/i18n/index.js +3 -2
  430. package/dist/i18n/index.js.map +1 -1
  431. package/dist/i18n/instance.d.ts +2 -3
  432. package/dist/i18n/instance.js +3 -4
  433. package/dist/i18n/instance.js.map +1 -1
  434. package/dist/i18n/locales/de-DE/uikit.js +36 -5
  435. package/dist/i18n/locales/en-US/uikit.js +36 -5
  436. package/dist/i18n/locales/en-US/uikit.json.d.ts +41 -4
  437. package/dist/i18n/locales/es-ES/uikit.js +36 -5
  438. package/dist/i18n/locales/es-MX/uikit.js +36 -5
  439. package/dist/i18n/locales/fr-FR/uikit.js +36 -5
  440. package/dist/i18n/locales/it-IT/uikit.js +36 -5
  441. package/dist/i18n/locales/ja-JP/uikit.js +36 -5
  442. package/dist/i18n/locales/nb-NO/uikit.js +36 -5
  443. package/dist/i18n/locales/pt-BR/uikit.js +36 -5
  444. package/dist/i18n/locales/pt-PT/uikit.js +36 -5
  445. package/dist/i18n/locales/sv-SE/uikit.js +36 -5
  446. package/dist/i18n/locales/vi-VN/uikit.js +36 -5
  447. package/dist/i18n/locales.js +1 -1
  448. package/dist/i18n/namespace.d.ts +11 -0
  449. package/dist/i18n/namespace.js +12 -0
  450. package/dist/i18n/namespace.js.map +1 -0
  451. package/dist/i18n/useFormatter.js +1 -1
  452. package/dist/i18n/useI18n.js +5 -3
  453. package/dist/i18n/useI18n.js.map +1 -1
  454. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  455. package/dist/icons/AdjustmentsIcon.js +1 -1
  456. package/dist/icons/AiIcon.js +1 -1
  457. package/dist/icons/AreaChartIcon.js +1 -1
  458. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  459. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  460. package/dist/icons/BackwardIcon.js +1 -1
  461. package/dist/icons/BarChartIcon.js +1 -1
  462. package/dist/icons/BellFilledIcon.js +1 -1
  463. package/dist/icons/BellIcon.js +1 -1
  464. package/dist/icons/BooleanIcon.js +1 -1
  465. package/dist/icons/CalendarEditIcon.js +1 -1
  466. package/dist/icons/CalendarIcon.js +1 -1
  467. package/dist/icons/CaretDownIcon.js +1 -1
  468. package/dist/icons/CaretUpIcon.js +1 -1
  469. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  470. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  471. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  472. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  473. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  474. package/dist/icons/ChartBarLineIcon.js +1 -1
  475. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  476. package/dist/icons/ChartBarStackedIcon.js +1 -1
  477. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  478. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  479. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  480. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  481. package/dist/icons/ChartBubbleIcon.js +1 -1
  482. package/dist/icons/ChartDonut2Icon.js +1 -1
  483. package/dist/icons/ChartFunnelIcon.js +1 -1
  484. package/dist/icons/ChartHeatmapIcon.js +1 -1
  485. package/dist/icons/ChartKPIIcon.js +1 -1
  486. package/dist/icons/ChartPie2Icon.js +1 -1
  487. package/dist/icons/ChartScatterIcon.js +1 -1
  488. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  489. package/dist/icons/CheckCircleIcon.js +1 -1
  490. package/dist/icons/CheckIcon.js +1 -1
  491. package/dist/icons/CircleFilledIcon.js +1 -1
  492. package/dist/icons/ClearIcon.js +1 -1
  493. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  494. package/dist/icons/CloseCircleIcon.js +1 -1
  495. package/dist/icons/CloseIcon.js +1 -1
  496. package/dist/icons/CodeIcon.js +1 -1
  497. package/dist/icons/ColumnTotalIcon.js +1 -1
  498. package/dist/icons/CopyIcon.js +1 -1
  499. package/dist/icons/CountIcon.js +1 -1
  500. package/dist/icons/CubeIcon.js +1 -1
  501. package/dist/icons/CubePauseIcon.js +1 -1
  502. package/dist/icons/CubePlayIcon.js +1 -1
  503. package/dist/icons/CurrencyDollarIcon.js +1 -1
  504. package/dist/icons/DangerIcon.js +1 -1
  505. package/dist/icons/DashboardIcon.js +1 -1
  506. package/dist/icons/DatabaseIcon.js +1 -1
  507. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  508. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  509. package/dist/icons/DirectionIcon.js +1 -1
  510. package/dist/icons/DonutIcon.js +1 -1
  511. package/dist/icons/DownIcon.js +1 -1
  512. package/dist/icons/EditIcon.js +1 -1
  513. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  514. package/dist/icons/ExclamationCircleIcon.js +1 -1
  515. package/dist/icons/ExclamationIcon.js +1 -1
  516. package/dist/icons/EyeIcon.js +1 -1
  517. package/dist/icons/EyeInvisibleIcon.js +1 -1
  518. package/dist/icons/FilterIcon.js +1 -1
  519. package/dist/icons/FolderFilledIcon.js +1 -1
  520. package/dist/icons/FolderIcon.js +1 -1
  521. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  522. package/dist/icons/FolderOpenIcon.js +1 -1
  523. package/dist/icons/ForwardIcon.js +1 -1
  524. package/dist/icons/GripVerticalIcon.js +1 -1
  525. package/dist/icons/HierarchyIcon.js +1 -1
  526. package/dist/icons/HierarchyOpenIcon.js +1 -1
  527. package/dist/icons/Icon.js +1 -1
  528. package/dist/icons/InfoCircleIcon.js +1 -1
  529. package/dist/icons/InfoIcon.js +1 -1
  530. package/dist/icons/KeyIcon.js +1 -1
  531. package/dist/icons/LeftIcon.js +1 -1
  532. package/dist/icons/LineChartIcon.js +1 -1
  533. package/dist/icons/LoadingIcon.js +1 -1
  534. package/dist/icons/LockFilledIcon.js +1 -1
  535. package/dist/icons/LockIcon.js +1 -1
  536. package/dist/icons/MoreIcon.js +1 -1
  537. package/dist/icons/NotAllowedIcon.js +1 -1
  538. package/dist/icons/Number123Icon.js +1 -1
  539. package/dist/icons/NumberIcon.js +1 -1
  540. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  541. package/dist/icons/PauseCircleIcon.js +1 -1
  542. package/dist/icons/PauseIcon.js +1 -1
  543. package/dist/icons/PercentageIcon.js +1 -1
  544. package/dist/icons/PieChartIcon.js +1 -1
  545. package/dist/icons/PipetteIcon.js +1 -1
  546. package/dist/icons/PlayCircleIcon.js +1 -1
  547. package/dist/icons/PlayIcon.js +1 -1
  548. package/dist/icons/PlusIcon.js +1 -1
  549. package/dist/icons/ProgressBarIcon.js +1 -1
  550. package/dist/icons/ReloadIcon.js +1 -1
  551. package/dist/icons/ReportIcon.js +1 -1
  552. package/dist/icons/ReturnIcon.js +1 -1
  553. package/dist/icons/RightIcon.js +1 -1
  554. package/dist/icons/RowTotalsIcon.js +1 -1
  555. package/dist/icons/SchemeIcon.js +1 -1
  556. package/dist/icons/SearchIcon.js +1 -1
  557. package/dist/icons/SemanticQueryIcon.js +1 -1
  558. package/dist/icons/SettingsIcon.js +1 -1
  559. package/dist/icons/ShieldFilledIcon.js +1 -1
  560. package/dist/icons/ShieldIcon.js +1 -1
  561. package/dist/icons/SlashIcon.js +1 -1
  562. package/dist/icons/SparklesIcon.js +1 -1
  563. package/dist/icons/SqlIcon.js +1 -1
  564. package/dist/icons/StatsIcon.js +1 -1
  565. package/dist/icons/StopIcon.js +1 -1
  566. package/dist/icons/StringIcon.js +1 -1
  567. package/dist/icons/SubtotalsIcon.js +1 -1
  568. package/dist/icons/SwitchIcon.js +1 -1
  569. package/dist/icons/TableIcon.js +1 -1
  570. package/dist/icons/ThumbsDownIcon.js +1 -1
  571. package/dist/icons/ThumbsUpIcon.js +1 -1
  572. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  573. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  574. package/dist/icons/ThunderboltIcon.js +1 -1
  575. package/dist/icons/TimeIcon.js +1 -1
  576. package/dist/icons/TrashIcon.js +1 -1
  577. package/dist/icons/UnlockIcon.js +1 -1
  578. package/dist/icons/UpIcon.js +1 -1
  579. package/dist/icons/UserGroupIcon.js +1 -1
  580. package/dist/icons/UserIcon.js +1 -1
  581. package/dist/icons/UserLockIcon.js +1 -1
  582. package/dist/icons/ViewIcon.js +1 -1
  583. package/dist/icons/WarningFilledIcon.js +1 -1
  584. package/dist/icons/WarningIcon.js +1 -1
  585. package/dist/icons/wrap-icon.js +1 -1
  586. package/dist/index.d.ts +9 -7
  587. package/dist/index.js +7 -6
  588. package/dist/index.js.map +1 -1
  589. package/dist/probe/canonicalize.js +1 -1
  590. package/dist/probe/css.js +1 -1
  591. package/dist/probe/index.js +1 -1
  592. package/dist/provider.js +2 -2
  593. package/dist/provider.js.map +1 -1
  594. package/dist/providers/TrackingProvider.js +1 -1
  595. package/dist/providers/navigation-url.js +11 -0
  596. package/dist/providers/navigation-url.js.map +1 -0
  597. package/dist/providers/navigationAdapter.default.js +1 -1
  598. package/dist/providers/use-navigation.js +19 -0
  599. package/dist/providers/use-navigation.js.map +1 -0
  600. package/dist/tokens/all-tokens.js +1 -1
  601. package/dist/tokens/base.js +1 -1
  602. package/dist/tokens/color-seed.js +1 -1
  603. package/dist/tokens/color-theme.js +1 -1
  604. package/dist/tokens/colors.js +1 -1
  605. package/dist/tokens/layout.js +1 -1
  606. package/dist/tokens/lazy-styles.js +1 -1
  607. package/dist/tokens/legacy-color.js +1 -1
  608. package/dist/tokens/palette-config.js +1 -1
  609. package/dist/tokens/palette.js +1 -1
  610. package/dist/tokens/resolve.js +1 -1
  611. package/dist/tokens/shadows.js +1 -1
  612. package/dist/tokens/sizes.js +1 -1
  613. package/dist/tokens/spacing.js +1 -1
  614. package/dist/tokens/typography.js +1 -1
  615. package/dist/utils/ResizeSensor.js +1 -1
  616. package/dist/utils/colors.js +1 -1
  617. package/dist/utils/dotize.js +1 -1
  618. package/dist/utils/is-dev-env.js +1 -1
  619. package/dist/utils/modules.js +1 -1
  620. package/dist/utils/promise.js +1 -1
  621. package/dist/utils/raf.js +1 -1
  622. package/dist/utils/random.js +1 -1
  623. package/dist/utils/range.js +1 -1
  624. package/dist/utils/react/RenderCache.js +1 -1
  625. package/dist/utils/react/Slots.js +1 -1
  626. package/dist/utils/react/chain.js +1 -1
  627. package/dist/utils/react/disabledProps.js +1 -1
  628. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  629. package/dist/utils/react/index.js +1 -1
  630. package/dist/utils/react/interactions.js +1 -1
  631. package/dist/utils/react/isTextOnly.js +1 -1
  632. package/dist/utils/react/mapProps.js +1 -1
  633. package/dist/utils/react/mergeProps.js +1 -1
  634. package/dist/utils/react/nullableValue.js +1 -1
  635. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  636. package/dist/utils/react/programmaticFocus.js +1 -1
  637. package/dist/utils/react/resolveIcon.js +1 -1
  638. package/dist/utils/react/sharedStore.js +1 -1
  639. package/dist/utils/react/useBufferedValue.js +1 -1
  640. package/dist/utils/react/useCombinedRefs.js +1 -1
  641. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  642. package/dist/utils/react/useEventBus.js +1 -1
  643. package/dist/utils/react/useId.js +1 -1
  644. package/dist/utils/react/useIsDarwin.js +1 -1
  645. package/dist/utils/react/useKeySymbols.js +1 -1
  646. package/dist/utils/react/useLayoutEffect.js +1 -1
  647. package/dist/utils/react/useLocalStorage.js +1 -1
  648. package/dist/utils/react/useMergeStyles.js +1 -1
  649. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  650. package/dist/utils/react/usePopoverSync.js +1 -1
  651. package/dist/utils/react/useQaProps.js +1 -1
  652. package/dist/utils/react/useScheme.js +1 -1
  653. package/dist/utils/react/useViewportSize.js +1 -1
  654. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  655. package/dist/utils/selection.js +1 -1
  656. package/dist/utils/styles.js +1 -1
  657. package/dist/utils/tree.js +1 -1
  658. package/dist/utils/warnings.js +1 -1
  659. package/dist/version.js +2 -2
  660. package/docs/Usage.md +4 -0
  661. package/docs/components/CollectionItem.md +5 -1
  662. package/docs/components/actions/CommandMenu.md +46 -18
  663. package/docs/components/actions/Menu.md +124 -19
  664. package/docs/components/content/Placeholder.md +2 -0
  665. package/docs/components/content/Skeleton.md +2 -0
  666. package/docs/components/data/DataTable.md +3 -0
  667. package/docs/components/data/ItemTable.md +11 -1
  668. package/docs/components/overlays/Dialog.md +1 -1
  669. package/docs/components/overlays/DialogContainer.md +1 -2
  670. package/docs/components/overlays/DialogTrigger.md +1 -0
  671. package/package.json +3 -1
@@ -17,6 +17,10 @@ Choose a different component when the interaction has another shape:
17
17
  - Use [FilterPicker](../fields/FilterPicker.md) for persistent single or multiple field values with search.
18
18
  - Use [SearchComboBox](../fields/SearchComboBox.md) for a focused search-and-act input that clears after each result.
19
19
 
20
+ A menu can mix commands and navigation destinations. For example, an enterprise workbook menu can offer “Create workbook”, links to recent workbooks and a “Browse all” link in the same collection. Choose semantics per item: give navigation a `to` or `href`, and give a command an `onAction`. Consumers do not need to choose a navigation-only mode for the entire Menu.
21
+
22
+ Use `Menu` when users expect a composite popup with arrow-key navigation and Tab leaving the menu. For a persistent sidebar or ordinary site navigation, prefer a navigation list with links and disclosure buttons; the [WAI-ARIA guidance for navigation disclosures](https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/examples/disclosure-navigation/) explains that interaction. Native anchors with `role="menuitem"` are valid inside a menu, as illustrated by the [WAI-ARIA navigation menu example](https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/examples/menu-button-links/).
23
+
20
24
  ## Component
21
25
 
22
26
  ---
@@ -32,7 +36,7 @@ Choose a different component when the interaction has another shape:
32
36
  - **`defaultSelectedKeys`** `Iterable<Key>` — Initially selected keys (uncontrolled)
33
37
  - **`disabledKeys`** `Iterable<Key>` — Keys of items that should appear disabled
34
38
  - **`autoFocus`** `boolean | FocusStrategy` (default: `false`) — Whether to auto-focus the menu when it opens
35
- - **`shouldFocusWrap`** `boolean` (default: `false`) — Whether keyboard navigation should wrap around
39
+ - **`shouldFocusWrap`** `boolean` (default: `true`) — Whether keyboard navigation should wrap around
36
40
  - **`size`** `'medium' | 'large'` (default: `medium`) — Size of the menu items
37
41
  - **`styles`** `Styles` — Custom styles for the menu container
38
42
  - **`menuStyles`** `Styles` — Custom styles for the inner menu list element
@@ -73,7 +77,7 @@ Customizes individual menu items.
73
77
  **Sub-elements:**
74
78
 
75
79
  - `Icon` - Icon element within menu items
76
- - `Text` - Main text content of menu items
80
+ - `Label` - Main text content of menu items
77
81
  - `Description` - Secondary text content for items with descriptions
78
82
 
79
83
  #### sectionStyles
@@ -166,7 +170,108 @@ For detailed information about all available item properties, see [Item document
166
170
 
167
171
  - **`textValue`** `string` — Text for typeahead search
168
172
  - **`wrapper`** `(item: ReactElement) => ReactElement` — Function to wrap the item
169
- - **`onAction`** `() => void` — Callback fired when item is activated
173
+ - **`onAction`** `() => void` — Callback fired when this item is activated, before the Menu's `onAction(key)`
174
+ - **`to`** `string \| Path` — Application destination, resolved by Root's navigation adapter; takes precedence over `href`
175
+ - **`navigationOptions`** `NavigateOptions` — Options forwarded during client navigation, such as `replace`, `state`, `relative`, and `preventScrollReset`
176
+ - **`href`** `string` — Link destination when `to` is omitted
177
+ - **`target`**, **`rel`**, **`download`**, **`ping`**, **`referrerPolicy`**, **`hrefLang`** — Native anchor attributes
178
+
179
+ #### Navigation Items
180
+
181
+ Navigation items render native anchors. An ordinary click or Enter/Space activation uses the navigation adapter passed to [Root](../Root.md) and closes the menu. Without a custom adapter, activation stays native and preserves the anchor's attributes. Modified clicks, middle clicks, downloads, other targets, and external destinations retain browser link behavior. Right-click offers the browser's link commands. Disabled links have no destination and cannot navigate.
182
+
183
+ Loading items are disabled by default. Set `isDisabled={false}` to keep a loading item available; `disabledKeys` still applies.
184
+
185
+ Links expose `menuitem` semantics even in a selectable menu. Only selectable commands expose `menuitemradio` or `menuitemcheckbox` and a checked state; opening a destination does not select it. Use `aria-current` when a link needs to identify the current page.
186
+
187
+ ```tsx
188
+ <MenuTrigger>
189
+ <Button>Workbooks</Button>
190
+ <Menu>
191
+ <Menu.Section title="Recent workbooks">
192
+ <Menu.Item key="recent" to={{ pathname: '/workbooks/42', search: '?chatId=abc' }}>
193
+ Recent workbook
194
+ </Menu.Item>
195
+ </Menu.Section>
196
+ <Menu.Item key="browse" to="/workbooks">Browse all</Menu.Item>
197
+ <Menu.Item key="docs" to="!https://cube.dev/docs">Documentation</Menu.Item>
198
+ <Menu.Item key="create" onAction={createWorkbook}>Create workbook</Menu.Item>
199
+ </Menu>
200
+ </MenuTrigger>
201
+ ```
202
+
203
+ As with other UI Kit actions, a `!` prefix opens `to` in a new tab and an `@` prefix forces native navigation. Use `onAction` for commands, including history actions. Link `onAction` callbacks still run during activation; navigation itself belongs to `to` or `href`, so the callback should not navigate again. Submenu parents open their submenu and ignore destinations; links inside the submenu behave normally.
204
+
205
+ An item's `onAction()` and the Menu's `onAction(key)` compose: when both are supplied, the item callback runs first and the Menu callback runs second, once each. Mouse activation, Enter, Space and the item's hotkey use the same callbacks. Disabled items invoke neither callback. A submenu parent only opens its submenu; its command callbacks do not run. An inline `Menu.Item.Action` handles its own activation independently and does not invoke either callback for the containing row.
206
+
207
+ ```tsx
208
+ <Menu onAction={(key) => recordMenuActivation(key)}>
209
+ <Menu.Item key="create" onAction={createWorkbook}>Create workbook</Menu.Item>
210
+ <Menu.Item key="browse" to="/workbooks">Browse all</Menu.Item>
211
+ </Menu>
212
+ ```
213
+
214
+ Use the item callback for a command that belongs to that item, or handle commands centrally using the Menu callback and item keys. Supplying both is useful for additional observation, such as recording an activation; avoid executing the same command in both callbacks.
215
+
216
+ The native link target covers the complete row, including padding, gaps and whitespace. Right-click anywhere on that target offers the browser's link commands. Independent controls in the prefix, suffix or actions slots retain their own targets. The primary native anchor owns menu-item semantics and keyboard focus, while Item's original list element owns layout and styling. Command content has no link destination.
217
+
218
+ #### Inline Actions
219
+
220
+ Use `Menu.Item.Action` in the `actions` slot for an independent action associated with a row. It is a sibling menu item in the keyboard order, outside the row's primary menu item and any navigation anchor. Activating it runs its own `onPress`; it does not run the row's `onAction`, the Menu's `onAction`, or the row's navigation.
221
+
222
+ ```tsx
223
+ <Menu aria-label="Workbooks">
224
+ <Menu.Item key="create" onAction={createWorkbook}>Create workbook</Menu.Item>
225
+ <Menu.Item
226
+ key="saved"
227
+ to="/workbooks/saved"
228
+ description="Open the saved workbook"
229
+ actions={
230
+ <Menu.Item.Action
231
+ icon={<TrashIcon />}
232
+ aria-label="Delete saved workbook"
233
+ onPress={deleteSavedWorkbook}
234
+ />
235
+ }
236
+ >
237
+ Saved workbook
238
+ </Menu.Item>
239
+ </Menu>
240
+ ```
241
+
242
+ Up/Down and Home/End include inline actions in DOM order. Disabled actions are skipped. Tab and Shift+Tab leave the menu rather than visiting each action. Give every action an accessible name that identifies its context, such as “Delete saved workbook”; an icon or a repeated “Delete” label alone does not identify the affected row.
243
+
244
+ Keep the label and description non-interactive: text, icons and decorative badges are suitable, but buttons, links and inputs belong outside those content slots. `Menu.Item.Action` supplies the menu-item contract automatically. A custom control in `actions` must provide the same contract, including an appropriate menu-item role, accessible name, `tabIndex={-1}`, disabled behavior and keyboard activation; a generic button is not sufficient. Inline actions support the default DOM-focus mode; combining them with virtual focus is unsupported.
245
+
246
+ #### Focus and Selector Migration
247
+
248
+ The original `li` retains Item's layout, style slots, modifiers and forwarded ref. A navigation row, or a command row with inline actions, places the primary menu-item role and DOM focus on a native anchor covering the row. A command without inline actions keeps its menu-item role and focus on the `li`. The command anchor has no `href`. Inline actions remain outside that primary focus target.
249
+
250
+ Give every item a meaningful accessible name; use `aria-label` or `aria-labelledby` for icon-only rows. Hiding an individual content slot does not move the primary focus target. Explicit accessible names remain in effect. Heading items retain their heading element and level.
251
+
252
+ Use the item's `focused` modifier for row focus styles. It marks the active collection row, including the row associated with a focused inline action. Existing style props and named sub-element overrides continue to style the same layout elements.
253
+
254
+ ```tsx
255
+ <Menu
256
+ itemStyles={{
257
+ fill: { '': '#clear', focused: '#dark.09' },
258
+ }}
259
+ >
260
+ <Menu.Item key="browse" to="/workbooks">Browse all</Menu.Item>
261
+ </Menu>
262
+ ```
263
+
264
+ Consumer CSS that literally targets `li:focus` or assumes the `li` has `role="menuitem"` needs to follow the split between layout and semantics:
265
+
266
+ | Selector purpose | Use |
267
+ | --- | --- |
268
+ | Focus styling on the layout row | The `focused` style state, or `[data-menuitem][data-focused]` |
269
+ | Row layout or adjacency | The layout marker `[data-menuitem]`, including `[data-menuitem] + [data-menuitem]` |
270
+ | The actual focusable menu item | `[role="menuitem"]`, `[role="menuitemcheckbox"]` or `[role="menuitemradio"]` |
271
+
272
+ Do not use the forwarded row ref or a role selector as a proxy for the primary focus target. A row's semantic role can move to its anchor when a destination or inline action is added. `:focus-within` tracks DOM focus anywhere inside the row; use the `focused` modifier for the collection's active-row state, including virtual focus.
273
+
274
+ Use named style slots or their `data-element` markers for content styling. Selectors that depend on the Label, Description or Icon being a particular HTML tag need to allow their native anchor host. A private native target is also a child of the row; use slot markers instead of child-position selectors for content.
170
275
 
171
276
  #### Example with Rich Items
172
277
 
@@ -397,32 +502,32 @@ const items = [
397
502
 
398
503
  ### Keyboard Navigation
399
504
 
400
- - `Tab` - Moves focus to the menu
401
- - `Arrow Keys` - Navigate between items
402
- - `Right Arrow` - Open submenu when focused on submenu trigger
403
- - `Left Arrow` - Close submenu and return to parent
404
- - `Home/End` - Move to first/last item
405
- - `Enter/Space` - Activate the focused item or open submenu
406
- - `Escape` - Close the menu or submenu
407
- - `A-Z` - Typeahead search for items
505
+ - Open the menu with its trigger to move focus into it. A standalone Menu can use `autoFocus` or be reached with Tab.
506
+ - `ArrowUp`/`ArrowDown` - Navigate through enabled primary items and inline actions in DOM order. Navigation wraps by default; set `shouldFocusWrap={false}` to stop at the ends.
507
+ - `Home`/`End` - Move to the first/last enabled menu item, including inline actions.
508
+ - `Enter`/`Space` - Activate the focused command, destination or inline action, or open a submenu.
509
+ - `ArrowRight` - Open a submenu from its trigger. On a row with inline actions, move from the primary item into its actions.
510
+ - `ArrowLeft` - Return from inline actions to their primary item, or close a submenu and return to its trigger. Left/Right directions reverse in RTL layouts; submenu behavior takes priority over row shortcuts.
511
+ - `Tab`/`Shift+Tab` - Leave the menu; inline actions do not add separate Tab stops.
512
+ - `Escape` - Close the menu or submenu.
513
+ - Typing, `PageUp` and `PageDown` - Use the primary collection items. From an inline action, focus first returns to its primary row before the collection handles the key.
408
514
 
409
515
  ### Screen Reader Support
410
516
 
411
- - Menu announces as "menu" with proper role
412
- - Items announce as "menuitem", "menuitemcheckbox", or "menuitemradio"
413
- - Submenu triggers announce with "has submenu" indication
414
- - Selection state is announced for selectable items
415
- - Keyboard shortcuts are announced when present
416
- - Section headings provide context for grouped items
417
- - Submenu opening and closing is announced to screen readers
517
+ The collection has the `menu` role and an accessible name supplied by `aria-label` or `aria-labelledby`. Each focus target exposes `menuitem`, `menuitemcheckbox` or `menuitemradio` semantics. The item label supplies its name, and its description supplies additional accessible information. Submenu triggers expose their expanded state and submenu relationship; selectable items expose their checked state.
518
+
519
+ A navigation item's focused menu item is the native anchor with the real destination. A screen reader may announce it as a menu item rather than an ordinary link because its menu-item role defines the composite interaction. Browser link commands remain available on the anchor. The layout row is presentational when its child owns the menu-item role, so inline actions are exposed as independent siblings rather than interactive descendants of a menu item.
520
+
521
+ Screen-reader wording varies by reader and browser. Provide descriptive names for the menu and every inline action, and verify the chosen browser/reader combination in the consuming application, especially when adding custom controls or wrappers.
418
522
 
419
523
  ### ARIA Properties
420
524
 
421
525
  - `aria-label` - Provides accessible label for the menu
422
526
  - `aria-labelledby` - References element that labels the menu
423
- - `aria-activedescendant` - Indicates the currently focused item
424
527
  - `aria-orientation` - Indicates menu orientation (vertical by default)
425
528
 
529
+ Default Menu navigation moves DOM focus directly to items. CommandMenu owns the search input's `aria-controls` and `aria-activedescendant` relationship. A custom consumer using Menu's virtual-focus mode must own that relationship on its focused controller; enabling virtual focus alone does not supply it.
530
+
426
531
  ## Best Practices
427
532
 
428
533
  1. **Clear Labels**: Use descriptive, action-oriented labels
@@ -60,3 +60,5 @@ The attribute doesn't depend on the locale, and a `qa` or `aria-label` prop does
60
60
  ## Accessibility
61
61
 
62
62
  Placeholder renders a `region` landmark labelled with the localized "Content is loading" text, so screen-reader users can find content that is still loading. The region has no content, so don't rely on it to announce the loading state: add a status message where one is needed.
63
+
64
+ Inside a `Skeleton` the placeholders are hidden from screen readers, and the Skeleton itself is the one "Content is loading" region, so a loading page lists one landmark rather than one per bar. The placeholder cells of a table's loading rows are hidden the same way, because the row is already `aria-busy`.
@@ -4,6 +4,8 @@ A skeleton loading indicator with preset layouts. Composes `Placeholder` compone
4
4
 
5
5
  Each of those placeholders carries `data-loading-placeholder`, the locale-independent way to detect loading content (see [Placeholder](./Placeholder.md#detecting-loading-placeholders)).
6
6
 
7
+ A Skeleton is one `region` landmark labelled with the localized "Content is loading" text. The placeholders inside it are hidden from screen readers, so a loading page doesn't list one identical landmark per bar.
8
+
7
9
  ## When to Use
8
10
 
9
11
  - Loading states for complex layouts
@@ -127,6 +127,9 @@ Per column, on `CubeDataTableColumn`: `isReorderable`, `color` and `colorScope`
127
127
 
128
128
  - **`isVirtualized`** `boolean | 'auto'` (default: `'auto'`) — On when the grid is height-bounded and has more rows than the threshold. Ignored when `isAutoHeight` is enabled.
129
129
  - **`virtualizeThreshold`** `number`
130
+
131
+ Wide bounded tables window default text body cells horizontally while retaining all headers and the complete grouped-column layout. Pinned/structural columns, row headers, tree disclosure, wrapping cells, custom renderers and per-column cell styles remain mounted. Custom body/row/cell styles, arbitrary `cellProps` and auto-height or `isVirtualized={false}` retain the complete body layout. Logical cell-range selection and copy include offscreen columns.
132
+
130
133
  - **`overscan`** `number`
131
134
 
132
135
  #### Other
@@ -521,7 +521,17 @@ Overscroll is locked per axis, and only where the table can actually scroll, so
521
521
 
522
522
  A native table cannot absolutely position a `<tr>` without breaking the table box, so the offset comes from leading and trailing spacer rows. Those are `aria-hidden`, and `aria-rowcount` / `aria-rowindex` continue to describe the whole dataset rather than the mounted window.
523
523
 
524
- Virtualization is skipped for the empty, error and loading states, and turns off entirely with `isVirtualized={false}`.
524
+ Virtualization is skipped for the empty and error states, and turns off entirely with `isVirtualized={false}`. Loading placeholders use the same body-column window as records.
525
+
526
+ Wide bounded tables also window default text cells horizontally, with a small overscan band. Headers and the complete column layout remain mounted, so header Tab order, menus, resizing, sticky columns and logical ARIA indices remain available. Offscreen body runs become hidden colspan spacers; scrolling mounts their text cells when they approach the viewport.
527
+
528
+ Tables that retain every body column skip column-window tracking. Small horizontal moves reuse the mounted buffer rather than rebuilding rows at every column boundary. The moving edge refills while retaining the ahead coverage; extra cells are released when scrolling settles or vertical movement starts, so new rows keep their ordinary body window.
529
+
530
+ Pinned and structural columns, row headers, the tree column, wrapping columns, custom renderers and per-column cell styles remain mounted. This preserves row naming, controls, drafts and measured row heights. Arbitrary `cellProps`, custom body/row/cell styling, `SlotProvider` text overrides or text/descendant overrides supplied through `styles` keep the complete body layout. When the row-height floor is below the inherited text line box, the body also keeps all columns, since offscreen text can determine intrinsic height. Relative row-height tokens also keep the complete body. This check follows ancestor typography and size-token changes, including viewport media queries. Auto-height and explicitly disabled virtualization render all columns.
531
+
532
+ ```jsx
533
+ <ItemTable height="420px" width="900px" paginationMode="off" data={rows} columns={wideTextColumns} />
534
+ ```
525
535
 
526
536
  ### Wrapping Cells
527
537
 
@@ -193,7 +193,7 @@ The body is the `Content` that is a direct child of the dialog or of a direct-ch
193
193
 
194
194
  - `aria-labelledby` - Links dialog to its title element automatically
195
195
  - `aria-describedby` - Links dialog to its description content
196
- - `aria-modal` - Set to true for modal dialogs to indicate exclusive interaction
196
+ - `aria-modal` - Not set. While a modal, fullscreen or tray dialog is open, the page behind it is `aria-hidden` instead, so a screen reader's reading cursor stays in the dialog. Lists, menus and popovers opened from the dialog render outside it and stay readable, which `aria-modal` would prevent. Popover and panel dialogs leave the page readable
197
197
  - `role` - Set to "dialog" or "alertdialog" based on content type
198
198
 
199
199
  ## Best Practices
@@ -160,11 +160,10 @@ function ConditionalDialog() {
160
160
  - Dialog announces as "dialog" to screen readers
161
161
  - Focus is trapped within the dialog when open
162
162
  - Focus management is handled automatically
163
- - Modal state is properly communicated to assistive technologies
164
163
 
165
164
  ### ARIA Properties
166
165
 
167
- - `aria-modal` - Set to true to indicate modal behavior
166
+ - `aria-modal` - Not set. While a modal, fullscreen or tray dialog is open, the page behind it is `aria-hidden` instead, so a screen reader's reading cursor stays in the dialog. Lists, menus and popovers opened from the dialog render outside it and stay readable, which `aria-modal` would prevent. Popover and panel dialogs leave the page readable
168
167
  - `aria-labelledby` - Links dialog to its title automatically
169
168
  - `aria-describedby` - Links dialog to its description content
170
169
  - `role` - Set to "dialog" for proper semantic meaning
@@ -160,6 +160,7 @@ function ControlledDialog() {
160
160
  - Dialog announces as "dialog" to screen readers
161
161
  - Focus is trapped within the dialog when open
162
162
  - Focus returns to trigger element when dialog closes
163
+ - The page behind a modal, fullscreen or tray dialog is hidden from screen readers while it is open; lists, menus and popovers opened from the dialog stay readable. Popover and panel dialogs leave the page readable
163
164
  - Proper ARIA attributes are applied automatically
164
165
 
165
166
  ### ARIA Properties
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cube-dev/ui-kit",
3
- "version": "0.193.1",
3
+ "version": "0.194.0",
4
4
  "type": "module",
5
5
  "description": "UIKit for Cube Projects",
6
6
  "repository": {
@@ -89,6 +89,7 @@
89
89
  "@codemirror/lang-json": "^6.0.2",
90
90
  "@commitlint/cli": "^17.4.4",
91
91
  "@commitlint/config-conventional": "^17.4.4",
92
+ "@guidepup/virtual-screen-reader": "^0.33.0",
92
93
  "@ianvs/prettier-plugin-sort-imports": "^4.4.1",
93
94
  "@size-limit/file": "^8.2.4",
94
95
  "@size-limit/webpack": "^8.2.4",
@@ -164,6 +165,7 @@
164
165
  "test:package": "vitest run --config vitest.package.config.ts",
165
166
  "watch": "tsdown --watch",
166
167
  "test": "vitest run",
168
+ "test:once": "node scripts/test-once.mjs",
167
169
  "test:form-store": "vitest run --config vitest.form-store.config.ts",
168
170
  "test:form-react": "vitest run --config vitest.form-react.config.ts",
169
171
  "test:browser": "vitest run --config vitest.browser.config.ts",