@cube-dev/ui-kit 0.0.0-canary-d0e6744 → 0.0.0-canary-c22ced9

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 (416) hide show
  1. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.js +1 -1
  16. package/dist/components/actions/Action/Action.js +1 -1
  17. package/dist/components/actions/Banner/Banner.js +1 -1
  18. package/dist/components/actions/Button/Button.js +1 -1
  19. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  20. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  21. package/dist/components/actions/ButtonSplit/context.js +1 -1
  22. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  23. package/dist/components/actions/CommandMenu/styled.js +1 -1
  24. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  25. package/dist/components/actions/ItemActionContext.js +1 -1
  26. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  27. package/dist/components/actions/Link/Link.js +1 -1
  28. package/dist/components/actions/Menu/Menu.js +1 -1
  29. package/dist/components/actions/Menu/MenuItem.js +1 -1
  30. package/dist/components/actions/Menu/MenuSection.js +1 -1
  31. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  32. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  33. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  34. package/dist/components/actions/Menu/context.js +1 -1
  35. package/dist/components/actions/Menu/styled.js +1 -1
  36. package/dist/components/actions/index.js +1 -1
  37. package/dist/components/actions/use-action.js +1 -1
  38. package/dist/components/actions/use-anchored-menu.js +1 -1
  39. package/dist/components/actions/use-context-menu.js +1 -1
  40. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  41. package/dist/components/content/Alert/Alert.js +1 -1
  42. package/dist/components/content/Alert/use-alert.js +1 -1
  43. package/dist/components/content/Avatar/Avatar.js +1 -1
  44. package/dist/components/content/Badge/Badge.js +1 -1
  45. package/dist/components/content/Card/Card.js +1 -1
  46. package/dist/components/content/Content.js +1 -1
  47. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  48. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  49. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  50. package/dist/components/content/Divider.js +1 -1
  51. package/dist/components/content/Footer.js +1 -1
  52. package/dist/components/content/Header.js +1 -1
  53. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  54. package/dist/components/content/Item/Item.js +1 -1
  55. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  56. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  57. package/dist/components/content/Layout/GridLayout.js +1 -1
  58. package/dist/components/content/Layout/Layout.js +1 -1
  59. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  60. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  61. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  62. package/dist/components/content/Layout/LayoutContent.js +1 -1
  63. package/dist/components/content/Layout/LayoutContext.js +1 -1
  64. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  65. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  66. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  67. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  68. package/dist/components/content/Layout/LayoutPane.js +1 -1
  69. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  70. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  71. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  72. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  73. package/dist/components/content/Layout/index.js +1 -1
  74. package/dist/components/content/Layout/utils.js +1 -1
  75. package/dist/components/content/Paragraph.js +1 -1
  76. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  77. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  78. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  79. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  80. package/dist/components/content/Result/Result.js +1 -1
  81. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  82. package/dist/components/content/Tag/Tag.js +1 -1
  83. package/dist/components/content/Text.d.ts +7 -7
  84. package/dist/components/content/Text.js +1 -1
  85. package/dist/components/content/TextItem/TextItem.js +1 -1
  86. package/dist/components/content/Title.js +1 -1
  87. package/dist/components/content/Tree/Tree.js +1 -1
  88. package/dist/components/content/Tree/TreeNode.js +17 -6
  89. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  90. package/dist/components/content/Tree/styled.js +1 -1
  91. package/dist/components/content/Tree/tree-index.js +1 -1
  92. package/dist/components/content/Tree/types.d.ts +8 -1
  93. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  94. package/dist/components/content/Tree/use-load-data.js +1 -1
  95. package/dist/components/content/highlightText.js +1 -1
  96. package/dist/components/content/use-auto-tooltip.js +1 -1
  97. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  98. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  99. package/dist/components/fields/Checkbox/context.js +1 -1
  100. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  101. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  102. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  103. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  104. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  105. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  106. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  107. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  108. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  109. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  110. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  111. package/dist/components/fields/DatePicker/intl.js +1 -1
  112. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  113. package/dist/components/fields/DatePicker/props.js +1 -1
  114. package/dist/components/fields/DatePicker/utils.js +1 -1
  115. package/dist/components/fields/FileInput/FileInput.js +1 -1
  116. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  117. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  118. package/dist/components/fields/Input/Input.js +1 -1
  119. package/dist/components/fields/ListBox/ListBox.js +1 -1
  120. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  121. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  122. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  123. package/dist/components/fields/Picker/Picker.js +1 -1
  124. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  125. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  126. package/dist/components/fields/RadioGroup/context.js +1 -1
  127. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  128. package/dist/components/fields/Select/Select.js +1 -1
  129. package/dist/components/fields/Slider/Gradation.js +1 -1
  130. package/dist/components/fields/Slider/HueSlider.js +1 -1
  131. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  132. package/dist/components/fields/Slider/Slider.js +1 -1
  133. package/dist/components/fields/Slider/SliderBase.js +1 -1
  134. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  135. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  136. package/dist/components/fields/Slider/elements.js +1 -1
  137. package/dist/components/fields/Slider/index.js +1 -1
  138. package/dist/components/fields/Switch/Switch.js +1 -1
  139. package/dist/components/fields/TextArea/TextArea.js +1 -1
  140. package/dist/components/fields/TextInput/TextInput.js +1 -1
  141. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  142. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  143. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  144. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  145. package/dist/components/form/Form/Field.js +1 -1
  146. package/dist/components/form/Form/Form.js +1 -1
  147. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  148. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  149. package/dist/components/form/Form/SubmitError.js +1 -1
  150. package/dist/components/form/Form/index.js +1 -1
  151. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  152. package/dist/components/form/Form/use-field/use-field.js +1 -1
  153. package/dist/components/form/Form/use-form.js +1 -1
  154. package/dist/components/form/Form/validation.js +1 -1
  155. package/dist/components/form/Label.js +1 -1
  156. package/dist/components/form/wrapper.js +1 -1
  157. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  158. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  159. package/dist/components/layout/Flex.js +1 -1
  160. package/dist/components/layout/Flow.js +1 -1
  161. package/dist/components/layout/Grid.js +1 -1
  162. package/dist/components/layout/Panel.js +1 -1
  163. package/dist/components/layout/Prefix.js +1 -1
  164. package/dist/components/layout/ResizablePanel.js +1 -1
  165. package/dist/components/layout/Space.js +1 -1
  166. package/dist/components/layout/Suffix.js +1 -1
  167. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  168. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  169. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  170. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  171. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  172. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  173. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  174. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  175. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  176. package/dist/components/navigation/Tabs/styled.js +1 -1
  177. package/dist/components/navigation/Tabs/types.js +1 -1
  178. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  179. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  180. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  181. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  182. package/dist/components/other/Calendar/Calendar.js +1 -1
  183. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  184. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  185. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  186. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  187. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  188. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  189. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  190. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  191. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  192. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  193. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  194. package/dist/components/overlays/Dialog/context.js +1 -1
  195. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  196. package/dist/components/overlays/Modal/Modal.js +1 -1
  197. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  198. package/dist/components/overlays/Modal/Overlay.js +1 -1
  199. package/dist/components/overlays/Modal/Popover.js +1 -1
  200. package/dist/components/overlays/Modal/Tray.js +1 -1
  201. package/dist/components/overlays/Modal/Underlay.js +1 -1
  202. package/dist/components/overlays/Notifications/Notification.js +1 -1
  203. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  204. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  205. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  206. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  207. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  208. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  209. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  210. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  211. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  212. package/dist/components/overlays/Notifications/index.js +1 -1
  213. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  214. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  215. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  216. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  217. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  218. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  219. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  220. package/dist/components/overlays/Toast/index.js +1 -1
  221. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  222. package/dist/components/overlays/Toast/useToast.js +1 -1
  223. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  224. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  225. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  226. package/dist/components/overlays/Tooltip/context.js +1 -1
  227. package/dist/components/portal/Portal.js +1 -1
  228. package/dist/components/portal/PortalProvider.js +1 -1
  229. package/dist/components/portal/usePortal.js +1 -1
  230. package/dist/components/shared/InvalidIcon.js +1 -1
  231. package/dist/components/shared/ValidIcon.js +1 -1
  232. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  233. package/dist/components/status/Spin/Cube.js +1 -1
  234. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  235. package/dist/components/status/Spin/Spin.js +1 -1
  236. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  237. package/dist/data/item-themes.js +1 -1
  238. package/dist/data/themes.js +1 -1
  239. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  240. package/dist/icons/AdjustmentsIcon.js +1 -1
  241. package/dist/icons/AiIcon.js +1 -1
  242. package/dist/icons/AreaChartIcon.js +1 -1
  243. package/dist/icons/BackwardIcon.js +1 -1
  244. package/dist/icons/BarChartIcon.js +1 -1
  245. package/dist/icons/BellFilledIcon.js +1 -1
  246. package/dist/icons/BellIcon.js +1 -1
  247. package/dist/icons/BooleanIcon.js +1 -1
  248. package/dist/icons/CalendarEditIcon.js +1 -1
  249. package/dist/icons/CalendarIcon.js +1 -1
  250. package/dist/icons/CaretDownIcon.js +1 -1
  251. package/dist/icons/CaretUpIcon.js +1 -1
  252. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  253. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  254. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  255. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  256. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  257. package/dist/icons/ChartBarLineIcon.js +1 -1
  258. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  259. package/dist/icons/ChartBarStackedIcon.js +1 -1
  260. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  261. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  262. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  263. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  264. package/dist/icons/ChartBubbleIcon.js +1 -1
  265. package/dist/icons/ChartDonut2Icon.js +1 -1
  266. package/dist/icons/ChartFunnelIcon.js +1 -1
  267. package/dist/icons/ChartHeatmapIcon.js +1 -1
  268. package/dist/icons/ChartKPIIcon.js +1 -1
  269. package/dist/icons/ChartPie2Icon.js +1 -1
  270. package/dist/icons/ChartScatterIcon.js +1 -1
  271. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  272. package/dist/icons/CheckCircleIcon.js +1 -1
  273. package/dist/icons/CheckIcon.js +1 -1
  274. package/dist/icons/CircleFilledIcon.js +1 -1
  275. package/dist/icons/ClearIcon.js +1 -1
  276. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  277. package/dist/icons/CloseCircleIcon.js +1 -1
  278. package/dist/icons/CloseIcon.js +1 -1
  279. package/dist/icons/CodeIcon.js +1 -1
  280. package/dist/icons/ColumnTotalIcon.js +1 -1
  281. package/dist/icons/CopyIcon.js +1 -1
  282. package/dist/icons/CountIcon.js +1 -1
  283. package/dist/icons/CubeIcon.js +1 -1
  284. package/dist/icons/CubePauseIcon.js +1 -1
  285. package/dist/icons/CubePlayIcon.js +1 -1
  286. package/dist/icons/CurrencyDollarIcon.js +1 -1
  287. package/dist/icons/DangerIcon.js +1 -1
  288. package/dist/icons/DashboardIcon.js +1 -1
  289. package/dist/icons/DatabaseIcon.js +1 -1
  290. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  291. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  292. package/dist/icons/DirectionIcon.js +1 -1
  293. package/dist/icons/DonutIcon.js +1 -1
  294. package/dist/icons/DownIcon.js +1 -1
  295. package/dist/icons/EditIcon.js +1 -1
  296. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  297. package/dist/icons/ExclamationCircleIcon.js +1 -1
  298. package/dist/icons/ExclamationIcon.js +1 -1
  299. package/dist/icons/EyeIcon.js +1 -1
  300. package/dist/icons/EyeInvisibleIcon.js +1 -1
  301. package/dist/icons/FilterIcon.js +1 -1
  302. package/dist/icons/FolderFilledIcon.js +1 -1
  303. package/dist/icons/FolderIcon.js +1 -1
  304. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  305. package/dist/icons/FolderOpenIcon.js +1 -1
  306. package/dist/icons/ForwardIcon.js +1 -1
  307. package/dist/icons/HierarchyIcon.js +1 -1
  308. package/dist/icons/HierarchyOpenIcon.js +1 -1
  309. package/dist/icons/Icon.js +1 -1
  310. package/dist/icons/InfoCircleIcon.js +1 -1
  311. package/dist/icons/InfoIcon.js +1 -1
  312. package/dist/icons/KeyIcon.js +1 -1
  313. package/dist/icons/LeftIcon.js +1 -1
  314. package/dist/icons/LineChartIcon.js +1 -1
  315. package/dist/icons/LoadingIcon.js +1 -1
  316. package/dist/icons/LockFilledIcon.js +1 -1
  317. package/dist/icons/LockIcon.js +1 -1
  318. package/dist/icons/MoreIcon.js +1 -1
  319. package/dist/icons/NotAllowedIcon.js +1 -1
  320. package/dist/icons/Number123Icon.js +1 -1
  321. package/dist/icons/NumberIcon.js +1 -1
  322. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  323. package/dist/icons/PauseCircleIcon.js +1 -1
  324. package/dist/icons/PauseIcon.js +1 -1
  325. package/dist/icons/PercentageIcon.js +1 -1
  326. package/dist/icons/PieChartIcon.js +1 -1
  327. package/dist/icons/PlayCircleIcon.js +1 -1
  328. package/dist/icons/PlayIcon.js +1 -1
  329. package/dist/icons/PlusIcon.js +1 -1
  330. package/dist/icons/ProgressBarIcon.js +1 -1
  331. package/dist/icons/ReloadIcon.js +1 -1
  332. package/dist/icons/ReportIcon.js +1 -1
  333. package/dist/icons/ReturnIcon.js +1 -1
  334. package/dist/icons/RightIcon.js +1 -1
  335. package/dist/icons/RowTotalsIcon.js +1 -1
  336. package/dist/icons/SchemeIcon.js +1 -1
  337. package/dist/icons/SearchIcon.js +1 -1
  338. package/dist/icons/SemanticQueryIcon.js +1 -1
  339. package/dist/icons/SettingsIcon.js +1 -1
  340. package/dist/icons/ShieldFilledIcon.js +1 -1
  341. package/dist/icons/ShieldIcon.js +1 -1
  342. package/dist/icons/SlashIcon.js +1 -1
  343. package/dist/icons/SparklesIcon.js +1 -1
  344. package/dist/icons/SqlIcon.js +1 -1
  345. package/dist/icons/StatsIcon.js +1 -1
  346. package/dist/icons/StopIcon.js +1 -1
  347. package/dist/icons/StringIcon.js +1 -1
  348. package/dist/icons/SubtotalsIcon.js +1 -1
  349. package/dist/icons/SwitchIcon.js +1 -1
  350. package/dist/icons/TableIcon.js +1 -1
  351. package/dist/icons/ThumbsDownIcon.js +1 -1
  352. package/dist/icons/ThumbsUpIcon.js +1 -1
  353. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  354. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  355. package/dist/icons/ThunderboltIcon.js +1 -1
  356. package/dist/icons/TimeIcon.js +1 -1
  357. package/dist/icons/TrashIcon.js +1 -1
  358. package/dist/icons/UnlockIcon.js +1 -1
  359. package/dist/icons/UpIcon.js +1 -1
  360. package/dist/icons/UserGroupIcon.js +1 -1
  361. package/dist/icons/UserIcon.js +1 -1
  362. package/dist/icons/UserLockIcon.js +1 -1
  363. package/dist/icons/ViewIcon.js +1 -1
  364. package/dist/icons/WarningFilledIcon.js +1 -1
  365. package/dist/icons/WarningIcon.js +1 -1
  366. package/dist/icons/wrap-icon.js +1 -1
  367. package/dist/index.js +1 -1
  368. package/dist/provider.js +1 -1
  369. package/dist/providers/TrackingProvider.js +1 -1
  370. package/dist/providers/navigationAdapter.default.js +1 -1
  371. package/dist/tokens/base.js +1 -1
  372. package/dist/tokens/colors.js +1 -1
  373. package/dist/tokens/index.js +1 -1
  374. package/dist/tokens/layout.js +1 -1
  375. package/dist/tokens/shadows.js +1 -1
  376. package/dist/tokens/sizes.js +1 -1
  377. package/dist/tokens/spacing.js +1 -1
  378. package/dist/tokens/typography.js +1 -1
  379. package/dist/utils/ResizeSensor.js +1 -1
  380. package/dist/utils/is-dev-env.js +1 -1
  381. package/dist/utils/modules.js +1 -1
  382. package/dist/utils/promise.js +1 -1
  383. package/dist/utils/raf.js +1 -1
  384. package/dist/utils/random.js +1 -1
  385. package/dist/utils/range.js +1 -1
  386. package/dist/utils/react/RenderCache.js +1 -1
  387. package/dist/utils/react/Slots.js +1 -1
  388. package/dist/utils/react/chain.js +1 -1
  389. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  390. package/dist/utils/react/index.js +1 -1
  391. package/dist/utils/react/interactions.js +1 -1
  392. package/dist/utils/react/isTextOnly.js +1 -1
  393. package/dist/utils/react/mapProps.js +1 -1
  394. package/dist/utils/react/mergeProps.js +1 -1
  395. package/dist/utils/react/nullableValue.js +1 -1
  396. package/dist/utils/react/resolveIcon.js +1 -1
  397. package/dist/utils/react/sharedStore.js +1 -1
  398. package/dist/utils/react/useCombinedRefs.js +1 -1
  399. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  400. package/dist/utils/react/useEventBus.js +1 -1
  401. package/dist/utils/react/useId.js +1 -1
  402. package/dist/utils/react/useIsDarwin.js +1 -1
  403. package/dist/utils/react/useKeySymbols.js +1 -1
  404. package/dist/utils/react/useLayoutEffect.js +1 -1
  405. package/dist/utils/react/useLocalStorage.js +1 -1
  406. package/dist/utils/react/useMergeStyles.js +1 -1
  407. package/dist/utils/react/useQaProps.js +1 -1
  408. package/dist/utils/react/useViewportSize.js +1 -1
  409. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  410. package/dist/utils/selection.js +1 -1
  411. package/dist/utils/styles.js +1 -1
  412. package/dist/utils/tree.js +1 -1
  413. package/dist/utils/warnings.js +1 -1
  414. package/dist/version.js +2 -2
  415. package/docs/components/content/Tree.md +47 -33
  416. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps } from "../../../utils/react/mergeProps.js";
