@cube-dev/ui-kit 0.131.0 → 0.133.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 (442) hide show
  1. package/dist/CHANGELOG.md +32 -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 +1 -1
  20. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  21. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  22. package/dist/components/actions/ButtonSplit/context.js +1 -1
  23. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  24. package/dist/components/actions/CommandMenu/styled.js +1 -1
  25. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  26. package/dist/components/actions/ItemActionContext.js +1 -1
  27. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  28. package/dist/components/actions/Link/Link.js +1 -1
  29. package/dist/components/actions/Menu/Menu.js +1 -1
  30. package/dist/components/actions/Menu/MenuItem.js +1 -1
  31. package/dist/components/actions/Menu/MenuSection.js +1 -1
  32. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  33. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  35. package/dist/components/actions/Menu/context.js +1 -1
  36. package/dist/components/actions/Menu/styled.js +1 -1
  37. package/dist/components/actions/index.js +1 -1
  38. package/dist/components/actions/use-action.js +1 -1
  39. package/dist/components/actions/use-anchored-menu.js +1 -1
  40. package/dist/components/actions/use-context-menu.js +1 -1
  41. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  42. package/dist/components/content/Alert/Alert.js +1 -1
  43. package/dist/components/content/Alert/use-alert.js +1 -1
  44. package/dist/components/content/Avatar/Avatar.js +1 -1
  45. package/dist/components/content/Badge/Badge.js +1 -1
  46. package/dist/components/content/Card/Card.js +1 -1
  47. package/dist/components/content/Content.js +1 -1
  48. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  49. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  50. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  51. package/dist/components/content/Divider.js +1 -1
  52. package/dist/components/content/Footer.js +1 -1
  53. package/dist/components/content/Header.js +1 -1
  54. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  55. package/dist/components/content/Item/Item.js +1 -1
  56. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  57. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  58. package/dist/components/content/Layout/GridLayout.js +1 -1
  59. package/dist/components/content/Layout/Layout.js +1 -1
  60. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  61. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  62. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  63. package/dist/components/content/Layout/LayoutContent.js +1 -1
  64. package/dist/components/content/Layout/LayoutContext.js +1 -1
  65. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  66. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  67. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  68. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  69. package/dist/components/content/Layout/LayoutPane.js +1 -1
  70. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  71. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  72. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  73. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  74. package/dist/components/content/Layout/index.js +1 -1
  75. package/dist/components/content/Layout/utils.js +1 -1
  76. package/dist/components/content/Paragraph.js +1 -1
  77. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  78. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  79. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  80. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  81. package/dist/components/content/Result/Result.js +1 -1
  82. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  83. package/dist/components/content/Tag/Tag.js +1 -1
  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 +60 -45
  88. package/dist/components/content/Tree/Tree.js.map +1 -1
  89. package/dist/components/content/Tree/TreeNode.js +90 -20
  90. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  91. package/dist/components/content/Tree/index.d.ts +1 -1
  92. package/dist/components/content/Tree/styled.js +26 -4
  93. package/dist/components/content/Tree/styled.js.map +1 -1
  94. package/dist/components/content/Tree/tree-index.js +1 -1
  95. package/dist/components/content/Tree/types.d.ts +67 -1
  96. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  97. package/dist/components/content/Tree/use-load-data.js +1 -1
  98. package/dist/components/content/highlightText.js +1 -1
  99. package/dist/components/content/use-auto-tooltip.js +1 -1
  100. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  101. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  102. package/dist/components/fields/Checkbox/context.js +1 -1
  103. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  104. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  105. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  106. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  107. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  108. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  109. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  110. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  111. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  112. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  113. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  114. package/dist/components/fields/DatePicker/intl.js +1 -1
  115. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  116. package/dist/components/fields/DatePicker/props.js +1 -1
  117. package/dist/components/fields/DatePicker/utils.js +1 -1
  118. package/dist/components/fields/FileInput/FileInput.js +1 -1
  119. package/dist/components/fields/FilterListBox/FilterListBox.js +5 -3
  120. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  121. package/dist/components/fields/FilterPicker/FilterPicker.js +4 -2
  122. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  123. package/dist/components/fields/Input/Input.js +1 -1
  124. package/dist/components/fields/ListBox/DraggableListBox.js +24 -0
  125. package/dist/components/fields/ListBox/DraggableListBox.js.map +1 -0
  126. package/dist/components/fields/ListBox/ListBox.d.ts +11 -0
  127. package/dist/components/fields/ListBox/ListBox.js +153 -38
  128. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  129. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  130. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  131. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  132. package/dist/components/fields/Picker/Picker.js +1 -1
  133. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  134. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  135. package/dist/components/fields/RadioGroup/context.js +1 -1
  136. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  137. package/dist/components/fields/Select/Select.js +1 -1
  138. package/dist/components/fields/Slider/Gradation.js +1 -1
  139. package/dist/components/fields/Slider/HueSlider.js +1 -1
  140. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  141. package/dist/components/fields/Slider/Slider.js +1 -1
  142. package/dist/components/fields/Slider/SliderBase.js +1 -1
  143. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  144. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  145. package/dist/components/fields/Slider/elements.js +1 -1
  146. package/dist/components/fields/Slider/index.js +1 -1
  147. package/dist/components/fields/Switch/Switch.js +1 -1
  148. package/dist/components/fields/TextArea/TextArea.js +1 -1
  149. package/dist/components/fields/TextInput/TextInput.js +1 -1
  150. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  151. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  152. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  153. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  154. package/dist/components/form/Form/Field.js +1 -1
  155. package/dist/components/form/Form/Form.js +1 -1
  156. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  157. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  158. package/dist/components/form/Form/SubmitError.js +1 -1
  159. package/dist/components/form/Form/index.js +1 -1
  160. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  161. package/dist/components/form/Form/use-field/use-field.js +1 -1
  162. package/dist/components/form/Form/use-form.js +1 -1
  163. package/dist/components/form/Form/validation.js +1 -1
  164. package/dist/components/form/Label.js +1 -1
  165. package/dist/components/form/wrapper.js +1 -1
  166. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  167. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  168. package/dist/components/layout/Flex.js +1 -1
  169. package/dist/components/layout/Flow.js +1 -1
  170. package/dist/components/layout/Grid.js +1 -1
  171. package/dist/components/layout/Panel.js +1 -1
  172. package/dist/components/layout/Prefix.js +1 -1
  173. package/dist/components/layout/ResizablePanel.js +1 -1
  174. package/dist/components/layout/Space.js +1 -1
  175. package/dist/components/layout/Suffix.js +1 -1
  176. package/dist/components/navigation/Tabs/DraggableTabList.js +11 -60
  177. package/dist/components/navigation/Tabs/DraggableTabList.js.map +1 -1
  178. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  179. package/dist/components/navigation/Tabs/TabButton.js +3 -10
  180. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  181. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  182. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  183. package/dist/components/navigation/Tabs/TabPicker.js +4 -2
  184. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  185. package/dist/components/navigation/Tabs/Tabs.js +4 -2
  186. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  187. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  188. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  189. package/dist/components/navigation/Tabs/styled.js +1 -1
  190. package/dist/components/navigation/Tabs/types.d.ts +2 -0
  191. package/dist/components/navigation/Tabs/types.js +1 -1
  192. package/dist/components/navigation/Tabs/types.js.map +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 +1 -1
  206. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  207. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  208. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  209. package/dist/components/overlays/Dialog/context.js +1 -1
  210. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  211. package/dist/components/overlays/Modal/Modal.js +1 -1
  212. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  213. package/dist/components/overlays/Modal/Overlay.js +1 -1
  214. package/dist/components/overlays/Modal/Popover.js +1 -1
  215. package/dist/components/overlays/Modal/Tray.js +1 -1
  216. package/dist/components/overlays/Modal/Underlay.js +1 -1
  217. package/dist/components/overlays/Notifications/Notification.js +1 -1
  218. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  219. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  220. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  221. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  222. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  223. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  224. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  225. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  226. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  227. package/dist/components/overlays/Notifications/index.js +1 -1
  228. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  229. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  230. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  231. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  232. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  233. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  234. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  235. package/dist/components/overlays/Toast/index.js +1 -1
  236. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  237. package/dist/components/overlays/Toast/useToast.js +1 -1
  238. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  239. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  240. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  241. package/dist/components/overlays/Tooltip/context.js +1 -1
  242. package/dist/components/portal/Portal.js +1 -1
  243. package/dist/components/portal/PortalProvider.js +1 -1
  244. package/dist/components/portal/usePortal.js +1 -1
  245. package/dist/components/shared/DraggableCollection.js +142 -0
  246. package/dist/components/shared/DraggableCollection.js.map +1 -0
  247. package/dist/components/shared/InvalidIcon.js +1 -1
  248. package/dist/components/shared/ValidIcon.js +1 -1
  249. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  250. package/dist/components/status/Spin/Cube.js +1 -1
  251. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  252. package/dist/components/status/Spin/Spin.js +1 -1
  253. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  254. package/dist/data/item-themes.js +1 -1
  255. package/dist/data/themes.js +1 -1
  256. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  257. package/dist/icons/AdjustmentsIcon.js +1 -1
  258. package/dist/icons/AiIcon.js +1 -1
  259. package/dist/icons/AreaChartIcon.js +1 -1
  260. package/dist/icons/BackwardIcon.js +1 -1
  261. package/dist/icons/BarChartIcon.js +1 -1
  262. package/dist/icons/BellFilledIcon.js +1 -1
  263. package/dist/icons/BellIcon.js +1 -1
  264. package/dist/icons/BooleanIcon.js +1 -1
  265. package/dist/icons/CalendarEditIcon.js +1 -1
  266. package/dist/icons/CalendarIcon.js +1 -1
  267. package/dist/icons/CaretDownIcon.js +1 -1
  268. package/dist/icons/CaretUpIcon.js +1 -1
  269. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  270. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  271. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  272. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  273. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  274. package/dist/icons/ChartBarLineIcon.js +1 -1
  275. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  276. package/dist/icons/ChartBarStackedIcon.js +1 -1
  277. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  278. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  279. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  280. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  281. package/dist/icons/ChartBubbleIcon.js +1 -1
  282. package/dist/icons/ChartDonut2Icon.js +1 -1
  283. package/dist/icons/ChartFunnelIcon.js +1 -1
  284. package/dist/icons/ChartHeatmapIcon.js +1 -1
  285. package/dist/icons/ChartKPIIcon.js +1 -1
  286. package/dist/icons/ChartPie2Icon.js +1 -1
  287. package/dist/icons/ChartScatterIcon.js +1 -1
  288. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  289. package/dist/icons/CheckCircleIcon.js +1 -1
  290. package/dist/icons/CheckIcon.js +1 -1
  291. package/dist/icons/CircleFilledIcon.js +1 -1
  292. package/dist/icons/ClearIcon.js +1 -1
  293. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  294. package/dist/icons/CloseCircleIcon.js +1 -1
  295. package/dist/icons/CloseIcon.js +1 -1
  296. package/dist/icons/CodeIcon.js +1 -1
  297. package/dist/icons/ColumnTotalIcon.js +1 -1
  298. package/dist/icons/CopyIcon.js +1 -1
  299. package/dist/icons/CountIcon.js +1 -1
  300. package/dist/icons/CubeIcon.js +1 -1
  301. package/dist/icons/CubePauseIcon.js +1 -1
  302. package/dist/icons/CubePlayIcon.js +1 -1
  303. package/dist/icons/CurrencyDollarIcon.js +1 -1
  304. package/dist/icons/DangerIcon.js +1 -1
  305. package/dist/icons/DashboardIcon.js +1 -1
  306. package/dist/icons/DatabaseIcon.js +1 -1
  307. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  308. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  309. package/dist/icons/DirectionIcon.js +1 -1
  310. package/dist/icons/DonutIcon.js +1 -1
  311. package/dist/icons/DownIcon.js +1 -1
  312. package/dist/icons/EditIcon.js +1 -1
  313. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  314. package/dist/icons/ExclamationCircleIcon.js +1 -1
  315. package/dist/icons/ExclamationIcon.js +1 -1
  316. package/dist/icons/EyeIcon.js +1 -1
  317. package/dist/icons/EyeInvisibleIcon.js +1 -1
  318. package/dist/icons/FilterIcon.js +1 -1
  319. package/dist/icons/FolderFilledIcon.js +1 -1
  320. package/dist/icons/FolderIcon.js +1 -1
  321. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  322. package/dist/icons/FolderOpenIcon.js +1 -1
  323. package/dist/icons/ForwardIcon.js +1 -1
  324. package/dist/icons/GripVerticalIcon.d.ts +12 -0
  325. package/dist/icons/GripVerticalIcon.js +11 -0
  326. package/dist/icons/GripVerticalIcon.js.map +1 -0
  327. package/dist/icons/HierarchyIcon.js +1 -1
  328. package/dist/icons/HierarchyOpenIcon.js +1 -1
  329. package/dist/icons/Icon.js +1 -1
  330. package/dist/icons/InfoCircleIcon.js +1 -1
  331. package/dist/icons/InfoIcon.js +1 -1
  332. package/dist/icons/KeyIcon.js +1 -1
  333. package/dist/icons/LeftIcon.js +1 -1
  334. package/dist/icons/LineChartIcon.js +1 -1
  335. package/dist/icons/LoadingIcon.js +1 -1
  336. package/dist/icons/LockFilledIcon.js +1 -1
  337. package/dist/icons/LockIcon.js +1 -1
  338. package/dist/icons/MoreIcon.js +1 -1
  339. package/dist/icons/NotAllowedIcon.js +1 -1
  340. package/dist/icons/Number123Icon.js +1 -1
  341. package/dist/icons/NumberIcon.js +1 -1
  342. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  343. package/dist/icons/PauseCircleIcon.js +1 -1
  344. package/dist/icons/PauseIcon.js +1 -1
  345. package/dist/icons/PercentageIcon.js +1 -1
  346. package/dist/icons/PieChartIcon.js +1 -1
  347. package/dist/icons/PlayCircleIcon.js +1 -1
  348. package/dist/icons/PlayIcon.js +1 -1
  349. package/dist/icons/PlusIcon.js +1 -1
  350. package/dist/icons/ProgressBarIcon.js +1 -1
  351. package/dist/icons/ReloadIcon.js +1 -1
  352. package/dist/icons/ReportIcon.js +1 -1
  353. package/dist/icons/ReturnIcon.js +1 -1
  354. package/dist/icons/RightIcon.js +1 -1
  355. package/dist/icons/RowTotalsIcon.js +1 -1
  356. package/dist/icons/SchemeIcon.js +1 -1
  357. package/dist/icons/SearchIcon.js +1 -1
  358. package/dist/icons/SemanticQueryIcon.js +1 -1
  359. package/dist/icons/SettingsIcon.js +1 -1
  360. package/dist/icons/ShieldFilledIcon.js +1 -1
  361. package/dist/icons/ShieldIcon.js +1 -1
  362. package/dist/icons/SlashIcon.js +1 -1
  363. package/dist/icons/SparklesIcon.js +1 -1
  364. package/dist/icons/SqlIcon.js +1 -1
  365. package/dist/icons/StatsIcon.js +1 -1
  366. package/dist/icons/StopIcon.js +1 -1
  367. package/dist/icons/StringIcon.js +1 -1
  368. package/dist/icons/SubtotalsIcon.js +1 -1
  369. package/dist/icons/SwitchIcon.js +1 -1
  370. package/dist/icons/TableIcon.js +1 -1
  371. package/dist/icons/ThumbsDownIcon.js +1 -1
  372. package/dist/icons/ThumbsUpIcon.js +1 -1
  373. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  374. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  375. package/dist/icons/ThunderboltIcon.js +1 -1
  376. package/dist/icons/TimeIcon.js +1 -1
  377. package/dist/icons/TrashIcon.js +1 -1
  378. package/dist/icons/UnlockIcon.js +1 -1
  379. package/dist/icons/UpIcon.js +1 -1
  380. package/dist/icons/UserGroupIcon.js +1 -1
  381. package/dist/icons/UserIcon.js +1 -1
  382. package/dist/icons/UserLockIcon.js +1 -1
  383. package/dist/icons/ViewIcon.js +1 -1
  384. package/dist/icons/WarningFilledIcon.js +1 -1
  385. package/dist/icons/WarningIcon.js +1 -1
  386. package/dist/icons/index.d.ts +1 -0
  387. package/dist/icons/wrap-icon.js +1 -1
  388. package/dist/index.d.ts +3 -2
  389. package/dist/index.js +3 -2
  390. package/dist/index.js.map +1 -1
  391. package/dist/provider.js +1 -1
  392. package/dist/providers/TrackingProvider.js +1 -1
  393. package/dist/providers/navigationAdapter.default.js +1 -1
  394. package/dist/tokens/base.js +1 -1
  395. package/dist/tokens/colors.js +1 -1
  396. package/dist/tokens/index.js +1 -1
  397. package/dist/tokens/layout.js +1 -1
  398. package/dist/tokens/shadows.js +1 -1
  399. package/dist/tokens/sizes.js +1 -1
  400. package/dist/tokens/spacing.js +1 -1
  401. package/dist/tokens/typography.js +1 -1
  402. package/dist/utils/ResizeSensor.js +1 -1
  403. package/dist/utils/is-dev-env.js +1 -1
  404. package/dist/utils/modules.js +1 -1
  405. package/dist/utils/promise.js +1 -1
  406. package/dist/utils/raf.js +1 -1
  407. package/dist/utils/random.js +1 -1
  408. package/dist/utils/range.js +1 -1
  409. package/dist/utils/react/RenderCache.js +1 -1
  410. package/dist/utils/react/Slots.js +1 -1
  411. package/dist/utils/react/chain.js +1 -1
  412. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  413. package/dist/utils/react/index.js +1 -1
  414. package/dist/utils/react/interactions.js +1 -1
  415. package/dist/utils/react/isTextOnly.js +1 -1
  416. package/dist/utils/react/mapProps.js +1 -1
  417. package/dist/utils/react/mergeProps.js +1 -1
  418. package/dist/utils/react/nullableValue.js +1 -1
  419. package/dist/utils/react/resolveIcon.js +1 -1
  420. package/dist/utils/react/sharedStore.js +1 -1
  421. package/dist/utils/react/useCombinedRefs.js +1 -1
  422. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  423. package/dist/utils/react/useEventBus.js +1 -1
  424. package/dist/utils/react/useId.js +1 -1
  425. package/dist/utils/react/useIsDarwin.js +1 -1
  426. package/dist/utils/react/useKeySymbols.js +1 -1
  427. package/dist/utils/react/useLayoutEffect.js +1 -1
  428. package/dist/utils/react/useLocalStorage.js +1 -1
  429. package/dist/utils/react/useMergeStyles.js +1 -1
  430. package/dist/utils/react/useQaProps.js +1 -1
  431. package/dist/utils/react/useViewportSize.js +1 -1
  432. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  433. package/dist/utils/selection.js +1 -1
  434. package/dist/utils/styles.js +1 -1
  435. package/dist/utils/tree.js +1 -1
  436. package/dist/utils/warnings.js +1 -1
  437. package/dist/version.js +2 -2
  438. package/docs/components/content/Tree.md +115 -32
  439. package/docs/components/fields/FilterPicker.md +27 -0
  440. package/docs/components/fields/ListBox.md +33 -0
  441. package/docs/components/navigation/Tabs.md +127 -51
  442. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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";
