@cube-dev/ui-kit 0.0.0-canary-4ba0ca0 → 0.0.0-canary-c22ced9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.js +1 -1
  16. package/dist/components/actions/Action/Action.js +1 -1
  17. package/dist/components/actions/Banner/Banner.js +1 -1
  18. package/dist/components/actions/Button/Button.js +1 -1
  19. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  20. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  21. package/dist/components/actions/ButtonSplit/context.js +1 -1
  22. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  23. package/dist/components/actions/CommandMenu/styled.js +1 -1
  24. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  25. package/dist/components/actions/ItemActionContext.js +1 -1
  26. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  27. package/dist/components/actions/Link/Link.js +1 -1
  28. package/dist/components/actions/Menu/Menu.js +1 -1
  29. package/dist/components/actions/Menu/MenuItem.js +1 -1
  30. package/dist/components/actions/Menu/MenuSection.js +1 -1
  31. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  32. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  33. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  34. package/dist/components/actions/Menu/context.js +1 -1
  35. package/dist/components/actions/Menu/styled.js +1 -1
  36. package/dist/components/actions/index.js +1 -1
  37. package/dist/components/actions/use-action.js +1 -1
  38. package/dist/components/actions/use-anchored-menu.js +1 -1
  39. package/dist/components/actions/use-context-menu.js +1 -1
  40. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  41. package/dist/components/content/Alert/Alert.js +1 -1
  42. package/dist/components/content/Alert/use-alert.js +1 -1
  43. package/dist/components/content/Avatar/Avatar.js +1 -1
  44. package/dist/components/content/Badge/Badge.js +1 -1
  45. package/dist/components/content/Card/Card.js +1 -1
  46. package/dist/components/content/Content.js +1 -1
  47. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  48. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  49. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  50. package/dist/components/content/Divider.js +1 -1
  51. package/dist/components/content/Footer.js +1 -1
  52. package/dist/components/content/Header.js +1 -1
  53. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  54. package/dist/components/content/Item/Item.js +1 -1
  55. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  56. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  57. package/dist/components/content/Layout/GridLayout.js +1 -1
  58. package/dist/components/content/Layout/Layout.js +1 -1
  59. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  60. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  61. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  62. package/dist/components/content/Layout/LayoutContent.js +1 -1
  63. package/dist/components/content/Layout/LayoutContext.js +1 -1
  64. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  65. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  66. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  67. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  68. package/dist/components/content/Layout/LayoutPane.js +1 -1
  69. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  70. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  71. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  72. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  73. package/dist/components/content/Layout/index.js +1 -1
  74. package/dist/components/content/Layout/utils.js +1 -1
  75. package/dist/components/content/Paragraph.js +1 -1
  76. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  77. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  78. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  79. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  80. package/dist/components/content/Result/Result.js +1 -1
  81. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  82. package/dist/components/content/Tag/Tag.js +1 -1
  83. package/dist/components/content/Text.d.ts +7 -7
  84. package/dist/components/content/Text.js +1 -1
  85. package/dist/components/content/TextItem/TextItem.js +1 -1
  86. package/dist/components/content/Title.js +1 -1
  87. package/dist/components/content/Tree/Tree.js +9 -3
  88. package/dist/components/content/Tree/Tree.js.map +1 -1
  89. package/dist/components/content/Tree/TreeNode.js +120 -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 +1 -1
  93. package/dist/components/content/Tree/tree-index.js +1 -1
  94. package/dist/components/content/Tree/types.d.ts +75 -1
  95. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  96. package/dist/components/content/Tree/use-load-data.js +1 -1
  97. package/dist/components/content/highlightText.js +1 -1
  98. package/dist/components/content/use-auto-tooltip.js +1 -1
  99. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  100. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  101. package/dist/components/fields/Checkbox/context.js +1 -1
  102. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  103. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  104. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  105. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  106. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  107. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  108. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  109. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  110. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  111. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  112. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  113. package/dist/components/fields/DatePicker/intl.js +1 -1
  114. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  115. package/dist/components/fields/DatePicker/props.js +1 -1
  116. package/dist/components/fields/DatePicker/utils.js +1 -1
  117. package/dist/components/fields/FileInput/FileInput.js +1 -1
  118. package/dist/components/fields/FilterListBox/FilterListBox.js +3 -5
  119. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  120. package/dist/components/fields/FilterPicker/FilterPicker.js +2 -4
  121. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  122. package/dist/components/fields/Input/Input.js +1 -1
  123. package/dist/components/fields/ListBox/ListBox.d.ts +0 -11
  124. package/dist/components/fields/ListBox/ListBox.js +38 -153
  125. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  126. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  127. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  128. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  129. package/dist/components/fields/Picker/Picker.js +1 -1
  130. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  131. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  132. package/dist/components/fields/RadioGroup/context.js +1 -1
  133. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  134. package/dist/components/fields/Select/Select.js +1 -1
  135. package/dist/components/fields/Slider/Gradation.js +1 -1
  136. package/dist/components/fields/Slider/HueSlider.js +1 -1
  137. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  138. package/dist/components/fields/Slider/Slider.js +1 -1
  139. package/dist/components/fields/Slider/SliderBase.js +1 -1
  140. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  141. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  142. package/dist/components/fields/Slider/elements.js +1 -1
  143. package/dist/components/fields/Slider/index.js +1 -1
  144. package/dist/components/fields/Switch/Switch.js +1 -1
  145. package/dist/components/fields/TextArea/TextArea.js +1 -1
  146. package/dist/components/fields/TextInput/TextInput.js +1 -1
  147. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  148. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  149. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  150. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  151. package/dist/components/form/Form/Field.js +1 -1
  152. package/dist/components/form/Form/Form.js +1 -1
  153. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  154. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  155. package/dist/components/form/Form/SubmitError.js +1 -1
  156. package/dist/components/form/Form/index.js +1 -1
  157. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  158. package/dist/components/form/Form/use-field/use-field.js +1 -1
  159. package/dist/components/form/Form/use-form.js +1 -1
  160. package/dist/components/form/Form/validation.js +1 -1
  161. package/dist/components/form/Label.js +1 -1
  162. package/dist/components/form/wrapper.js +1 -1
  163. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  164. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  165. package/dist/components/layout/Flex.js +1 -1
  166. package/dist/components/layout/Flow.js +1 -1
  167. package/dist/components/layout/Grid.js +1 -1
  168. package/dist/components/layout/Panel.js +1 -1
  169. package/dist/components/layout/Prefix.js +1 -1
  170. package/dist/components/layout/ResizablePanel.js +1 -1
  171. package/dist/components/layout/Space.js +1 -1
  172. package/dist/components/layout/Suffix.js +1 -1
  173. package/dist/components/navigation/Tabs/DraggableTabList.js +60 -11
  174. package/dist/components/navigation/Tabs/DraggableTabList.js.map +1 -1
  175. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  176. package/dist/components/navigation/Tabs/TabButton.js +10 -3
  177. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  178. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  179. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  180. package/dist/components/navigation/Tabs/TabPicker.js +2 -4
  181. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  182. package/dist/components/navigation/Tabs/Tabs.js +3 -5
  183. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  184. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  185. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  186. package/dist/components/navigation/Tabs/styled.js +1 -1
  187. package/dist/components/navigation/Tabs/types.d.ts +0 -5
  188. package/dist/components/navigation/Tabs/types.js +1 -1
  189. package/dist/components/navigation/Tabs/types.js.map +1 -1
  190. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  191. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  192. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  193. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  194. package/dist/components/other/Calendar/Calendar.js +1 -1
  195. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  196. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  197. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  198. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  199. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  200. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  201. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  202. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  203. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  204. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  205. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  206. package/dist/components/overlays/Dialog/context.js +1 -1
  207. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  208. package/dist/components/overlays/Modal/Modal.js +1 -1
  209. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  210. package/dist/components/overlays/Modal/Overlay.js +1 -1
  211. package/dist/components/overlays/Modal/Popover.js +1 -1
  212. package/dist/components/overlays/Modal/Tray.js +1 -1
  213. package/dist/components/overlays/Modal/Underlay.js +1 -1
  214. package/dist/components/overlays/Notifications/Notification.js +1 -1
  215. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  216. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  217. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  218. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  219. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  220. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  221. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  222. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  223. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  224. package/dist/components/overlays/Notifications/index.js +1 -1
  225. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  226. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  227. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  228. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  229. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  230. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  231. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  232. package/dist/components/overlays/Toast/index.js +1 -1
  233. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  234. package/dist/components/overlays/Toast/useToast.js +1 -1
  235. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  236. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  237. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  238. package/dist/components/overlays/Tooltip/context.js +1 -1
  239. package/dist/components/portal/Portal.js +1 -1
  240. package/dist/components/portal/PortalProvider.js +1 -1
  241. package/dist/components/portal/usePortal.js +1 -1
  242. package/dist/components/shared/InvalidIcon.js +1 -1
  243. package/dist/components/shared/ValidIcon.js +1 -1
  244. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  245. package/dist/components/status/Spin/Cube.js +1 -1
  246. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  247. package/dist/components/status/Spin/Spin.js +1 -1
  248. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  249. package/dist/data/item-themes.js +1 -1
  250. package/dist/data/themes.js +1 -1
  251. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  252. package/dist/icons/AdjustmentsIcon.js +1 -1
  253. package/dist/icons/AiIcon.js +1 -1
  254. package/dist/icons/AreaChartIcon.js +1 -1
  255. package/dist/icons/BackwardIcon.js +1 -1
  256. package/dist/icons/BarChartIcon.js +1 -1
  257. package/dist/icons/BellFilledIcon.js +1 -1
  258. package/dist/icons/BellIcon.js +1 -1
  259. package/dist/icons/BooleanIcon.js +1 -1
  260. package/dist/icons/CalendarEditIcon.js +1 -1
  261. package/dist/icons/CalendarIcon.js +1 -1
  262. package/dist/icons/CaretDownIcon.js +1 -1
  263. package/dist/icons/CaretUpIcon.js +1 -1
  264. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  265. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  266. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  267. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  268. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  269. package/dist/icons/ChartBarLineIcon.js +1 -1
  270. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  271. package/dist/icons/ChartBarStackedIcon.js +1 -1
  272. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  273. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  274. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  275. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  276. package/dist/icons/ChartBubbleIcon.js +1 -1
  277. package/dist/icons/ChartDonut2Icon.js +1 -1
  278. package/dist/icons/ChartFunnelIcon.js +1 -1
  279. package/dist/icons/ChartHeatmapIcon.js +1 -1
  280. package/dist/icons/ChartKPIIcon.js +1 -1
  281. package/dist/icons/ChartPie2Icon.js +1 -1
  282. package/dist/icons/ChartScatterIcon.js +1 -1
  283. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  284. package/dist/icons/CheckCircleIcon.js +1 -1
  285. package/dist/icons/CheckIcon.js +1 -1
  286. package/dist/icons/CircleFilledIcon.js +1 -1
  287. package/dist/icons/ClearIcon.js +1 -1
  288. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  289. package/dist/icons/CloseCircleIcon.js +1 -1
  290. package/dist/icons/CloseIcon.js +1 -1
  291. package/dist/icons/CodeIcon.js +1 -1
  292. package/dist/icons/ColumnTotalIcon.js +1 -1
  293. package/dist/icons/CopyIcon.js +1 -1
  294. package/dist/icons/CountIcon.js +1 -1
  295. package/dist/icons/CubeIcon.js +1 -1
  296. package/dist/icons/CubePauseIcon.js +1 -1
  297. package/dist/icons/CubePlayIcon.js +1 -1
  298. package/dist/icons/CurrencyDollarIcon.js +1 -1
  299. package/dist/icons/DangerIcon.js +1 -1
  300. package/dist/icons/DashboardIcon.js +1 -1
  301. package/dist/icons/DatabaseIcon.js +1 -1
  302. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  303. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  304. package/dist/icons/DirectionIcon.js +1 -1
  305. package/dist/icons/DonutIcon.js +1 -1
  306. package/dist/icons/DownIcon.js +1 -1
  307. package/dist/icons/EditIcon.js +1 -1
  308. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  309. package/dist/icons/ExclamationCircleIcon.js +1 -1
  310. package/dist/icons/ExclamationIcon.js +1 -1
  311. package/dist/icons/EyeIcon.js +1 -1
  312. package/dist/icons/EyeInvisibleIcon.js +1 -1
  313. package/dist/icons/FilterIcon.js +1 -1
  314. package/dist/icons/FolderFilledIcon.js +1 -1
  315. package/dist/icons/FolderIcon.js +1 -1
  316. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  317. package/dist/icons/FolderOpenIcon.js +1 -1
  318. package/dist/icons/ForwardIcon.js +1 -1
  319. package/dist/icons/HierarchyIcon.js +1 -1
  320. package/dist/icons/HierarchyOpenIcon.js +1 -1
  321. package/dist/icons/Icon.js +1 -1
  322. package/dist/icons/InfoCircleIcon.js +1 -1
  323. package/dist/icons/InfoIcon.js +1 -1
  324. package/dist/icons/KeyIcon.js +1 -1
  325. package/dist/icons/LeftIcon.js +1 -1
  326. package/dist/icons/LineChartIcon.js +1 -1
  327. package/dist/icons/LoadingIcon.js +1 -1
  328. package/dist/icons/LockFilledIcon.js +1 -1
  329. package/dist/icons/LockIcon.js +1 -1
  330. package/dist/icons/MoreIcon.js +1 -1
  331. package/dist/icons/NotAllowedIcon.js +1 -1
  332. package/dist/icons/Number123Icon.js +1 -1
  333. package/dist/icons/NumberIcon.js +1 -1
  334. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  335. package/dist/icons/PauseCircleIcon.js +1 -1
  336. package/dist/icons/PauseIcon.js +1 -1
  337. package/dist/icons/PercentageIcon.js +1 -1
  338. package/dist/icons/PieChartIcon.js +1 -1
  339. package/dist/icons/PlayCircleIcon.js +1 -1
  340. package/dist/icons/PlayIcon.js +1 -1
  341. package/dist/icons/PlusIcon.js +1 -1
  342. package/dist/icons/ProgressBarIcon.js +1 -1
  343. package/dist/icons/ReloadIcon.js +1 -1
  344. package/dist/icons/ReportIcon.js +1 -1
  345. package/dist/icons/ReturnIcon.js +1 -1
  346. package/dist/icons/RightIcon.js +1 -1
  347. package/dist/icons/RowTotalsIcon.js +1 -1
  348. package/dist/icons/SchemeIcon.js +1 -1
  349. package/dist/icons/SearchIcon.js +1 -1
  350. package/dist/icons/SemanticQueryIcon.js +1 -1
  351. package/dist/icons/SettingsIcon.js +1 -1
  352. package/dist/icons/ShieldFilledIcon.js +1 -1
  353. package/dist/icons/ShieldIcon.js +1 -1
  354. package/dist/icons/SlashIcon.js +1 -1
  355. package/dist/icons/SparklesIcon.js +1 -1
  356. package/dist/icons/SqlIcon.js +1 -1
  357. package/dist/icons/StatsIcon.js +1 -1
  358. package/dist/icons/StopIcon.js +1 -1
  359. package/dist/icons/StringIcon.js +1 -1
  360. package/dist/icons/SubtotalsIcon.js +1 -1
  361. package/dist/icons/SwitchIcon.js +1 -1
  362. package/dist/icons/TableIcon.js +1 -1
  363. package/dist/icons/ThumbsDownIcon.js +1 -1
  364. package/dist/icons/ThumbsUpIcon.js +1 -1
  365. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  366. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  367. package/dist/icons/ThunderboltIcon.js +1 -1
  368. package/dist/icons/TimeIcon.js +1 -1
  369. package/dist/icons/TrashIcon.js +1 -1
  370. package/dist/icons/UnlockIcon.js +1 -1
  371. package/dist/icons/UpIcon.js +1 -1
  372. package/dist/icons/UserGroupIcon.js +1 -1
  373. package/dist/icons/UserIcon.js +1 -1
  374. package/dist/icons/UserLockIcon.js +1 -1
  375. package/dist/icons/ViewIcon.js +1 -1
  376. package/dist/icons/WarningFilledIcon.js +1 -1
  377. package/dist/icons/WarningIcon.js +1 -1
  378. package/dist/icons/index.d.ts +0 -1
  379. package/dist/icons/wrap-icon.js +1 -1
  380. package/dist/index.d.ts +2 -3
  381. package/dist/index.js +2 -3
  382. package/dist/index.js.map +1 -1
  383. package/dist/provider.js +1 -1
  384. package/dist/providers/TrackingProvider.js +1 -1
  385. package/dist/providers/navigationAdapter.default.js +1 -1
  386. package/dist/tokens/base.js +1 -1
  387. package/dist/tokens/colors.js +1 -1
  388. package/dist/tokens/index.js +1 -1
  389. package/dist/tokens/layout.js +1 -1
  390. package/dist/tokens/shadows.js +1 -1
  391. package/dist/tokens/sizes.js +1 -1
  392. package/dist/tokens/spacing.js +1 -1
  393. package/dist/tokens/typography.js +1 -1
  394. package/dist/utils/ResizeSensor.js +1 -1
  395. package/dist/utils/is-dev-env.js +1 -1
  396. package/dist/utils/modules.js +1 -1
  397. package/dist/utils/promise.js +1 -1
  398. package/dist/utils/raf.js +1 -1
  399. package/dist/utils/random.js +1 -1
  400. package/dist/utils/range.js +1 -1
  401. package/dist/utils/react/RenderCache.js +1 -1
  402. package/dist/utils/react/Slots.js +1 -1
  403. package/dist/utils/react/chain.js +1 -1
  404. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  405. package/dist/utils/react/index.js +1 -1
  406. package/dist/utils/react/interactions.js +1 -1
  407. package/dist/utils/react/isTextOnly.js +1 -1
  408. package/dist/utils/react/mapProps.js +1 -1
  409. package/dist/utils/react/mergeProps.js +1 -1
  410. package/dist/utils/react/nullableValue.js +1 -1
  411. package/dist/utils/react/resolveIcon.js +1 -1
  412. package/dist/utils/react/sharedStore.js +1 -1
  413. package/dist/utils/react/useCombinedRefs.js +1 -1
  414. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  415. package/dist/utils/react/useEventBus.js +1 -1
  416. package/dist/utils/react/useId.js +1 -1
  417. package/dist/utils/react/useIsDarwin.js +1 -1
  418. package/dist/utils/react/useKeySymbols.js +1 -1
  419. package/dist/utils/react/useLayoutEffect.js +1 -1
  420. package/dist/utils/react/useLocalStorage.js +1 -1
  421. package/dist/utils/react/useMergeStyles.js +1 -1
  422. package/dist/utils/react/useQaProps.js +1 -1
  423. package/dist/utils/react/useViewportSize.js +1 -1
  424. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  425. package/dist/utils/selection.js +1 -1
  426. package/dist/utils/styles.js +1 -1
  427. package/dist/utils/tree.js +1 -1
  428. package/dist/utils/warnings.js +1 -1
  429. package/dist/version.js +2 -2
  430. package/docs/components/content/Tree.md +131 -32
  431. package/docs/components/fields/FilterPicker.md +0 -27
  432. package/docs/components/fields/ListBox.md +0 -33
  433. package/docs/components/navigation/Tabs.md +50 -128
  434. package/package.json +1 -1
  435. package/dist/components/fields/ListBox/DraggableListBox.js +0 -24
  436. package/dist/components/fields/ListBox/DraggableListBox.js.map +0 -1
  437. package/dist/components/shared/DraggableCollection.js +0 -134
  438. package/dist/components/shared/DraggableCollection.js.map +0 -1
  439. package/dist/icons/GripVerticalIcon.d.ts +0 -12
  440. package/dist/icons/GripVerticalIcon.js +0 -11
  441. package/dist/icons/GripVerticalIcon.js.map +0 -1