4
4
  import { wrapNodeIfPlain } from "../../../utils/react/wrapNodeIfPlain.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { Space } from "../../layout/Space.js";
3
3
  import { Grid } from "../../layout/Grid.js";
4
4
  import { Flow } from "../../layout/Flow.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { _Item } from "../Item/Item.js";
3
3
  import { CloseIcon } from "../../../icons/CloseIcon.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -141,7 +141,7 @@ declare const MinorText: react.ComponentType<{
141
141
  accessKey?: string | undefined;
142
142
  autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
143
143
  autoFocus?: boolean | undefined;
144
- contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
144
+ contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
145
145
  contextMenu?: string | undefined;
146
146
  dir?: string | undefined;
147
147
  draggable?: (boolean | "true" | "false") | undefined;
@@ -550,7 +550,7 @@ declare const DangerText: react.ComponentType<{
550
550
  accessKey?: string | undefined;
551
551
  autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
552
552
  autoFocus?: boolean | undefined;
553
- contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
553
+ contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
554
554
  contextMenu?: string | undefined;
555
555
  dir?: string | undefined;
556
556
  draggable?: (boolean | "true" | "false") | undefined;
@@ -959,7 +959,7 @@ declare const SuccessText: react.ComponentType<{
959
959
  accessKey?: string | undefined;
960
960
  autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
961
961
  autoFocus?: boolean | undefined;
962
- contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
962
+ contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
963
963
  contextMenu?: string | undefined;
964
964
  dir?: string | undefined;
965
965
  draggable?: (boolean | "true" | "false") | undefined;
@@ -1368,7 +1368,7 @@ declare const StrongText: react.ComponentType<{
1368
1368
  accessKey?: string | undefined;
1369
1369
  autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
1370
1370
  autoFocus?: boolean | undefined;
1371
- contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
1371
+ contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
1372
1372
  contextMenu?: string | undefined;
1373
1373
  dir?: string | undefined;
1374
1374
  draggable?: (boolean | "true" | "false") | undefined;
@@ -1777,7 +1777,7 @@ declare const EmphasisText: react.ComponentType<{
1777
1777
  accessKey?: string | undefined;
1778
1778
  autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
1779
1779
  autoFocus?: boolean | undefined;
1780
- contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
1780
+ contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
1781
1781
  contextMenu?: string | undefined;
1782
1782
  dir?: string | undefined;
1783
1783
  draggable?: (boolean | "true" | "false") | undefined;
@@ -2186,7 +2186,7 @@ declare const PlaceholderText: react.ComponentType<{
2186
2186
  accessKey?: string | undefined;
2187
2187
  autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
2188
2188
  autoFocus?: boolean | undefined;
2189
- contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
2189
+ contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
2190
2190
  contextMenu?: string | undefined;
2191
2191
  dir?: string | undefined;
2192
2192
  draggable?: (boolean | "true" | "false") | undefined;
@@ -2595,7 +2595,7 @@ declare const HighlightText: react.ComponentType<{
2595
2595
  accessKey?: string | undefined;
2596
2596
  autoCapitalize?: (string & {}) | "none" | "off" | "on" | "sentences" | "words" | "characters" | undefined;
2597
2597
  autoFocus?: boolean | undefined;
2598
- contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
2598
+ contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
2599
2599
  contextMenu?: string | undefined;
2600
2600
  dir?: string | undefined;
2601
2601
  draggable?: (boolean | "true" | "false") | undefined;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { useSlotProps } from "../../utils/react/Slots.js";
4
4
  import { BASE_STYLES, COLOR_STYLES, TEXT_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { TEXT_PROP_MAP, _Text } from "../Text.js";
4
4
  import { highlightText } from "../highlightText.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { useSlotProps } from "../../utils/react/Slots.js";
4
4
  import { TEXT_PROP_MAP } from "./Text.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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 { mergeRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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 { useEvent } from "../../../_internal/hooks/use-event.js";
@@ -52,6 +52,7 @@ function TreeNodeInner(props) {
52
52
  const normalizedAction = actionStr.startsWith(".$") ? actionStr.slice(2) : actionStr;
53
53
  data.onAction?.(normalizedAction);
54
54
  treeOnAction?.(normalizedAction, node.key);
55
+ menuProps?.onAction?.(normalizedAction);
55
56
  });
56
57
  const rowContextMenu = useContextMenu(__Menu, { placement: "bottom start" }, {
57
58
  ...menuProps,
@@ -77,21 +78,30 @@ function TreeNodeInner(props) {
77
78
  const handleKeyDown = useEvent((e) => {
78
79
  if (e.key === " " && isRowCheckable && !isDisabled && !data.isCheckboxDisabled) {
79
80
  e.preventDefault();
81
+ e.stopPropagation();
80
82
  onToggleChecked(String(node.key));
81
- return;
83
+ return true;
82
84
  }
83
85
  if (e.key === "F10" && e.shiftKey && menuExposed) {
84
86
  e.preventDefault();
85
87
  e.stopPropagation();
86
88
  if (contextMenuOnly) rowContextMenu.open();
87
89
  else setIsMenuOpen(true);
88
- return;
90
+ return true;
89
91
  }
90
92
  if (shouldExpandOnRowClick && (e.key === "Enter" || e.key === " ") && !isRowCheckable) {
91
93
  e.preventDefault();
92
94
  e.stopPropagation();
93
95
  state.toggleKey(node.key);
96
+ state.selectionManager.setFocused(true);
97
+ state.selectionManager.setFocusedKey(node.key);
98
+ return true;
94
99
  }
100
+ return false;
101
+ });
102
+ const composedKeyDown = useEvent((e) => {
103
+ if (handleKeyDown(e)) return;
104
+ rowProps.onKeyDown?.(e);
95
105
  });
96
106
  const sharedMods = useMemo(() => ({
97
107
  checked: isChecked,
@@ -130,10 +140,11 @@ function TreeNodeInner(props) {
130
140
  ...virtualStyle
131
141
  }), [node.level, virtualStyle]);
132
142
  const ariaChecked = isRowCheckable ? isIndeterminate ? "mixed" : isChecked ? "true" : "false" : void 0;
133
- const baseRowProps = mergeProps$1(rowProps, hoverProps, {
143
+ const baseRowProps = {
144
+ ...mergeProps$1(rowProps, hoverProps),
134
145
  "aria-checked": ariaChecked,
135
- onKeyDown: handleKeyDown
136
- });
146
+ onKeyDown: composedKeyDown
147
+ };
137
148
  const finalRowProps = shouldExpandOnRowClick ? {
138
149
  ...baseRowProps,
139
150
  onClick: handleFolderRowClick,
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNode.js","names":["Menu","mergeProps","Checkbox","MenuTrigger"],"sources":["../../../../src/components/content/Tree/TreeNode.tsx"],"sourcesContent":["import { Children, memo, useMemo, useRef, useState } from 'react';\nimport { useHover, useTreeItem } from 'react-aria';\n\nimport { useEvent } from '../../../_internal/hooks';\nimport { DirectionIcon, LoadingIcon, MoreIcon } from '../../../icons';\nimport { mergeProps, mergeRefs } from '../../../utils/react';\nimport { CubeItemActionProps, ItemAction } from '../../actions/ItemAction';\nimport { CubeMenuProps, Menu, MenuTrigger } from '../../actions/Menu';\nimport { useContextMenu } from '../../actions/use-context-menu';\nimport { Checkbox } from '../../fields/Checkbox/Checkbox';\n\nimport {\n TreeNodeCheckboxWrapper,\n TreeNodeRow,\n TreeNodeToggle,\n TreeNodeTogglePlaceholder,\n TreeRowItem,\n} from './styled';\n\nimport type { Key, Node } from '@react-types/shared';\nimport type { Styles } from '@tenphi/tasty';\nimport type {\n CSSProperties,\n KeyboardEvent,\n MouseEvent as ReactMouseEvent,\n ReactNode,\n PointerEvent as ReactPointerEvent,\n Ref,\n SyntheticEvent,\n} from 'react';\nimport type { TreeState } from 'react-stately';\nimport type {\n CubeTreeNodeData,\n TreeContextMenu,\n TreeItemProps,\n TreeNodeState,\n} from './types';\n\nconst stopPropagation = (e: SyntheticEvent) => {\n e.stopPropagation();\n};\n\n/** Check whether a `menu` ReactNode actually contains anything. */\nfunction isMenuEmpty(menu: ReactNode): boolean {\n if (menu === null || menu === undefined || menu === false) return true;\n return Children.toArray(menu).length === 0;\n}\n\nexport interface TreeNodeProps {\n node: Node<CubeTreeNodeData>;\n /** The original `CubeTreeNodeData` for this row, looked up by key. */\n data: CubeTreeNodeData;\n state: TreeState<CubeTreeNodeData>;\n\n /** Whether the tree as a whole renders checkboxes. */\n isCheckable: boolean;\n /** Whether this row is currently expanded. */\n isExpanded: boolean;\n /** Whether the row is in an indeterminate (half-checked) state. */\n isIndeterminate: boolean;\n /** Whether the row is fully checked. */\n isChecked: boolean;\n /** Whether `loadData` is currently fetching this row's children. */\n isLoading: boolean;\n\n /** Toggle this row's checkbox (cascades). */\n onToggleChecked: (key: string) => void;\n\n /** Row size passed to the underlying Item. */\n size?: string;\n\n /** Per-node Item customization (static object or callback). */\n itemProps?:\n | TreeItemProps\n | ((data: CubeTreeNodeData, state: TreeNodeState) => TreeItemProps);\n\n /** Styles applied to the visible row (`TreeRowItem`). */\n rowStyles?: Styles;\n\n /** Inline style for virtualizer absolute positioning. */\n virtualStyle?: CSSProperties;\n /** Ref callback from `@tanstack/react-virtual` to measure row height. */\n virtualRef?: (element: HTMLElement | null) => void;\n /** Virtual index for `data-index` attribute. */\n virtualIndex?: number;\n\n /** Tree-wide menu default (resolved against `data.menu`). */\n menu?:\n | ReactNode\n | ((data: CubeTreeNodeData, state: TreeNodeState) => ReactNode | null);\n /** Tree-wide `contextMenu` default. */\n contextMenu?: TreeContextMenu;\n /** Tree-wide `onAction` callback. */\n onAction?: (action: string, key: Key) => void;\n /** Forwarded to every per-row `MenuTrigger`. */\n menuTriggerProps?: Partial<CubeItemActionProps>;\n /** Forwarded to every per-row `Menu`. */\n menuProps?: Partial<CubeMenuProps<object>>;\n\n /**\n * When true, pressing a non-leaf row toggles its expansion instead\n * of triggering selection.\n */\n expandOnFolderClick?: boolean;\n}\n\nfunction TreeNodeInner(props: TreeNodeProps) {\n const {\n node,\n data,\n state,\n isCheckable,\n isExpanded,\n isIndeterminate,\n isChecked,\n isLoading,\n onToggleChecked,\n size,\n itemProps,\n rowStyles,\n virtualStyle,\n virtualRef,\n virtualIndex,\n menu: treeMenu,\n contextMenu: treeContextMenu,\n onAction: treeOnAction,\n menuTriggerProps,\n menuProps,\n expandOnFolderClick,\n } = props;\n\n const rowRef = useRef<HTMLDivElement>(null);\n\n const { rowProps, gridCellProps, expandButtonProps, isPressed } = useTreeItem(\n { node },\n state,\n rowRef,\n );\n\n const isDisabled = state.disabledKeys.has(node.key);\n const isSelected = state.selectionManager.isSelected(node.key);\n\n // `useTreeItem` doesn't track hover; we need it for the `hovered` mod.\n const { hoverProps, isHovered } = useHover({ isDisabled });\n // React Aria's treegrid uses roving tabindex, so no `data-focused`\n // attribute lands on the row — mirror it as a mod manually.\n const isFocused =\n state.selectionManager.isFocused &&\n state.selectionManager.focusedKey === node.key;\n // For lazy rows with no children yet, still render a toggle unless\n // explicitly marked as leaf.\n const isLeaf =\n data.isLeaf === true || (data.isLeaf !== false && !node.hasChildNodes);\n const isRowCheckable = isCheckable && data.isCheckable !== false;\n\n const nodeState: TreeNodeState = {\n isExpanded,\n isSelected,\n isChecked,\n isIndeterminate,\n isLeaf,\n };\n\n // ---- Menu resolution (per-node override > tree-level) --------------------\n\n const effectiveMenuChildren: ReactNode =\n data.menu === null\n ? null\n : data.menu !== undefined\n ? data.menu\n : typeof treeMenu === 'function'\n ? treeMenu(data, nodeState)\n : treeMenu ?? null;\n const hasMenu = !isMenuEmpty(effectiveMenuChildren);\n\n const effectiveContextMenu: TreeContextMenu =\n data.contextMenu ?? treeContextMenu ?? false;\n // The menu is exposed only when the consumer opts in via\n // `contextMenu`. When `contextMenu` is `false` (default) we render\n // nothing, even if `menu` is provided — this matches the plan and\n // keeps default rows visually clean.\n const menuExposed =\n hasMenu &&\n (effectiveContextMenu === true || effectiveContextMenu === 'context-only');\n const contextMenuOnly = effectiveContextMenu === 'context-only';\n\n // Controlled state for menu trigger (enables keyboard opening with Shift+F10)\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n\n const handleMenuAction = useEvent((action: Key) => {\n // Strip the \".$\" prefix that React adds via Children.toArray/map.\n const actionStr = String(action);\n const normalizedAction = actionStr.startsWith('.$')\n ? actionStr.slice(2)\n : actionStr;\n data.onAction?.(normalizedAction);\n treeOnAction?.(normalizedAction, node.key);\n });\n\n const rowContextMenu = useContextMenu<HTMLDivElement, CubeMenuProps<object>>(\n Menu,\n { placement: 'bottom start' },\n {\n ...menuProps,\n onAction: handleMenuAction,\n children: effectiveMenuChildren,\n },\n );\n\n // ---- Checkbox ------------------------------------------------------------\n\n const handleCheckboxChange = useEvent(() => {\n onToggleChecked(String(node.key));\n });\n\n // ---- Folder-click interception ------------------------------------------\n\n const shouldExpandOnRowClick =\n !!expandOnFolderClick && !isLeaf && !isDisabled;\n\n const handleFolderRowClick = useEvent((e: ReactMouseEvent) => {\n // Only intercept primary-button clicks; let right-click reach\n // `useContextMenu` (it listens for the `contextmenu` event).\n if (e.button !== 0) return;\n e.preventDefault();\n e.stopPropagation();\n state.toggleKey(node.key);\n state.selectionManager.setFocused(true);\n state.selectionManager.setFocusedKey(node.key);\n });\n\n const handleFolderRowPointerEvent = useEvent((e: ReactPointerEvent) => {\n if (e.button !== 0) return;\n // Stop usePress from latching its `isPressed` state — the row is\n // not a press target anymore in this mode.\n e.stopPropagation();\n });\n\n // ---- Keyboard ------------------------------------------------------------\n\n const handleKeyDown = useEvent((e: KeyboardEvent) => {\n // Space toggles the checkbox first when checkable.\n if (\n e.key === ' ' &&\n isRowCheckable &&\n !isDisabled &&\n !data.isCheckboxDisabled\n ) {\n e.preventDefault();\n onToggleChecked(String(node.key));\n return;\n }\n\n // Shift+F10 opens the row menu (standard accessibility shortcut).\n if (e.key === 'F10' && e.shiftKey && menuExposed) {\n e.preventDefault();\n e.stopPropagation();\n if (contextMenuOnly) {\n rowContextMenu.open();\n } else {\n setIsMenuOpen(true);\n }\n return;\n }\n\n // Enter/Space toggles expansion for folders in expandOnFolderClick mode\n // (matches the row-click behavior).\n if (\n shouldExpandOnRowClick &&\n (e.key === 'Enter' || e.key === ' ') &&\n !isRowCheckable\n ) {\n e.preventDefault();\n e.stopPropagation();\n state.toggleKey(node.key);\n }\n });\n\n // ---- Mods ----------------------------------------------------------------\n\n const sharedMods = useMemo(\n () => ({\n checked: isChecked,\n indeterminate: isIndeterminate,\n expanded: isExpanded,\n loading: isLoading,\n leaf: isLeaf,\n 'has-checkbox': isRowCheckable,\n 'has-menu': menuExposed,\n }),\n [\n isChecked,\n isIndeterminate,\n isExpanded,\n isLoading,\n isLeaf,\n isRowCheckable,\n menuExposed,\n ],\n );\n\n const rowMods = useMemo(\n () => ({ ...sharedMods, disabled: isDisabled }),\n [sharedMods, isDisabled],\n );\n\n const itemMods = useMemo(\n () => ({\n ...sharedMods,\n focused: isFocused,\n hovered: isHovered,\n pressed: isPressed,\n }),\n [sharedMods, isFocused, isHovered, isPressed],\n );\n\n const rowStyle = useMemo<CSSProperties>(\n () => ({\n ['--tree-level' as keyof CSSProperties]: String(node.level ?? 0),\n ...virtualStyle,\n }),\n [node.level, virtualStyle],\n );\n\n // Only emit `aria-checked` when the tree is in checkable mode.\n const ariaChecked: 'mixed' | 'true' | 'false' | undefined = isRowCheckable\n ? isIndeterminate\n ? 'mixed'\n : isChecked\n ? 'true'\n : 'false'\n : undefined;\n\n // ---- Compose row props ---------------------------------------------------\n\n const baseRowProps = mergeProps(rowProps, hoverProps, {\n 'aria-checked': ariaChecked,\n onKeyDown: handleKeyDown,\n });\n\n // When `expandOnFolderClick` applies, replace the click + pointer\n // handlers so usePress (from `useSelectableItem`) doesn't trigger\n // selection. We still want focus/keyboard nav, so we manually call\n // `setFocusedKey` + `setFocused`.\n const finalRowProps = shouldExpandOnRowClick\n ? {\n ...baseRowProps,\n onClick: handleFolderRowClick,\n onPointerDown: handleFolderRowPointerEvent,\n onPointerUp: handleFolderRowPointerEvent,\n onMouseDown: handleFolderRowPointerEvent as unknown as ReactMouseEvent,\n onMouseUp: handleFolderRowPointerEvent as unknown as ReactMouseEvent,\n }\n : baseRowProps;\n\n // ---- Toggle (chevron) and checkbox slots --------------------------------\n\n // Leaf rows get a placeholder so sibling indents align.\n const toggleNode = isLeaf ? (\n <TreeNodeTogglePlaceholder aria-hidden data-element=\"Toggle\" />\n ) : (\n <TreeNodeToggle {...expandButtonProps} tabIndex={-1} data-element=\"Toggle\">\n {isLoading ? (\n <LoadingIcon />\n ) : (\n <DirectionIcon to={isExpanded ? 'bottom' : 'right'} />\n )}\n </TreeNodeToggle>\n );\n\n const checkboxNode = isRowCheckable ? (\n <TreeNodeCheckboxWrapper\n data-element=\"Checkbox\"\n role=\"presentation\"\n onClick={stopPropagation}\n onKeyDown={stopPropagation}\n >\n <Checkbox\n isSelected={isChecked}\n isIndeterminate={isIndeterminate}\n isDisabled={isDisabled || data.isCheckboxDisabled}\n aria-label={\n typeof data.title === 'string' ? data.title : String(node.key)\n }\n // @ts-expect-error AriaCheckboxProps loses `onChange` where InputDOMProps overlaps (react-types).\n onChange={handleCheckboxChange}\n />\n </TreeNodeCheckboxWrapper>\n ) : null;\n\n // ---- Resolve user-supplied per-node Item props --------------------------\n\n const resolvedItemProps =\n typeof itemProps === 'function' ? itemProps(data, nodeState) : itemProps;\n const {\n prefix: userPrefix,\n actions: userActions,\n ...restUserProps\n } = resolvedItemProps ?? {};\n\n const composedPrefix =\n checkboxNode || userPrefix ? (\n <>\n {checkboxNode}\n {userPrefix}\n </>\n ) : null;\n\n // ---- Built-in overflow `⋮` action ---------------------------------------\n\n const menuAction =\n menuExposed && !contextMenuOnly ? (\n <MenuTrigger isOpen={isMenuOpen} onOpenChange={setIsMenuOpen}>\n <ItemAction\n tabIndex={-1}\n icon={<MoreIcon />}\n aria-label=\"Actions\"\n {...menuTriggerProps}\n />\n <Menu {...menuProps} onAction={handleMenuAction}>\n {effectiveMenuChildren}\n </Menu>\n </MenuTrigger>\n ) : null;\n\n // Compose with user-supplied actions (user actions render first).\n const composedActions =\n userActions || menuAction ? (\n <>\n {userActions}\n {menuAction}\n </>\n ) : undefined;\n\n // ---- Refs / context-menu wiring -----------------------------------------\n\n // When the context menu is enabled for this row, attach the hook's\n // `targetRef` to the row so right-clicks land on the correct anchor.\n const refs = useMemo(() => {\n const list: Ref<HTMLDivElement>[] = [rowRef];\n if (virtualRef) list.push(virtualRef);\n if (menuExposed) list.push(rowContextMenu.targetRef);\n return mergeRefs(...list);\n }, [virtualRef, menuExposed, rowContextMenu.targetRef]);\n\n return (\n <TreeNodeRow\n {...finalRowProps}\n ref={refs}\n mods={rowMods}\n style={rowStyle}\n data-element=\"Row\"\n data-qa-key={String(node.key)}\n data-index={virtualIndex}\n >\n <TreeRowItem\n {...gridCellProps}\n {...restUserProps}\n size={size}\n isSelected={isSelected}\n isDisabled={isDisabled}\n mods={itemMods}\n icon={toggleNode}\n prefix={composedPrefix}\n actions={composedActions}\n styles={rowStyles}\n >\n {data.title}\n </TreeRowItem>\n {menuExposed && rowContextMenu.rendered}\n </TreeNodeRow>\n );\n}\n\nexport const TreeNode = memo(TreeNodeInner);\n"],"mappings":"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"}
1
+ {"version":3,"file":"TreeNode.js","names":["Menu","mergeProps","Checkbox","MenuTrigger"],"sources":["../../../../src/components/content/Tree/TreeNode.tsx"],"sourcesContent":["import { Children, memo, useMemo, useRef, useState } from 'react';\nimport { useHover, useTreeItem } from 'react-aria';\n\nimport { useEvent } from '../../../_internal/hooks';\nimport { DirectionIcon, LoadingIcon, MoreIcon } from '../../../icons';\nimport { mergeProps, mergeRefs } from '../../../utils/react';\nimport { CubeItemActionProps, ItemAction } from '../../actions/ItemAction';\nimport { CubeMenuProps, Menu, MenuTrigger } from '../../actions/Menu';\nimport { useContextMenu } from '../../actions/use-context-menu';\nimport { Checkbox } from '../../fields/Checkbox/Checkbox';\n\nimport {\n TreeNodeCheckboxWrapper,\n TreeNodeRow,\n TreeNodeToggle,\n TreeNodeTogglePlaceholder,\n TreeRowItem,\n} from './styled';\n\nimport type { Key, Node } from '@react-types/shared';\nimport type { Styles } from '@tenphi/tasty';\nimport type {\n CSSProperties,\n KeyboardEvent,\n MouseEvent as ReactMouseEvent,\n ReactNode,\n PointerEvent as ReactPointerEvent,\n Ref,\n SyntheticEvent,\n} from 'react';\nimport type { TreeState } from 'react-stately';\nimport type {\n CubeTreeNodeData,\n TreeContextMenu,\n TreeItemProps,\n TreeNodeState,\n} from './types';\n\nconst stopPropagation = (e: SyntheticEvent) => {\n e.stopPropagation();\n};\n\n/** Check whether a `menu` ReactNode actually contains anything. */\nfunction isMenuEmpty(menu: ReactNode): boolean {\n if (menu === null || menu === undefined || menu === false) return true;\n return Children.toArray(menu).length === 0;\n}\n\nexport interface TreeNodeProps {\n node: Node<CubeTreeNodeData>;\n /** The original `CubeTreeNodeData` for this row, looked up by key. */\n data: CubeTreeNodeData;\n state: TreeState<CubeTreeNodeData>;\n\n /** Whether the tree as a whole renders checkboxes. */\n isCheckable: boolean;\n /** Whether this row is currently expanded. */\n isExpanded: boolean;\n /** Whether the row is in an indeterminate (half-checked) state. */\n isIndeterminate: boolean;\n /** Whether the row is fully checked. */\n isChecked: boolean;\n /** Whether `loadData` is currently fetching this row's children. */\n isLoading: boolean;\n\n /** Toggle this row's checkbox (cascades). */\n onToggleChecked: (key: string) => void;\n\n /** Row size passed to the underlying Item. */\n size?: string;\n\n /** Per-node Item customization (static object or callback). */\n itemProps?:\n | TreeItemProps\n | ((data: CubeTreeNodeData, state: TreeNodeState) => TreeItemProps);\n\n /** Styles applied to the visible row (`TreeRowItem`). */\n rowStyles?: Styles;\n\n /** Inline style for virtualizer absolute positioning. */\n virtualStyle?: CSSProperties;\n /** Ref callback from `@tanstack/react-virtual` to measure row height. */\n virtualRef?: (element: HTMLElement | null) => void;\n /** Virtual index for `data-index` attribute. */\n virtualIndex?: number;\n\n /** Tree-wide menu default (resolved against `data.menu`). */\n menu?:\n | ReactNode\n | ((data: CubeTreeNodeData, state: TreeNodeState) => ReactNode | null);\n /** Tree-wide `contextMenu` default. */\n contextMenu?: TreeContextMenu;\n /** Tree-wide `onAction` callback. */\n onAction?: (action: string, key: Key) => void;\n /** Forwarded to every per-row `MenuTrigger`. */\n menuTriggerProps?: Partial<CubeItemActionProps>;\n /** Forwarded to every per-row `Menu`. */\n menuProps?: Partial<CubeMenuProps<object>>;\n\n /**\n * When true, pressing a non-leaf row toggles its expansion instead\n * of triggering selection.\n */\n expandOnFolderClick?: boolean;\n}\n\nfunction TreeNodeInner(props: TreeNodeProps) {\n const {\n node,\n data,\n state,\n isCheckable,\n isExpanded,\n isIndeterminate,\n isChecked,\n isLoading,\n onToggleChecked,\n size,\n itemProps,\n rowStyles,\n virtualStyle,\n virtualRef,\n virtualIndex,\n menu: treeMenu,\n contextMenu: treeContextMenu,\n onAction: treeOnAction,\n menuTriggerProps,\n menuProps,\n expandOnFolderClick,\n } = props;\n\n const rowRef = useRef<HTMLDivElement>(null);\n\n const { rowProps, gridCellProps, expandButtonProps, isPressed } = useTreeItem(\n { node },\n state,\n rowRef,\n );\n\n const isDisabled = state.disabledKeys.has(node.key);\n const isSelected = state.selectionManager.isSelected(node.key);\n\n // `useTreeItem` doesn't track hover; we need it for the `hovered` mod.\n const { hoverProps, isHovered } = useHover({ isDisabled });\n // React Aria's treegrid uses roving tabindex, so no `data-focused`\n // attribute lands on the row — mirror it as a mod manually.\n const isFocused =\n state.selectionManager.isFocused &&\n state.selectionManager.focusedKey === node.key;\n // For lazy rows with no children yet, still render a toggle unless\n // explicitly marked as leaf.\n const isLeaf =\n data.isLeaf === true || (data.isLeaf !== false && !node.hasChildNodes);\n const isRowCheckable = isCheckable && data.isCheckable !== false;\n\n const nodeState: TreeNodeState = {\n isExpanded,\n isSelected,\n isChecked,\n isIndeterminate,\n isLeaf,\n };\n\n // ---- Menu resolution (per-node override > tree-level) --------------------\n\n const effectiveMenuChildren: ReactNode =\n data.menu === null\n ? null\n : data.menu !== undefined\n ? data.menu\n : typeof treeMenu === 'function'\n ? treeMenu(data, nodeState)\n : treeMenu ?? null;\n const hasMenu = !isMenuEmpty(effectiveMenuChildren);\n\n const effectiveContextMenu: TreeContextMenu =\n data.contextMenu ?? treeContextMenu ?? false;\n // The menu is exposed only when the consumer opts in via\n // `contextMenu`. When `contextMenu` is `false` (default) we render\n // nothing, even if `menu` is provided — this matches the plan and\n // keeps default rows visually clean.\n const menuExposed =\n hasMenu &&\n (effectiveContextMenu === true || effectiveContextMenu === 'context-only');\n const contextMenuOnly = effectiveContextMenu === 'context-only';\n\n // Controlled state for menu trigger (enables keyboard opening with Shift+F10)\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n\n const handleMenuAction = useEvent((action: Key) => {\n // Strip the \".$\" prefix that React adds via Children.toArray/map.\n const actionStr = String(action);\n const normalizedAction = actionStr.startsWith('.$')\n ? actionStr.slice(2)\n : actionStr;\n data.onAction?.(normalizedAction);\n treeOnAction?.(normalizedAction, node.key);\n // Forward to the consumer-supplied `menuProps.onAction` so users\n // who pass extra `Menu` props through `menuProps` still receive\n // the action stream alongside the tree-level callback.\n menuProps?.onAction?.(normalizedAction);\n });\n\n const rowContextMenu = useContextMenu<HTMLDivElement, CubeMenuProps<object>>(\n Menu,\n { placement: 'bottom start' },\n {\n ...menuProps,\n onAction: handleMenuAction,\n children: effectiveMenuChildren,\n },\n );\n\n // ---- Checkbox ------------------------------------------------------------\n\n const handleCheckboxChange = useEvent(() => {\n onToggleChecked(String(node.key));\n });\n\n // ---- Folder-click interception ------------------------------------------\n\n const shouldExpandOnRowClick =\n !!expandOnFolderClick && !isLeaf && !isDisabled;\n\n const handleFolderRowClick = useEvent((e: ReactMouseEvent) => {\n // Only intercept primary-button clicks; let right-click reach\n // `useContextMenu` (it listens for the `contextmenu` event).\n if (e.button !== 0) return;\n e.preventDefault();\n e.stopPropagation();\n state.toggleKey(node.key);\n state.selectionManager.setFocused(true);\n state.selectionManager.setFocusedKey(node.key);\n });\n\n const handleFolderRowPointerEvent = useEvent((e: ReactPointerEvent) => {\n if (e.button !== 0) return;\n // Stop usePress from latching its `isPressed` state — the row is\n // not a press target anymore in this mode.\n e.stopPropagation();\n });\n\n // ---- Keyboard ------------------------------------------------------------\n\n // Composed keydown handler. Runs BEFORE `rowProps.onKeyDown` from\n // `useTreeItem` so we can short-circuit the default react-aria\n // behavior (which would otherwise trigger selection on Enter/Space).\n // Returns `true` when the event was handled and react-aria's keydown\n // must NOT run.\n const handleKeyDown = useEvent((e: KeyboardEvent) => {\n // Space toggles the checkbox first when checkable.\n if (\n e.key === ' ' &&\n isRowCheckable &&\n !isDisabled &&\n !data.isCheckboxDisabled\n ) {\n e.preventDefault();\n e.stopPropagation();\n onToggleChecked(String(node.key));\n return true;\n }\n\n // Shift+F10 opens the row menu (standard accessibility shortcut).\n if (e.key === 'F10' && e.shiftKey && menuExposed) {\n e.preventDefault();\n e.stopPropagation();\n if (contextMenuOnly) {\n rowContextMenu.open();\n } else {\n setIsMenuOpen(true);\n }\n return true;\n }\n\n // Enter/Space toggles expansion for folders in expandOnFolderClick\n // mode (matches the row-click behavior). Must run BEFORE\n // `useTreeItem`'s onKeyDown so react-aria doesn't also fire\n // selection on the same keypress.\n if (\n shouldExpandOnRowClick &&\n (e.key === 'Enter' || e.key === ' ') &&\n !isRowCheckable\n ) {\n e.preventDefault();\n e.stopPropagation();\n state.toggleKey(node.key);\n state.selectionManager.setFocused(true);\n state.selectionManager.setFocusedKey(node.key);\n return true;\n }\n\n return false;\n });\n\n // Wrapper that delegates to react-aria's default keydown only when\n // our handler did not claim the event. Replaces (rather than\n // chains with) `rowProps.onKeyDown` so the order of handlers is\n // strictly: our shortcuts → react-aria default.\n const composedKeyDown = useEvent((e: KeyboardEvent<HTMLDivElement>) => {\n if (handleKeyDown(e)) return;\n rowProps.onKeyDown?.(e as unknown as globalThis.KeyboardEvent);\n });\n\n // ---- Mods ----------------------------------------------------------------\n\n const sharedMods = useMemo(\n () => ({\n checked: isChecked,\n indeterminate: isIndeterminate,\n expanded: isExpanded,\n loading: isLoading,\n leaf: isLeaf,\n 'has-checkbox': isRowCheckable,\n 'has-menu': menuExposed,\n }),\n [\n isChecked,\n isIndeterminate,\n isExpanded,\n isLoading,\n isLeaf,\n isRowCheckable,\n menuExposed,\n ],\n );\n\n const rowMods = useMemo(\n () => ({ ...sharedMods, disabled: isDisabled }),\n [sharedMods, isDisabled],\n );\n\n const itemMods = useMemo(\n () => ({\n ...sharedMods,\n focused: isFocused,\n hovered: isHovered,\n pressed: isPressed,\n }),\n [sharedMods, isFocused, isHovered, isPressed],\n );\n\n const rowStyle = useMemo<CSSProperties>(\n () => ({\n ['--tree-level' as keyof CSSProperties]: String(node.level ?? 0),\n ...virtualStyle,\n }),\n [node.level, virtualStyle],\n );\n\n // Only emit `aria-checked` when the tree is in checkable mode.\n const ariaChecked: 'mixed' | 'true' | 'false' | undefined = isRowCheckable\n ? isIndeterminate\n ? 'mixed'\n : isChecked\n ? 'true'\n : 'false'\n : undefined;\n\n // ---- Compose row props ---------------------------------------------------\n\n // Merge react-aria + hover props but EXCLUDE `onKeyDown` from the\n // chain — `composedKeyDown` already wraps `rowProps.onKeyDown` and\n // must run first to short-circuit Enter/Space selection in\n // `expandOnFolderClick` mode.\n const baseRowProps = {\n ...mergeProps(rowProps, hoverProps),\n 'aria-checked': ariaChecked,\n onKeyDown: composedKeyDown,\n };\n\n // When `expandOnFolderClick` applies, replace the click + pointer\n // handlers so usePress (from `useSelectableItem`) doesn't trigger\n // selection. We still want focus/keyboard nav, so we manually call\n // `setFocusedKey` + `setFocused`.\n const finalRowProps = shouldExpandOnRowClick\n ? {\n ...baseRowProps,\n onClick: handleFolderRowClick,\n onPointerDown: handleFolderRowPointerEvent,\n onPointerUp: handleFolderRowPointerEvent,\n onMouseDown: handleFolderRowPointerEvent as unknown as ReactMouseEvent,\n onMouseUp: handleFolderRowPointerEvent as unknown as ReactMouseEvent,\n }\n : baseRowProps;\n\n // ---- Toggle (chevron) and checkbox slots --------------------------------\n\n // Leaf rows get a placeholder so sibling indents align.\n const toggleNode = isLeaf ? (\n <TreeNodeTogglePlaceholder aria-hidden data-element=\"Toggle\" />\n ) : (\n <TreeNodeToggle {...expandButtonProps} tabIndex={-1} data-element=\"Toggle\">\n {isLoading ? (\n <LoadingIcon />\n ) : (\n <DirectionIcon to={isExpanded ? 'bottom' : 'right'} />\n )}\n </TreeNodeToggle>\n );\n\n const checkboxNode = isRowCheckable ? (\n <TreeNodeCheckboxWrapper\n data-element=\"Checkbox\"\n role=\"presentation\"\n onClick={stopPropagation}\n onKeyDown={stopPropagation}\n >\n <Checkbox\n isSelected={isChecked}\n isIndeterminate={isIndeterminate}\n isDisabled={isDisabled || data.isCheckboxDisabled}\n aria-label={\n typeof data.title === 'string' ? data.title : String(node.key)\n }\n // @ts-expect-error AriaCheckboxProps loses `onChange` where InputDOMProps overlaps (react-types).\n onChange={handleCheckboxChange}\n />\n </TreeNodeCheckboxWrapper>\n ) : null;\n\n // ---- Resolve user-supplied per-node Item props --------------------------\n\n const resolvedItemProps =\n typeof itemProps === 'function' ? itemProps(data, nodeState) : itemProps;\n const {\n prefix: userPrefix,\n actions: userActions,\n ...restUserProps\n } = resolvedItemProps ?? {};\n\n const composedPrefix =\n checkboxNode || userPrefix ? (\n <>\n {checkboxNode}\n {userPrefix}\n </>\n ) : null;\n\n // ---- Built-in overflow `⋮` action ---------------------------------------\n\n const menuAction =\n menuExposed && !contextMenuOnly ? (\n <MenuTrigger isOpen={isMenuOpen} onOpenChange={setIsMenuOpen}>\n <ItemAction\n tabIndex={-1}\n icon={<MoreIcon />}\n aria-label=\"Actions\"\n {...menuTriggerProps}\n />\n <Menu {...menuProps} onAction={handleMenuAction}>\n {effectiveMenuChildren}\n </Menu>\n </MenuTrigger>\n ) : null;\n\n // Compose with user-supplied actions (user actions render first).\n const composedActions =\n userActions || menuAction ? (\n <>\n {userActions}\n {menuAction}\n </>\n ) : undefined;\n\n // ---- Refs / context-menu wiring -----------------------------------------\n\n // When the context menu is enabled for this row, attach the hook's\n // `targetRef` to the row so right-clicks land on the correct anchor.\n const refs = useMemo(() => {\n const list: Ref<HTMLDivElement>[] = [rowRef];\n if (virtualRef) list.push(virtualRef);\n if (menuExposed) list.push(rowContextMenu.targetRef);\n return mergeRefs(...list);\n }, [virtualRef, menuExposed, rowContextMenu.targetRef]);\n\n return (\n <TreeNodeRow\n {...finalRowProps}\n ref={refs}\n mods={rowMods}\n style={rowStyle}\n data-element=\"Row\"\n data-qa-key={String(node.key)}\n data-index={virtualIndex}\n >\n <TreeRowItem\n {...gridCellProps}\n {...restUserProps}\n size={size}\n isSelected={isSelected}\n isDisabled={isDisabled}\n mods={itemMods}\n icon={toggleNode}\n prefix={composedPrefix}\n actions={composedActions}\n styles={rowStyles}\n >\n {data.title}\n </TreeRowItem>\n {menuExposed && rowContextMenu.rendered}\n </TreeNodeRow>\n );\n}\n\nexport const TreeNode = memo(TreeNodeInner);\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { _Item } from "../Item/Item.js";
3
3
  import { Action } from "../../actions/Action/Action.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  //#region src/components/content/Tree/tree-index.ts
3
3
  function buildTreeIndex(treeData) {
4
4
  const byKey = /* @__PURE__ */ new Map();
@@ -242,7 +242,14 @@ interface CubeTreeProps extends BaseProps, OuterStyleProps {
242
242
  onAction?: (action: string, key: Key$1) => void;
243
243
  /** Forwarded to every per-row `MenuTrigger`. */
244
244
  menuTriggerProps?: Partial<CubeItemActionProps>;
245
- /** Forwarded to every per-row `Menu`. */
245
+ /**
246
+ * Forwarded to every per-row `Menu` (both the overflow `⋮` menu and
247
+ * the right-click context menu).
248
+ *
249
+ * If `onAction` is provided here, it is **chained with** the
250
+ * tree-level `onAction` and per-node `data.onAction` (it does not
251
+ * override them) and receives the same normalized action key.
252
+ */
246
253
  menuProps?: Partial<CubeMenuProps<object>>;
247
254
  }
248
255
  //#endregion
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useMemo, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useRef, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { TooltipProvider } from "../overlays/Tooltip/TooltipProvider.js";
3
3
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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 { _Text } from "../../content/Text.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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 { useProviderProps } from "../../../provider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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 { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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 { useProviderProps } from "../../../provider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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 { InvalidIcon } from "../../shared/InvalidIcon.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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 { useProviderProps } from "../../../provider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
3
3
  import { CalendarIcon } from "../../../icons/CalendarIcon.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { Space } from "../../layout/Space.js";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { DatePickerSegment } from "./DatePickerSegment.js";
4
4
  import { formatSegments } from "./utils.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
  import { useRef } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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 { useProviderProps } from "../../../provider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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 { useProviderProps } from "../../../provider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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 { useProviderProps } from "../../../provider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  //#region src/components/fields/DatePicker/intl.ts
3
3
  const dateMessages = {
4
4
  time: "Time",
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { parseAbsolute } from "@internationalized/date";
3
3
 
4
4
  //#region src/components/fields/DatePicker/parseDate.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  //#region src/components/fields/DatePicker/props.ts
3
3
  const DEFAULT_DATE_PROPS = {
4
4
  granularity: "day",
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { useImperativeHandle, useRef } from "react";
3
3
  import { createDOMRef } from "@react-spectrum/utils";
4
4
  import { createFocusManager } from "@react-aria/focus";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { useProviderProps } from "../../../provider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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 { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useEventBus } from "../../../utils/react/useEventBus.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-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { _FileInput } from "../FileInput/FileInput.js";
3
3
  import { TextInput } from "../TextInput/TextInput.js";
4
4
  import { _NumberInput } from "../NumberInput/NumberInput.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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 { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { useProviderProps } from "../../../provider.js";
4
4
  import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { DirectionIcon } from "../../../icons/DirectionIcon.js";
3
3
  import { Button } from "../../actions/index.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { useProviderProps } from "../../../provider.js";
4
4
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useEventBus } from "../../../utils/react/useEventBus.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-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | 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 { useProviderProps } from "../../../provider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
 
4
4
  //#region src/components/fields/RadioGroup/context.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { useProviderProps } from "../../../provider.js";
4
4
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { forwardRefWithGenerics } from "../../../utils/react/forwardRefWithGenerics.js";
4
4
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { SliderGradationElement, SliderGradeElement } from "./elements.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-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { __Slider } from "./Slider.js";
3
3
  import { forwardRef, useCallback, useMemo, useState } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d0e6744 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c22ced9 | Cube Dev Team */
2
2
  import { Gradation } from "./Gradation.js";
3
3
  import { _SliderBase } from "./SliderBase.js";
4
4
  import { SliderThumb } from "./SliderThumb.js";