@cube-dev/ui-kit 0.128.0 → 0.130.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/dist/CHANGELOG.md +51 -0
  2. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  3. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/dist/_internal/hooks/use-event.js +1 -1
  6. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  7. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +1 -1
  12. package/dist/components/CollectionItem.js +1 -1
  13. package/dist/components/GlobalStyles.js +1 -1
  14. package/dist/components/GridProvider.js +1 -1
  15. package/dist/components/HiddenInput.js +1 -1
  16. package/dist/components/Root.js +1 -1
  17. package/dist/components/actions/Action/Action.js +1 -1
  18. package/dist/components/actions/Banner/Banner.js +1 -1
  19. package/dist/components/actions/Button/Button.js +2 -2
  20. package/dist/components/actions/Button/Button.js.map +1 -1
  21. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  22. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  23. package/dist/components/actions/ButtonSplit/context.js +1 -1
  24. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  25. package/dist/components/actions/CommandMenu/styled.js +1 -1
  26. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  27. package/dist/components/actions/ItemActionContext.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/MenuItem.js +1 -1
  32. package/dist/components/actions/Menu/MenuSection.js +1 -1
  33. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  35. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  36. package/dist/components/actions/Menu/context.js +1 -1
  37. package/dist/components/actions/Menu/styled.js +1 -1
  38. package/dist/components/actions/index.js +1 -1
  39. package/dist/components/actions/use-action.js +1 -1
  40. package/dist/components/actions/use-anchored-menu.js +1 -1
  41. package/dist/components/actions/use-context-menu.js +1 -1
  42. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  43. package/dist/components/content/Alert/Alert.js +1 -1
  44. package/dist/components/content/Alert/use-alert.js +1 -1
  45. package/dist/components/content/Avatar/Avatar.js +1 -1
  46. package/dist/components/content/Badge/Badge.js +1 -1
  47. package/dist/components/content/Card/Card.js +1 -1
  48. package/dist/components/content/Content.js +1 -1
  49. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  50. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  51. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  52. package/dist/components/content/Divider.js +1 -1
  53. package/dist/components/content/Footer.js +1 -1
  54. package/dist/components/content/Header.js +1 -1
  55. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  56. package/dist/components/content/Item/Item.js +1 -1
  57. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  58. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  59. package/dist/components/content/Layout/GridLayout.js +1 -1
  60. package/dist/components/content/Layout/Layout.js +1 -1
  61. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  62. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  63. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  64. package/dist/components/content/Layout/LayoutContent.js +1 -1
  65. package/dist/components/content/Layout/LayoutContext.js +1 -1
  66. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  67. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  68. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  69. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  70. package/dist/components/content/Layout/LayoutPane.js +1 -1
  71. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  72. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  73. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  74. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  75. package/dist/components/content/Layout/index.js +1 -1
  76. package/dist/components/content/Layout/utils.js +1 -1
  77. package/dist/components/content/Paragraph.js +1 -1
  78. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  79. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  80. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  81. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  82. package/dist/components/content/Result/Result.js +1 -1
  83. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  84. package/dist/components/content/Tag/Tag.js +1 -1
  85. package/dist/components/content/Text.js +1 -1
  86. package/dist/components/content/TextItem/TextItem.js +1 -1
  87. package/dist/components/content/Title.js +1 -1
  88. package/dist/components/content/Tree/Tree.d.ts +27 -0
  89. package/dist/components/content/Tree/Tree.js +308 -0
  90. package/dist/components/content/Tree/Tree.js.map +1 -0
  91. package/dist/components/content/Tree/TreeNode.js +132 -0
  92. package/dist/components/content/Tree/TreeNode.js.map +1 -0
  93. package/dist/components/content/Tree/index.d.ts +3 -0
  94. package/dist/components/content/Tree/styled.js +145 -0
  95. package/dist/components/content/Tree/styled.js.map +1 -0
  96. package/dist/components/content/Tree/tree-index.js +26 -0
  97. package/dist/components/content/Tree/tree-index.js.map +1 -0
  98. package/dist/components/content/Tree/types.d.ts +174 -0
  99. package/dist/components/content/Tree/use-checkbox-tree.js +231 -0
  100. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -0
  101. package/dist/components/content/Tree/use-load-data.js +75 -0
  102. package/dist/components/content/Tree/use-load-data.js.map +1 -0
  103. package/dist/components/content/highlightText.js +1 -1
  104. package/dist/components/content/use-auto-tooltip.js +1 -1
  105. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  106. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  107. package/dist/components/fields/Checkbox/context.js +1 -1
  108. package/dist/components/fields/ComboBox/ComboBox.js +2 -8
  109. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  110. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  111. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  112. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  113. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  114. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  115. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  116. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  117. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  118. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  119. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  120. package/dist/components/fields/DatePicker/intl.js +1 -1
  121. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  122. package/dist/components/fields/DatePicker/props.js +1 -1
  123. package/dist/components/fields/DatePicker/utils.js +1 -1
  124. package/dist/components/fields/FileInput/FileInput.js +1 -1
  125. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  126. package/dist/components/fields/FilterPicker/FilterPicker.js +3 -11
  127. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  128. package/dist/components/fields/Input/Input.js +1 -1
  129. package/dist/components/fields/ListBox/ListBox.js +1 -1
  130. package/dist/components/fields/NumberInput/NumberInput.js +2 -2
  131. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  132. package/dist/components/fields/PasswordInput/PasswordInput.js +2 -2
  133. package/dist/components/fields/Picker/Picker.js +2 -11
  134. package/dist/components/fields/Picker/Picker.js.map +1 -1
  135. package/dist/components/fields/RadioGroup/Radio.js +2 -2
  136. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  137. package/dist/components/fields/RadioGroup/context.js +1 -1
  138. package/dist/components/fields/SearchInput/SearchInput.js +2 -2
  139. package/dist/components/fields/Select/Select.d.ts +0 -2
  140. package/dist/components/fields/Select/Select.js +3 -11
  141. package/dist/components/fields/Select/Select.js.map +1 -1
  142. package/dist/components/fields/Slider/Gradation.js +1 -1
  143. package/dist/components/fields/Slider/HueSlider.js +1 -1
  144. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  145. package/dist/components/fields/Slider/Slider.js +1 -1
  146. package/dist/components/fields/Slider/SliderBase.js +1 -1
  147. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  148. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  149. package/dist/components/fields/Slider/elements.js +1 -1
  150. package/dist/components/fields/Slider/index.js +1 -1
  151. package/dist/components/fields/Switch/Switch.js +1 -1
  152. package/dist/components/fields/TextArea/TextArea.js +2 -2
  153. package/dist/components/fields/TextInput/TextInput.js +2 -2
  154. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  155. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  156. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  157. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  158. package/dist/components/form/Form/Field.js +1 -1
  159. package/dist/components/form/Form/Form.js +1 -1
  160. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  161. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  162. package/dist/components/form/Form/SubmitError.js +1 -1
  163. package/dist/components/form/Form/index.js +1 -1
  164. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  165. package/dist/components/form/Form/use-field/use-field.js +1 -1
  166. package/dist/components/form/Form/use-form.js +1 -1
  167. package/dist/components/form/Form/validation.js +1 -1
  168. package/dist/components/form/Label.js +1 -1
  169. package/dist/components/form/wrapper.js +1 -1
  170. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +5 -4
  171. package/dist/components/helpers/DisplayTransition/DisplayTransition.js.map +1 -1
  172. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  173. package/dist/components/layout/Flex.js +1 -1
  174. package/dist/components/layout/Flow.js +1 -1
  175. package/dist/components/layout/Grid.js +1 -1
  176. package/dist/components/layout/Panel.js +1 -1
  177. package/dist/components/layout/Prefix.js +1 -1
  178. package/dist/components/layout/ResizablePanel.js +1 -1
  179. package/dist/components/layout/Space.js +1 -1
  180. package/dist/components/layout/Suffix.js +1 -1
  181. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  182. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  183. package/dist/components/navigation/Tabs/TabButton.js +28 -14
  184. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  185. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  186. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  187. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  188. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  189. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  190. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  191. package/dist/components/navigation/Tabs/styled.js +1 -1
  192. package/dist/components/navigation/Tabs/types.js +1 -1
  193. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  194. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  195. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  196. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  197. package/dist/components/other/Calendar/Calendar.js +1 -1
  198. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  199. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  200. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  201. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  202. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  203. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  204. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  205. package/dist/components/overlays/Dialog/Dialog.js +4 -18
  206. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  207. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  208. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  209. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -2
  210. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  211. package/dist/components/overlays/Dialog/context.js +1 -1
  212. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  213. package/dist/components/overlays/Modal/Modal.js +7 -7
  214. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  215. package/dist/components/overlays/Modal/OpenTransitionContext.js +12 -0
  216. package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -0
  217. package/dist/components/overlays/Modal/Overlay.js +48 -21
  218. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  219. package/dist/components/overlays/Modal/Popover.js +10 -14
  220. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  221. package/dist/components/overlays/Modal/Tray.js +7 -7
  222. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  223. package/dist/components/overlays/Modal/Underlay.js +1 -1
  224. package/dist/components/overlays/Modal/types.d.ts +1 -1
  225. package/dist/components/overlays/Notifications/Notification.js +1 -1
  226. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  227. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  228. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  229. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  230. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  231. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  232. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  233. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  234. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  235. package/dist/components/overlays/Notifications/index.js +1 -1
  236. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  237. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  238. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  239. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  240. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  241. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  242. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  243. package/dist/components/overlays/Toast/index.js +1 -1
  244. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  245. package/dist/components/overlays/Toast/useToast.js +1 -1
  246. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  247. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  248. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  249. package/dist/components/overlays/Tooltip/context.js +1 -1
  250. package/dist/components/portal/Portal.js +1 -1
  251. package/dist/components/portal/PortalProvider.js +1 -1
  252. package/dist/components/portal/usePortal.js +1 -1
  253. package/dist/components/shared/InvalidIcon.js +1 -1
  254. package/dist/components/shared/ValidIcon.js +1 -1
  255. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  256. package/dist/components/status/Spin/Cube.js +1 -1
  257. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  258. package/dist/components/status/Spin/Spin.js +1 -1
  259. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  260. package/dist/data/item-themes.js +1 -1
  261. package/dist/data/themes.js +1 -1
  262. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  263. package/dist/icons/AdjustmentsIcon.js +1 -1
  264. package/dist/icons/AiIcon.js +1 -1
  265. package/dist/icons/AreaChartIcon.js +1 -1
  266. package/dist/icons/BackwardIcon.js +1 -1
  267. package/dist/icons/BarChartIcon.js +1 -1
  268. package/dist/icons/BellFilledIcon.js +1 -1
  269. package/dist/icons/BellIcon.js +1 -1
  270. package/dist/icons/BooleanIcon.js +1 -1
  271. package/dist/icons/CalendarEditIcon.js +1 -1
  272. package/dist/icons/CalendarIcon.js +1 -1
  273. package/dist/icons/CaretDownIcon.js +1 -1
  274. package/dist/icons/CaretUpIcon.js +1 -1
  275. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  276. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  277. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  278. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  279. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  280. package/dist/icons/ChartBarLineIcon.js +1 -1
  281. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  282. package/dist/icons/ChartBarStackedIcon.js +1 -1
  283. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  284. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  285. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  286. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  287. package/dist/icons/ChartBubbleIcon.js +1 -1
  288. package/dist/icons/ChartDonut2Icon.js +1 -1
  289. package/dist/icons/ChartFunnelIcon.js +1 -1
  290. package/dist/icons/ChartHeatmapIcon.js +1 -1
  291. package/dist/icons/ChartKPIIcon.js +1 -1
  292. package/dist/icons/ChartPie2Icon.js +1 -1
  293. package/dist/icons/ChartScatterIcon.js +1 -1
  294. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  295. package/dist/icons/CheckCircleIcon.js +1 -1
  296. package/dist/icons/CheckIcon.js +1 -1
  297. package/dist/icons/CircleFilledIcon.js +1 -1
  298. package/dist/icons/ClearIcon.js +1 -1
  299. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  300. package/dist/icons/CloseCircleIcon.js +1 -1
  301. package/dist/icons/CloseIcon.js +1 -1
  302. package/dist/icons/CodeIcon.js +1 -1
  303. package/dist/icons/ColumnTotalIcon.js +1 -1
  304. package/dist/icons/CopyIcon.js +1 -1
  305. package/dist/icons/CountIcon.js +1 -1
  306. package/dist/icons/CubeIcon.js +1 -1
  307. package/dist/icons/CubePauseIcon.js +1 -1
  308. package/dist/icons/CubePlayIcon.js +1 -1
  309. package/dist/icons/CurrencyDollarIcon.js +1 -1
  310. package/dist/icons/DangerIcon.js +1 -1
  311. package/dist/icons/DashboardIcon.js +1 -1
  312. package/dist/icons/DatabaseIcon.js +1 -1
  313. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  314. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  315. package/dist/icons/DirectionIcon.js +1 -1
  316. package/dist/icons/DonutIcon.js +1 -1
  317. package/dist/icons/DownIcon.js +1 -1
  318. package/dist/icons/EditIcon.js +1 -1
  319. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  320. package/dist/icons/ExclamationCircleIcon.js +1 -1
  321. package/dist/icons/ExclamationIcon.js +1 -1
  322. package/dist/icons/EyeIcon.js +1 -1
  323. package/dist/icons/EyeInvisibleIcon.js +1 -1
  324. package/dist/icons/FilterIcon.js +1 -1
  325. package/dist/icons/FolderFilledIcon.js +1 -1
  326. package/dist/icons/FolderIcon.js +1 -1
  327. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  328. package/dist/icons/FolderOpenIcon.js +1 -1
  329. package/dist/icons/ForwardIcon.js +1 -1
  330. package/dist/icons/HierarchyIcon.js +1 -1
  331. package/dist/icons/HierarchyOpenIcon.js +1 -1
  332. package/dist/icons/Icon.js +1 -1
  333. package/dist/icons/InfoCircleIcon.js +1 -1
  334. package/dist/icons/InfoIcon.js +1 -1
  335. package/dist/icons/KeyIcon.js +1 -1
  336. package/dist/icons/LeftIcon.js +1 -1
  337. package/dist/icons/LineChartIcon.js +1 -1
  338. package/dist/icons/LoadingIcon.js +1 -1
  339. package/dist/icons/LockFilledIcon.js +1 -1
  340. package/dist/icons/LockIcon.js +1 -1
  341. package/dist/icons/MoreIcon.js +1 -1
  342. package/dist/icons/NotAllowedIcon.js +1 -1
  343. package/dist/icons/Number123Icon.js +1 -1
  344. package/dist/icons/NumberIcon.js +1 -1
  345. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  346. package/dist/icons/PauseCircleIcon.js +1 -1
  347. package/dist/icons/PauseIcon.js +1 -1
  348. package/dist/icons/PercentageIcon.js +1 -1
  349. package/dist/icons/PieChartIcon.js +1 -1
  350. package/dist/icons/PlayCircleIcon.js +1 -1
  351. package/dist/icons/PlayIcon.js +1 -1
  352. package/dist/icons/PlusIcon.js +1 -1
  353. package/dist/icons/ProgressBarIcon.js +1 -1
  354. package/dist/icons/ReloadIcon.js +1 -1
  355. package/dist/icons/ReportIcon.js +1 -1
  356. package/dist/icons/ReturnIcon.js +1 -1
  357. package/dist/icons/RightIcon.js +1 -1
  358. package/dist/icons/RowTotalsIcon.js +1 -1
  359. package/dist/icons/SchemeIcon.js +1 -1
  360. package/dist/icons/SearchIcon.js +1 -1
  361. package/dist/icons/SemanticQueryIcon.js +1 -1
  362. package/dist/icons/SettingsIcon.js +1 -1
  363. package/dist/icons/ShieldFilledIcon.js +1 -1
  364. package/dist/icons/ShieldIcon.js +1 -1
  365. package/dist/icons/SlashIcon.js +1 -1
  366. package/dist/icons/SparklesIcon.js +1 -1
  367. package/dist/icons/SqlIcon.js +1 -1
  368. package/dist/icons/StatsIcon.js +1 -1
  369. package/dist/icons/StopIcon.js +1 -1
  370. package/dist/icons/StringIcon.js +1 -1
  371. package/dist/icons/SubtotalsIcon.js +1 -1
  372. package/dist/icons/SwitchIcon.js +1 -1
  373. package/dist/icons/TableIcon.js +1 -1
  374. package/dist/icons/ThumbsDownIcon.js +1 -1
  375. package/dist/icons/ThumbsUpIcon.js +1 -1
  376. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  377. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  378. package/dist/icons/ThunderboltIcon.js +1 -1
  379. package/dist/icons/TimeIcon.js +1 -1
  380. package/dist/icons/TrashIcon.js +1 -1
  381. package/dist/icons/UnlockIcon.js +1 -1
  382. package/dist/icons/UpIcon.js +1 -1
  383. package/dist/icons/UserGroupIcon.js +1 -1
  384. package/dist/icons/UserIcon.js +1 -1
  385. package/dist/icons/UserLockIcon.js +1 -1
  386. package/dist/icons/ViewIcon.js +1 -1
  387. package/dist/icons/WarningFilledIcon.js +1 -1
  388. package/dist/icons/WarningIcon.js +1 -1
  389. package/dist/icons/wrap-icon.js +1 -1
  390. package/dist/index.d.ts +5 -2
  391. package/dist/index.js +6 -5
  392. package/dist/index.js.map +1 -1
  393. package/dist/provider.js +1 -1
  394. package/dist/providers/TrackingProvider.js +1 -1
  395. package/dist/providers/navigationAdapter.default.js +1 -1
  396. package/dist/tokens/base.js +1 -1
  397. package/dist/tokens/colors.js +1 -1
  398. package/dist/tokens/index.d.ts +1 -1
  399. package/dist/tokens/index.js +1 -1
  400. package/dist/tokens/layout.js +1 -1
  401. package/dist/tokens/shadows.js +1 -1
  402. package/dist/tokens/sizes.js +1 -1
  403. package/dist/tokens/spacing.js +1 -1
  404. package/dist/tokens/typography.js +1 -1
  405. package/dist/utils/ResizeSensor.js +1 -1
  406. package/dist/utils/is-dev-env.js +1 -1
  407. package/dist/utils/modules.js +1 -1
  408. package/dist/utils/promise.js +1 -1
  409. package/dist/utils/raf.js +1 -1
  410. package/dist/utils/random.js +1 -1
  411. package/dist/utils/range.js +1 -1
  412. package/dist/utils/react/RenderCache.js +1 -1
  413. package/dist/utils/react/Slots.js +1 -1
  414. package/dist/utils/react/chain.js +1 -1
  415. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  416. package/dist/utils/react/index.js +1 -1
  417. package/dist/utils/react/interactions.js +1 -1
  418. package/dist/utils/react/isTextOnly.js +1 -1
  419. package/dist/utils/react/mapProps.js +1 -1
  420. package/dist/utils/react/mergeProps.js +1 -1
  421. package/dist/utils/react/nullableValue.js +1 -1
  422. package/dist/utils/react/resolveIcon.js +1 -1
  423. package/dist/utils/react/sharedStore.js +1 -1
  424. package/dist/utils/react/useCombinedRefs.js +1 -1
  425. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  426. package/dist/utils/react/useEventBus.js +1 -1
  427. package/dist/utils/react/useId.js +1 -1
  428. package/dist/utils/react/useIsDarwin.js +1 -1
  429. package/dist/utils/react/useKeySymbols.js +1 -1
  430. package/dist/utils/react/useLayoutEffect.js +1 -1
  431. package/dist/utils/react/useLocalStorage.js +1 -1
  432. package/dist/utils/react/useMergeStyles.js +1 -1
  433. package/dist/utils/react/useQaProps.js +1 -1
  434. package/dist/utils/react/useViewportSize.js +1 -1
  435. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  436. package/dist/utils/selection.js +1 -1
  437. package/dist/utils/styles.js +1 -1
  438. package/dist/utils/tree.js +1 -1
  439. package/dist/utils/warnings.js +1 -1
  440. package/dist/version.js +2 -2
  441. package/docs/components/content/Tree.md +299 -0
  442. package/docs/tasty/dsl.md +1 -0
  443. package/package.json +2 -4
  444. package/dist/components/overlays/Modal/OpenTransition.js +0 -39
  445. package/dist/components/overlays/Modal/OpenTransition.js.map +0 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { BASE_TOKENS } from "./base.js";