@@ -38,7 +38,6 @@ An accessible tabbed interface for organizing content into multiple panels, show
38
38
  - **`renderPanel`** `(key: string) => ReactNode` — Render function for lazy panel content
39
39
  - **`panelCacheKeys`** `Record<string, any>` — Cache keys for `renderPanel` content
40
40
  - **`isReorderable`** `boolean` (default: `false`) — Enable drag-and-drop tab reordering
41
- - **`isPickerReorderable`** `boolean` (default: `false`) — Enable drag-and-drop reordering in the tab picker dropdown
42
41
  - **`keyOrder`** `string[]` — Controlled tab display order
43
42
  - **`onReorder`** `(newOrder: string[]) => void` — Callback when tabs are reordered
44
43
  - **`showTabPicker`** `boolean | 'auto'` (default: `false`) — Show dropdown tab picker
@@ -170,7 +169,9 @@ Optional wrapper for tabs when using explicit panel placement.
170
169
  Explicit panel definition for advanced layout control.
171
170
 
172
171
  ```jsx
173
- <Tabs.Panel key="tab1">Panel 1 content</Tabs.Panel>
172
+ <Tabs.Panel key="tab1">
173
+ Panel 1 content
174
+ </Tabs.Panel>
174
175
  ```
175
176
 
176
177
  ### Tabs.Action
