@cube-dev/ui-kit 0.0.0-canary-ac46c4b → 0.0.0-canary-9bde021

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 (621) hide show
  1. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  2. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  3. package/dist/_internal/hooks/use-event.js +1 -1
  4. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  5. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  6. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  7. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  8. package/dist/_internal/hooks/use-warn.js +1 -1
  9. package/dist/components/Block.js +1 -1
  10. package/dist/components/CollectionItem.js +1 -1
  11. package/dist/components/GlobalStyles.js +1 -1
  12. package/dist/components/GridProvider.js +1 -1
  13. package/dist/components/HiddenInput.js +1 -1
  14. package/dist/components/Root.js +1 -1
  15. package/dist/components/actions/Action/Action.js +1 -1
  16. package/dist/components/actions/Banner/Banner.js +1 -1
  17. package/dist/components/actions/Button/Button.js +1 -1
  18. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  19. package/dist/components/actions/ButtonSplit/ButtonSplit.js +2 -1
  20. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  21. package/dist/components/actions/ButtonSplit/context.js +1 -1
  22. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -8
  23. package/dist/components/actions/CommandMenu/CommandMenu.js.map +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 +1 -1
  29. package/dist/components/actions/Link/Link.js +1 -1
  30. package/dist/components/actions/Menu/Menu.js +1 -1
  31. package/dist/components/actions/Menu/Menu.js.map +1 -1
  32. package/dist/components/actions/Menu/MenuItem.js +19 -15
  33. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  34. package/dist/components/actions/Menu/MenuSection.js +1 -8
  35. package/dist/components/actions/Menu/MenuSection.js.map +1 -1
  36. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  37. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -7
  38. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  39. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  40. package/dist/components/actions/Menu/context.js +1 -1
  41. package/dist/components/actions/Menu/styled.js +1 -1
  42. package/dist/components/actions/actions-run.js +1 -1
  43. package/dist/components/actions/index.js +1 -1
  44. package/dist/components/actions/use-action.js +1 -1
  45. package/dist/components/actions/use-anchored-menu.js +1 -1
  46. package/dist/components/actions/use-context-menu.js +1 -1
  47. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  48. package/dist/components/content/Alert/Alert.js +1 -1
  49. package/dist/components/content/Alert/use-alert.js +1 -1
  50. package/dist/components/content/Avatar/Avatar.js +1 -1
  51. package/dist/components/content/Badge/Badge.js +1 -1
  52. package/dist/components/content/Card/Card.js +1 -1
  53. package/dist/components/content/Content.js +1 -2
  54. package/dist/components/content/Content.js.map +1 -1
  55. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  56. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  57. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  58. package/dist/components/content/Divider.js +1 -1
  59. package/dist/components/content/Footer.js +1 -1
  60. package/dist/components/content/Header.js +1 -1
  61. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  62. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  63. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  64. package/dist/components/content/Item/Item.d.ts +27 -2
  65. package/dist/components/content/Item/Item.js +240 -231
  66. package/dist/components/content/Item/Item.js.map +1 -1
  67. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  68. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  69. package/dist/components/content/Layout/GridLayout.js +1 -1
  70. package/dist/components/content/Layout/Layout.js +1 -1
  71. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  72. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  73. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  74. package/dist/components/content/Layout/LayoutContent.js +1 -1
  75. package/dist/components/content/Layout/LayoutContext.js +1 -1
  76. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  77. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  78. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  79. package/dist/components/content/Layout/LayoutHeader.js +123 -118
  80. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  81. package/dist/components/content/Layout/LayoutPane.js +1 -1
  82. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  83. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  84. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  85. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  86. package/dist/components/content/Layout/index.js +1 -1
  87. package/dist/components/content/Layout/utils.js +1 -1
  88. package/dist/components/content/Paragraph.js +1 -1
  89. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  90. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  91. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  92. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  93. package/dist/components/content/Result/Result.js +1 -1
  94. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  95. package/dist/components/content/Tag/Tag.js +1 -1
  96. package/dist/components/content/Text.d.ts +14 -14
  97. package/dist/components/content/Text.js +1 -1
  98. package/dist/components/content/TextItem/TextItem.js +1 -1
  99. package/dist/components/content/Title.js +1 -1
  100. package/dist/components/content/Tree/Tree.js +1 -1
  101. package/dist/components/content/Tree/TreeNode.js +1 -1
  102. package/dist/components/content/Tree/styled.js +1 -1
  103. package/dist/components/content/Tree/tree-index.js +1 -1
  104. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  105. package/dist/components/content/Tree/use-load-data.js +1 -1
  106. package/dist/components/content/highlightText.js +1 -1
  107. package/dist/components/content/use-auto-tooltip.d.ts +1 -1
  108. package/dist/components/content/use-auto-tooltip.js +231 -125
  109. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  110. package/dist/components/data/DataTable/DataTable.js +1 -1
  111. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  112. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  113. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  114. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  115. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  116. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  117. package/dist/components/data/TableBase/RowCollection.js +1 -1
  118. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  119. package/dist/components/data/TableBase/TableRow.js +1 -1
  120. package/dist/components/data/TableBase/TableView.js +1 -1
  121. package/dist/components/data/TableBase/column-menu.js +1 -1
  122. package/dist/components/data/TableBase/column-tint.js +1 -1
  123. package/dist/components/data/TableBase/row-menu.js +1 -1
  124. package/dist/components/data/TableBase/styled.d.ts +1 -0
  125. package/dist/components/data/TableBase/styled.js +1 -1
  126. package/dist/components/data/TableBase/table-tree.js +1 -1
  127. package/dist/components/data/TableBase/types.js +1 -1
  128. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  129. package/dist/components/data/TableBase/use-column-order.js +1 -1
  130. package/dist/components/data/TableBase/use-container-width.js +1 -1
  131. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  132. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  133. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  134. package/dist/components/data/TableBase/use-table-search.js +1 -1
  135. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  136. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  137. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  138. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  139. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  140. package/dist/components/fields/Checkbox/Checkbox.d.ts +8 -0
  141. package/dist/components/fields/Checkbox/Checkbox.js +58 -39
  142. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  143. package/dist/components/fields/Checkbox/CheckboxGroup.js +2 -2
  144. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  145. package/dist/components/fields/Checkbox/context.js +1 -1
  146. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  147. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +1 -1
  148. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  149. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  150. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  151. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  152. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  153. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  154. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  155. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  156. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  157. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  158. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  159. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  160. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  161. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  162. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  163. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  164. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  165. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  166. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  167. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  168. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  169. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  170. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  171. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  172. package/dist/components/fields/DatePicker/period.js +1 -1
  173. package/dist/components/fields/DatePicker/props.js +1 -1
  174. package/dist/components/fields/DatePicker/utils.js +1 -1
  175. package/dist/components/fields/FileInput/FileInput.js +1 -1
  176. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  177. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +2 -2
  178. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  179. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  180. package/dist/components/fields/Input/Input.js +1 -1
  181. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  182. package/dist/components/fields/ListBox/ListBox.js +1 -1
  183. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  184. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  185. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  186. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  187. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  188. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  189. package/dist/components/fields/Picker/Picker.d.ts +2 -2
  190. package/dist/components/fields/Picker/Picker.js +1 -1
  191. package/dist/components/fields/Picker/Picker.js.map +1 -1
  192. package/dist/components/fields/RadioGroup/Radio.d.ts +10 -2
  193. package/dist/components/fields/RadioGroup/Radio.js +215 -213
  194. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  195. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  196. package/dist/components/fields/RadioGroup/context.js +1 -1
  197. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  198. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  199. package/dist/components/fields/Select/Select.d.ts +3 -2
  200. package/dist/components/fields/Select/Select.js +5 -2
  201. package/dist/components/fields/Select/Select.js.map +1 -1
  202. package/dist/components/fields/Slider/Gradation.js +1 -1
  203. package/dist/components/fields/Slider/HueSlider.js +1 -1
  204. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  205. package/dist/components/fields/Slider/Slider.js +1 -1
  206. package/dist/components/fields/Slider/SliderBase.js +1 -1
  207. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  208. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  209. package/dist/components/fields/Slider/elements.js +1 -1
  210. package/dist/components/fields/Slider/index.js +1 -1
  211. package/dist/components/fields/Switch/Switch.js +1 -1
  212. package/dist/components/fields/TextArea/TextArea.js +1 -1
  213. package/dist/components/fields/TextInput/TextInput.js +1 -1
  214. package/dist/components/fields/TextInput/TextInputBase.js +2 -2
  215. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  216. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  217. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  218. package/dist/components/fields/TriggerActions.js +1 -1
  219. package/dist/components/fields/color/ColorPanel.js +1 -1
  220. package/dist/components/fields/color/channels.js +1 -1
  221. package/dist/components/fields/color/color.js +1 -1
  222. package/dist/components/fields/color/context.js +1 -1
  223. package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +1 -1
  224. package/dist/components/form/FieldWrapper/FieldWrapper.js +11 -9
  225. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  226. package/dist/components/form/FieldWrapper/types.d.ts +1 -1
  227. package/dist/components/form/Form/Field.js +6 -4
  228. package/dist/components/form/Form/Field.js.map +1 -1
  229. package/dist/components/form/Form/Form.js +5 -20
  230. package/dist/components/form/Form/Form.js.map +1 -1
  231. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  232. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  233. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  234. package/dist/components/form/Form/SubmitError.js +1 -1
  235. package/dist/components/form/Form/backend.js +1 -1
  236. package/dist/components/form/Form/index.js +1 -1
  237. package/dist/components/form/Form/modern/actions.js +1 -1
  238. package/dist/components/form/Form/modern/context.js +1 -1
  239. package/dist/components/form/Form/modern/controller.js +1 -1
  240. package/dist/components/form/Form/modern/field-binding.js +1 -1
  241. package/dist/components/form/Form/modern/field.js +1 -1
  242. package/dist/components/form/Form/modern/react.js +1 -1
  243. package/dist/components/form/Form/modern/store.js +1 -1
  244. package/dist/components/form/Form/modern/validation.js +1 -1
  245. package/dist/components/form/Form/modern/values.js +1 -1
  246. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  247. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  248. package/dist/components/form/Form/use-field/use-field.js +1 -1
  249. package/dist/components/form/Form/use-form.js +1 -1
  250. package/dist/components/form/Form/validation.js +1 -1
  251. package/dist/components/form/Label.js +1 -1
  252. package/dist/components/form/legacy-tooltip.js +28 -0
  253. package/dist/components/form/legacy-tooltip.js.map +1 -0
  254. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  255. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  256. package/dist/components/form/validation/use-validation-props.js +1 -1
  257. package/dist/components/form/wrapper.js +5 -3
  258. package/dist/components/form/wrapper.js.map +1 -1
  259. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  260. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  261. package/dist/components/layout/Board/Board.js +1 -1
  262. package/dist/components/layout/Board/BoardProvider.js +1 -1
  263. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  264. package/dist/components/layout/Board/Widget.js +1 -1
  265. package/dist/components/layout/Board/WidgetHost.js +1 -1
  266. package/dist/components/layout/Board/board-context.js +1 -1
  267. package/dist/components/layout/Board/board-store.js +1 -1
  268. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  269. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  270. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  271. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  272. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  273. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  274. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  275. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  276. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  277. package/dist/components/layout/Board/index.js +1 -1
  278. package/dist/components/layout/Board/responsive-utils.js +1 -1
  279. package/dist/components/layout/Board/use-board-layout.js +1 -1
  280. package/dist/components/layout/Board/use-board-registry.js +1 -1
  281. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  282. package/dist/components/layout/Board/use-board-selection.js +1 -1
  283. package/dist/components/layout/Flex.js +1 -1
  284. package/dist/components/layout/Flow.js +1 -1
  285. package/dist/components/layout/Grid.js +1 -1
  286. package/dist/components/layout/Panel.js +1 -1
  287. package/dist/components/layout/Prefix.js +1 -1
  288. package/dist/components/layout/ResizablePanel.js +1 -1
  289. package/dist/components/layout/Space.js +1 -1
  290. package/dist/components/layout/Suffix.js +1 -1
  291. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  292. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  293. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  294. package/dist/components/navigation/Tabs/TabButton.js +131 -110
  295. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  296. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  297. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  298. package/dist/components/navigation/Tabs/TabPicker.js +2 -1
  299. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  300. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  301. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  302. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  303. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  304. package/dist/components/navigation/Tabs/styled.js +2 -2
  305. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  306. package/dist/components/navigation/Tabs/types.js +1 -1
  307. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  308. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  309. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  310. package/dist/components/other/Calendar/Calendar.js +1 -1
  311. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  312. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  313. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  314. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  315. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  316. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  317. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  318. package/dist/components/other/Calendar/styled.js +1 -1
  319. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  320. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  321. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  322. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  323. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  324. package/dist/components/overlays/Dialog/Dialog.js +9 -18
  325. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  326. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  327. package/dist/components/overlays/Dialog/DialogForm.js +5 -6
  328. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  329. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  330. package/dist/components/overlays/Dialog/ModernDialogForm.js +64 -71
  331. package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
  332. package/dist/components/overlays/Dialog/context.js +1 -1
  333. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  334. package/dist/components/overlays/Modal/Modal.js +1 -1
  335. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  336. package/dist/components/overlays/Modal/Overlay.js +1 -1
  337. package/dist/components/overlays/Modal/Popover.js +1 -1
  338. package/dist/components/overlays/Modal/Tray.js +1 -1
  339. package/dist/components/overlays/Modal/Underlay.js +1 -1
  340. package/dist/components/overlays/Notifications/Notification.js +1 -1
  341. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  342. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  343. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  344. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  345. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  346. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  347. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  348. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  349. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  350. package/dist/components/overlays/Notifications/index.js +1 -1
  351. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  352. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  353. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  354. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  355. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  356. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  357. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  358. package/dist/components/overlays/Toast/index.js +1 -1
  359. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  360. package/dist/components/overlays/Toast/useToast.js +1 -1
  361. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  362. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  363. package/dist/components/overlays/Tooltip/TooltipTrigger.js +72 -69
  364. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  365. package/dist/components/overlays/Tooltip/context.js +1 -1
  366. package/dist/components/overlays/Tooltip/split-trigger-props.d.ts +16 -0
  367. package/dist/components/overlays/Tooltip/split-trigger-props.js +54 -0
  368. package/dist/components/overlays/Tooltip/split-trigger-props.js.map +1 -0
  369. package/dist/components/portal/Portal.js +1 -1
  370. package/dist/components/portal/PortalProvider.js +1 -1
  371. package/dist/components/portal/usePortal.js +1 -1
  372. package/dist/components/shared/DraggableCollection.js +1 -1
  373. package/dist/components/shared/InvalidIcon.js +1 -1
  374. package/dist/components/shared/ValidIcon.js +1 -1
  375. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  376. package/dist/components/status/Spin/Cube.js +1 -1
  377. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  378. package/dist/components/status/Spin/Spin.js +1 -1
  379. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  380. package/dist/data/item-themes.js +1 -1
  381. package/dist/data/themes.js +1 -1
  382. package/dist/eslint-plugin/defaults.generated.js +1 -1
  383. package/dist/eslint-plugin/index.js +1 -1
  384. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  385. package/dist/i18n/I18nProvider.js +1 -1
  386. package/dist/i18n/createFormatter.js +1 -1
  387. package/dist/i18n/index.js +1 -1
  388. package/dist/i18n/instance.js +1 -1
  389. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  390. package/dist/i18n/locales/en-US/uikit.js +1 -1
  391. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  392. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  393. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  394. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  395. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  396. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  397. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  398. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  399. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  400. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  401. package/dist/i18n/locales.js +1 -1
  402. package/dist/i18n/useFormatter.js +1 -1
  403. package/dist/i18n/useI18n.js +1 -1
  404. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  405. package/dist/icons/AdjustmentsIcon.js +1 -1
  406. package/dist/icons/AiIcon.js +1 -1
  407. package/dist/icons/AreaChartIcon.js +1 -1
  408. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  409. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  410. package/dist/icons/BackwardIcon.js +1 -1
  411. package/dist/icons/BarChartIcon.js +1 -1
  412. package/dist/icons/BellFilledIcon.js +1 -1
  413. package/dist/icons/BellIcon.js +1 -1
  414. package/dist/icons/BooleanIcon.js +1 -1
  415. package/dist/icons/CalendarEditIcon.js +1 -1
  416. package/dist/icons/CalendarIcon.js +1 -1
  417. package/dist/icons/CaretDownIcon.js +1 -1
  418. package/dist/icons/CaretUpIcon.js +1 -1
  419. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  420. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  421. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  422. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  423. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  424. package/dist/icons/ChartBarLineIcon.js +1 -1
  425. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  426. package/dist/icons/ChartBarStackedIcon.js +1 -1
  427. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  428. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  429. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  430. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  431. package/dist/icons/ChartBubbleIcon.js +1 -1
  432. package/dist/icons/ChartDonut2Icon.js +1 -1
  433. package/dist/icons/ChartFunnelIcon.js +1 -1
  434. package/dist/icons/ChartHeatmapIcon.js +1 -1
  435. package/dist/icons/ChartKPIIcon.js +1 -1
  436. package/dist/icons/ChartPie2Icon.js +1 -1
  437. package/dist/icons/ChartScatterIcon.js +1 -1
  438. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  439. package/dist/icons/CheckCircleIcon.js +1 -1
  440. package/dist/icons/CheckIcon.js +1 -1
  441. package/dist/icons/CircleFilledIcon.js +1 -1
  442. package/dist/icons/ClearIcon.js +1 -1
  443. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  444. package/dist/icons/CloseCircleIcon.js +1 -1
  445. package/dist/icons/CloseIcon.js +1 -1
  446. package/dist/icons/CodeIcon.js +1 -1
  447. package/dist/icons/ColumnTotalIcon.js +1 -1
  448. package/dist/icons/CopyIcon.js +1 -1
  449. package/dist/icons/CountIcon.js +1 -1
  450. package/dist/icons/CubeIcon.js +1 -1
  451. package/dist/icons/CubePauseIcon.js +1 -1
  452. package/dist/icons/CubePlayIcon.js +1 -1
  453. package/dist/icons/CurrencyDollarIcon.js +1 -1
  454. package/dist/icons/DangerIcon.js +1 -1
  455. package/dist/icons/DashboardIcon.js +1 -1
  456. package/dist/icons/DatabaseIcon.js +1 -1
  457. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  458. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  459. package/dist/icons/DirectionIcon.js +1 -1
  460. package/dist/icons/DonutIcon.js +1 -1
  461. package/dist/icons/DownIcon.js +1 -1
  462. package/dist/icons/EditIcon.js +1 -1
  463. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  464. package/dist/icons/ExclamationCircleIcon.js +1 -1
  465. package/dist/icons/ExclamationIcon.js +1 -1
  466. package/dist/icons/EyeIcon.js +1 -1
  467. package/dist/icons/EyeInvisibleIcon.js +1 -1
  468. package/dist/icons/FilterIcon.js +1 -1
  469. package/dist/icons/FolderFilledIcon.js +1 -1
  470. package/dist/icons/FolderIcon.js +1 -1
  471. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  472. package/dist/icons/FolderOpenIcon.js +1 -1
  473. package/dist/icons/ForwardIcon.js +1 -1
  474. package/dist/icons/GripVerticalIcon.js +1 -1
  475. package/dist/icons/HierarchyIcon.js +1 -1
  476. package/dist/icons/HierarchyOpenIcon.js +1 -1
  477. package/dist/icons/Icon.js +1 -1
  478. package/dist/icons/InfoCircleIcon.js +1 -1
  479. package/dist/icons/InfoIcon.js +1 -1
  480. package/dist/icons/KeyIcon.js +1 -1
  481. package/dist/icons/LeftIcon.js +1 -1
  482. package/dist/icons/LineChartIcon.js +1 -1
  483. package/dist/icons/LoadingIcon.js +1 -1
  484. package/dist/icons/LockFilledIcon.js +1 -1
  485. package/dist/icons/LockIcon.js +1 -1
  486. package/dist/icons/MoreIcon.js +1 -1
  487. package/dist/icons/NotAllowedIcon.js +1 -1
  488. package/dist/icons/Number123Icon.js +1 -1
  489. package/dist/icons/NumberIcon.js +1 -1
  490. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  491. package/dist/icons/PauseCircleIcon.js +1 -1
  492. package/dist/icons/PauseIcon.js +1 -1
  493. package/dist/icons/PercentageIcon.js +1 -1
  494. package/dist/icons/PieChartIcon.js +1 -1
  495. package/dist/icons/PipetteIcon.js +1 -1
  496. package/dist/icons/PlayCircleIcon.js +1 -1
  497. package/dist/icons/PlayIcon.js +1 -1
  498. package/dist/icons/PlusIcon.js +1 -1
  499. package/dist/icons/ProgressBarIcon.js +1 -1
  500. package/dist/icons/ReloadIcon.js +1 -1
  501. package/dist/icons/ReportIcon.js +1 -1
  502. package/dist/icons/ReturnIcon.js +1 -1
  503. package/dist/icons/RightIcon.js +1 -1
  504. package/dist/icons/RowTotalsIcon.js +1 -1
  505. package/dist/icons/SchemeIcon.js +1 -1
  506. package/dist/icons/SearchIcon.js +1 -1
  507. package/dist/icons/SemanticQueryIcon.js +1 -1
  508. package/dist/icons/SettingsIcon.js +1 -1
  509. package/dist/icons/ShieldFilledIcon.js +1 -1
  510. package/dist/icons/ShieldIcon.js +1 -1
  511. package/dist/icons/SlashIcon.js +1 -1
  512. package/dist/icons/SparklesIcon.js +1 -1
  513. package/dist/icons/SqlIcon.js +1 -1
  514. package/dist/icons/StatsIcon.js +1 -1
  515. package/dist/icons/StopIcon.js +1 -1
  516. package/dist/icons/StringIcon.js +1 -1
  517. package/dist/icons/SubtotalsIcon.js +1 -1
  518. package/dist/icons/SwitchIcon.js +1 -1
  519. package/dist/icons/TableIcon.js +1 -1
  520. package/dist/icons/ThumbsDownIcon.js +1 -1
  521. package/dist/icons/ThumbsUpIcon.js +1 -1
  522. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  523. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  524. package/dist/icons/ThunderboltIcon.js +1 -1
  525. package/dist/icons/TimeIcon.js +1 -1
  526. package/dist/icons/TrashIcon.js +1 -1
  527. package/dist/icons/UnlockIcon.js +1 -1
  528. package/dist/icons/UpIcon.js +1 -1
  529. package/dist/icons/UserGroupIcon.js +1 -1
  530. package/dist/icons/UserIcon.js +1 -1
  531. package/dist/icons/UserLockIcon.js +1 -1
  532. package/dist/icons/ViewIcon.js +1 -1
  533. package/dist/icons/WarningFilledIcon.js +1 -1
  534. package/dist/icons/WarningIcon.js +1 -1
  535. package/dist/icons/wrap-icon.js +1 -1
  536. package/dist/index.js +1 -1
  537. package/dist/probe/canonicalize.js +1 -1
  538. package/dist/probe/css.js +1 -1
  539. package/dist/probe/index.js +1 -1
  540. package/dist/provider.js +1 -1
  541. package/dist/providers/TrackingProvider.js +1 -1
  542. package/dist/providers/navigationAdapter.default.js +1 -1
  543. package/dist/shared/form.d.ts +9 -2
  544. package/dist/tokens/all-tokens.js +1 -1
  545. package/dist/tokens/base.js +1 -1
  546. package/dist/tokens/color-seed.js +1 -1
  547. package/dist/tokens/color-theme.js +1 -1
  548. package/dist/tokens/colors.js +1 -1
  549. package/dist/tokens/layout.js +1 -1
  550. package/dist/tokens/lazy-styles.js +1 -1
  551. package/dist/tokens/legacy-color.js +1 -1
  552. package/dist/tokens/palette-config.js +1 -1
  553. package/dist/tokens/palette.js +1 -1
  554. package/dist/tokens/resolve.js +1 -1
  555. package/dist/tokens/shadows.js +1 -1
  556. package/dist/tokens/sizes.js +1 -1
  557. package/dist/tokens/spacing.js +1 -1
  558. package/dist/tokens/typography.js +1 -1
  559. package/dist/utils/ResizeSensor.js +1 -1
  560. package/dist/utils/colors.js +1 -1
  561. package/dist/utils/dotize.js +1 -1
  562. package/dist/utils/is-dev-env.js +1 -1
  563. package/dist/utils/modules.js +1 -1
  564. package/dist/utils/promise.js +1 -1
  565. package/dist/utils/raf.js +1 -1
  566. package/dist/utils/random.js +1 -1
  567. package/dist/utils/range.js +1 -1
  568. package/dist/utils/react/RenderCache.js +1 -1
  569. package/dist/utils/react/Slots.js +1 -1
  570. package/dist/utils/react/chain.js +1 -1
  571. package/dist/utils/react/disabledProps.js +1 -1
  572. package/dist/utils/react/escapePropagation.js +1 -1
  573. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  574. package/dist/utils/react/index.js +1 -1
  575. package/dist/utils/react/interactions.js +1 -1
  576. package/dist/utils/react/isTextOnly.js +1 -1
  577. package/dist/utils/react/mapProps.js +1 -1
  578. package/dist/utils/react/mergeProps.js +1 -1
  579. package/dist/utils/react/nullableValue.js +1 -1
  580. package/dist/utils/react/programmaticFocus.js +1 -1
  581. package/dist/utils/react/resolveIcon.js +1 -1
  582. package/dist/utils/react/sharedStore.js +1 -1
  583. package/dist/utils/react/useBufferedValue.js +1 -1
  584. package/dist/utils/react/useCombinedRefs.js +1 -1
  585. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  586. package/dist/utils/react/useEventBus.js +1 -1
  587. package/dist/utils/react/useId.js +1 -1
  588. package/dist/utils/react/useIsDarwin.js +1 -1
  589. package/dist/utils/react/useKeySymbols.js +1 -1
  590. package/dist/utils/react/useLayoutEffect.js +1 -1
  591. package/dist/utils/react/useLocalStorage.js +1 -1
  592. package/dist/utils/react/useMergeStyles.js +1 -1
  593. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  594. package/dist/utils/react/usePopoverSync.js +1 -1
  595. package/dist/utils/react/useQaProps.js +1 -1
  596. package/dist/utils/react/useScheme.js +1 -1
  597. package/dist/utils/react/useViewportSize.js +1 -1
  598. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  599. package/dist/utils/selection.js +1 -1
  600. package/dist/utils/styles.js +1 -1
  601. package/dist/utils/tree.js +1 -1
  602. package/dist/utils/warnings.js +1 -1
  603. package/dist/version.js +2 -2
  604. package/docs/FieldProperties.md +2 -2
  605. package/docs/components/actions/ButtonSplit.md +2 -0
  606. package/docs/components/content/InfoBadge.md +1 -1
  607. package/docs/components/content/Layout.md +1 -1
  608. package/docs/components/fields/Checkbox.md +11 -0
  609. package/docs/components/fields/ColorPicker.md +1 -1
  610. package/docs/components/fields/FilterPicker.md +1 -1
  611. package/docs/components/fields/Picker.md +1 -1
  612. package/docs/components/fields/RadioGroup.md +2 -2
  613. package/docs/components/fields/Select.md +3 -0
  614. package/docs/components/form/Field.md +2 -2
  615. package/docs/components/form/Form.md +0 -2
  616. package/docs/components/navigation/Tabs.md +3 -3
  617. package/docs/components/overlays/Dialog.md +3 -30
  618. package/docs/components/overlays/DialogForm.md +0 -1
  619. package/package.json +1 -1
  620. package/dist/components/overlays/Dialog/use-content-overflow.js +0 -68
  621. package/dist/components/overlays/Dialog/use-content-overflow.js.map +0 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