@@ -8,6 +8,10 @@ import { tasty } from "@tenphi/tasty";
8
8
  * Tree root.
9
9
  *
10
10
  * Renders as `role="treegrid"` (set on `gridProps` from `useTree`).
11
+ * This element is the outer flex layout container; scrolling is
12
+ * delegated to the inner `TreeScrollContainer` so the virtualized
13
+ * sizer (a flex item here would be squashed by `flex-shrink: 1`) is
14
+ * placed inside a normal block formatting context.
11
15
  *
12
16
  * Tree-wide modifiers (set on `TreeElement` itself):
13
17
  * - `has-height` — paired with `--tree-height` on inline `style`
@@ -36,8 +40,6 @@ const TreeElement = tasty({
36
40
  "has-height": "auto"
37
41
  },
38
42
  minHeight: 0,
39
- overflow: "auto",
40
- scrollbar: "thin",
41
43
  fill: "#clear",
42
44
  color: "#dark",
43
45
  transition: "theme",
@@ -54,6 +56,26 @@ const TreeElement = tasty({
54
56
  }
55
57
  });
56
58
  /**
59
+ * Inner scroll viewport. Block-level on purpose — placing the
60
+ * virtualizer's sizer (`height: ${totalSize}px`) directly inside the
61
+ * flex `TreeElement` lets `flex-shrink: 1` collapse it, which makes
62
+ * the scroll area visibly grow as `@tanstack/react-virtual`
63
+ * re-measures rows during scroll.
64
+ */
65
+ const TreeScrollContainer = tasty({
66
+ qa: "TreeScrollContainer",
67
+ styles: {
68
+ display: "block",
69
+ flexGrow: 1,
70
+ flexShrink: 1,
71
+ flexBasis: "auto",
72
+ width: "0 100% initial",
73
+ height: "min 0",
74
+ overflow: "auto",
75
+ scrollbar: "thin"
76
+ }
77
+ });
78
+ /**
57
79
  * Per-row wrapper carrying `role="row"`, `rowProps` from
58
80
  * `useTreeItem`, and the `--tree-level` CSS custom property used by
59
81
  * `TreeRowItem` to compute its left padding.
@@ -148,5 +170,5 @@ const TreeNodeToggle = tasty(Action, {
148
170
  const TreeNodeTogglePlaceholder = tasty({ styles: TOGGLE_BASE_STYLES });
149
171
 
150
172
  //#endregion
151
- export { TreeElement, TreeNodeCheckboxWrapper, TreeNodeRow, TreeNodeToggle, TreeNodeTogglePlaceholder, TreeRowItem };
173
+ export { TreeElement, TreeNodeCheckboxWrapper, TreeNodeRow, TreeNodeToggle, TreeNodeTogglePlaceholder, TreeRowItem, TreeScrollContainer };
152
174
  //# sourceMappingURL=styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","names":["Item"],"sources":["../../../../src/components/content/Tree/styled.ts"],"sourcesContent":["import { Styles, tasty } from '@tenphi/tasty';\n\nimport { Action } from '../../actions/Action/Action';\nimport { Item } from '../Item';\n\n/**\n * Tree root.\n *\n * Renders as `role=\"treegrid\"` (set on `gridProps` from `useTree`).\n *\n * Tree-wide modifiers (set on `TreeElement` itself):\n * - `has-height` — paired with `--tree-height` on inline `style`\n * when the consumer passes a numeric `height` prop.\n */\nexport const TreeElement = tasty({\n qa: 'Tree',\n styles: {\n display: 'flex',\n flow: 'column',\n width: '100%',\n height: { '': 'auto', 'has-height': 'fixed $tree-height' },\n flexGrow: { '': 1, 'has-height': 0 },\n flexShrink: { '': 1, 'has-height': 0 },\n flexBasis: { '': 0, 'has-height': 'auto' },\n minHeight: 0,\n overflow: 'auto',\n scrollbar: 'thin',\n fill: '#clear',\n color: '#dark',\n transition: 'theme',\n outline: 0,\n padding: 0,\n radius: { '': 0, 'shape=card': '1cr' },\n border: { '': 0, 'shape=card': true },\n },\n});\n\n/**\n * Per-row wrapper carrying `role=\"row\"`, `rowProps` from\n * `useTreeItem`, and the `--tree-level` CSS custom property used by\n * `TreeRowItem` to compute its left padding.\n *\n * Has no visual styles of its own — the row's appearance lives on\n * the inner `TreeRowItem` (which extends `Item`).\n */\nexport const TreeNodeRow = tasty({\n qa: 'TreeRow',\n styles: {\n display: 'block',\n outline: 0,\n },\n});\n\n/**\n * The visible row: an `Item` extension that owns layout (full-width,\n * tree indent) only. Color treatment is delegated to the\n * `default.item` variant (see `DEFAULT_ITEM_STYLES` in\n * `data/item-themes.ts`) so the Tree row matches the canonical Item\n * look out of the box. `hovered` / `focused` / `pressed` mods are\n * propagated from `TreeNode` because react-aria's treegrid uses a\n * roving-tabindex \"virtual focus\" model and never sets those data\n * attributes itself.\n */\nexport const TreeRowItem = tasty(Item, {\n qa: 'TreeItem',\n type: 'item',\n size: 'medium',\n as: 'div',\n styles: {\n /**\n * `Item` is `inline-grid` by default, which leaves baseline\n * descender space below the row inside the block-level\n * `TreeNodeRow` and visually inflates the gap between rows\n * past the intended `1bw`. Force block-level grid here.\n */\n display: 'grid',\n width: '100%',\n /**\n * Per-level indent. `$tree-indent` is a local token that reads\n * `--tree-level` (set inline on the parent `TreeNodeRow`) with a\n * `0` fallback. Using `padding` shorthand (instead of\n * `paddingInlineStart`) so it overrides `Item`'s default\n * `padding: 0` reliably — a longhand override on a shorthand\n * loses to it in the cascade when both are emitted from the same\n * declaration block.\n */\n padding: 'left ($tree-indent * 1.5x)',\n '$tree-indent': '($tree-level, 0)',\n cursor: {\n '': 'pointer',\n disabled: 'not-allowed',\n },\n },\n});\n\n/**\n * Wraps the checkbox sitting in `Item`'s `prefix` slot. `Item`'s\n * built-in Prefix padding collapses to `0` whenever there's an icon\n * (which is always true for tree rows because the toggle/placeholder\n * occupies the icon slot). We re-introduce a small inline gap on\n * both sides so the checkbox isn't flush against the chevron and the\n * title.\n */\nexport const TreeNodeCheckboxWrapper = tasty({\n qa: 'TreeNodeCheckboxWrapper',\n styles: {\n display: 'grid',\n placeItems: 'center',\n placeContent: 'center',\n padding: '0 1x',\n },\n});\n\nconst TOGGLE_BASE_STYLES: Styles = {\n display: 'grid',\n placeItems: 'center',\n placeContent: 'center',\n width: '3x',\n height: '3x',\n radius: true,\n transition: 'theme',\n};\n\n/**\n * Chevron toggle button placed in `Item`'s `icon` slot. Spreads\n * `expandButtonProps` from `useTreeItem` (an AriaButtonProps) and\n * stops the press from bubbling to the row's selection handler via\n * React Aria's PressResponder.\n */\nexport const TreeNodeToggle = tasty(Action, {\n qa: 'TreeNodeToggle',\n styles: {\n ...TOGGLE_BASE_STYLES,\n color: { '': '#dark-02', ':hover': '#dark' },\n fill: { '': '#clear', ':hover': '#dark.04' },\n },\n});\n\n/**\n * Non-interactive placeholder that occupies the same footprint as\n * `TreeNodeToggle` so leaf rows visually align with siblings that\n * have a chevron.\n */\nexport const TreeNodeTogglePlaceholder = tasty({\n styles: TOGGLE_BASE_STYLES,\n});\n"],"mappings":";;;;;;;;;;;;;;;AAcA,MAAa,cAAc,MAAM;CAC/B,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,OAAO;EACP,QAAQ;GAAE,IAAI;GAAQ,cAAc;GAAsB;EAC1D,UAAU;GAAE,IAAI;GAAG,cAAc;GAAG;EACpC,YAAY;GAAE,IAAI;GAAG,cAAc;GAAG;EACtC,WAAW;GAAE,IAAI;GAAG,cAAc;GAAQ;EAC1C,WAAW;EACX,UAAU;EACV,WAAW;EACX,MAAM;EACN,OAAO;EACP,YAAY;EACZ,SAAS;EACT,SAAS;EACT,QAAQ;GAAE,IAAI;GAAG,cAAc;GAAO;EACtC,QAAQ;GAAE,IAAI;GAAG,cAAc;GAAM;EACtC;CACF,CAAC;;;;;;;;;AAUF,MAAa,cAAc,MAAM;CAC/B,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,SAAS;EACV;CACF,CAAC;;;;;;;;;;;AAYF,MAAa,cAAc,MAAMA,OAAM;CACrC,IAAI;CACJ,MAAM;CACN,MAAM;CACN,IAAI;CACJ,QAAQ;EAON,SAAS;EACT,OAAO;EAUP,SAAS;EACT,gBAAgB;EAChB,QAAQ;GACN,IAAI;GACJ,UAAU;GACX;EACF;CACF,CAAC;;;;;;;;;AAUF,MAAa,0BAA0B,MAAM;CAC3C,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,YAAY;EACZ,cAAc;EACd,SAAS;EACV;CACF,CAAC;AAEF,MAAM,qBAA6B;CACjC,SAAS;CACT,YAAY;CACZ,cAAc;CACd,OAAO;CACP,QAAQ;CACR,QAAQ;CACR,YAAY;CACb;;;;;;;AAQD,MAAa,iBAAiB,MAAM,QAAQ;CAC1C,IAAI;CACJ,QAAQ;EACN,GAAG;EACH,OAAO;GAAE,IAAI;GAAY,UAAU;GAAS;EAC5C,MAAM;GAAE,IAAI;GAAU,UAAU;GAAY;EAC7C;CACF,CAAC;;;;;;AAOF,MAAa,4BAA4B,MAAM,EAC7C,QAAQ,oBACT,CAAC"}
