@cube-dev/ui-kit 0.0.0-canary-bada6bd → 0.0.0-canary-09a7efe

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 (602) hide show
  1. package/README.md +1 -1
  2. package/dist/README.md +1 -1
  3. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/dist/_internal/hooks/use-event.js +1 -1
  6. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  7. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +1 -1
  12. package/dist/components/CollectionItem.js +1 -1
  13. package/dist/components/GlobalStyles.js +1 -1
  14. package/dist/components/GridProvider.js +1 -1
  15. package/dist/components/HiddenInput.js +1 -1
  16. package/dist/components/Root.js +1 -1
  17. package/dist/components/actions/Action/Action.js +1 -1
  18. package/dist/components/actions/Banner/Banner.js +1 -1
  19. package/dist/components/actions/Button/Button.js +1 -1
  20. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  21. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  22. package/dist/components/actions/ButtonSplit/context.js +1 -1
  23. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  24. package/dist/components/actions/CommandMenu/styled.js +1 -1
  25. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  26. package/dist/components/actions/ItemActionContext.js +1 -1
  27. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  28. package/dist/components/actions/ItemButton/ItemButton.js +3 -1
  29. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  30. package/dist/components/actions/Link/Link.js +1 -1
  31. package/dist/components/actions/Menu/Menu.js +1 -1
  32. package/dist/components/actions/Menu/MenuItem.js +1 -1
  33. package/dist/components/actions/Menu/MenuSection.js +1 -1
  34. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  35. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  36. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  37. package/dist/components/actions/Menu/context.js +1 -1
  38. package/dist/components/actions/Menu/styled.js +1 -1
  39. package/dist/components/actions/actions-run.js +1 -1
  40. package/dist/components/actions/index.js +1 -1
  41. package/dist/components/actions/use-action.js +3 -5
  42. package/dist/components/actions/use-action.js.map +1 -1
  43. package/dist/components/actions/use-anchored-menu.js +1 -1
  44. package/dist/components/actions/use-context-menu.js +1 -1
  45. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  46. package/dist/components/content/Alert/Alert.js +1 -1
  47. package/dist/components/content/Alert/use-alert.js +1 -1
  48. package/dist/components/content/Avatar/Avatar.js +1 -1
  49. package/dist/components/content/Badge/Badge.js +1 -1
  50. package/dist/components/content/Card/Card.js +1 -1
  51. package/dist/components/content/Content.js +1 -1
  52. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  53. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  54. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  55. package/dist/components/content/Divider.js +1 -1
  56. package/dist/components/content/Footer.js +1 -1
  57. package/dist/components/content/Header.js +1 -1
  58. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  59. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  60. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  61. package/dist/components/content/Item/Item.js +3 -3
  62. package/dist/components/content/Item/Item.js.map +1 -1
  63. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  64. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  65. package/dist/components/content/Layout/GridLayout.js +1 -1
  66. package/dist/components/content/Layout/Layout.js +1 -1
  67. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  68. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  69. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  70. package/dist/components/content/Layout/LayoutContent.js +1 -1
  71. package/dist/components/content/Layout/LayoutContext.js +1 -1
  72. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  73. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  74. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  75. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  76. package/dist/components/content/Layout/LayoutPane.js +1 -1
  77. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  78. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  79. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  80. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  81. package/dist/components/content/Layout/index.js +1 -1
  82. package/dist/components/content/Layout/utils.js +1 -1
  83. package/dist/components/content/Paragraph.js +1 -1
  84. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  85. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  86. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  87. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  88. package/dist/components/content/Result/Result.js +1 -1
  89. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  90. package/dist/components/content/Tag/Tag.js +1 -1
  91. package/dist/components/content/Text.d.ts +14 -14
  92. package/dist/components/content/Text.js +1 -1
  93. package/dist/components/content/TextItem/TextItem.js +1 -1
  94. package/dist/components/content/Title.js +1 -1
  95. package/dist/components/content/Tree/Tree.js +1 -1
  96. package/dist/components/content/Tree/TreeNode.js +1 -1
  97. package/dist/components/content/Tree/styled.js +1 -1
  98. package/dist/components/content/Tree/tree-index.js +1 -1
  99. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  100. package/dist/components/content/Tree/use-load-data.js +1 -1
  101. package/dist/components/content/highlightText.js +1 -1
  102. package/dist/components/content/use-auto-tooltip.js +3 -3
  103. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  104. package/dist/components/data/DataTable/DataTable.js +1 -1
  105. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  106. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  107. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  108. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  109. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  110. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  111. package/dist/components/data/TableBase/RowCollection.js +1 -1
  112. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  113. package/dist/components/data/TableBase/TableRow.js +1 -1
  114. package/dist/components/data/TableBase/TableView.js +1 -1
  115. package/dist/components/data/TableBase/column-menu.js +1 -1
  116. package/dist/components/data/TableBase/column-tint.js +1 -1
  117. package/dist/components/data/TableBase/row-menu.js +1 -1
  118. package/dist/components/data/TableBase/styled.js +1 -1
  119. package/dist/components/data/TableBase/table-tree.js +1 -1
  120. package/dist/components/data/TableBase/types.js +1 -1
  121. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  122. package/dist/components/data/TableBase/use-column-order.js +1 -1
  123. package/dist/components/data/TableBase/use-container-width.js +1 -1
  124. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  125. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  126. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  127. package/dist/components/data/TableBase/use-table-search.js +1 -1
  128. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  129. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  130. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  131. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  132. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  133. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  134. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  135. package/dist/components/fields/Checkbox/context.js +1 -1
  136. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  137. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  138. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  139. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  140. package/dist/components/fields/ComboBox/ComboBox.js +90 -43
  141. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  142. package/dist/components/fields/CommandTextArea/CommandTextArea.js +3 -2
  143. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  144. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  145. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  146. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  147. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  148. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  149. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  150. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  151. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  152. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  153. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  154. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  155. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  156. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  157. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  158. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  159. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  160. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  161. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  162. package/dist/components/fields/DatePicker/period.js +1 -1
  163. package/dist/components/fields/DatePicker/props.js +1 -1
  164. package/dist/components/fields/DatePicker/utils.js +1 -1
  165. package/dist/components/fields/FileInput/FileInput.js +1 -1
  166. package/dist/components/fields/FilterListBox/FilterListBox.js +28 -18
  167. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  168. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  169. package/dist/components/fields/Input/Input.js +1 -1
  170. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  171. package/dist/components/fields/ListBox/ListBox.d.ts +2 -2
  172. package/dist/components/fields/ListBox/ListBox.js +1 -2
  173. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  174. package/dist/components/fields/ListBox/optionId.js +16 -0
  175. package/dist/components/fields/ListBox/optionId.js.map +1 -0
  176. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +120 -110
  177. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  178. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  179. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +44 -22
  180. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
  181. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  182. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  183. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  184. package/dist/components/fields/Picker/Picker.js +1 -1
  185. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  186. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  187. package/dist/components/fields/RadioGroup/context.js +1 -1
  188. package/dist/components/fields/SearchComboBox/SearchComboBox.js +3 -2
  189. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  190. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  191. package/dist/components/fields/Select/Select.js +1 -1
  192. package/dist/components/fields/Slider/Gradation.js +1 -1
  193. package/dist/components/fields/Slider/HueSlider.js +1 -1
  194. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  195. package/dist/components/fields/Slider/Slider.js +1 -1
  196. package/dist/components/fields/Slider/SliderBase.js +1 -1
  197. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  198. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  199. package/dist/components/fields/Slider/elements.js +1 -1
  200. package/dist/components/fields/Slider/index.js +1 -1
  201. package/dist/components/fields/Switch/Switch.js +1 -1
  202. package/dist/components/fields/TagInput/TagInput.d.ts +182 -0
  203. package/dist/components/fields/TagInput/TagInput.js +1856 -0
  204. package/dist/components/fields/TagInput/TagInput.js.map +1 -0
  205. package/dist/components/fields/TagInput/TagList.js +355 -0
  206. package/dist/components/fields/TagInput/TagList.js.map +1 -0
  207. package/dist/components/fields/TagInput/index.d.ts +2 -0
  208. package/dist/components/fields/TextArea/TextArea.js +1 -1
  209. package/dist/components/fields/TextInput/TextInput.js +1 -1
  210. package/dist/components/fields/TextInput/TextInputBase.d.ts +6 -0
  211. package/dist/components/fields/TextInput/TextInputBase.js +8 -6
  212. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  213. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  214. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  215. package/dist/components/fields/TriggerActions.js +1 -1
  216. package/dist/components/fields/color/ColorPanel.js +1 -1
  217. package/dist/components/fields/color/channels.js +1 -1
  218. package/dist/components/fields/color/color.js +1 -1
  219. package/dist/components/fields/color/context.js +1 -1
  220. package/dist/components/fields/index.d.ts +2 -0
  221. package/dist/components/form/FieldWrapper/FieldWrapper.js +13 -2
  222. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  223. package/dist/components/form/Form/Field.js +1 -1
  224. package/dist/components/form/Form/Form.js +1 -1
  225. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  226. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  227. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  228. package/dist/components/form/Form/SubmitError.js +1 -1
  229. package/dist/components/form/Form/backend.js +1 -1
  230. package/dist/components/form/Form/index.js +1 -1
  231. package/dist/components/form/Form/modern/actions.js +1 -1
  232. package/dist/components/form/Form/modern/context.js +1 -1
  233. package/dist/components/form/Form/modern/controller.js +1 -1
  234. package/dist/components/form/Form/modern/field-binding.js +1 -1
  235. package/dist/components/form/Form/modern/field.js +1 -1
  236. package/dist/components/form/Form/modern/react.js +1 -1
  237. package/dist/components/form/Form/modern/store.js +1 -1
  238. package/dist/components/form/Form/modern/validation.js +1 -1
  239. package/dist/components/form/Form/modern/values.js +1 -1
  240. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  241. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  242. package/dist/components/form/Form/use-field/use-field.js +1 -1
  243. package/dist/components/form/Form/use-form.js +1 -1
  244. package/dist/components/form/Form/validation.js +1 -1
  245. package/dist/components/form/Label.js +1 -1
  246. package/dist/components/form/legacy-tooltip.js +1 -1
  247. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  248. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  249. package/dist/components/form/validation/use-validation-props.js +1 -1
  250. package/dist/components/form/wrapper.js +1 -1
  251. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  252. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  253. package/dist/components/layout/Board/Board.js +1 -1
  254. package/dist/components/layout/Board/BoardProvider.js +1 -1
  255. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  256. package/dist/components/layout/Board/Widget.js +1 -1
  257. package/dist/components/layout/Board/WidgetHost.js +1 -1
  258. package/dist/components/layout/Board/board-context.js +1 -1
  259. package/dist/components/layout/Board/board-store.js +1 -1
  260. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  261. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  262. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  263. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  264. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  265. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  266. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  267. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  268. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  269. package/dist/components/layout/Board/index.js +1 -1
  270. package/dist/components/layout/Board/responsive-utils.js +1 -1
  271. package/dist/components/layout/Board/use-board-layout.js +1 -1
  272. package/dist/components/layout/Board/use-board-registry.js +1 -1
  273. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  274. package/dist/components/layout/Board/use-board-selection.js +1 -1
  275. package/dist/components/layout/Flex.js +1 -1
  276. package/dist/components/layout/Flow.js +1 -1
  277. package/dist/components/layout/Grid.js +1 -1
  278. package/dist/components/layout/Panel.js +1 -1
  279. package/dist/components/layout/Prefix.js +1 -1
  280. package/dist/components/layout/ResizablePanel.js +1 -1
  281. package/dist/components/layout/Space.js +1 -1
  282. package/dist/components/layout/Suffix.js +1 -1
  283. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  284. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  285. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  286. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  287. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  288. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  289. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  290. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  291. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  292. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  293. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  294. package/dist/components/navigation/Tabs/styled.js +1 -1
  295. package/dist/components/navigation/Tabs/types.js +1 -1
  296. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  297. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  298. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  299. package/dist/components/other/Calendar/Calendar.js +1 -1
  300. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  301. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  302. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  303. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  304. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  305. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  306. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  307. package/dist/components/other/Calendar/styled.js +1 -1
  308. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  309. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  310. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  311. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  312. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  313. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  314. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  315. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  316. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  317. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  318. package/dist/components/overlays/Dialog/context.js +1 -1
  319. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  320. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  321. package/dist/components/overlays/Modal/Modal.js +1 -1
  322. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  323. package/dist/components/overlays/Modal/Overlay.js +1 -1
  324. package/dist/components/overlays/Modal/Popover.js +1 -1
  325. package/dist/components/overlays/Modal/Tray.js +1 -1
  326. package/dist/components/overlays/Modal/Underlay.js +1 -1
  327. package/dist/components/overlays/Notifications/Notification.js +1 -1
  328. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  329. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  330. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  331. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  332. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  333. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  334. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  335. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  336. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  337. package/dist/components/overlays/Notifications/index.js +1 -1
  338. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  339. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  340. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  341. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  342. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  343. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  344. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  345. package/dist/components/overlays/Toast/index.js +1 -1
  346. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  347. package/dist/components/overlays/Toast/useToast.js +1 -1
  348. package/dist/components/overlays/Tooltip/Tooltip.js +14 -12
  349. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  350. package/dist/components/overlays/Tooltip/TooltipProvider.d.ts +6 -0
  351. package/dist/components/overlays/Tooltip/TooltipProvider.js +43 -38
  352. package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
  353. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  354. package/dist/components/overlays/Tooltip/context.js +1 -1
  355. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  356. package/dist/components/portal/Portal.js +1 -1
  357. package/dist/components/portal/PortalProvider.js +1 -1
  358. package/dist/components/portal/usePortal.js +1 -1
  359. package/dist/components/shared/DraggableCollection.js +1 -1
  360. package/dist/components/shared/InvalidIcon.js +1 -1
  361. package/dist/components/shared/ValidIcon.js +1 -1
  362. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  363. package/dist/components/status/Spin/Cube.js +1 -1
  364. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  365. package/dist/components/status/Spin/Spin.js +1 -1
  366. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  367. package/dist/data/item-themes.js +1 -1
  368. package/dist/data/themes.js +1 -1
  369. package/dist/eslint-plugin/defaults.generated.js +47 -1
  370. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  371. package/dist/eslint-plugin/index.js +1 -1
  372. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  373. package/dist/i18n/I18nProvider.js +1 -1
  374. package/dist/i18n/createFormatter.js +1 -1
  375. package/dist/i18n/index.js +1 -1
  376. package/dist/i18n/instance.js +1 -1
  377. package/dist/i18n/locales/de-DE/uikit.js +18 -1
  378. package/dist/i18n/locales/en-US/uikit.js +18 -1
  379. package/dist/i18n/locales/en-US/uikit.json.d.ts +22 -2
  380. package/dist/i18n/locales/es-ES/uikit.js +18 -1
  381. package/dist/i18n/locales/es-MX/uikit.js +18 -1
  382. package/dist/i18n/locales/fr-FR/uikit.js +18 -1
  383. package/dist/i18n/locales/it-IT/uikit.js +18 -1
  384. package/dist/i18n/locales/ja-JP/uikit.js +18 -1
  385. package/dist/i18n/locales/nb-NO/uikit.js +18 -1
  386. package/dist/i18n/locales/pt-BR/uikit.js +18 -1
  387. package/dist/i18n/locales/pt-PT/uikit.js +18 -1
  388. package/dist/i18n/locales/sv-SE/uikit.js +18 -1
  389. package/dist/i18n/locales/vi-VN/uikit.js +18 -1
  390. package/dist/i18n/locales.js +1 -1
  391. package/dist/i18n/useFormatter.js +1 -1
  392. package/dist/i18n/useI18n.js +1 -1
  393. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  394. package/dist/icons/AdjustmentsIcon.js +1 -1
  395. package/dist/icons/AiIcon.js +1 -1
  396. package/dist/icons/AreaChartIcon.js +1 -1
  397. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  398. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  399. package/dist/icons/BackwardIcon.js +1 -1
  400. package/dist/icons/BarChartIcon.js +1 -1
  401. package/dist/icons/BellFilledIcon.js +1 -1
  402. package/dist/icons/BellIcon.js +1 -1
  403. package/dist/icons/BooleanIcon.js +1 -1
  404. package/dist/icons/CalendarEditIcon.js +1 -1
  405. package/dist/icons/CalendarIcon.js +1 -1
  406. package/dist/icons/CaretDownIcon.js +1 -1
  407. package/dist/icons/CaretUpIcon.js +1 -1
  408. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  409. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  410. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  411. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  412. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  413. package/dist/icons/ChartBarLineIcon.js +1 -1
  414. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  415. package/dist/icons/ChartBarStackedIcon.js +1 -1
  416. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  417. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  418. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  419. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  420. package/dist/icons/ChartBubbleIcon.js +1 -1
  421. package/dist/icons/ChartDonut2Icon.js +1 -1
  422. package/dist/icons/ChartFunnelIcon.js +1 -1
  423. package/dist/icons/ChartHeatmapIcon.js +1 -1
  424. package/dist/icons/ChartKPIIcon.js +1 -1
  425. package/dist/icons/ChartPie2Icon.js +1 -1
  426. package/dist/icons/ChartScatterIcon.js +1 -1
  427. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  428. package/dist/icons/CheckCircleIcon.js +1 -1
  429. package/dist/icons/CheckIcon.js +1 -1
  430. package/dist/icons/CircleFilledIcon.js +1 -1
  431. package/dist/icons/ClearIcon.js +1 -1
  432. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  433. package/dist/icons/CloseCircleIcon.js +1 -1
  434. package/dist/icons/CloseIcon.js +1 -1
  435. package/dist/icons/CodeIcon.js +1 -1
  436. package/dist/icons/ColumnTotalIcon.js +1 -1
  437. package/dist/icons/CopyIcon.js +1 -1
  438. package/dist/icons/CountIcon.js +1 -1
  439. package/dist/icons/CubeIcon.js +1 -1
  440. package/dist/icons/CubePauseIcon.js +1 -1
  441. package/dist/icons/CubePlayIcon.js +1 -1
  442. package/dist/icons/CurrencyDollarIcon.js +1 -1
  443. package/dist/icons/DangerIcon.js +1 -1
  444. package/dist/icons/DashboardIcon.js +1 -1
  445. package/dist/icons/DatabaseIcon.js +1 -1
  446. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  447. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  448. package/dist/icons/DirectionIcon.js +1 -1
  449. package/dist/icons/DonutIcon.js +1 -1
  450. package/dist/icons/DownIcon.js +1 -1
  451. package/dist/icons/EditIcon.js +1 -1
  452. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  453. package/dist/icons/ExclamationCircleIcon.js +1 -1
  454. package/dist/icons/ExclamationIcon.js +1 -1
  455. package/dist/icons/EyeIcon.js +1 -1
  456. package/dist/icons/EyeInvisibleIcon.js +1 -1
  457. package/dist/icons/FilterIcon.js +1 -1
  458. package/dist/icons/FolderFilledIcon.js +1 -1
  459. package/dist/icons/FolderIcon.js +1 -1
  460. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  461. package/dist/icons/FolderOpenIcon.js +1 -1
  462. package/dist/icons/ForwardIcon.js +1 -1
  463. package/dist/icons/GripVerticalIcon.js +1 -1
  464. package/dist/icons/HierarchyIcon.js +1 -1
  465. package/dist/icons/HierarchyOpenIcon.js +1 -1
  466. package/dist/icons/Icon.js +1 -1
  467. package/dist/icons/InfoCircleIcon.js +1 -1
  468. package/dist/icons/InfoIcon.js +1 -1
  469. package/dist/icons/KeyIcon.js +1 -1
  470. package/dist/icons/LeftIcon.js +1 -1
  471. package/dist/icons/LineChartIcon.js +1 -1
  472. package/dist/icons/LoadingIcon.js +1 -1
  473. package/dist/icons/LockFilledIcon.js +1 -1
  474. package/dist/icons/LockIcon.js +1 -1
  475. package/dist/icons/MoreIcon.js +1 -1
  476. package/dist/icons/NotAllowedIcon.js +1 -1
  477. package/dist/icons/Number123Icon.js +1 -1
  478. package/dist/icons/NumberIcon.js +1 -1
  479. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  480. package/dist/icons/PauseCircleIcon.js +1 -1
  481. package/dist/icons/PauseIcon.js +1 -1
  482. package/dist/icons/PercentageIcon.js +1 -1
  483. package/dist/icons/PieChartIcon.js +1 -1
  484. package/dist/icons/PipetteIcon.js +1 -1
  485. package/dist/icons/PlayCircleIcon.js +1 -1
  486. package/dist/icons/PlayIcon.js +1 -1
  487. package/dist/icons/PlusIcon.js +1 -1
  488. package/dist/icons/ProgressBarIcon.js +1 -1
  489. package/dist/icons/ReloadIcon.js +1 -1
  490. package/dist/icons/ReportIcon.js +1 -1
  491. package/dist/icons/ReturnIcon.js +1 -1
  492. package/dist/icons/RightIcon.js +1 -1
  493. package/dist/icons/RowTotalsIcon.js +1 -1
  494. package/dist/icons/SchemeIcon.js +1 -1
  495. package/dist/icons/SearchIcon.js +1 -1
  496. package/dist/icons/SemanticQueryIcon.js +1 -1
  497. package/dist/icons/SettingsIcon.js +1 -1
  498. package/dist/icons/ShieldFilledIcon.js +1 -1
  499. package/dist/icons/ShieldIcon.js +1 -1
  500. package/dist/icons/SlashIcon.js +1 -1
  501. package/dist/icons/SparklesIcon.js +1 -1
  502. package/dist/icons/SqlIcon.js +1 -1
  503. package/dist/icons/StatsIcon.js +1 -1
  504. package/dist/icons/StopIcon.js +1 -1
  505. package/dist/icons/StringIcon.js +1 -1
  506. package/dist/icons/SubtotalsIcon.js +1 -1
  507. package/dist/icons/SwitchIcon.js +1 -1
  508. package/dist/icons/TableIcon.js +1 -1
  509. package/dist/icons/ThumbsDownIcon.js +1 -1
  510. package/dist/icons/ThumbsUpIcon.js +1 -1
  511. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  512. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  513. package/dist/icons/ThunderboltIcon.js +1 -1
  514. package/dist/icons/TimeIcon.js +1 -1
  515. package/dist/icons/TrashIcon.js +1 -1
  516. package/dist/icons/UnlockIcon.js +1 -1
  517. package/dist/icons/UpIcon.js +1 -1
  518. package/dist/icons/UserGroupIcon.js +1 -1
  519. package/dist/icons/UserIcon.js +1 -1
  520. package/dist/icons/UserLockIcon.js +1 -1
  521. package/dist/icons/ViewIcon.js +1 -1
  522. package/dist/icons/WarningFilledIcon.js +1 -1
  523. package/dist/icons/WarningIcon.js +1 -1
  524. package/dist/icons/wrap-icon.js +1 -1
  525. package/dist/index.d.ts +2 -1
  526. package/dist/index.js +3 -2
  527. package/dist/index.js.map +1 -1
  528. package/dist/probe/canonicalize.js +1 -1
  529. package/dist/probe/css.js +1 -1
  530. package/dist/probe/index.js +1 -1
  531. package/dist/provider.js +1 -1
  532. package/dist/providers/TrackingProvider.js +1 -1
  533. package/dist/providers/navigationAdapter.default.js +1 -1
  534. package/dist/tokens/all-tokens.js +1 -1
  535. package/dist/tokens/base.js +1 -1
  536. package/dist/tokens/color-seed.js +1 -1
  537. package/dist/tokens/color-theme.js +1 -1
  538. package/dist/tokens/colors.js +1 -1
  539. package/dist/tokens/layout.js +1 -1
  540. package/dist/tokens/lazy-styles.js +1 -1
  541. package/dist/tokens/legacy-color.js +1 -1
  542. package/dist/tokens/palette-config.js +1 -1
  543. package/dist/tokens/palette.js +1 -1
  544. package/dist/tokens/resolve.js +1 -1
  545. package/dist/tokens/shadows.js +1 -1
  546. package/dist/tokens/sizes.js +1 -1
  547. package/dist/tokens/spacing.js +1 -1
  548. package/dist/tokens/typography.d.ts +1 -0
  549. package/dist/tokens/typography.js +10 -1
  550. package/dist/tokens/typography.js.map +1 -1
  551. package/dist/utils/ResizeSensor.js +1 -1
  552. package/dist/utils/colors.js +1 -1
  553. package/dist/utils/dotize.js +1 -1
  554. package/dist/utils/is-dev-env.js +1 -1
  555. package/dist/utils/modules.js +1 -1
  556. package/dist/utils/promise.js +1 -1
  557. package/dist/utils/raf.js +1 -1
  558. package/dist/utils/random.js +1 -1
  559. package/dist/utils/range.js +1 -1
  560. package/dist/utils/react/RenderCache.js +1 -1
  561. package/dist/utils/react/Slots.js +1 -1
  562. package/dist/utils/react/chain.js +1 -1
  563. package/dist/utils/react/disabledProps.js +1 -1
  564. package/dist/utils/react/escapePropagation.js +1 -1
  565. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  566. package/dist/utils/react/index.js +1 -1
  567. package/dist/utils/react/interactions.js +1 -1
  568. package/dist/utils/react/isTextOnly.js +1 -1
  569. package/dist/utils/react/mapProps.js +1 -1
  570. package/dist/utils/react/mergeProps.js +1 -1
  571. package/dist/utils/react/nullableValue.js +1 -1
  572. package/dist/utils/react/programmaticFocus.js +1 -1
  573. package/dist/utils/react/resolveIcon.js +1 -1
  574. package/dist/utils/react/sharedStore.js +1 -1
  575. package/dist/utils/react/useBufferedValue.js +1 -1
  576. package/dist/utils/react/useCombinedRefs.js +1 -1
  577. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  578. package/dist/utils/react/useEventBus.js +1 -1
  579. package/dist/utils/react/useId.js +1 -1
  580. package/dist/utils/react/useIsDarwin.js +1 -1
  581. package/dist/utils/react/useKeySymbols.js +1 -1
  582. package/dist/utils/react/useLayoutEffect.js +1 -1
  583. package/dist/utils/react/useLocalStorage.js +1 -1
  584. package/dist/utils/react/useMergeStyles.js +1 -1
  585. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  586. package/dist/utils/react/usePopoverSync.js +1 -1
  587. package/dist/utils/react/useQaProps.js +1 -1
  588. package/dist/utils/react/useScheme.js +1 -1
  589. package/dist/utils/react/useViewportSize.js +1 -1
  590. package/dist/utils/react/wrapNodeIfPlain.js +3 -4
  591. package/dist/utils/react/wrapNodeIfPlain.js.map +1 -1
  592. package/dist/utils/selection.js +1 -1
  593. package/dist/utils/styles.js +1 -1
  594. package/dist/utils/tree.js +1 -1
  595. package/dist/utils/warnings.js +1 -1
  596. package/dist/version.js +2 -2
  597. package/docs/Usage.md +10 -9
  598. package/docs/components/actions/ItemButton.md +2 -2
  599. package/docs/components/fields/TagInput.md +429 -0
  600. package/docs/components/overlays/TooltipProvider.md +1 -0
  601. package/package.json +1 -1
  602. package/tasty.config.ts +2 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { isDevEnvOrTest } from "../../../utils/is-dev-env.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { _Text } from "./Text.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { TooltipProvider } from "../overlays/Tooltip/TooltipProvider.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { useEffect, useRef, useState } from "react";