2
2
  import { _Text } from "./Text.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { CubeTooltipProviderProps } from "../overlays/Tooltip/TooltipProvider.js";
3
- import { HTMLAttributes, ReactNode, RefObject } from "react";
3
+ import { HTMLAttributes, ReactNode, Ref, RefObject } from "react";
4
4
  import "react/jsx-runtime";
5
5
  import { OverlayProps } from "react-aria";
6
6
 
@@ -1,89 +1,120 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
2
2
  import { TooltipProvider } from "../overlays/Tooltip/TooltipProvider.js";
3
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
3
+ import { c } from "react-compiler-runtime";
4
+ import { useEffect, useRef, useState } from "react";
4
5
  import { jsx } from "react/jsx-runtime";
5
6
 
6
7
  //#region src/components/content/use-auto-tooltip.tsx
7
- function useAutoTooltip({ tooltip, children, labelProps, isDynamicLabel = false }) {
8
- const isAutoTooltipEnabled = useMemo(() => {
9
- if (typeof children !== "string") return false;
10
- if (tooltip === true) return true;
8
+ function assignRef(ref, element) {
9
+ if (typeof ref === "function") ref(element);
10
+ else if (ref) ref.current = element;
11
+ }
12
+ function useAutoTooltip(t0) {
13
+ const $ = c(37);
14
+ const { tooltip, children, labelProps, isDynamicLabel: t1, labelRef: labelRefOption } = t0;
15
+ const isDynamicLabel = t1 === void 0 ? false : t1;
16
+ let t2;
17
+ bb0: {
18
+ if (typeof children !== "string") {
19
+ t2 = false;
20
+ break bb0;
21
+ }
22
+ if (tooltip === true) {
23
+ t2 = true;
24
+ break bb0;
25
+ }
11
26
  if (typeof tooltip === "object") {
12
- if (tooltip.title) return tooltip.auto === true;
13
- return !!(tooltip.auto !== void 0 ? tooltip.auto : true);
27
+ if (tooltip.title) {
28
+ t2 = tooltip.auto === true;
29
+ break bb0;
30
+ }
31
+ t2 = !!(tooltip.auto !== void 0 ? tooltip.auto : true);
32
+ break bb0;
14
33
  }
15
- return false;
16
- }, [tooltip, children]);
34
+ t2 = false;
35
+ }
36
+ const isAutoTooltipEnabled = t2;
17
37
  const externalLabelRef = labelProps?.ref;
18
38
  const [isLabelOverflowed, setIsLabelOverflowed] = useState(false);
19
39
  const elementRef = useRef(null);
20
40
  const resizeObserverRef = useRef(null);
21
41
  const measurePendingRef = useRef(false);
22
- const checkLabelOverflow = useCallback(() => {
23
- const label = elementRef.current;
24
- if (!label) return;
25
- setIsLabelOverflowed(label.scrollWidth > label.clientWidth);
26
- }, []);
27
- /**
28
- * Measure once the current task has finished, not inside it.
29
- *
30
- * A microtask runs after React's whole commit — every mutation, layout effect
31
- * and ref attachment — and before paint. Every label on the page therefore
32
- * reads after all of them have written, so the reads collapse into one style
33
- * and layout flush instead of forcing one each, mid-commit. Reading straight
34
- * from the callback ref is what cost 122ms of `get scrollWidth` in one Cloud
35
- * profile, more than the entire style engine.
36
- *
37
- * A microtask rather than the observer's first delivery: observer callbacks
38
- * are part of the rendering steps, so a runner that is not producing frames —
39
- * a background tab, or a headless browser running many stories at once — can
40
- * delay them past the point something asks whether the tooltip is active.
41
- * Microtasks do not depend on a frame.
42
- */
43
- const scheduleLabelOverflowCheck = useCallback(() => {
44
- if (measurePendingRef.current) return;
45
- measurePendingRef.current = true;
46
- queueMicrotask(() => {
47
- measurePendingRef.current = false;
48
- checkLabelOverflow();
49
- });
50
- }, [checkLabelOverflow]);
51
- useEffect(() => {
52
- if (isAutoTooltipEnabled) {
53
- checkLabelOverflow();
54
- return;
55
- }
56
- setIsLabelOverflowed(false);
57
- }, [isAutoTooltipEnabled, checkLabelOverflow]);
58
- const handleLabelElementRef = useCallback((element) => {
59
- if (externalLabelRef) if (typeof externalLabelRef === "function") externalLabelRef(element);
60
- else externalLabelRef.current = element;
61
- if (resizeObserverRef.current) {
62
- try {
63
- resizeObserverRef.current.disconnect();
64
- } catch {}
65
- resizeObserverRef.current = null;
66
- }
67
- elementRef.current = element;
68
- if (!isAutoTooltipEnabled) {
42
+ let t3;
43
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
44
+ t3 = () => {
45
+ const label = elementRef.current;
46
+ if (!label) return;
47
+ setIsLabelOverflowed(label.scrollWidth > label.clientWidth);
48
+ };
49
+ $[0] = t3;
50
+ } else t3 = $[0];
51
+ const checkLabelOverflow = t3;
52
+ let t4;
53
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
54
+ t4 = () => {
55
+ if (measurePendingRef.current) return;
56
+ measurePendingRef.current = true;
57
+ queueMicrotask(() => {
58
+ measurePendingRef.current = false;
59
+ checkLabelOverflow();
60
+ });
61
+ };
62
+ $[1] = t4;
63
+ } else t4 = $[1];
64
+ const scheduleLabelOverflowCheck = t4;
65
+ let t5;
66
+ let t6;
67
+ if ($[2] !== isAutoTooltipEnabled) {
68
+ t5 = () => {
69
+ if (isAutoTooltipEnabled) {
70
+ checkLabelOverflow();
71
+ return;
72
+ }
69
73
  setIsLabelOverflowed(false);
70
- return;
71
- }
72
- if (!element) return;
73
- scheduleLabelOverflowCheck();
74
- const obs = new ResizeObserver(() => {
75
- checkLabelOverflow();
76
- });
77
- resizeObserverRef.current = obs;
78
- obs.observe(element);
79
- }, [
80
- externalLabelRef,
81
- isAutoTooltipEnabled,
82
- checkLabelOverflow,
83
- scheduleLabelOverflowCheck
84
- ]);
85
- useEffect(() => {
86
- return () => {
74
+ };
75
+ t6 = [isAutoTooltipEnabled, checkLabelOverflow];
76
+ $[2] = isAutoTooltipEnabled;
77
+ $[3] = t5;
78
+ $[4] = t6;
79
+ } else {
80
+ t5 = $[3];
81
+ t6 = $[4];
82
+ }
83
+ useEffect(t5, t6);
84
+ let t7;
85
+ if ($[5] !== externalLabelRef || $[6] !== isAutoTooltipEnabled || $[7] !== labelRefOption) {
86
+ t7 = (element) => {
87
+ assignRef(externalLabelRef, element);
88
+ assignRef(labelRefOption, element);
89
+ if (resizeObserverRef.current) {
90
+ try {
91
+ resizeObserverRef.current.disconnect();
92
+ } catch {}
93
+ resizeObserverRef.current = null;
94
+ }
95
+ elementRef.current = element;
96
+ if (!isAutoTooltipEnabled) {
97
+ setIsLabelOverflowed(false);
98
+ return;
99
+ }
100
+ if (!element) return;
101
+ scheduleLabelOverflowCheck();
102
+ const obs = new ResizeObserver(() => {
103
+ checkLabelOverflow();
104
+ });
105
+ resizeObserverRef.current = obs;
106
+ obs.observe(element);
107
+ };
108
+ $[5] = externalLabelRef;
109
+ $[6] = isAutoTooltipEnabled;
110
+ $[7] = labelRefOption;
111
+ $[8] = t7;
112
+ } else t7 = $[8];
113
+ const handleLabelElementRef = t7;
114
+ let t8;
115
+ let t9;
116
+ if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
117
+ t8 = () => () => {
87
118
  if (resizeObserverRef.current) {
88
119
  try {
89
120
  resizeObserverRef.current.disconnect();
@@ -92,62 +123,137 @@ function useAutoTooltip({ tooltip, children, labelProps, isDynamicLabel = false
92
123
  }
93
124
  elementRef.current = null;
94
125
  };
95
- }, []);
96
- const finalLabelProps = useMemo(() => {
97
- const props = { ...labelProps || {} };
126
+ t9 = [];
127
+ $[9] = t8;
128
+ $[10] = t9;
129
+ } else {
130
+ t8 = $[9];
131
+ t9 = $[10];
132
+ }
133
+ useEffect(t8, t9);
134
+ let t10;
135
+ if ($[11] !== labelProps) {
136
+ t10 = labelProps || {};
137
+ $[11] = labelProps;
138
+ $[12] = t10;
139
+ } else t10 = $[12];
140
+ let props;
141
+ if ($[13] !== t10) {
142
+ props = { ...t10 };
98
143
  delete props.ref;
99
- return props;
100
- }, [labelProps]);
101
- /**
102
- * The `TooltipProvider` props this tooltip resolves to, or `null` when no
103
- * tooltip is rendered at all. Resolved once so that both the rendering below
104
- * and `isTooltipActive` speak about the same tooltip.
105
- */
106
- const resolvedTooltip = useMemo(() => {
107
- if (!tooltip) return null;
108
- if (typeof tooltip === "string") return { title: tooltip };
144
+ $[13] = t10;
145
+ $[14] = props;
146
+ } else props = $[14];
147
+ const finalLabelProps = props;
148
+ let t11;
149
+ bb1: {
150
+ if (!tooltip) {
151
+ t11 = null;
152
+ break bb1;
153
+ }
154
+ if (typeof tooltip === "string") {
155
+ let t12;
156
+ if ($[15] !== tooltip) {
157
+ t12 = { title: tooltip };
158
+ $[15] = tooltip;
159
+ $[16] = t12;
160
+ } else t12 = $[16];
161
+ t11 = t12;
162
+ break bb1;
163
+ }
109
164
  const hasAutoContent = !!(children || labelProps) && (isLabelOverflowed || isDynamicLabel);
110
165
  if (tooltip === true) {
111
- if (!hasAutoContent) return null;
112
- return {
113
- title: children,
114
- isDisabled: !isLabelOverflowed && isDynamicLabel
115
- };
166
+ if (!hasAutoContent) {
167
+ t11 = null;
168
+ break bb1;
169
+ }
170
+ const t12 = !isLabelOverflowed && isDynamicLabel;
171
+ let t13;
172
+ if ($[17] !== children || $[18] !== t12) {
173
+ t13 = {
174
+ title: children,
175
+ isDisabled: t12
176
+ };
177
+ $[17] = children;
178
+ $[18] = t12;
179
+ $[19] = t13;
180
+ } else t13 = $[19];
181
+ t11 = t13;
182
+ break bb1;
116
183
  }
117
- const { auto, ...tooltipProps } = tooltip;
118
- if (tooltipProps.title && auto !== true) return tooltipProps;
119
- if (!hasAutoContent) return null;
120
- return {
121
- title: tooltipProps.title ?? children,
122
- isDisabled: !isLabelOverflowed && isDynamicLabel && tooltipProps.isDisabled !== true,
123
- ...tooltipProps
124
- };
125
- }, [
126
- tooltip,
127
- children,
128
- labelProps,
129
- isLabelOverflowed,
130
- isDynamicLabel
131
- ]);
132
- /** Whether a tooltip is rendered and able to open. */
184
+ let auto;
185
+ let tooltipProps;
186
+ if ($[20] !== tooltip) {
187
+ ({auto, ...tooltipProps} = tooltip);
188
+ $[20] = tooltip;
189
+ $[21] = auto;
190
+ $[22] = tooltipProps;
191
+ } else {
192
+ auto = $[21];
193
+ tooltipProps = $[22];
194
+ }
195
+ if (tooltipProps.title && auto !== true) {
196
+ t11 = tooltipProps;
197
+ break bb1;
198
+ }
199
+ if (!hasAutoContent) {
200
+ t11 = null;
201
+ break bb1;
202
+ }
203
+ const t12 = tooltipProps.title ?? children;
204
+ const t13 = !isLabelOverflowed && isDynamicLabel && tooltipProps.isDisabled !== true;
205
+ let t14;
206
+ if ($[23] !== t12 || $[24] !== t13 || $[25] !== tooltipProps) {
207
+ t14 = {
208
+ title: t12,
209
+ isDisabled: t13,
210
+ ...tooltipProps
211
+ };
212
+ $[23] = t12;
213
+ $[24] = t13;
214
+ $[25] = tooltipProps;
215
+ $[26] = t14;
216
+ } else t14 = $[26];
217
+ t11 = t14;
218
+ }
219
+ const resolvedTooltip = t11;
133
220
  const isTooltipActive = !!resolvedTooltip && resolvedTooltip.isDisabled !== true;
134
- const renderWithTooltip = (renderElement, defaultTooltipPlacement) => {
135
- if (!resolvedTooltip) return renderElement();
136
- return /* @__PURE__ */ jsx(TooltipProvider, {
137
- placement: defaultTooltipPlacement,
138
- ...resolvedTooltip,
139
- children: (triggerProps, ref) => renderElement(triggerProps, ref)
140
- });
141
- };
142
- return {
143
- labelRef: handleLabelElementRef,
144
- labelProps: finalLabelProps,
145
- isLabelOverflowed,
146
- isAutoTooltipEnabled,
147
- hasTooltip: !!tooltip,
148
- isTooltipActive,
149
- renderWithTooltip
150
- };
221
+ let t12;
222
+ if ($[27] !== resolvedTooltip) {
223
+ t12 = (renderElement, defaultTooltipPlacement) => {
224
+ if (!resolvedTooltip) return renderElement();
225
+ return /* @__PURE__ */ jsx(TooltipProvider, {
226
+ placement: defaultTooltipPlacement,
227
+ ...resolvedTooltip,
228
+ children: (triggerProps, ref) => renderElement(triggerProps, ref)
229
+ });
230
+ };
231
+ $[27] = resolvedTooltip;
232
+ $[28] = t12;
233
+ } else t12 = $[28];
234
+ const renderWithTooltip = t12;
235
+ const t13 = !!tooltip;
236
+ let t14;
237
+ if ($[29] !== finalLabelProps || $[30] !== handleLabelElementRef || $[31] !== isAutoTooltipEnabled || $[32] !== isLabelOverflowed || $[33] !== isTooltipActive || $[34] !== renderWithTooltip || $[35] !== t13) {
238
+ t14 = {
239
+ labelRef: handleLabelElementRef,
240
+ labelProps: finalLabelProps,
241
+ isLabelOverflowed,
242
+ isAutoTooltipEnabled,
243
+ hasTooltip: t13,
244
+ isTooltipActive,
245
+ renderWithTooltip
246
+ };
247
+ $[29] = finalLabelProps;
248
+ $[30] = handleLabelElementRef;
249
+ $[31] = isAutoTooltipEnabled;
250
+ $[32] = isLabelOverflowed;
251
+ $[33] = isTooltipActive;
252
+ $[34] = renderWithTooltip;
253
+ $[35] = t13;
254
+ $[36] = t14;
255
+ } else t14 = $[36];
256
+ return t14;
151
257
  }
152
258
 
153
259
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"use-auto-tooltip.js","names":["HTMLAttributes","ReactNode","RefObject","useCallback","useEffect","useMemo","useRef","useState","OverlayProps","CubeTooltipProviderProps","TooltipProvider","Props","AutoTooltipValue","Omit","auto","UseAutoTooltipOptions","tooltip","children","labelProps","isDynamicLabel","useAutoTooltip","isAutoTooltipEnabled","title","autoValue","undefined","externalLabelRef","ref","isLabelOverflowed","setIsLabelOverflowed","elementRef","HTMLElement","resizeObserverRef","ResizeObserver","measurePendingRef","checkLabelOverflow","label","current","scrollWidth","clientWidth","scheduleLabelOverflowCheck","queueMicrotask","handleLabelElementRef","element","disconnect","obs","observe","finalLabelProps","props","resolvedTooltip","hasAutoContent","isDisabled","tooltipProps","isTooltipActive","renderWithTooltip","renderElement","tooltipTriggerProps","tooltipRef","defaultTooltipPlacement","triggerProps","labelRef","hasTooltip"],"sources":["../../../src/components/content/use-auto-tooltip.tsx"],"sourcesContent":["import {\n HTMLAttributes,\n ReactNode,\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\nexport function useAutoTooltip({\n tooltip,\n children,\n labelProps,\n isDynamicLabel = false,\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 // Call external callback ref to notify external refs\n if (externalLabelRef) {\n if (typeof externalLabelRef === 'function') {\n externalLabelRef(element);\n } else {\n (externalLabelRef as any).current = element;\n }\n }\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 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":";;;;;;;AAsCA,SAASuB,UAAUC,KAAcC,SAA6B;AAC5D,KAAI,OAAOD,QAAQ,WACjBA,KAAIC,QAAQ;UACHD,IACT,CAACA,IAAwCE,UAAUD;;AAIvD,SAAOE,eAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAwB,MAAA,EAAAb,SAAAC,UAAAC,YAAAC,gBAAAW,IAAAV,UAAAW,mBAAAJ;CAI7B,MAAAR,iBAAAW,OAAAE,SAAA,QAAAF;CAAsB,IAAAG;AAAAC,MAAA;AAMpB,MAAI,OAAOjB,aAAa,UAAQ;AAAEgB,QAAO;AAAP,SAAAC;;AAGlC,MAAIlB,YAAY,MAAI;AAAEiB,QAAO;AAAP,SAAAC;;AACtB,MAAI,OAAOlB,YAAY,UAAQ;AAE7B,OAAIA,QAAOmB,OAAM;AACfF,SAAOjB,QAAOF,SAAU;AAAxB,UAAAoB;;AAKFD,QAAO,CAAC,EADUjB,QAAOF,SAAUkB,SAAYhB,QAAOF,OAApC;AAClB,SAAAoB;;AAEFD,OAAO;;CAfT,MAAAI,uBAA6BJ;CAmB7B,MAAAK,mBAA0BpB,YAAuBK;CACjD,MAAA,CAAAgB,mBAAAC,wBAAkDjC,SAAS,MAAM;CACjE,MAAAkC,aAAmBnC,OAA2B,KAAK;CACnD,MAAAoC,oBAA0BpC,OAA8B,KAAK;CAE7D,MAAAqC,oBAA0BrC,OAAO,MAAM;CAAC,IAAAsC;AAAA,KAAAhB,EAAA,OAAAiB,OAAAC,IAAA,4BAAA,EAAA;AAEDF,aAAA;GACrC,MAAAG,QAAcN,WAAUhB;AAExB,OAAI,CAACsB,MAAK;AAEVP,wBAAqBO,MAAKC,cAAeD,MAAKE,YAAa;;AAC5DrB,IAAA,KAAAgB;OAAAA,MAAAhB,EAAA;CAND,MAAAsB,qBAA2BN;CAMpB,IAAAO;AAAA,KAAAvB,EAAA,OAAAiB,OAAAC,IAAA,4BAAA,EAAA;AAkBwCK,aAAA;AAC7C,OAAIR,kBAAiBlB,QAAQ;AAE7BkB,qBAAiBlB,UAAW;AAE5B2B,wBAAe;AACbT,sBAAiBlB,UAAW;AAC5ByB,wBAAoB;KACpB;;AACHtB,IAAA,KAAAuB;OAAAA,MAAAvB,EAAA;CATD,MAAAyB,6BAAmCF;CASV,IAAAG;CAAA,IAAAC;AAAA,KAAA3B,EAAA,OAAAS,sBAAA;AAEfiB,aAAA;AACR,OAAIjB,sBAAoB;AACtBa,wBAAoB;AAAA;;AAatBV,wBAAqB,MAAM;;AAC1Be,OAAA,CAAClB,sBAAsBa,mBAAmB;AAAAtB,IAAA,KAAAS;AAAAT,IAAA,KAAA0B;AAAA1B,IAAA,KAAA2B;QAAA;AAAAD,OAAA1B,EAAA;AAAA2B,OAAA3B,EAAA;;AAhB7CxB,WAAUkD,IAgBPC,GAA2C;CAAA,IAAAC;AAAA,KAAA5B,EAAA,OAAAU,oBAAAV,EAAA,OAAAS,wBAAAT,EAAA,OAAAG,gBAAA;AAI5CyB,QAAAhC,YAAA;AAEEF,aAAUgB,kBAAkBd,QAAQ;AACpCF,aAAUS,gBAAgBP,QAAQ;AAGlC,OAAIkB,kBAAiBjB,SAAQ;AAC3B,QAAA;AACEiB,uBAAiBjB,QAAQgC,YAAa;YAAA;AAIxCf,sBAAiBjB,UAAW;;AAG9BgB,cAAUhB,UAAWD;AAErB,OAAI,CAACa,sBAAoB;AACvBG,yBAAqB,MAAM;AAAA;;AAW7B,OAAI,CAAChB,QAAO;AAKZ6B,+BAA4B;GAG5B,MAAAK,MAAY,IAAIC,qBAAe;AAC7BT,wBAAoB;KACpB;AAEFR,qBAAiBjB,UAAWiC;AAE5BA,OAAGE,QAASpC,QAAQ;;AACrBI,IAAA,KAAAU;AAAAV,IAAA,KAAAS;AAAAT,IAAA,KAAAG;AAAAH,IAAA,KAAA4B;OAAAA,MAAA5B,EAAA;CA7CH,MAAAiC,wBAA8BL;CAqD5B,IAAAM;CAAA,IAAAC;AAAA,KAAAnC,EAAA,OAAAiB,OAAAC,IAAA,4BAAA,EAAA;AAGQgB,mBACD;AACL,OAAIpB,kBAAiBjB,SAAQ;AAC3B,QAAA;AACEiB,uBAAiBjB,QAAQgC,YAAa;YAAA;AAIxCf,sBAAiBjB,UAAW;;AAE9BgB,cAAUhB,UAAW;;AAEtBsC,OAAA,EAAE;AAAAnC,IAAA,KAAAkC;AAAAlC,IAAA,MAAAmC;QAAA;AAAAD,OAAAlC,EAAA;AAAAmC,OAAAnC,EAAA;;AAZLxB,WAAU0D,IAYPC,GAAG;CAAA,IAAAC;AAAA,KAAApC,EAAA,QAAAV,YAAA;AAIE8C,QAAA9C,cAAA,EAAgB;AAAAU,IAAA,MAAAV;AAAAU,IAAA,MAAAoC;OAAAA,OAAApC,EAAA;CAAA,IAAAqC;AAAA,KAAArC,EAAA,QAAAoC,KAAA;AADtBC,UAAc,EAAA,GACRD,KACL;AAED,SAAOC,MAAK1C;AAAIK,IAAA,MAAAoC;AAAApC,IAAA,MAAAqC;OAAAA,SAAArC,EAAA;CALlB,MAAAsC,kBAOED;CACe,IAAAE;AAAAC,MAAA;AAWf,MAAI,CAACpD,SAAO;AAAEmD,SAAO;AAAP,SAAAC;;AAGd,MAAI,OAAOpD,YAAY,UAAQ;GAAA,IAAAqD;AAAA,OAAAzC,EAAA,QAAAZ,SAAA;AACtBqD,UAAA,EAAAlC,OAASnB,SAAS;AAAAY,MAAA,MAAAZ;AAAAY,MAAA,MAAAyC;SAAAA,OAAAzC,EAAA;AAAzBuC,SAAOE;AAAP,SAAAD;;EAGF,MAAAE,iBACE,CAAC,EAAErD,YAAAC,gBAA4BqB,qBAAApB;AAGjC,MAAIH,YAAY,MAAI;AAClB,OAAI,CAACsD,gBAAc;AAAEH,UAAO;AAAP,UAAAC;;GAIP,MAAAC,MAAA,CAAC9B,qBAADpB;GAAoC,IAAAoD;AAAA,OAAA3C,EAAA,QAAAX,YAAAW,EAAA,QAAAyC,KAAA;AAF3CE,UAAA;KAAApC,OACElB;KAAQuD,YACHH;KACb;AAAAzC,MAAA,MAAAX;AAAAW,MAAA,MAAAyC;AAAAzC,MAAA,MAAA2C;SAAAA,OAAA3C,EAAA;AAHDuC,SAAOI;AAAP,SAAAH;;EAID,IAAAtD;EAAA,IAAA2D;AAAA,MAAA7C,EAAA,QAAAZ,SAAA;AAGD,IAAA,CAAAF,SAAA2D,gBAAkCzD;AAAQY,KAAA,MAAAZ;AAAAY,KAAA,MAAAd;AAAAc,KAAA,MAAA6C;SAAA;AAAA3D,UAAAc,EAAA;AAAA6C,kBAAA7C,EAAA;;AAG1C,MAAI6C,aAAYtC,SAAUrB,SAAS,MAAI;AACrCqD,SAAOM;AAAP,SAAAL;;AAIF,MAAI,CAACE,gBAAc;AAAEH,SAAO;AAAP,SAAAC;;EAGZ,MAAAC,MAAAI,aAAYtC,SAAZlB;EAEL,MAAAsD,MAAA,CAAChC,qBAADpB,kBAEAsD,aAAYD,eAAgB;EAAI,IAAAE;AAAA,MAAA9C,EAAA,QAAAyC,OAAAzC,EAAA,QAAA2C,OAAA3C,EAAA,QAAA6C,cAAA;AAL7BC,SAAA;IAAAvC,OACEkC;IAA8BG,YAEnCD;IAEgC,GAC/BE;IACJ;AAAA7C,KAAA,MAAAyC;AAAAzC,KAAA,MAAA2C;AAAA3C,KAAA,MAAA6C;AAAA7C,KAAA,MAAA8C;QAAAA,OAAA9C,EAAA;AAPDuC,QAAOO;;CAnCT,MAAAC,kBAAwBR;CA8CxB,MAAAS,kBACE,CAAC,CAACD,mBAAmBA,gBAAeH,eAAgB;CAAK,IAAAH;AAAA,KAAAzC,EAAA,QAAA+C,iBAAA;AAEjCN,SAAAQ,eAAAC,4BAAA;AAOxB,OAAI,CAACH,gBAAe,QAASE,eAAe;AAAC,UAG3C,oBAAC;IAA2BC,WAAAA;IAAuB,GAAMH;eACtDI,cAAAxD,QAAuBsD,cAAcE,cAAcxD,IAAG;KACvC;;AAErBK,IAAA,MAAA+C;AAAA/C,IAAA,MAAAyC;OAAAA,OAAAzC,EAAA;CAdD,MAAAoD,oBAA0BX;CAqBZ,MAAAE,MAAA,CAAC,CAACvD;CAAO,IAAA0D;AAAA,KAAA9C,EAAA,QAAAsC,mBAAAtC,EAAA,QAAAiC,yBAAAjC,EAAA,QAAAS,wBAAAT,EAAA,QAAAW,qBAAAX,EAAA,QAAAgD,mBAAAhD,EAAA,QAAAoD,qBAAApD,EAAA,QAAA2C,KAAA;AALhBG,QAAA;GAAAtD,UACKyC;GAAqB3C,YACnBgD;GAAe3B;GAAAF;GAAA4C,YAGfV;GAASK;GAAAI;GAGtB;AAAApD,IAAA,MAAAsC;AAAAtC,IAAA,MAAAiC;AAAAjC,IAAA,MAAAS;AAAAT,IAAA,MAAAW;AAAAX,IAAA,MAAAgD;AAAAhD,IAAA,MAAAoD;AAAApD,IAAA,MAAA2C;AAAA3C,IAAA,MAAA8C;OAAAA,OAAA9C,EAAA;AAAA,QARM8C"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
2
2
  import { Children, Fragment, isValidElement } from "react";
3
3
 
4
4
  //#region src/components/data/TableBase/row-menu.ts
@@ -1,6 +1,7 @@
1
1
 
2
2
  import "../../content/Item/index.js";
3
3
  import "../../../data/item-themes.js";
4
+ import "../../overlays/Tooltip/split-trigger-props.js";
4
5
  import "../../../index.js";
5
6
  import { Styles } from "@tenphi/tasty";
6
7
  import "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | 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-ac46c4b | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-9bde021 | Cube Dev Team */
2
2
  import { c } from "react-compiler-runtime";
3
3
  import { useLayoutEffect, useState } from "react";
4
4