3
3
  import { COLOR_TOKENS } from "./colors.js";
4
4
  import { LAYOUT_TOKENS } from "./layout.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/tokens/layout.ts
3
3
  /**
4
4
  * Layout-related tokens for common UI dimensions.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/tokens/shadows.ts
3
3
  /**
4
4
  * Shadow tokens using tasty shorthand syntax.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/tokens/sizes.ts
3
3
  /**
4
4
  * Component size values in pixels.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/tokens/spacing.ts
3
3
  /**
4
4
  * Spacing tokens using tasty multiplier syntax.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/tokens/typography.ts
3
3
  /**
4
4
  * Typography presets for headings, text, and special styles.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/ResizeSensor.ts
3
3
  /**
4
4
  * Iterate over each of the provided element(s).
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/is-dev-env.ts
3
3
  function isDevEnv() {
4
4
  if (typeof window !== "undefined" && window.localStorage) try {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/modules.ts
3
3
  function extractModule(promise) {
4
4
  return promise.then((module) => module.default || module);
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/promise.ts
3
3
  function timeout(ms = 30) {
4
4
  return new Promise((resolve) => {
package/dist/utils/raf.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/raf.ts
3
3
  /**
4
4
  * Chains N requestAnimationFrame calls and returns a cancel function.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/random.ts
3
3
  function random(min, max) {
4
4
  const realMin = min < max ? min : max;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/range.ts
3
3
  function range(count) {
4
4
  return Array.from({ length: count }, (_, i) => i);
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { useRef } from "react";
3
3
  import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { mergeProps } from "./mergeProps.js";
3
3
  import { Children, cloneElement, createContext, useContext, useMemo } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/react/chain.ts
3
3
  /**
4
4
  * Calls all functions in the order they were chained with the same arguments.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/react/forwardRefWithGenerics.tsx
3
3
  /**
4
4
  * A helper for creating forwardRef components with generic types.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { forwardRefWithGenerics } from "./forwardRefWithGenerics.js";
4
4
  import { isTextOnly } from "./isTextOnly.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { useState } from "react";
3
3
  import { useFocus, useFocusVisible } from "react-aria";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { Children, isValidElement } from "react";
3
3
 
4
4
  //#region src/utils/react/isTextOnly.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/react/mapProps.ts
3
3
  /** Converts AriaButtonProps to CubeButtonProps */