@@ -186,9 +187,7 @@ Action button designed for the Tabs prefix/suffix slots. Styled with sharp edges
186
187
  </>
187
188
  }
188
189
  >
189
- <Tab key="tab1" title="Tab 1">
190
- Content
191
- </Tab>
190
+ <Tab key="tab1" title="Tab 1">Content</Tab>
192
191
  </Tabs>
193
192
  ```
194
193
 
@@ -244,22 +243,16 @@ Control the active tab externally with `activeKey` and `onChange`.
244
243
  const [activeKey, setActiveKey] = useState('tab1');
245
244
 
246
245
  <Tabs activeKey={activeKey} onChange={setActiveKey}>
247
- <Tab key="tab1" title="Tab 1">
248
- Content 1
249
- </Tab>
250
- <Tab key="tab2" title="Tab 2">
251
- Content 2
252
- </Tab>
253
- </Tabs>;
246
+ <Tab key="tab1" title="Tab 1">Content 1</Tab>
247
+ <Tab key="tab2" title="Tab 2">Content 2</Tab>
248
+ </Tabs>
254
249
  ```
255
250
 
256
251
  ### Disabled Tab
257
252
 
258
253
  ```jsx
259
254
  <Tabs defaultActiveKey="tab1">
260
- <Tab key="tab1" title="Active Tab">
261
- Content
262
- </Tab>
255
+ <Tab key="tab1" title="Active Tab">Content</Tab>
263
256
  <Tab key="tab2" title="Disabled Tab" isDisabled>
264
257
  Inaccessible content
265
258
  </Tab>
@@ -276,12 +269,8 @@ Add buttons or other elements before or after the tab list.
276
269
  prefix={<Button size="small">Menu</Button>}
277
270
  suffix={<Button size="small">Add New</Button>}
278
271
  >
279
- <Tab key="items" title="Items">
280
- Item list
281
- </Tab>
282
- <Tab key="archived" title="Archived">
283
- Archived items
284
- </Tab>
272
+ <Tab key="items" title="Items">Item list</Tab>
273
+ <Tab key="archived" title="Archived">Archived items</Tab>
285
274
  </Tabs>
286
275
  ```