@@ -67,12 +67,12 @@ function useAutoTooltip(t0) {
67
67
  if ($[2] !== isAutoTooltipEnabled) {
68
68
  t5 = () => {
69
69
  if (isAutoTooltipEnabled) {
70
- scheduleLabelOverflowCheck();
70
+ checkLabelOverflow();
71
71
  return;
72
72
  }
73
73
  setIsLabelOverflowed(false);
74
74
  };
75
- t6 = [isAutoTooltipEnabled, scheduleLabelOverflowCheck];
75
+ t6 = [isAutoTooltipEnabled, checkLabelOverflow];
76
76
  $[2] = isAutoTooltipEnabled;
77
77
  $[3] = t5;
78
78
  $[4] = t6;
@@ -1 +1 @@
1
- {"version":3,"file":"use-auto-tooltip.js","names":["HTMLAttributes","ReactNode","Ref","RefObject","useCallback","useEffect","useMemo","useRef","useState","OverlayProps","CubeTooltipProviderProps","TooltipProvider","Props","AutoTooltipValue","Omit","auto","UseAutoTooltipOptions","tooltip","children","labelProps","isDynamicLabel","labelRef","HTMLElement","assignRef","ref","element","current","useAutoTooltip","t0","$","_c","t1","labelRefOption","undefined","t2","bb0","title","autoValue","isAutoTooltipEnabled","externalLabelRef","isLabelOverflowed","setIsLabelOverflowed","elementRef","resizeObserverRef","measurePendingRef","t3","Symbol","for","label","scrollWidth","clientWidth","checkLabelOverflow","t4","queueMicrotask","scheduleLabelOverflowCheck","t5","t6","t7","disconnect","obs","ResizeObserver","observe","handleLabelElementRef","t8","t9","t10","props","finalLabelProps","t11","bb1","t12","hasAutoContent","t13","isDisabled","tooltipProps","t14","resolvedTooltip","isTooltipActive","renderElement","defaultTooltipPlacement","triggerProps","renderWithTooltip","hasTooltip"],"sources":["../../../src/components/content/use-auto-tooltip.tsx"],"sourcesContent":["import {\n HTMLAttributes,\n ReactNode,\n Ref,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { OverlayProps } from 'react-aria';\n\nimport {\n CubeTooltipProviderProps,\n TooltipProvider,\n} from '../overlays/Tooltip/TooltipProvider';\n\nimport type { Props } from '../../props';\n\nexport type AutoTooltipValue =\n | string\n | boolean\n | (Omit<CubeTooltipProviderProps, 'children'> & { auto?: boolean });\n\nexport interface UseAutoTooltipOptions {\n tooltip: AutoTooltipValue | undefined;\n children: ReactNode;\n labelProps?: Props;\n isDynamicLabel?: boolean;\n /**\n * The caller's own ref to the label element. The hook owns the label's ref\n * (it measures the node), so a caller that also needs the node hands its ref\n * over here rather than attaching a second one.\n */\n labelRef?: Ref<HTMLElement>;\n}\n\nfunction assignRef(ref: unknown, element: HTMLElement | null) {\n if (typeof ref === 'function') {\n ref(element);\n } else if (ref) {\n (ref as { current: HTMLElement | null }).current = element;\n }\n}\n\nexport function useAutoTooltip({\n tooltip,\n children,\n labelProps,\n isDynamicLabel = false,\n labelRef: labelRefOption,\n}: UseAutoTooltipOptions) {\n // Determine if auto tooltip is enabled\n // Auto tooltip only works when children is a string (overflow detection needs text)\n const isAutoTooltipEnabled = useMemo(() => {\n if (typeof children !== 'string') return false;\n\n // Boolean true enables auto overflow detection\n if (tooltip === true) return true;\n if (typeof tooltip === 'object') {\n // If title is provided and auto is explicitly true, enable auto overflow detection\n if (tooltip.title) {\n return tooltip.auto === true;\n }\n\n // If no title is provided, default to auto=true unless explicitly disabled\n const autoValue = tooltip.auto !== undefined ? tooltip.auto : true;\n return !!autoValue;\n }\n return false;\n }, [tooltip, children]);\n\n // Track label overflow for auto tooltip (only when enabled)\n const externalLabelRef = (labelProps as any)?.ref;\n const [isLabelOverflowed, setIsLabelOverflowed] = useState(false);\n const elementRef = useRef<HTMLElement | null>(null);\n const resizeObserverRef = useRef<ResizeObserver | null>(null);\n\n const measurePendingRef = useRef(false);\n\n const checkLabelOverflow = useCallback(() => {\n const label = elementRef.current;\n\n if (!label) return;\n\n setIsLabelOverflowed(label.scrollWidth > label.clientWidth);\n }, []);\n\n /**\n * Measure once the current task has finished, not inside it.\n *\n * A microtask runs after React's whole commit — every mutation, layout effect\n * and ref attachment — and before paint. Every label on the page therefore\n * reads after all of them have written, so the reads collapse into one style\n * and layout flush instead of forcing one each, mid-commit. Reading straight\n * from the callback ref is what cost 122ms of `get scrollWidth` in one Cloud\n * profile, more than the entire style engine.\n *\n * A microtask rather than the observer's first delivery: observer callbacks\n * are part of the rendering steps, so a runner that is not producing frames —\n * a background tab, or a headless browser running many stories at once — can\n * delay them past the point something asks whether the tooltip is active.\n * Microtasks do not depend on a frame.\n */\n const scheduleLabelOverflowCheck = useCallback(() => {\n if (measurePendingRef.current) return;\n\n measurePendingRef.current = true;\n\n queueMicrotask(() => {\n measurePendingRef.current = false;\n checkLabelOverflow();\n });\n }, [checkLabelOverflow]);\n\n useEffect(() => {\n if (isAutoTooltipEnabled) {\n // Scheduled, not measured here. React 19 flushes a sync commit's passive\n // effects before the commit returns, so a verdict set from this effect\n // leaves that commit with an update pending — a nested update. A list\n // that commits each row on its own (ag-grid-react wraps every new row in\n // `flushSync`) then gains one per row, and the 51st throws \"Maximum update\n // depth exceeded\". The microtask lands after the commit and still before\n // paint; it is shared with the callback ref, so this adds no second read.\n scheduleLabelOverflowCheck();\n\n return;\n }\n\n // Clearing here rather than in the callback ref, which cannot be trusted\n // to do it. Flipping `isAutoTooltipEnabled` changes the ref's identity, so\n // React detaches with the PREVIOUS callback — the one that still believes\n // auto tooltips are on, and therefore keeps the last verdict — and only\n // attaches the new one if the label still exists. When `children` stops\n // being a string the label unmounts, so the new callback never runs and a\n // stale `true` would keep an auto tooltip mounted over content that is no\n // longer text. That is the default `Button` path, where `tooltip` is `true`.\n setIsLabelOverflowed(false);\n }, [isAutoTooltipEnabled, scheduleLabelOverflowCheck]);\n\n // Attach ResizeObserver via callback ref to handle DOM node changes\n const handleLabelElementRef = useCallback(\n (element: HTMLElement | null) => {\n // Notify the external refs\n assignRef(externalLabelRef, element);\n assignRef(labelRefOption, element);\n\n // Disconnect previous observer\n if (resizeObserverRef.current) {\n try {\n resizeObserverRef.current.disconnect();\n } catch {\n // do nothing\n }\n resizeObserverRef.current = null;\n }\n\n elementRef.current = element;\n\n if (!isAutoTooltipEnabled) {\n setIsLabelOverflowed(false);\n\n return;\n }\n\n // No node to measure. Leave the previous verdict alone rather than\n // clearing it: turning the verdict on mounts `TooltipProvider`, which\n // remounts the label underneath it, so React detaches the old node and\n // attaches a new one within that commit. Clearing here would unmount the\n // provider, remount the label, measure it, mount the provider again — a\n // loop that never settles.\n if (!element) return;\n\n // Do NOT measure synchronously here — see `scheduleLabelOverflowCheck`.\n // This covers the node the ref just handed us, including the fresh one\n // React creates when `TooltipProvider` mounts and remounts the label.\n scheduleLabelOverflowCheck();\n\n // The observer covers every later size change.\n const obs = new ResizeObserver(() => {\n checkLabelOverflow();\n });\n\n resizeObserverRef.current = obs;\n\n obs.observe(element);\n },\n [\n externalLabelRef,\n labelRefOption,\n isAutoTooltipEnabled,\n checkLabelOverflow,\n scheduleLabelOverflowCheck,\n ],\n );\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n if (resizeObserverRef.current) {\n try {\n resizeObserverRef.current.disconnect();\n } catch {\n // do nothing\n }\n resizeObserverRef.current = null;\n }\n elementRef.current = null;\n };\n }, []);\n\n const finalLabelProps = useMemo(() => {\n const props = {\n ...(labelProps || {}),\n };\n\n delete props.ref;\n\n return props;\n }, [labelProps]);\n\n /**\n * The `TooltipProvider` props this tooltip resolves to, or `null` when no\n * tooltip is rendered at all. Resolved once so that both the rendering below\n * and `isTooltipActive` speak about the same tooltip.\n */\n const resolvedTooltip = useMemo<Omit<\n CubeTooltipProviderProps,\n 'children'\n > | null>(() => {\n if (!tooltip) return null;\n\n // String tooltip - simple case\n if (typeof tooltip === 'string') {\n return { title: tooltip };\n }\n\n const hasAutoContent =\n !!(children || labelProps) && (isLabelOverflowed || isDynamicLabel);\n\n // Boolean tooltip - auto tooltip on overflow\n if (tooltip === true) {\n if (!hasAutoContent) return null;\n\n return {\n title: children,\n isDisabled: !isLabelOverflowed && isDynamicLabel,\n };\n }\n\n // Object tooltip - advanced configuration\n const { auto, ...tooltipProps } = tooltip;\n\n // If title is provided and auto is not explicitly true, always show the tooltip\n if (tooltipProps.title && auto !== true) {\n return tooltipProps;\n }\n\n // If title is provided with auto=true, OR no title but auto behavior enabled\n if (!hasAutoContent) return null;\n\n return {\n title: tooltipProps.title ?? children,\n isDisabled:\n !isLabelOverflowed &&\n isDynamicLabel &&\n tooltipProps.isDisabled !== true,\n ...tooltipProps,\n };\n }, [tooltip, children, labelProps, isLabelOverflowed, isDynamicLabel]);\n\n /** Whether a tooltip is rendered and able to open. */\n const isTooltipActive =\n !!resolvedTooltip && resolvedTooltip.isDisabled !== true;\n\n const renderWithTooltip = (\n renderElement: (\n tooltipTriggerProps?: HTMLAttributes<HTMLElement>,\n tooltipRef?: RefObject<HTMLElement>,\n ) => ReactNode,\n defaultTooltipPlacement: OverlayProps['placement'],\n ) => {\n if (!resolvedTooltip) return renderElement();\n\n return (\n <TooltipProvider placement={defaultTooltipPlacement} {...resolvedTooltip}>\n {(triggerProps, ref) => renderElement(triggerProps, ref)}\n </TooltipProvider>\n );\n };\n\n return {\n labelRef: handleLabelElementRef,\n labelProps: finalLabelProps,\n isLabelOverflowed,\n isAutoTooltipEnabled,\n hasTooltip: !!tooltip,\n isTooltipActive,\n renderWithTooltip,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-auto-tooltip.js","names":["HTMLAttributes","ReactNode","Ref","RefObject","useCallback","useEffect","useMemo","useRef","useState","OverlayProps","CubeTooltipProviderProps","TooltipProvider","Props","AutoTooltipValue","Omit","auto","UseAutoTooltipOptions","tooltip","children","labelProps","isDynamicLabel","labelRef","HTMLElement","assignRef","ref","element","current","useAutoTooltip","t0","$","_c","t1","labelRefOption","undefined","t2","bb0","title","autoValue","isAutoTooltipEnabled","externalLabelRef","isLabelOverflowed","setIsLabelOverflowed","elementRef","resizeObserverRef","measurePendingRef","t3","Symbol","for","label","scrollWidth","clientWidth","checkLabelOverflow","t4","queueMicrotask","scheduleLabelOverflowCheck","t5","t6","t7","disconnect","obs","ResizeObserver","observe","handleLabelElementRef","t8","t9","t10","props","finalLabelProps","t11","bb1","t12","hasAutoContent","t13","isDisabled","tooltipProps","t14","resolvedTooltip","isTooltipActive","renderElement","defaultTooltipPlacement","triggerProps","renderWithTooltip","hasTooltip"],"sources":["../../../src/components/content/use-auto-tooltip.tsx"],"sourcesContent":["import {\n HTMLAttributes,\n ReactNode,\n Ref,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { OverlayProps } from 'react-aria';\n\nimport {\n CubeTooltipProviderProps,\n TooltipProvider,\n} from '../overlays/Tooltip/TooltipProvider';\n\nimport type { Props } from '../../props';\n\nexport type AutoTooltipValue =\n | string\n | boolean\n | (Omit<CubeTooltipProviderProps, 'children'> & { auto?: boolean });\n\nexport interface UseAutoTooltipOptions {\n tooltip: AutoTooltipValue | undefined;\n children: ReactNode;\n labelProps?: Props;\n isDynamicLabel?: boolean;\n /**\n * The caller's own ref to the label element. The hook owns the label's ref\n * (it measures the node), so a caller that also needs the node hands its ref\n * over here rather than attaching a second one.\n */\n labelRef?: Ref<HTMLElement>;\n}\n\nfunction assignRef(ref: unknown, element: HTMLElement | null) {\n if (typeof ref === 'function') {\n ref(element);\n } else if (ref) {\n (ref as { current: HTMLElement | null }).current = element;\n }\n}\n\nexport function useAutoTooltip({\n tooltip,\n children,\n labelProps,\n isDynamicLabel = false,\n labelRef: labelRefOption,\n}: UseAutoTooltipOptions) {\n // Determine if auto tooltip is enabled\n // Auto tooltip only works when children is a string (overflow detection needs text)\n const isAutoTooltipEnabled = useMemo(() => {\n if (typeof children !== 'string') return false;\n\n // Boolean true enables auto overflow detection\n if (tooltip === true) return true;\n if (typeof tooltip === 'object') {\n // If title is provided and auto is explicitly true, enable auto overflow detection\n if (tooltip.title) {\n return tooltip.auto === true;\n }\n\n // If no title is provided, default to auto=true unless explicitly disabled\n const autoValue = tooltip.auto !== undefined ? tooltip.auto : true;\n return !!autoValue;\n }\n return false;\n }, [tooltip, children]);\n\n // Track label overflow for auto tooltip (only when enabled)\n const externalLabelRef = (labelProps as any)?.ref;\n const [isLabelOverflowed, setIsLabelOverflowed] = useState(false);\n const elementRef = useRef<HTMLElement | null>(null);\n const resizeObserverRef = useRef<ResizeObserver | null>(null);\n\n const measurePendingRef = useRef(false);\n\n const checkLabelOverflow = useCallback(() => {\n const label = elementRef.current;\n\n if (!label) return;\n\n setIsLabelOverflowed(label.scrollWidth > label.clientWidth);\n }, []);\n\n /**\n * Measure once the current task has finished, not inside it.\n *\n * A microtask runs after React's whole commit — every mutation, layout effect\n * and ref attachment — and before paint. Every label on the page therefore\n * reads after all of them have written, so the reads collapse into one style\n * and layout flush instead of forcing one each, mid-commit. Reading straight\n * from the callback ref is what cost 122ms of `get scrollWidth` in one Cloud\n * profile, more than the entire style engine.\n *\n * A microtask rather than the observer's first delivery: observer callbacks\n * are part of the rendering steps, so a runner that is not producing frames —\n * a background tab, or a headless browser running many stories at once — can\n * delay them past the point something asks whether the tooltip is active.\n * Microtasks do not depend on a frame.\n */\n const scheduleLabelOverflowCheck = useCallback(() => {\n if (measurePendingRef.current) return;\n\n measurePendingRef.current = true;\n\n queueMicrotask(() => {\n measurePendingRef.current = false;\n checkLabelOverflow();\n });\n }, [checkLabelOverflow]);\n\n useEffect(() => {\n if (isAutoTooltipEnabled) {\n checkLabelOverflow();\n\n return;\n }\n\n // Clearing here rather than in the callback ref, which cannot be trusted\n // to do it. Flipping `isAutoTooltipEnabled` changes the ref's identity, so\n // React detaches with the PREVIOUS callback — the one that still believes\n // auto tooltips are on, and therefore keeps the last verdict — and only\n // attaches the new one if the label still exists. When `children` stops\n // being a string the label unmounts, so the new callback never runs and a\n // stale `true` would keep an auto tooltip mounted over content that is no\n // longer text. That is the default `Button` path, where `tooltip` is `true`.\n setIsLabelOverflowed(false);\n }, [isAutoTooltipEnabled, checkLabelOverflow]);\n\n // Attach ResizeObserver via callback ref to handle DOM node changes\n const handleLabelElementRef = useCallback(\n (element: HTMLElement | null) => {\n // Notify the external refs\n assignRef(externalLabelRef, element);\n assignRef(labelRefOption, element);\n\n // Disconnect previous observer\n if (resizeObserverRef.current) {\n try {\n resizeObserverRef.current.disconnect();\n } catch {\n // do nothing\n }\n resizeObserverRef.current = null;\n }\n\n elementRef.current = element;\n\n if (!isAutoTooltipEnabled) {\n setIsLabelOverflowed(false);\n\n return;\n }\n\n // No node to measure. Leave the previous verdict alone rather than\n // clearing it: turning the verdict on mounts `TooltipProvider`, which\n // remounts the label underneath it, so React detaches the old node and\n // attaches a new one within that commit. Clearing here would unmount the\n // provider, remount the label, measure it, mount the provider again — a\n // loop that never settles.\n if (!element) return;\n\n // Do NOT measure synchronously here — see `scheduleLabelOverflowCheck`.\n // This covers the node the ref just handed us, including the fresh one\n // React creates when `TooltipProvider` mounts and remounts the label.\n scheduleLabelOverflowCheck();\n\n // The observer covers every later size change.\n const obs = new ResizeObserver(() => {\n checkLabelOverflow();\n });\n\n resizeObserverRef.current = obs;\n\n obs.observe(element);\n },\n [\n externalLabelRef,\n labelRefOption,\n isAutoTooltipEnabled,\n checkLabelOverflow,\n scheduleLabelOverflowCheck,\n ],\n );\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n if (resizeObserverRef.current) {\n try {\n resizeObserverRef.current.disconnect();\n } catch {\n // do nothing\n }\n resizeObserverRef.current = null;\n }\n elementRef.current = null;\n };\n }, []);\n\n const finalLabelProps = useMemo(() => {\n const props = {\n ...(labelProps || {}),\n };\n\n delete props.ref;\n\n return props;\n }, [labelProps]);\n\n /**\n * The `TooltipProvider` props this tooltip resolves to, or `null` when no\n * tooltip is rendered at all. Resolved once so that both the rendering below\n * and `isTooltipActive` speak about the same tooltip.\n */\n const resolvedTooltip = useMemo<Omit<\n CubeTooltipProviderProps,\n 'children'\n > | null>(() => {\n if (!tooltip) return null;\n\n // String tooltip - simple case\n if (typeof tooltip === 'string') {\n return { title: tooltip };\n }\n\n const hasAutoContent =\n !!(children || labelProps) && (isLabelOverflowed || isDynamicLabel);\n\n // Boolean tooltip - auto tooltip on overflow\n if (tooltip === true) {\n if (!hasAutoContent) return null;\n\n return {\n title: children,\n isDisabled: !isLabelOverflowed && isDynamicLabel,\n };\n }\n\n // Object tooltip - advanced configuration\n const { auto, ...tooltipProps } = tooltip;\n\n // If title is provided and auto is not explicitly true, always show the tooltip\n if (tooltipProps.title && auto !== true) {\n return tooltipProps;\n }\n\n // If title is provided with auto=true, OR no title but auto behavior enabled\n if (!hasAutoContent) return null;\n\n return {\n title: tooltipProps.title ?? children,\n isDisabled:\n !isLabelOverflowed &&\n isDynamicLabel &&\n tooltipProps.isDisabled !== true,\n ...tooltipProps,\n };\n }, [tooltip, children, labelProps, isLabelOverflowed, isDynamicLabel]);\n\n /** Whether a tooltip is rendered and able to open. */\n const isTooltipActive =\n !!resolvedTooltip && resolvedTooltip.isDisabled !== true;\n\n const renderWithTooltip = (\n renderElement: (\n tooltipTriggerProps?: HTMLAttributes<HTMLElement>,\n tooltipRef?: RefObject<HTMLElement>,\n ) => ReactNode,\n defaultTooltipPlacement: OverlayProps['placement'],\n ) => {\n if (!resolvedTooltip) return renderElement();\n\n return (\n <TooltipProvider placement={defaultTooltipPlacement} {...resolvedTooltip}>\n {(triggerProps, ref) => renderElement(triggerProps, ref)}\n </TooltipProvider>\n );\n };\n\n return {\n labelRef: handleLabelElementRef,\n labelProps: finalLabelProps,\n isLabelOverflowed,\n isAutoTooltipEnabled,\n hasTooltip: !!tooltip,\n isTooltipActive,\n renderWithTooltip,\n };\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { _Text } from "../../content/Text.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { _Text } from "../../content/Text.js";
3
3
  import { useI18n } from "../../../i18n/useI18n.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { _Pagination } from "../../navigation/Pagination/Pagination.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { useI18n } from "../../../i18n/useI18n.js";
3
3
  import { Button } from "../../actions/index.js";
4
4
  import { ReloadIcon } from "../../../icons/ReloadIcon.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  //#region src/components/data/TableBase/RowCollection.ts
3
3
  /**
4
4
  * A `Collection<Node<T>>` over a plain row array.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { useEffect, useRef, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { mergeRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { TooltipProvider } from "../../overlays/Tooltip/TooltipProvider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { __Menu } from "../../actions/Menu/Menu.js";
3
3
  import { normalizeMenuAction } from "./row-menu.js";
4
4
  import { Children, cloneElement, isValidElement } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { getPaletteConfig } from "../../../tokens/palette-config.js";
3
3
  import { hashString } from "../../../tokens/color-theme.js";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { Children, Fragment, isValidElement } from "react";
3
3
 
4
4
  //#region src/components/data/TableBase/row-menu.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { _Item } from "../../content/Item/Item.js";
3
3
  import { Action } from "../../actions/Action/Action.js";
4
4
  import { keyframes, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  //#region src/components/data/TableBase/table-tree.ts
3
3
  /** Build identity and parent/child indexes without modifying consumer rows. */
4
4
  function buildTableTree(rows, getChildren, getKey) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  //#region src/components/data/TableBase/types.ts
3
3
  /**
4
4
  * `asc | desc` rather than React Aria's `ascending | descending`: we do not use
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { c } from "react-compiler-runtime";
3
3
  import { useLayoutEffect, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { c } from "react-compiler-runtime";
3
3
  import { useLayoutEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { c } from "react-compiler-runtime";
3
3
  import { useLayoutEffect, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { c } from "react-compiler-runtime";
3
3
 
4
4
  //#region src/components/data/TableBase/use-table-columns.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useDebouncedValue } from "../../../_internal/hooks/use-debounced-value.js";
4
4
  import { getColumnText } from "./use-table-columns.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { RowCollection } from "./RowCollection.js";
4
4
  import { useCallback, useMemo, useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { getColumnText, getColumnValue } from "./use-table-columns.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { compareByColumn } from "./use-table-sort.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { useCallback, useRef, useState } from "react";
3
3
 
4
4
  //#region src/components/data/TableBase/use-table-storage.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useI18n } from "../../../i18n/useI18n.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useFocus as useFocus$1 } from "../../../utils/react/interactions.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { castNullableArrayValue } from "../../../utils/react/nullableValue.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { createContext } from "react";
3
3
 
4
4
  //#region src/components/fields/Checkbox/context.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { ItemActionProvider } from "../../actions/ItemActionContext.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { _Text } from "../../content/Text.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { parseColor, toHex } from "../color/color.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bada6bd | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-09a7efe | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
4
4
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -15,6 +15,7 @@ import { getValidationMods } from "../../form/validation/resolve-validation-prop
15
15
  import { getValidationIcon } from "../../form/validation/ValidationIndicator.js";
16
16
  import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
17
17
  import { wrapWithField } from "../../form/wrapper.js";
18
+ import { getListBoxOptionId } from "../ListBox/optionId.js";
18
19
  import { DEFAULT_INPUT_STYLES, INPUT_WRAPPER_STYLES } from "../TextInput/TextInputBase.js";
19
20
  import { ListBoxPopover } from "../ListBoxPopover/ListBoxPopover.js";
20
21
  import { useCompositeFocus } from "../ListBoxPopover/useCompositeFocus.js";
@@ -140,10 +141,10 @@ function _temp() {
140
141
  return true;
141
142
  }
142
143
  function useComboBoxKeyboard(t0) {
143
- const $ = c(16);
144
- const { isPopoverOpen, listStateRef, hasResults, allowsCustomValue, effectiveInputValue, isClearable, onSelectionChange, onClearValue, onOpenPopover, onClosePopover, inputRef, setIsFilterActive, onKeyDown } = t0;
144
+ const $ = c(17);
145
+ const { isPopoverOpen, listStateRef, hasResults, allowsCustomValue, effectiveInputValue, isClearable, onSelectionChange, onClearValue, onOpenPopover, onClosePopover, inputRef, setIsFilterActive, onVirtualFocus, onKeyDown } = t0;
145
146
  let t1;
146
- if ($[0] !== allowsCustomValue || $[1] !== effectiveInputValue || $[2] !== hasResults || $[3] !== inputRef || $[4] !== isClearable || $[5] !== isPopoverOpen || $[6] !== listStateRef || $[7] !== onClearValue || $[8] !== onClosePopover || $[9] !== onKeyDown || $[10] !== onOpenPopover || $[11] !== onSelectionChange || $[12] !== setIsFilterActive) {
147
+ if ($[0] !== allowsCustomValue || $[1] !== effectiveInputValue || $[2] !== hasResults || $[3] !== inputRef || $[4] !== isClearable || $[5] !== isPopoverOpen || $[6] !== listStateRef || $[7] !== onClearValue || $[8] !== onClosePopover || $[9] !== onKeyDown || $[10] !== onOpenPopover || $[11] !== onSelectionChange || $[12] !== onVirtualFocus || $[13] !== setIsFilterActive) {
147
148
  t1 = { onKeyDown: (e) => {
148
149
  onKeyDown?.(e);
149
150
  if (e.key === "ArrowDown" || e.key === "ArrowUp") {
@@ -159,6 +160,7 @@ function useComboBoxKeyboard(t0) {
159
160
  if (nextKey != null) {
160
161
  markKeyboardFocus(listState);
161
162
  listState.selectionManager.setFocusedKey(nextKey);
163
+ onVirtualFocus(nextKey);
162
164
  }
163
165
  } else if (e.key === "Enter") {
164
166
  if (isPopoverOpen) {
@@ -208,6 +210,7 @@ function useComboBoxKeyboard(t0) {
208
210
  if (targetKey != null) {
209
211
  markKeyboardFocus(listState_1);
210
212
  listState_1.selectionManager.setFocusedKey(targetKey);
213
+ onVirtualFocus(targetKey);
211
214
  }
212
215
  }
213
216
  }
@@ -224,46 +227,80 @@ function useComboBoxKeyboard(t0) {
224
227
  $[9] = onKeyDown;
225
228
  $[10] = onOpenPopover;
226
229
  $[11] = onSelectionChange;
227
- $[12] = setIsFilterActive;
228
- $[13] = t1;
229
- } else t1 = $[13];
230
+ $[12] = onVirtualFocus;
231
+ $[13] = setIsFilterActive;
232
+ $[14] = t1;
233
+ } else t1 = $[14];
230
234
  const { keyboardProps } = useKeyboard(t1);
231
235
  let t2;
232
- if ($[14] !== keyboardProps) {
236
+ if ($[15] !== keyboardProps) {
233
237
  t2 = { keyboardProps };
234
- $[14] = keyboardProps;
235
- $[15] = t2;
236
- } else t2 = $[15];
238
+ $[15] = keyboardProps;
239
+ $[16] = t2;
240
+ } else t2 = $[16];
237
241
  return t2;
238
242
  }
239
- const ComboBoxInput = forwardRef(function ComboBoxInput({ qa, inputRef, id, value, placeholder, isDisabled, isReadOnly, isRequired, autoFocus, autoComplete, size, mods, inputStyles, keyboardProps, focusProps, onChange, onFocus, isPopoverOpen, hasResults, comboBoxId, listStateRef }, ref) {
240
- return /* @__PURE__ */ jsx(InputElement, {
241
- ref: useCombinedRefs(ref, inputRef),
242
- qa,
243
- id,
244
- type: "text",
245
- value,
246
- placeholder,
247
- isDisabled,
248
- readOnly: isReadOnly,
249
- autoFocus,
250
- autoComplete,
251
- "data-autofocus": autoFocus ? "" : void 0,
252
- onChange,
253
- onFocus,
254
- onBlur: focusProps.onBlur,
255
- ...keyboardProps,
256
- styles: inputStyles,
257
- mods,
258
- "data-size": size,
259
- "data-input-type": "combobox",
260
- role: "combobox",
261
- "aria-required": isRequired || void 0,
262
- "aria-expanded": isPopoverOpen && hasResults,
263
- "aria-haspopup": "listbox",
264
- "aria-controls": isPopoverOpen && hasResults ? `ComboBoxListBox-${comboBoxId}` : void 0,
265
- "aria-activedescendant": isPopoverOpen && hasResults && listStateRef.current?.selectionManager.focusedKey != null ? `ListBoxItem-${listStateRef.current?.selectionManager.focusedKey}` : void 0
266
- });
243
+ const ComboBoxInput = forwardRef(function ComboBoxInput(t0, ref) {
244
+ const $ = c(22);
245
+ const { qa, inputRef, id, value, placeholder, isDisabled, isReadOnly, isRequired, autoFocus, autoComplete, size, mods, inputStyles, keyboardProps, focusProps, onChange, onFocus, isPopoverOpen, hasResults, comboBoxId, activeDescendant } = t0;
246
+ const combinedRef = useCombinedRefs(ref, inputRef);
247
+ const t1 = autoFocus ? "" : void 0;
248
+ const t2 = isRequired || void 0;
249
+ const t3 = isPopoverOpen && hasResults;
250
+ const t4 = isPopoverOpen && hasResults ? `ComboBoxListBox-${comboBoxId}` : void 0;
251
+ let t5;
252
+ if ($[0] !== activeDescendant || $[1] !== autoComplete || $[2] !== autoFocus || $[3] !== combinedRef || $[4] !== focusProps.onBlur || $[5] !== id || $[6] !== inputStyles || $[7] !== isDisabled || $[8] !== isReadOnly || $[9] !== keyboardProps || $[10] !== mods || $[11] !== onChange || $[12] !== onFocus || $[13] !== placeholder || $[14] !== qa || $[15] !== size || $[16] !== t1 || $[17] !== t2 || $[18] !== t3 || $[19] !== t4 || $[20] !== value) {
253
+ t5 = /* @__PURE__ */ jsx(InputElement, {
254
+ ref: combinedRef,
255
+ qa,
256
+ id,
257
+ type: "text",
258
+ value,
259
+ placeholder,
260
+ isDisabled,
261
+ readOnly: isReadOnly,
262
+ autoFocus,
263
+ autoComplete,
264
+ "data-autofocus": t1,
265
+ onChange,
266
+ onFocus,
267
+ onBlur: focusProps.onBlur,
268
+ ...keyboardProps,
269
+ styles: inputStyles,
270
+ mods,
271
+ "data-size": size,
272
+ "data-input-type": "combobox",
273
+ role: "combobox",
274
+ "aria-required": t2,
275
+ "aria-expanded": t3,
276
+ "aria-haspopup": "listbox",
277
+ "aria-controls": t4,
278
+ "aria-activedescendant": activeDescendant
279
+ });
280
+ $[0] = activeDescendant;
281
+ $[1] = autoComplete;
282
+ $[2] = autoFocus;
283
+ $[3] = combinedRef;
284
+ $[4] = focusProps.onBlur;
285
+ $[5] = id;
286
+ $[6] = inputStyles;
287
+ $[7] = isDisabled;
288
+ $[8] = isReadOnly;
289
+ $[9] = keyboardProps;
290
+ $[10] = mods;
291
+ $[11] = onChange;
292
+ $[12] = onFocus;
293
+ $[13] = placeholder;
294
+ $[14] = qa;
295
+ $[15] = size;
296
+ $[16] = t1;
297
+ $[17] = t2;
298
+ $[18] = t3;
299
+ $[19] = t4;
300
+ $[20] = value;
301
+ $[21] = t5;
302
+ } else t5 = $[21];
303
+ return t5;
267
304
  });
268
305
  const ComboBox = forwardRef(function ComboBox(props, ref) {
269
306
  props = useFieldProps(props, { valuePropsMapper: ({ value, onChange }) => {
@@ -465,6 +502,7 @@ const ComboBox = forwardRef(function ComboBox(props, ref) {
465
502
  });
466
503
  const listStateRef = useRef(null);
467
504
  const focusInitAttemptsRef = useRef(0);
505
+ const [activeOptionKey, setActiveOptionKey] = useState(null);
468
506
  const getItemLabel = useCallback((key_1) => {
469
507
  return (localCollectionState?.collection?.getItem(key_1))?.textValue || String(key_1);
470
508
  }, [localCollectionState?.collection]);
@@ -582,6 +620,7 @@ const ComboBox = forwardRef(function ComboBox(props, ref) {
582
620
  onClosePopover: () => setIsPopoverOpen(false),
583
621
  inputRef,
584
622
  setIsFilterActive,
623
+ onVirtualFocus: setActiveOptionKey,
585
624
  onKeyDown
586
625
  });
587
626
  if (icon) {
@@ -637,13 +676,21 @@ const ComboBox = forwardRef(function ComboBox(props, ref) {
637
676
  let needsRefocus = false;
638
677
  if (currentFocusedKey == null) needsRefocus = true;
639
678
  else if (!(collection.getItem(currentFocusedKey) != null)) needsRefocus = true;
640
- if (needsRefocus) {
679
+ if (!needsRefocus) setActiveOptionKey(currentFocusedKey);
680
+ else {
641
681
  let keyToFocus = null;
642
682
  if (effectiveSelectedKey != null && collection.getItem(effectiveSelectedKey) != null) keyToFocus = effectiveSelectedKey;
643
683
  else keyToFocus = collectFirstKey();
644
- if (keyToFocus != null) selectionManager.setFocusedKey(keyToFocus);
684
+ if (keyToFocus != null) {
685
+ selectionManager.setFocusedKey(keyToFocus);
686
+ setActiveOptionKey(keyToFocus);
687
+ }
645
688
  }
646
- }, [shouldShowPopover, effectiveSelectedKey]);
689
+ }, [
690
+ shouldShowPopover,
691
+ effectiveSelectedKey,
692
+ setActiveOptionKey
693
+ ]);
647
694
  useLayoutEffect$1(() => {
648
695
  if (!shouldShowPopover) return;
649
696
  focusInitAttemptsRef.current = 0;
@@ -689,7 +736,7 @@ const ComboBox = forwardRef(function ComboBox(props, ref) {
689
736
  isPopoverOpen,
690
737
  hasResults,
691
738
  comboBoxId,
692
- listStateRef,
739
+ activeDescendant: shouldShowPopover && activeOptionKey != null ? getListBoxOptionId(`ComboBoxListBox-${comboBoxId}`, activeOptionKey) : void 0,
693
740
  onChange: handleInputChange,
694
741
  onFocus: handleInputFocus
695
742
  }),