4
4
  function ariaToCubeButtonProps(props) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { mergeIds } from "./useId.js";
4
4
  import { mergeStyles } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/react/nullableValue.ts
3
3
  function castNullableStringValue(props) {
4
4
  return castNullableField(props, ["value", "defaultValue"], "string", (v) => String(v));
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/react/resolveIcon.ts
3
3
  /**
4
4
  * Resolves a dynamic icon prop to its content and slot state.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { useEffect, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useCombinedRefs.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { createSharedStore } from "./sharedStore.js";
3
3
  import { useEffect } from "react";
4
4
  import { useFocusVisible } from "react-aria";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import React, { createContext, useCallback, useContext, useEffect, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useEventBus.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { useSSRSafeId } from "@react-aria/ssr";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useIsDarwin.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { useIsDarwin } from "./useIsDarwin.js";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import * as React$1 from "react";
3
3
 
4
4
  //#region src/utils/react/useLayoutEffect.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useCallback, useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { mergeStyles } from "@tenphi/tasty";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/react/useQaProps.ts
3
3
  /**
4
4
  * Processes QA props.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useViewportSize.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  import { isValidElement } from "react";
3
3
  import { isFragment } from "react-is";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/selection.ts
3
3
  /**
4
4
  * Deduplicate/toggle keys in a selection: if a key appears twice it is
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/styles.ts
3
3
  /**
4
4
  * Split properties into style and non-style properties.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/tree.ts
3
3
  function toFlatTree(tree, includingFolders) {
4
4
  return tree.reduce((result, node) => {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/utils/warnings.ts
3
3
  const SUGGESTED_PROP_MAP = {
4
4
  disabled: "isDisabled",
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.128.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.130.0 | Cube Dev Team */
2
2
  //#region src/version.ts
3
- const VERSION = "0.128.0";
3
+ const VERSION = "0.130.0";
4
4
  if (typeof window !== "undefined") {
5
5
  const version = VERSION;
6
6
  window.CubeUIKit = window.CubeUIKit || { version };
@@ -0,0 +1,299 @@
1
+ # Tree
2
+
3
+ Tree displays hierarchical data as a list of nodes you can expand, collapse,
4
+ select, and (optionally) check. Built on `useTree` and `useTreeState`
5
+ (React Aria + React Stately) and styled with Tasty.
6
+
7
+ The component's data shape (`treeData`) and the public callback shape are
8
+ designed to be a near drop-in for AntD's `Tree` (modulo the `is*` boolean
9
+ prop convention used across `@cube-dev/ui-kit`), so existing AntD `Tree`
10
+ consumers can be migrated with minimal churn.
11
+
12
+ ## When to Use
13
+
14
+ - Rendering hierarchical structures such as file systems, organizational
15
+ charts, navigation, or schema browsers.
16
+ - Letting users select one or many nodes from a tree, with cascading
17
+ parent/child checkbox semantics.
18
+ - Lazily loading children when a node is expanded the first time
19
+ (`loadData`).
20
+ - Filtering with auto-expanded ancestors (`autoExpandParent`).
21
+
22
+ ## Component
23
+
24
+ ---
25
+
26
+ ### Properties
27
+
28
+ - **`treeData`** `CubeTreeNodeData[]` — Hierarchical data describing the
29
+ tree.
30
+ - **`isCheckable`** `boolean` (default: `false`) — Render a checkbox in
31
+ front of every eligible row.
32
+ - **`isSelectable`** `boolean` — Sugar for `selectionMode="none"` when
33
+ `false`. `selectionMode` wins when both are passed.
34
+ - **`selectionMode`** `'none' | 'single' | 'multiple'` (default: `'single'`)
35
+ — Selection cardinality.
36
+ - **`isDisabled`** `boolean` (default: `false`) — Disable the entire tree.
37
+ - **`defaultExpandedKeys`** `string[]` — Default expanded keys
38
+ (uncontrolled).
39
+ - **`expandedKeys`** `string[]` — Controlled expanded keys.
40
+ - **`autoExpandParent`** `boolean` (default: `false`) — Auto-expand parents
41
+ of currently expanded keys. Useful for filtering.
42
+ - **`defaultCheckedKeys`** `string[]` — Default checked keys (uncontrolled).
43
+ - **`checkedKeys`** `string[] | { checked: string[]; halfChecked?: string[] }`
44
+ — Controlled checked keys. Pass the object form to receive the same
45
+ shape back from `onCheck`.
46
+ - **`defaultSelectedKeys`** `string[]` — Default selected keys
47
+ (uncontrolled).
48
+ - **`selectedKeys`** `string[]` — Controlled selected keys.
49
+ - **`height`** `number` — Fixed height in pixels. When omitted, the tree
50
+ fills the available vertical space and scrolls internally.
51
+ - **`loadData`** `(node: TreeLoadDataNode) => Promise<void>` — Async
52
+ loader called the first time a non-leaf node with no `children` is
53
+ expanded. The consumer is expected to merge new children into
54
+ `treeData` (typical AntD pattern).
55
+ - **`onExpand`** `(expandedKeys: Key[], info: TreeOnExpandInfo) => void` —
56
+ Called when a node is expanded or collapsed.
57
+ - **`onCheck`** `(checked: Key[] | { checked, halfChecked }, info: TreeOnCheckInfo) => void`
58
+ — Called when a node is checked or unchecked.
59
+ - **`onSelect`** `(selectedKeys: Key[], info: TreeOnSelectInfo) => void` —
60
+ Called when row selection changes.
61
+ - **`rowStyles`** `Styles` — Override styles for `[data-element="Row"]`.
62
+
63
+ #### `CubeTreeNodeData`
64
+
65
+ - **`key`** `string` — Unique identifier of the node.
66
+ - **`title`** `ReactNode` — Visible label.
67
+ - **`children`** `CubeTreeNodeData[]` — Children. Pass `undefined`
68
+ together with `isLeaf={false}` for lazy nodes.
69
+ - **`isLeaf`** `boolean` — Force leaf rendering (no expand toggle, no
70
+ `loadData` call).
71
+ - **`isDisabled`** `boolean` — Disable interactions on this row (focus /
72
+ select / expand / check).
73
+ - **`isCheckboxDisabled`** `boolean` — Disable only the checkbox of this
74
+ row.
75
+ - **`isCheckable`** `boolean` — Per-node override; `false` hides the
76
+ checkbox for this row even when the tree is `isCheckable`.
77
+
78
+ ### Base Properties
79
+
80
+ Supports [Base properties](../../BaseProperties.md)
81
+
82
+ ### Styling Properties
83
+
84
+ #### styles
85
+
86
+ Customizes the root `treegrid` element of the Tree.
87
+
88
+ **Sub-elements:**
89
+
90
+ - `Row` — A single tree row (also targetable via the dedicated
91
+ `rowStyles` prop).
92
+
93
+ #### rowStyles
94
+
95
+ Customizes `[data-element="Row"]`. Useful when you need to override row
96
+ spacing, hover/selected colors, or cell layout without re-targeting via
97
+ `styles`.
98
+
99
+ **Sub-elements:**
100
+
101
+ - `Toggle` — The expand/collapse button.
102
+ - `Checkbox` — The checkbox slot (visible only when `isCheckable`).
103
+ - `Title` — The title label.
104
+
105
+ ### Modifiers
106
+
107
+ The following row-level modifiers are emitted automatically. They are
108
+ useful when overriding `rowStyles`:
109
+
110
+ | Modifier | Type | Description |
111
+ | --------------- | --------- | ------------------------------------------------------ |
112
+ | `selected` | `boolean` | Row is selected. |
113
+ | `checked` | `boolean` | Row is fully checked. |
114
+ | `indeterminate` | `boolean` | Row is in the half-checked state. |
115
+ | `expanded` | `boolean` | Row is expanded. |
116
+ | `disabled` | `boolean` | Row is disabled. |
117
+ | `loading` | `boolean` | The row's children are being fetched via `loadData`. |
118
+ | `leaf` | `boolean` | Row has no children. |
119
+ | `has-checkbox` | `boolean` | Row renders a checkbox. |
120
+
121
+ ## Variants
122
+
123
+ ### Selection Modes
124
+
125
+ - `none` — Row click does not select. Useful in pure-display or pure-
126
+ checkable trees.
127
+ - `single` (default) — One row selected at a time.
128
+ - `multiple` — Multi-select with keyboard modifiers and shift-range.
129
+
130
+ ## Examples
131
+
132
+ ### Basic Usage
133
+
134
+ ```jsx
135
+ const data = [
136
+ { key: 'fruits', title: 'Fruits', children: [
137
+ { key: 'apple', title: 'Apple' },
138
+ { key: 'banana', title: 'Banana' },
139
+ ]},
140
+ { key: 'vegetables', title: 'Vegetables', children: [
141
+ { key: 'carrot', title: 'Carrot' },
142
+ ]},
143
+ ];
144
+
145
+ <Tree treeData={data} defaultExpandedKeys={['fruits']} />;
146
+ ```
147
+
148
+ ### Checkable
149
+
150
+ `isCheckable` enables AntD-style cascading parent ↔ child checkbox
151
+ behavior: checking a parent checks all eligible descendants, and a
152
+ parent flips into the indeterminate (half-checked) state when only some
153
+ of its descendants are checked.
154
+
155
+ ```jsx
156
+ <Tree
157
+ treeData={data}
158
+ isCheckable
159
+ selectionMode="none"
160
+ defaultCheckedKeys={['apple']}
161
+ onCheck={(keys, info) => {
162
+ console.log('checked', keys);
163
+ console.log('half-checked', info.halfCheckedKeys);
164
+ }}
165
+ />
166
+ ```
167
+
168
+ ### Controlled Checked
169
+
170
+ To match AntD's object-shape API, pass `checkedKeys` as
171
+ `{ checked, halfChecked }`. `onCheck` returns the same shape.
172
+
173
+ ```jsx
174
+ const [checkedKeys, setCheckedKeys] = useState({ checked: [], halfChecked: [] });
175
+
176
+ <Tree
177
+ treeData={data}
178
+ isCheckable
179
+ checkedKeys={checkedKeys}
180
+ onCheck={(next) => setCheckedKeys(next)}
181
+ />
182
+ ```
183
+
184
+ ### Lazy Loading
185
+
186
+ Set `isLeaf: false` and omit `children` on a node, then provide a
187
+ `loadData` callback. The callback should merge new children into
188
+ `treeData`. The row shows a spinner while in flight; subsequent expands
189
+ of the same key won't refire `loadData`.
190
+
191
+ ```jsx
192
+ const handleLoadData = (node) =>
193
+ fetch(`/api/children?key=${node.key}`)
194
+ .then((r) => r.json())
195
+ .then((children) => mergeIntoTreeData(node.key, children));
196
+
197
+ <Tree treeData={data} loadData={handleLoadData} />
198
+ ```
199
+
200
+ ### Auto-expand Parent (Filtering)
201
+
202
+ Pass the matching keys via `expandedKeys` and set `autoExpandParent` to
203
+ keep their ancestors expanded.
204
+
205
+ ```jsx
206
+ <Tree
207
+ treeData={data}
208
+ expandedKeys={matchedKeys}
209
+ autoExpandParent
210
+ />
211
+ ```
212
+
213
+ ### Per-node Disabling
214
+
215
+ Disable the entire row, just the checkbox, or hide the checkbox via
216
+ node-level flags.
217
+
218
+ ```jsx
219
+ const data = [
220
+ { key: 'a', title: 'A', children: [
221
+ { key: 'a-1', title: 'A-1', isDisabled: true },
222
+ { key: 'a-2', title: 'A-2', isCheckboxDisabled: true },
223
+ { key: 'a-3', title: 'A-3', isCheckable: false },
224
+ ]},
225
+ ];
226
+
227
+ <Tree treeData={data} isCheckable defaultExpandedKeys={['a']} />
228
+ ```
229
+
230
+ ### Fixed Height
231
+
232
+ ```jsx
233
+ <Tree treeData={data} height={300} />
234
+ ```
235
+
236
+ ## Accessibility
237
+
238
+ Tree implements the
239
+ [`treegrid` ARIA pattern](https://www.w3.org/WAI/ARIA/apg/patterns/treegrid/)
240
+ via `useTree` from React Aria.
241
+
242
+ ### Keyboard Navigation
243
+
244
+ - `Tab` — Moves focus into / out of the tree (focus stays on the
245
+ currently active row inside).
246
+ - `ArrowUp` / `ArrowDown` — Move focus to the previous / next visible row.
247
+ - `ArrowRight` — Expand the focused row (or move to its first child if
248
+ already expanded).
249
+ - `ArrowLeft` — Collapse the focused row (or move to its parent if
250
+ already collapsed).
251
+ - `Home` / `End` — Move focus to the first / last visible row.
252
+ - `Space` / `Enter` — Toggle selection on the focused row (in `single`
253
+ or `multiple` mode).
254
+
255
+ ### Screen Reader Support
256
+
257
+ - Each row reports `aria-level`, `aria-posinset`, `aria-setsize`, and
258
+ `aria-expanded` so screen readers can announce the position and
259
+ expansion state.
260
+ - When `isCheckable` is enabled, the row carries `aria-checked` (`true`,
261
+ `false`, or `mixed` for the indeterminate state).
262
+ - Disabled rows expose `aria-disabled="true"`.
263
+
264
+ ### ARIA Properties
265
+
266
+ - `aria-label` — Provide a label that describes the tree's contents
267
+ (defaults to `"Tree"`).
268
+
269
+ ## Best Practices
270
+
271
+ 1. **Do**: Provide stable, unique `key`s — they are used for selection,
272
+ expansion, checking, and lazy-load tracking.
273
+ ```jsx
274
+ <Tree treeData={data.map((node) => ({ ...node, key: node.id }))} />
275
+ ```
276
+ 2. **Don't**: Mutate `treeData` in place. Always return a new array
277
+ from `loadData`'s commit step so React Stately can rebuild the
278
+ collection.
279
+ 3. **Accessibility**: When using checkboxes for selection, set
280
+ `selectionMode="none"` so the row click doesn't compete with the
281
+ checkbox.
282
+ 4. **Performance**: For very large trees, prefer virtualization (planned;
283
+ see Suggested Improvements) or use `loadData` to defer subtree
284
+ construction.
285
+
286
+ ## Suggested Improvements
287
+
288
+ - Built-in virtualization for very large trees (10k+ rows).
289
+ - Drag-and-drop reordering, mirroring AntD's `draggable` API.
290
+ - An `onRightClick`/context menu hook.
291
+ - Reveal-on-mount: scroll the focused row into view when expanded
292
+ programmatically.
293
+ - Optional inline title editing.
294
+
295
+ ## Related Components
296
+
297
+ - [ListBox](/components/ListBox) — Flat list with single/multi selection.
298
+ - [Menu](/components/Menu) — Hierarchical action lists in popovers.
299
+ - [Tabs](/components/Tabs) — Switch between sibling content panels.
package/docs/tasty/dsl.md CHANGED
@@ -59,6 +59,7 @@ Control how a sub-element selector attaches to the root selector using the `$` p
59
59
  | *(none)* | ` [el]` | Descendant (default) |
60
60
  | `>` | `> [el]` | Direct child |
61
61
  | `>Body>Row>` | `> [Body] > [Row] > [el]` | Chained elements |
62
+ | `> SubElementName` | `> [SubElementName]` | Self-name shorthand — when the trailing element name matches the sub-element's own key, it acts as the placeholder (same as `@`); no duplication |
62
63
  | `h1` | ` h1` | Tag selector (no key injection) |
63
64
  | `h1 >` | ` h1 > [el]` | Key is direct child of tag |
64
65
  | `h1 *` | ` h1 *` | Any descendant of tag |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cube-dev/ui-kit",
3
- "version": "0.128.0",
3
+ "version": "0.130.0",
4
4
  "type": "module",
5
5
  "description": "UIKit for Cube Projects",
6
6
  "repository": {
@@ -45,7 +45,7 @@
45
45
  "@react-types/shared": "^3.32.1",
46
46
  "@tabler/icons-react": "^3.31.0",
47
47
  "@tanstack/react-virtual": "^3.13.12",
48
- "@tenphi/tasty": "2.1.0",
48
+ "@tenphi/tasty": "2.1.1",
49
49
  "clipboard-copy": "^4.0.1",
50
50
  "clsx": "^1.1.1",
51
51
  "diff": "^8.0.3",
@@ -58,7 +58,6 @@
58
58
  "react-is": "^18.3.1",
59
59
  "react-keyed-flatten-children": "^1.3.0",
60
60
  "react-stately": "^3.43.0",
61
- "react-transition-group": "^4.4.5",
62
61
  "react-types": "^0.1.0",
63
62
  "tiny-invariant": "^1.3.3",
64
63
  "usehooks-ts": "^3.1.0",
@@ -94,7 +93,6 @@
94
93
  "@types/react-dom": "^19.1.7",
95
94
  "@types/react-is": "^18.2.4",
96
95
  "@types/react-test-renderer": "^18.0.7",
97
- "@types/react-transition-group": "^4.4.10",
98
96
  "@typescript-eslint/eslint-plugin": "^8.31.0",
99
97
  "@typescript-eslint/parser": "^8.31.0",
100
98
  "@uiw/react-codemirror": "^4.25.4",