1
+ {"version":3,"file":"styled.js","names":["Item"],"sources":["../../../../src/components/content/Tree/styled.ts"],"sourcesContent":["import { Styles, tasty } from '@tenphi/tasty';\n\nimport { Action } from '../../actions/Action/Action';\nimport { Item } from '../Item';\n\n/**\n * Tree root.\n *\n * Renders as `role=\"treegrid\"` (set on `gridProps` from `useTree`).\n * This element is the outer flex layout container; scrolling is\n * delegated to the inner `TreeScrollContainer` so the virtualized\n * sizer (a flex item here would be squashed by `flex-shrink: 1`) is\n * placed inside a normal block formatting context.\n *\n * Tree-wide modifiers (set on `TreeElement` itself):\n * - `has-height` — paired with `--tree-height` on inline `style`\n * when the consumer passes a numeric `height` prop.\n */\nexport const TreeElement = tasty({\n qa: 'Tree',\n styles: {\n display: 'flex',\n flow: 'column',\n width: '100%',\n height: { '': 'auto', 'has-height': 'fixed $tree-height' },\n flexGrow: { '': 1, 'has-height': 0 },\n flexShrink: { '': 1, 'has-height': 0 },\n flexBasis: { '': 0, 'has-height': 'auto' },\n minHeight: 0,\n fill: '#clear',\n color: '#dark',\n transition: 'theme',\n outline: 0,\n padding: 0,\n radius: { '': 0, 'shape=card': '1cr' },\n border: { '': 0, 'shape=card': true },\n },\n});\n\n/**\n * Inner scroll viewport. Block-level on purpose — placing the\n * virtualizer's sizer (`height: ${totalSize}px`) directly inside the\n * flex `TreeElement` lets `flex-shrink: 1` collapse it, which makes\n * the scroll area visibly grow as `@tanstack/react-virtual`\n * re-measures rows during scroll.\n */\nexport const TreeScrollContainer = tasty({\n qa: 'TreeScrollContainer',\n styles: {\n display: 'block',\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: 'auto',\n width: '0 100% initial',\n height: 'min 0',\n overflow: 'auto',\n scrollbar: 'thin',\n },\n});\n\n/**\n * Per-row wrapper carrying `role=\"row\"`, `rowProps` from\n * `useTreeItem`, and the `--tree-level` CSS custom property used by\n * `TreeRowItem` to compute its left padding.\n *\n * Has no visual styles of its own — the row's appearance lives on\n * the inner `TreeRowItem` (which extends `Item`).\n */\nexport const TreeNodeRow = tasty({\n qa: 'TreeRow',\n styles: {\n display: 'block',\n outline: 0,\n },\n});\n\n/**\n * The visible row: an `Item` extension that owns layout (full-width,\n * tree indent) only. Color treatment is delegated to the\n * `default.item` variant (see `DEFAULT_ITEM_STYLES` in\n * `data/item-themes.ts`) so the Tree row matches the canonical Item\n * look out of the box. `hovered` / `focused` / `pressed` mods are\n * propagated from `TreeNode` because react-aria's treegrid uses a\n * roving-tabindex \"virtual focus\" model and never sets those data\n * attributes itself.\n */\nexport const TreeRowItem = tasty(Item, {\n qa: 'TreeItem',\n type: 'item',\n size: 'medium',\n as: 'div',\n styles: {\n /**\n * `Item` is `inline-grid` by default, which leaves baseline\n * descender space below the row inside the block-level\n * `TreeNodeRow` and visually inflates the gap between rows\n * past the intended `1bw`. Force block-level grid here.\n */\n display: 'grid',\n width: '100%',\n /**\n * Per-level indent. `$tree-indent` is a local token that reads\n * `--tree-level` (set inline on the parent `TreeNodeRow`) with a\n * `0` fallback. Using `padding` shorthand (instead of\n * `paddingInlineStart`) so it overrides `Item`'s default\n * `padding: 0` reliably — a longhand override on a shorthand\n * loses to it in the cascade when both are emitted from the same\n * declaration block.\n */\n padding: 'left ($tree-indent * 1.5x)',\n '$tree-indent': '($tree-level, 0)',\n cursor: {\n '': 'pointer',\n disabled: 'not-allowed',\n },\n },\n});\n\n/**\n * Wraps the checkbox sitting in `Item`'s `prefix` slot. `Item`'s\n * built-in Prefix padding collapses to `0` whenever there's an icon\n * (which is always true for tree rows because the toggle/placeholder\n * occupies the icon slot). We re-introduce a small inline gap on\n * both sides so the checkbox isn't flush against the chevron and the\n * title.\n */\nexport const TreeNodeCheckboxWrapper = tasty({\n qa: 'TreeNodeCheckboxWrapper',\n styles: {\n display: 'grid',\n placeItems: 'center',\n placeContent: 'center',\n padding: '0 1x',\n },\n});\n\nconst TOGGLE_BASE_STYLES: Styles = {\n display: 'grid',\n placeItems: 'center',\n placeContent: 'center',\n width: '3x',\n height: '3x',\n radius: true,\n transition: 'theme',\n};\n\n/**\n * Chevron toggle button placed in `Item`'s `icon` slot. Spreads\n * `expandButtonProps` from `useTreeItem` (an AriaButtonProps) and\n * stops the press from bubbling to the row's selection handler via\n * React Aria's PressResponder.\n */\nexport const TreeNodeToggle = tasty(Action, {\n qa: 'TreeNodeToggle',\n styles: {\n ...TOGGLE_BASE_STYLES,\n color: { '': '#dark-02', ':hover': '#dark' },\n fill: { '': '#clear', ':hover': '#dark.04' },\n },\n});\n\n/**\n * Non-interactive placeholder that occupies the same footprint as\n * `TreeNodeToggle` so leaf rows visually align with siblings that\n * have a chevron.\n */\nexport const TreeNodeTogglePlaceholder = tasty({\n styles: TOGGLE_BASE_STYLES,\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,MAAa,cAAc,MAAM;CAC/B,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,OAAO;EACP,QAAQ;GAAE,IAAI;GAAQ,cAAc;GAAsB;EAC1D,UAAU;GAAE,IAAI;GAAG,cAAc;GAAG;EACpC,YAAY;GAAE,IAAI;GAAG,cAAc;GAAG;EACtC,WAAW;GAAE,IAAI;GAAG,cAAc;GAAQ;EAC1C,WAAW;EACX,MAAM;EACN,OAAO;EACP,YAAY;EACZ,SAAS;EACT,SAAS;EACT,QAAQ;GAAE,IAAI;GAAG,cAAc;GAAO;EACtC,QAAQ;GAAE,IAAI;GAAG,cAAc;GAAM;EACtC;CACF,CAAC;;;;;;;;AASF,MAAa,sBAAsB,MAAM;CACvC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,UAAU;EACV,YAAY;EACZ,WAAW;EACX,OAAO;EACP,QAAQ;EACR,UAAU;EACV,WAAW;EACZ;CACF,CAAC;;;;;;;;;AAUF,MAAa,cAAc,MAAM;CAC/B,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,SAAS;EACV;CACF,CAAC;;;;;;;;;;;AAYF,MAAa,cAAc,MAAMA,OAAM;CACrC,IAAI;CACJ,MAAM;CACN,MAAM;CACN,IAAI;CACJ,QAAQ;EAON,SAAS;EACT,OAAO;EAUP,SAAS;EACT,gBAAgB;EAChB,QAAQ;GACN,IAAI;GACJ,UAAU;GACX;EACF;CACF,CAAC;;;;;;;;;AAUF,MAAa,0BAA0B,MAAM;CAC3C,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,YAAY;EACZ,cAAc;EACd,SAAS;EACV;CACF,CAAC;AAEF,MAAM,qBAA6B;CACjC,SAAS;CACT,YAAY;CACZ,cAAc;CACd,OAAO;CACP,QAAQ;CACR,QAAQ;CACR,YAAY;CACb;;;;;;;AAQD,MAAa,iBAAiB,MAAM,QAAQ;CAC1C,IAAI;CACJ,QAAQ;EACN,GAAG;EACH,OAAO;GAAE,IAAI;GAAY,UAAU;GAAS;EAC5C,MAAM;GAAE,IAAI;GAAU,UAAU;GAAY;EAC7C;CACF,CAAC;;;;;;AAOF,MAAa,4BAA4B,MAAM,EAC7C,QAAQ,oBACT,CAAC"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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();
@@ -1,5 +1,9 @@
1
1
 
2
+ import { CubeMenuProps } from "../../actions/Menu/Menu.js";
2
3
  import { CubeItemProps } from "../Item/Item.js";
4
+ import { CubeItemActionProps } from "../../actions/ItemAction/ItemAction.js";
5
+ import "../../actions/ItemAction/index.js";
6
+ import "../../actions/Menu/index.js";
3
7
  import { SizeName } from "../../../tokens/sizes.js";
4
8
  import { BaseProps, OuterStyleProps, Styles } from "@tenphi/tasty";
5
9
  import { ReactNode } from "react";
@@ -8,6 +12,18 @@ import { Key as Key$1 } from "@react-types/shared";
8
12
  //#region src/components/content/Tree/types.d.ts
9
13
  /** Selection cardinality, mirroring React Aria/Stately's `selectionMode`. */
10
14
  type TreeSelectionMode = 'none' | 'single' | 'multiple';
15
+ /**
16
+ * How the tree row `menu` is exposed.
17
+ *
18
+ * - `false` (default) — no menu at all.
19
+ * - `true` — render the overflow `⋮` trigger inside `actions` AND open
20
+ * the same menu on right-click / Shift+F10.
21
+ * - `'context-only'` — right-click / Shift+F10 only; no `⋮` trigger.
22
+ *
23
+ * Mirrors `TabContextMenu` from `Tabs` so consumers see the same API
24
+ * across components.
25
+ */
26
+ type TreeContextMenu = boolean | 'context-only';
11
27
  /**
12
28
  * A single node in the `treeData` array.
13
29
  *
@@ -34,6 +50,19 @@ interface CubeTreeNodeData {
34
50
  * - `false`: hide the checkbox for this row even when the tree is `isCheckable`.
35
51
  */
36
52
  isCheckable?: boolean;
53
+ /**
54
+ * Per-node menu override (Menu.Item children). Wins over the
55
+ * tree-level `menu` prop. Pass `null` to disable the menu for this
56
+ * specific row when the tree provides a default `menu`.
57
+ */
58
+ menu?: ReactNode | null;
59
+ /** Per-node `contextMenu` override. */
60
+ contextMenu?: TreeContextMenu;
61
+ /**
62
+ * Per-node `onAction` override. Called before the tree-level
63
+ * `onAction` with the action key from `Menu.Item`.
64
+ */
65
+ onAction?: (action: string) => void;
37
66
  }
38
67
  /** Info passed as the second argument to `onCheck`. */
39
68
  interface TreeOnCheckInfo {
@@ -177,7 +206,44 @@ interface CubeTreeProps extends BaseProps, OuterStyleProps {
177
206
  ariaLabel?: string;
178
207
  /** QA selector. */
179
208
  qa?: string;
209
+ /**
210
+ * Per-tree default menu items (Menu.Item children) shown on every
211
+ * row that doesn't override via `data.menu`.
212
+ *
213
+ * Accepts a static `ReactNode` (applied to every row) or a callback
214
+ * that receives the row data and the derived state and returns the
215
+ * menu content. Return `null` to hide the menu for that row.
216
+ */
217
+ menu?: ReactNode | ((data: CubeTreeNodeData, state: TreeNodeState) => ReactNode | null);
218
+ /**
219
+ * Where the menu is exposed. Same semantics as `Tabs#contextMenu`:
220
+ * - `false` (default) — no menu at all.
221
+ * - `true` — render an overflow `⋮` trigger inside `actions` AND
222
+ * open the same menu on right-click / Shift+F10.
223
+ * - `'context-only'` — right-click / Shift+F10 only; no `⋮` trigger.
224
+ *
225
+ * Per-node `data.contextMenu` wins when provided.
226
+ * @default false
227
+ */
228
+ contextMenu?: TreeContextMenu;
229
+ /**
230
+ * Called when a menu action is triggered on any row. Receives the
231
+ * action key (with the React `.$` prefix stripped) and the row key.
232
+ * Per-node `data.onAction` is called first.
233
+ */
234
+ onAction?: (action: string, key: Key$1) => void;
235
+ /** Forwarded to every per-row `MenuTrigger`. */
236
+ menuTriggerProps?: Partial<CubeItemActionProps>;
237
+ /**
238
+ * Forwarded to every per-row `Menu` (both the overflow `⋮` menu and
239
+ * the right-click context menu).
240
+ *
241
+ * If `onAction` is provided here, it is **chained with** the
242
+ * tree-level `onAction` and per-node `data.onAction` (it does not
243
+ * override them) and receives the same normalized action key.
244
+ */
245
+ menuProps?: Partial<CubeMenuProps<object>>;
180
246
  }
181
247
  //#endregion
182
- export { CubeTreeNodeData, CubeTreeProps, TreeLoadDataNode, TreeOnCheckInfo, TreeOnExpandInfo, TreeOnSelectInfo, TreeSelectionMode };
248
+ export { CubeTreeNodeData, CubeTreeProps, TreeContextMenu, TreeLoadDataNode, TreeNodeState, TreeOnCheckInfo, TreeOnExpandInfo, TreeOnSelectInfo, TreeSelectionMode };
183
249
  //# sourceMappingURL=types.d.ts.map
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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.131.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.133.0 | 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";
@@ -92,7 +92,7 @@ const FilterListBox = forwardRef(function FilterListBox(props, ref) {
92
92
  };
93
93
  return fieldProps;
94
94
  } });