287
276
 
@@ -297,17 +286,21 @@ const [tabs, setTabs] = useState([
297
286
 
298
287
  <Tabs
299
288
  defaultActiveKey="tab1"
300
- onDelete={(key) => setTabs(tabs.filter((t) => t.key !== key))}
289
+ onDelete={(key) => setTabs(tabs.filter(t => t.key !== key))}
301
290
  suffix={
302
- <Tabs.Action icon={<PlusIcon />} aria-label="Add tab" onPress={handleAdd} />
291
+ <Tabs.Action
292
+ icon={<PlusIcon />}
293
+ aria-label="Add tab"
294
+ onPress={handleAdd}
295
+ />
303
296
  }
304
297
  >
305
- {tabs.map((tab) => (
298
+ {tabs.map(tab => (
306
299
  <Tab key={tab.key} title={tab.title}>
307
300
  Content for {tab.title}
308
301
  </Tab>
309
302
  ))}
310
- </Tabs>;
303
+ </Tabs>
311
304
  ```
312
305
 
313
306
  ### Tab Menus
@@ -328,9 +321,7 @@ Add dropdown menus to tabs using the `menu` prop. This replaces the need for man
328
321
  // 'delete' is handled automatically via onDelete
329
322
  }}
330
323
  >
331
- <Tab key="tab1" title="Tab 1">
332
- Content
333
- </Tab>
324
+ <Tab key="tab1" title="Tab 1">Content</Tab>
334
325
  </Tabs>
335
326
  ```
336
327
 
@@ -364,9 +355,7 @@ Combine editable tabs with a menu for rename, duplicate, and delete actions.
364
355
  // 'delete' triggers onDelete automatically
365
356
  }}
366
357
  >
367
- <Tab key="tab1" title="Tab 1">
368
- Content
369
- </Tab>
358
+ <Tab key="tab1" title="Tab 1">Content</Tab>
370
359
  </Tabs>
371
360
  ```
372
361
 
@@ -384,9 +373,7 @@ Enable right-click context menus with the `contextMenu` prop. Uses the same menu
384
373
  </>
385
374
  }
386
375
  >
387
- <Tab key="tab1" title="Tab 1">
388
- Content
389
- </Tab>
376
+ <Tab key="tab1" title="Tab 1">Content</Tab>
390
377
  </Tabs>
391
378
  ```
392
379
 
@@ -401,9 +388,7 @@ Enable right-click context menus with the `contextMenu` prop. Uses the same menu
401
388
  </>
402
389
  }
403
390
  >
404
- <Tab key="tab1" title="Tab 1">
405
- Content
406
- </Tab>
391
+ <Tab key="tab1" title="Tab 1">Content</Tab>
407
392
  </Tabs>
408
393
  ```
409
394
 
@@ -420,11 +405,9 @@ Override or disable menus on individual tabs.
420
405
  </>
421
406
  }
422
407
  >
423
- <Tab key="tab1" title="Uses Default Menu">
424
- Content
425
- </Tab>
426
- <Tab
427
- key="tab2"
408
+ <Tab key="tab1" title="Uses Default Menu">Content</Tab>
409
+ <Tab
410
+ key="tab2"
428
411
  title="Custom Menu"
429
412
  menu={
430
413
  <>
@@ -434,9 +417,7 @@ Override or disable menus on individual tabs.
434
417
  >
435
418
  Content
436
419
  </Tab>
437
- <Tab key="tab3" title="No Menu" menu={null}>
438
- Content
439
- </Tab>
420
+ <Tab key="tab3" title="No Menu" menu={null}>Content</Tab>
440
421
  </Tabs>
441
422
  ```
442
423
 
@@ -456,9 +437,7 @@ Use `Menu.Section` for organized menus.
456
437
  </>
457
438
  }
458
439
  >
459
- <Tab key="tab1" title="Tab 1">
460
- Content
461
- </Tab>
440
+ <Tab key="tab1" title="Tab 1">Content</Tab>
462
441
  </Tabs>
463
442
  ```
464
443
 
@@ -474,16 +453,10 @@ const [keyOrder, setKeyOrder] = useState(['tab1', 'tab2', 'tab3']);
474
453
  keyOrder={keyOrder}
475
454
  onReorder={(newOrder) => setKeyOrder(newOrder)}
476
455
  >
477
- <Tab key="tab1" title="Tab 1">
478
- Content 1
479
- </Tab>
480
- <Tab key="tab2" title="Tab 2">
481
- Content 2
482
- </Tab>
483
- <Tab key="tab3" title="Tab 3">
484
- Content 3
485
- </Tab>
486
- </Tabs>;
456
+ <Tab key="tab1" title="Tab 1">Content 1</Tab>
457
+ <Tab key="tab2" title="Tab 2">Content 2</Tab>
458
+ <Tab key="tab3" title="Tab 3">Content 3</Tab>
459
+ </Tabs>
487
460
  ```
488
461
 
489
462
  **Key features:**
@@ -521,33 +494,6 @@ const [keyOrder, setKeyOrder] = useState(['tab1', 'tab2', 'tab3']);
521
494
  </Tabs>
522
495
  ```
523
496
 
524
- ### Reorderable Tab Picker
525
-
526
- Use `isPickerReorderable` to enable drag-and-drop reordering in the tab picker dropdown. This is controlled independently from `isReorderable` (horizontal tabs). Items in the dropdown display a grip handle and can be dragged to reorder. The same `onReorder` callback is shared between the horizontal tab bar and the vertical tab picker.
527
-
528
- ```jsx
529
- const [keyOrder, setKeyOrder] = useState(['tab1', 'tab2', 'tab3']);
530
-
531
- <Tabs
532
- isReorderable
533
- isPickerReorderable
534
- showTabPicker
535
- type="file"
536
- keyOrder={keyOrder}
537
- onReorder={(newOrder) => setKeyOrder(newOrder)}
538
- >
539
- <Tab key="tab1" title="Tab 1">
540
- Content 1
541
- </Tab>
542
- <Tab key="tab2" title="Tab 2">
543
- Content 2
544
- </Tab>
545
- <Tab key="tab3" title="Tab 3">
546
- Content 3
547
- </Tab>
548
- </Tabs>;
549
- ```
550
-
551
497
  ### Scroll Arrows
552
498
 
553
499
  Add left/right navigation arrows to scroll overflowed tabs. Use `showScrollArrows` with `true`, `false`, or `'auto'` (shows only when tabs overflow).
@@ -558,7 +504,7 @@ Add left/right navigation arrows to scroll overflowed tabs. Use `showScrollArrow
558
504
  showScrollArrows="auto"
559
505
  styles={{ width: '500px' }}
560
506
  >
561
- {tabs.map((tab) => (
507
+ {tabs.map(tab => (
562
508
  <Tab key={tab.id} title={tab.title}>
563
509
  {tab.content}
564
510
  </Tab>
@@ -575,7 +521,7 @@ Combine with `showTabPicker` for both scroll arrows and a dropdown picker:
575
521
  showTabPicker="auto"
576
522
  type="file"
577
523
  >
578
- {tabs.map((tab) => (
524
+ {tabs.map(tab => (
579
525
  <Tab key={tab.id} title={tab.title}>
580
526
  {tab.content}
581
527
  </Tab>
@@ -597,7 +543,7 @@ By default, scroll arrows and the tab picker appear in the suffix (after the tab
597
543
  type="file"
598
544
  styles={{ width: '500px' }}
599
545
  >
600
- {tabs.map((tab) => (
546
+ {tabs.map(tab => (
601
547
  <Tab key={tab.id} title={tab.title}>
602
548
  {tab.content}
603
549
  </Tab>
@@ -606,7 +552,6 @@ By default, scroll arrows and the tab picker appear in the suffix (after the tab
606
552
  ```
607
553
 
608
554
  When both are in the same slot:
609
-
610
555
  - In **prefix**: TabPicker appears first (left), then scroll arrows (right)
611
556
  - In **suffix**: Scroll arrows appear first (left), then TabPicker (right)
612
557
 
@@ -620,14 +565,10 @@ const [view, setView] = useState('overview');
620
565
  <Tabs activeKey={view} onChange={setView}>
621
566
  <Tab key="overview" title="Overview" />
622
567
  <Tab key="settings" title="Settings" />
623
- </Tabs>;
624
-
625
- {
626
- view === 'overview' && <OverviewPage />;
627
- }
628
- {
629
- view === 'settings' && <SettingsPage />;
630
- }
568
+ </Tabs>
569
+
570
+ {view === 'overview' && <OverviewPage />}
571
+ {view === 'settings' && <SettingsPage />}
631
572
  ```
632
573
 
633
574
  ### Explicit Panels
@@ -651,12 +592,8 @@ Render all panels immediately but keep inactive ones hidden.
651
592
 
652
593
  ```jsx
653
594
  <Tabs defaultActiveKey="tab1" prerender>
654
- <Tab key="tab1" title="Tab 1">
655
- Content 1
656
- </Tab>
657
- <Tab key="tab2" title="Tab 2">
658
- Content 2
659
- </Tab>
595
+ <Tab key="tab1" title="Tab 1">Content 1</Tab>
596
+ <Tab key="tab2" title="Tab 2">Content 2</Tab>
660
597
  </Tabs>
661
598
  ```
662
599
 
@@ -685,12 +622,8 @@ Override per-tab/panel:
685
622
 
686
623
  ```jsx
687
624
  <Tabs prerender>
688
- <Tab key="tab1" title="Prerendered">
689
- Always in DOM
690
- </Tab>
691
- <Tab key="tab2" title="Lazy" prerender={false}>
692
- Lazy loaded
693
- </Tab>
625
+ <Tab key="tab1" title="Prerendered">Always in DOM</Tab>
626
+ <Tab key="tab2" title="Lazy" prerender={false}>Lazy loaded</Tab>
694
627
  </Tabs>
695
628
  ```
696
629
 
@@ -705,14 +638,10 @@ content is computed, while inactive tabs use cached content.
705
638
  defaultActiveKey="tab1"
706
639
  renderPanel={(key) => {
707
640
  switch (key) {
708
- case 'tab1':
709
- return <ExpensiveChart data={chartData} />;
710
- case 'tab2':
711
- return <LargeTable rows={tableRows} />;
712
- case 'tab3':
713
- return <ComplexForm fields={formFields} />;
714
- default:
715
- return null;
641
+ case 'tab1': return <ExpensiveChart data={chartData} />;
642
+ case 'tab2': return <LargeTable rows={tableRows} />;
643
+ case 'tab3': return <ComplexForm fields={formFields} />;
644
+ default: return null;
716
645
  }
717
646
  }}
718
647
  >
@@ -733,8 +662,8 @@ content is computed, while inactive tabs use cached content.
733
662
  <Tabs
734
663
  renderPanel={(key) => <Panel data={data[key]} />}
735
664
  panelCacheKeys={{
736
- tab1: data.tab1.version, // Cached, re-renders when version changes
737
- tab2: data.tab2.version, // Cached, re-renders when version changes
665
+ tab1: data.tab1.version, // Cached, re-renders when version changes
666
+ tab2: data.tab2.version, // Cached, re-renders when version changes
738
667
  // tab3 has no cache key - re-renders on every Tabs render
739
668
  }}
740
669
  >
@@ -743,7 +672,6 @@ content is computed, while inactive tabs use cached content.
743
672
  ```
744
673
 
745
674
  This approach is ideal for:
746
-
747
675
  - Tabs with complex visualizations or charts
748
676
  - Large data tables that are expensive to render
749
677
  - Forms with many fields
@@ -778,7 +706,6 @@ Tabs work seamlessly inside Layout components. When placed in a `Layout` or `Lay
778
706
  ```
779
707
 
780
708
  **How it works:**
781
-
782
709
  - The tab bar has fixed height and doesn't grow
783
710
  - Tab panels use `display: contents`, allowing children to participate in parent flex layout
784
711
  - Nested Layout components with `flexGrow: 1` (default) stretch to fill remaining space
@@ -795,7 +722,6 @@ Tabs work seamlessly inside Layout components. When placed in a `Layout` or `Lay
795
722
  - `Shift+F10` - Open tab menu (when menu is present)
796
723
  - `Delete` - Delete focused tab (when deletable)
797
724
  - `F2` - Start editing tab title (when editable)
798
- - `Alt+ArrowLeft` / `Alt+ArrowRight` - Reorder the focused tab (when `isReorderable`)
799
725
 
800
726
  ### Screen Reader Support
801
727
 
@@ -818,17 +744,13 @@ Tabs work seamlessly inside Layout components. When placed in a `Layout` or `Lay
818
744
  1. **Do**: Use clear, descriptive tab titles
819
745
 
820
746
  ```jsx
821
- <Tab key="billing" title="Billing & Payments">
822
- ...
823
- </Tab>
747
+ <Tab key="billing" title="Billing & Payments">...</Tab>
824
748
  ```
825
749
 
826
750
  2. **Don't**: Use vague or single-letter titles
827
751
 
828
752
  ```jsx
829
- <Tab key="b" title="B">
830
- ...
831
- </Tab>
753
+ <Tab key="b" title="B">...</Tab>
832
754
  ```
833
755
 
834
756
  3. **Do**: Provide meaningful accessible labels
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cube-dev/ui-kit",
3
- "version": "0.0.0-canary-4ba0ca0",
3
+ "version": "0.0.0-canary-c22ced9",
4
4
  "type": "module",
5
5
  "description": "UIKit for Cube Projects",
6
6
  "repository": {
@@ -1,24 +0,0 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ba0ca0 | Cube Dev Team */
2
- import { DraggableCollection } from "../../shared/DraggableCollection.js";
3
- import { jsx } from "react/jsx-runtime";
4
-
5
- //#region src/components/fields/ListBox/DraggableListBox.tsx
6
- /**
7
- * Wrapper that enables drag-and-drop reordering for a vertical ListBox.
8
- *
9
- * Thin wrapper around DraggableCollection with vertical orientation.
10
- */
11
- function DraggableListBox({ state, listRef, orderedKeys, onReorder, children }) {
12
- return /* @__PURE__ */ jsx(DraggableCollection, {
13
- state,
14
- listRef,
15
- orderedKeys,
16
- orientation: "vertical",
17
- onReorder,
18
- children
19
- });
20
- }
21
-
22
- //#endregion
23
- export { DraggableListBox };
24
- //# sourceMappingURL=DraggableListBox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DraggableListBox.js","names":[],"sources":["../../../../src/components/fields/ListBox/DraggableListBox.tsx"],"sourcesContent":["import { ReactNode, RefObject } from 'react';\nimport {\n DraggableCollectionState,\n DroppableCollectionState,\n ListState,\n} from 'react-stately';\n\nimport { DraggableCollection } from '../../shared/DraggableCollection';\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface DraggableListBoxProps {\n /** List state from React Stately (useListState) */\n state: Pick<\n ListState<any>,\n 'collection' | 'selectionManager' | 'disabledKeys'\n >;\n /** Ref to the list container element */\n listRef: RefObject<HTMLElement | null>;\n /** Current ordered keys */\n orderedKeys: string[];\n /** Callback when items are reordered */\n onReorder?: (newOrder: string[]) => void;\n /** Render function that receives drag/drop states */\n children: (\n dragState: DraggableCollectionState,\n dropState: DroppableCollectionState,\n collectionProps: Record<string, unknown>,\n ) => ReactNode;\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * Wrapper that enables drag-and-drop reordering for a vertical ListBox.\n *\n * Thin wrapper around DraggableCollection with vertical orientation.\n */\nexport function DraggableListBox({\n state,\n listRef,\n orderedKeys,\n onReorder,\n children,\n}: DraggableListBoxProps) {\n return (\n <DraggableCollection\n state={state}\n listRef={listRef}\n orderedKeys={orderedKeys}\n orientation=\"vertical\"\n onReorder={onReorder}\n >\n {children}\n </DraggableCollection>\n );\n}\n"],"mappings":";;;;;;;;;;AA0CA,SAAgB,iBAAiB,EAC/B,OACA,SACA,aACA,WACA,YACwB;AACxB,QACE,oBAAC;EACQ;EACE;EACI;EACb,aAAY;EACD;EAEV;GACmB"}
@@ -1,134 +0,0 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ba0ca0 | Cube Dev Team */
2
- import { useEvent } from "../../_internal/hooks/use-event.js";
3
- import { useCallback, useEffect, useMemo, useRef } from "react";
4
- import { ListDropTargetDelegate, ListKeyboardDelegate, mergeProps, useDraggableCollection, useDroppableCollection } from "react-aria";
5
- import { useDraggableCollectionState, useDroppableCollectionState } from "react-stately";
6
-
7
- //#region src/components/shared/DraggableCollection.tsx
8
- const getAllowedDropOperations = () => ["move"];
9
- /**
10
- * Creates a no-op mock of DraggableCollectionState.
11
- * Used to satisfy useDraggableItem when drag is disabled (Rules of Hooks).
12
- */
13
- function createMockDragState(collection, selectionManager) {
14
- return {
15
- collection,
16
- selectionManager,
17
- isDragging: () => false,
18
- getKeysForDrag: () => /* @__PURE__ */ new Set(),
19
- draggedKey: null,
20
- draggingKeys: /* @__PURE__ */ new Set(),
21
- getAllowedDropOperations: () => [],
22
- preview: null,
23
- isDisabled: false,
24
- startDrag: () => {},
25
- endDrag: () => {}
26
- };
27
- }
28
- /**
29
- * Generic wrapper that enables drag-and-drop reordering for a collection.
30
- *
31
- * Used by both DraggableTabList (horizontal) and DraggableListBox (vertical).
32
- * Encapsulates all drag/drop hook calls so they are only invoked when
33
- * reordering is actually enabled.
34
- */
35
- function DraggableCollection({ state, listRef, orderedKeys, orientation, onReorder, children }) {
36
- const handleReorder = useEvent((e) => {
37
- if (!onReorder) return;
38
- const { target, keys: movableKeys } = e;
39
- const { dropPosition, key: targetKey } = target;
40
- const movableKey = [...movableKeys][0];
41
- const movableIndex = orderedKeys.indexOf(movableKey);
42
- const targetIndex = orderedKeys.indexOf(String(targetKey));
43
- if (movableIndex === -1 || targetIndex === -1) return;
44
- onReorder(movableIndex !== targetIndex ? orderedKeys.reduce((arr, key, i) => {
45
- if (i === movableIndex) return arr;
46
- if (i === targetIndex) if (dropPosition === "before") {
47
- arr.push(movableKey);
48
- arr.push(key);
49
- } else {
50
- arr.push(key);
51
- arr.push(movableKey);
52
- }
53
- else arr.push(key);
54
- return arr;
55
- }, []) : orderedKeys);
56
- });
57
- const getItems = useCallback((keys) => {
58
- return [...keys].map((key) => {
59
- const item = state.collection.getItem(key);
60
- return { "text/plain": item?.textValue || String(key) };
61
- });
62
- }, [state.collection]);
63
- const dragSelectionManager = useMemo(() => new Proxy(state.selectionManager, { get(target, prop) {
64
- if (prop === "selectedKeys") return /* @__PURE__ */ new Set();
65
- if (prop === "isSelected") return () => false;
66
- const value = Reflect.get(target, prop);
67
- return typeof value === "function" ? value.bind(target) : value;
68
- } }), [state.selectionManager]);
69
- const dragState = useDraggableCollectionState({
70
- collection: state.collection,
71
- selectionManager: dragSelectionManager,
72
- getItems,
73
- getAllowedDropOperations
74
- });
75
- useDraggableCollection({
76
- getItems,
77
- getAllowedDropOperations
78
- }, dragState, listRef);
79
- const dropState = useDroppableCollectionState({
80
- collection: state.collection,
81
- selectionManager: state.selectionManager,
82
- onReorder: handleReorder
83
- });
84
- const { collectionProps } = useDroppableCollection({
85
- keyboardDelegate: useMemo(() => new ListKeyboardDelegate(state.collection, state.disabledKeys, listRef), [
86
- state.collection,
87
- state.disabledKeys,
88
- listRef
89
- ]),
90
- dropTargetDelegate: useMemo(() => new ListDropTargetDelegate(state.collection, listRef, { orientation }), [
91
- state.collection,
92
- listRef,
93
- orientation
94
- ]),
95
- onReorder: handleReorder
96
- }, dropState, listRef);
97
- const isDragActive = dragState.draggingKeys.size > 0;
98
- const endDragRef = useRef(dragState.endDrag);
99
- endDragRef.current = dragState.endDrag;
100
- useEffect(() => {
101
- if (!isDragActive) return;
102
- const handleEscape = (e) => {
103
- if (e.key === "Escape") endDragRef.current();
104
- };
105
- document.addEventListener("keydown", handleEscape, true);
106
- return () => document.removeEventListener("keydown", handleEscape, true);
107
- }, [isDragActive]);
108
- return children(dragState, dropState, mergeProps(collectionProps, { onKeyDownCapture: useEvent((e) => {
109
- if (!e.altKey || !onReorder) return;
110
- const moveKeys = orientation === "vertical" ? {
111
- backward: "ArrowUp",
112
- forward: "ArrowDown"
113
- } : {
114
- backward: "ArrowLeft",
115
- forward: "ArrowRight"
116
- };
117
- const direction = e.key === moveKeys.backward ? -1 : e.key === moveKeys.forward ? 1 : 0;
118
- if (direction === 0) return;
119
- e.preventDefault();
120
- e.stopPropagation();
121
- const focusedKey = String(state.selectionManager.focusedKey);
122
- const idx = orderedKeys.indexOf(focusedKey);
123
- if (idx === -1) return;
124
- const targetIdx = idx + direction;
125
- if (targetIdx < 0 || targetIdx >= orderedKeys.length) return;
126
- const newKeys = [...orderedKeys];
127
- [newKeys[idx], newKeys[targetIdx]] = [newKeys[targetIdx], newKeys[idx]];
128
- onReorder(newKeys);
129
- }) }));
130
- }
131
-
132
- //#endregion
133
- export { DraggableCollection, createMockDragState };
134
- //# sourceMappingURL=DraggableCollection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DraggableCollection.js","names":[],"sources":["../../../src/components/shared/DraggableCollection.tsx"],"sourcesContent":["import {\n KeyboardEvent,\n ReactNode,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport {\n DragItem,\n DroppableCollectionReorderEvent,\n ListDropTargetDelegate,\n ListKeyboardDelegate,\n mergeProps,\n useDraggableCollection,\n useDroppableCollection,\n} from 'react-aria';\nimport {\n DraggableCollectionState,\n DroppableCollectionState,\n useDraggableCollectionState,\n useDroppableCollectionState,\n} from 'react-stately';\n\nimport { useEvent } from '../../_internal/hooks';\n\nimport type { Collection, DropOperation, Key, Node } from '@react-types/shared';\n\nconst getAllowedDropOperations = (): DropOperation[] => ['move'];\n\n/**\n * Creates a no-op mock of DraggableCollectionState.\n * Used to satisfy useDraggableItem when drag is disabled (Rules of Hooks).\n */\nexport function createMockDragState(\n collection: Collection<Node<any>>,\n selectionManager: Record<string, any>,\n): DraggableCollectionState {\n return {\n collection,\n selectionManager,\n isDragging: () => false,\n getKeysForDrag: () => new Set<Key>(),\n draggedKey: null,\n draggingKeys: new Set<Key>(),\n getAllowedDropOperations: () => [],\n preview: null,\n isDisabled: false,\n startDrag: () => {},\n endDrag: () => {},\n } as DraggableCollectionState;\n}\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface DraggableCollectionProps {\n state: {\n collection: Collection<Node<any>>;\n selectionManager: { selectedKeys: Set<Key> } & Record<string, any>;\n disabledKeys: Set<Key>;\n };\n listRef: RefObject<HTMLElement | null>;\n orderedKeys: string[];\n orientation: 'horizontal' | 'vertical';\n onReorder?: (newOrder: string[]) => void;\n /** Render function receiving drag/drop states and merged collection+keyboard props */\n children: (\n dragState: DraggableCollectionState,\n dropState: DroppableCollectionState,\n collectionProps: Record<string, unknown>,\n ) => ReactNode;\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * Generic wrapper that enables drag-and-drop reordering for a collection.\n *\n * Used by both DraggableTabList (horizontal) and DraggableListBox (vertical).\n * Encapsulates all drag/drop hook calls so they are only invoked when\n * reordering is actually enabled.\n */\nexport function DraggableCollection({\n state,\n listRef,\n orderedKeys,\n orientation,\n onReorder,\n children,\n}: DraggableCollectionProps) {\n const handleReorder = useEvent((e: DroppableCollectionReorderEvent) => {\n if (!onReorder) return;\n\n const { target, keys: movableKeys } = e;\n const { dropPosition, key: targetKey } = target;\n const movableKey = [...movableKeys][0] as string;\n\n const movableIndex = orderedKeys.indexOf(movableKey);\n const targetIndex = orderedKeys.indexOf(String(targetKey));\n\n if (movableIndex === -1 || targetIndex === -1) return;\n\n const newKeys =\n movableIndex !== targetIndex\n ? orderedKeys.reduce((arr, key, i) => {\n if (i === movableIndex) {\n return arr;\n }\n\n if (i === targetIndex) {\n if (dropPosition === 'before') {\n arr.push(movableKey);\n arr.push(key);\n } else {\n arr.push(key);\n arr.push(movableKey);\n }\n } else {\n arr.push(key);\n }\n\n return arr;\n }, [] as string[])\n : orderedKeys;\n\n onReorder(newKeys);\n });\n\n const getItems = useCallback(\n (keys: Set<Key>): DragItem[] => {\n return [...keys].map((key) => {\n const item = state.collection.getItem(key);\n return {\n 'text/plain': item?.textValue || String(key),\n };\n });\n },\n [state.collection],\n );\n\n // Proxy selectionManager to hide selection from react-aria's drag logic.\n // Without this, react-aria drags ALL selected items when any selected item\n // is grabbed (hardcoded in useDraggableCollectionState → internal getKeys).\n // The proxy intercepts `selectedKeys` and `isSelected` so every item looks\n // unselected for drag, while all other methods (isDisabled, setFocusedKey, …)\n // delegate to the real manager. `bind(target)` preserves `this` for methods\n // that live on the prototype chain.\n const dragSelectionManager = useMemo(\n () =>\n new Proxy(state.selectionManager, {\n get(target, prop) {\n if (prop === 'selectedKeys') return new Set<Key>();\n if (prop === 'isSelected') return () => false;\n const value = Reflect.get(target, prop);\n return typeof value === 'function' ? value.bind(target) : value;\n },\n }),\n [state.selectionManager],\n );\n\n const dragState = useDraggableCollectionState({\n collection: state.collection,\n selectionManager: dragSelectionManager,\n getItems,\n getAllowedDropOperations,\n });\n\n useDraggableCollection(\n {\n getItems,\n getAllowedDropOperations,\n },\n dragState,\n listRef,\n );\n\n const dropState = useDroppableCollectionState({\n collection: state.collection,\n selectionManager: state.selectionManager,\n onReorder: handleReorder,\n });\n\n const keyboardDelegate = useMemo(\n () =>\n new ListKeyboardDelegate(state.collection, state.disabledKeys, listRef),\n [state.collection, state.disabledKeys, listRef],\n );\n\n const dropTargetDelegate = useMemo(\n () =>\n new ListDropTargetDelegate(state.collection, listRef, {\n orientation,\n }),\n [state.collection, listRef, orientation],\n );\n\n const { collectionProps } = useDroppableCollection(\n {\n keyboardDelegate,\n dropTargetDelegate,\n onReorder: handleReorder,\n },\n dropState,\n listRef,\n );\n\n // Force-cancel drag on Escape. Native HTML5 drag cancels visually, but some\n // browsers (Safari) don't fire `dragend` synchronously, leaving react-aria's\n // `isDragging` stale until a second keypress.\n const isDragActive = dragState.draggingKeys.size > 0;\n const endDragRef = useRef(dragState.endDrag);\n endDragRef.current = dragState.endDrag;\n\n useEffect(() => {\n if (!isDragActive) return;\n\n const handleEscape = (e: globalThis.KeyboardEvent) => {\n if (e.key === 'Escape') {\n endDragRef.current();\n }\n };\n\n document.addEventListener('keydown', handleEscape, true);\n\n return () => document.removeEventListener('keydown', handleEscape, true);\n }, [isDragActive]);\n\n // Alt+Arrow keyboard shortcut for reordering.\n // Uses capture phase so we read focusedKey BEFORE react-aria moves focus.\n const handleKeyDownCapture = useEvent((e: KeyboardEvent) => {\n if (!e.altKey || !onReorder) return;\n\n const moveKeys =\n orientation === 'vertical'\n ? { backward: 'ArrowUp', forward: 'ArrowDown' }\n : { backward: 'ArrowLeft', forward: 'ArrowRight' };\n\n const direction =\n e.key === moveKeys.backward ? -1 : e.key === moveKeys.forward ? 1 : 0;\n\n if (direction === 0) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n const focusedKey = String(state.selectionManager.focusedKey);\n const idx = orderedKeys.indexOf(focusedKey);\n\n if (idx === -1) return;\n\n const targetIdx = idx + direction;\n\n if (targetIdx < 0 || targetIdx >= orderedKeys.length) return;\n\n const newKeys = [...orderedKeys];\n [newKeys[idx], newKeys[targetIdx]] = [newKeys[targetIdx], newKeys[idx]];\n onReorder(newKeys);\n });\n\n return children(\n dragState,\n dropState,\n mergeProps(collectionProps, { onKeyDownCapture: handleKeyDownCapture }),\n );\n}\n"],"mappings":"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"}
@@ -1,12 +0,0 @@
1
-
2
- import { CubeIconProps } from "./Icon.js";
3
- import * as react_jsx_runtime0 from "react/jsx-runtime";
4
-
5
- //#region src/icons/GripVerticalIcon.d.ts
6
- declare const GripVerticalIcon: {
7
- (props: CubeIconProps): react_jsx_runtime0.JSX.Element;
8
- displayName: string;
9
- };
10
- //#endregion
11
- export { GripVerticalIcon };
12
- //# sourceMappingURL=GripVerticalIcon.d.ts.map
@@ -1,11 +0,0 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ba0ca0 | Cube Dev Team */
2
- import { wrapIcon } from "./wrap-icon.js";
3
- import { jsx } from "react/jsx-runtime";
4
- import { IconGripVertical } from "@tabler/icons-react";
5
-
6
- //#region src/icons/GripVerticalIcon.tsx
7
- const GripVerticalIcon = wrapIcon("GripVerticalIcon", /* @__PURE__ */ jsx(IconGripVertical, {}));
8
-
9
- //#endregion
10
- export { GripVerticalIcon };
11
- //# sourceMappingURL=GripVerticalIcon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GripVerticalIcon.js","names":[],"sources":["../../src/icons/GripVerticalIcon.tsx"],"sourcesContent":["import { IconGripVertical } from '@tabler/icons-react';\n\nimport { wrapIcon } from './wrap-icon';\n\nexport const GripVerticalIcon = wrapIcon(\n 'GripVerticalIcon',\n <IconGripVertical />,\n);\n"],"mappings":";;;;;;AAIA,MAAa,mBAAmB,SAC9B,oBACA,oBAAC,qBAAmB,CACrB"}