95
- let { qa, label, extra, id, labelStyles, isRequired, necessityIndicator, validationState, isDisabled, isLoading, isLoadingItems, searchPlaceholder = "Search...", autoFocus, filter, mods: externalMods, emptyLabel, searchInputStyles, listStyles, optionStyles, sectionStyles, headingStyles, searchInputRef, listRef, message, description, styles, focusOnHover, shouldFocusWrap, labelSuffix, selectedKey, defaultSelectedKey, selectedKeys, defaultSelectedKeys, onSelectionChange: externalOnSelectionChange, allowsCustomValue = false, showSelectAll, selectAllLabel, header, footer, size = "medium", headerStyles, footerStyles, listBoxStyles, items, children: renderChildren, onEscape, isCheckable, onOptionClick, selectionMode = "single", allValueProps, customValueProps, newCustomValueProps, searchValue: controlledSearchValue, onSearchChange, _internalCollection, form, ...otherProps } = props;
95
+ let { qa, label, extra, id, labelStyles, isRequired, necessityIndicator, validationState, isDisabled, isLoading, isLoadingItems, searchPlaceholder = "Search...", autoFocus, filter, mods: externalMods, emptyLabel, searchInputStyles, listStyles, optionStyles, sectionStyles, headingStyles, searchInputRef, listRef, message, description, styles, focusOnHover, shouldFocusWrap, labelSuffix, selectedKey, defaultSelectedKey, selectedKeys, defaultSelectedKeys, onSelectionChange: externalOnSelectionChange, allowsCustomValue = false, showSelectAll, selectAllLabel, header, footer, size = "medium", headerStyles, footerStyles, listBoxStyles, items, children: renderChildren, onEscape, isCheckable, onOptionClick, selectionMode = "single", allValueProps, customValueProps, newCustomValueProps, searchValue: controlledSearchValue, onSearchChange, _internalCollection, isReorderable = false, onReorder, form, ...otherProps } = props;
96
96
  let children = renderChildren;
97
97
  const renderFn = renderChildren;
98
98
  if (items && typeof renderFn === "function") try {
@@ -516,7 +516,7 @@ const FilterListBox = forwardRef(function FilterListBox(props, ref) {
516
516
  disallowEmptySelection: props.disallowEmptySelection,
517
517
  disabledKeys: props.disabledKeys,
518
518
  focusOnHover,
519
- shouldUseVirtualFocus: true,
519
+ shouldUseVirtualFocus: !(isReorderable && !searchValue.trim()),
520
520
  showSelectAll,
521
521
  selectAllLabel,
522
522
  footer,
@@ -529,6 +529,8 @@ const FilterListBox = forwardRef(function FilterListBox(props, ref) {
529
529
  allValueProps,
530
530
  filter: filterFn,
531
531
  emptyLabel: emptyLabel !== void 0 ? emptyLabel : searchValue.trim() ? "No results found" : "No items",
532
+ isReorderable: isReorderable && !searchValue.trim(),
533
+ onReorder,
532
534
  onSelectionChange: handleSelectionChange,
533
535
  onEscape,
534
536
  onOptionClick: handleOptionClick,