@cube-dev/ui-kit 0.0.0-canary-4c90a81 → 0.0.0-canary-c26fe9d

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 (476) 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/InlineInput/InlineInput.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 +1 -1
  88. package/dist/components/content/Tree/TreeNode.js +1 -1
  89. package/dist/components/content/Tree/styled.js +1 -1
  90. package/dist/components/content/Tree/tree-index.js +1 -1
  91. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  92. package/dist/components/content/Tree/use-load-data.js +1 -1
  93. package/dist/components/content/highlightText.js +1 -1
  94. package/dist/components/content/use-auto-tooltip.js +1 -1
  95. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  96. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  97. package/dist/components/fields/Checkbox/context.js +1 -1
  98. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  99. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  100. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  101. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  102. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  103. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  104. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  105. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  106. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  107. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  108. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  109. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  110. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  111. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  112. package/dist/components/fields/DatePicker/intl.js +1 -1
  113. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  114. package/dist/components/fields/DatePicker/props.js +1 -1
  115. package/dist/components/fields/DatePicker/utils.js +1 -1
  116. package/dist/components/fields/FileInput/FileInput.js +1 -1
  117. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  118. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  119. package/dist/components/fields/Input/Input.js +1 -1
  120. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  121. package/dist/components/fields/ListBox/ListBox.js +1 -1
  122. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  123. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  124. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  125. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  126. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  127. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  128. package/dist/components/fields/Picker/Picker.js +1 -1
  129. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  130. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  131. package/dist/components/fields/RadioGroup/context.js +1 -1
  132. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  133. package/dist/components/fields/Select/Select.js +1 -1
  134. package/dist/components/fields/Slider/Gradation.js +1 -1
  135. package/dist/components/fields/Slider/HueSlider.js +1 -1
  136. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  137. package/dist/components/fields/Slider/Slider.js +1 -1
  138. package/dist/components/fields/Slider/SliderBase.js +1 -1
  139. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  140. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  141. package/dist/components/fields/Slider/elements.js +1 -1
  142. package/dist/components/fields/Slider/index.js +1 -1
  143. package/dist/components/fields/Switch/Switch.js +1 -1
  144. package/dist/components/fields/TextArea/TextArea.js +1 -1
  145. package/dist/components/fields/TextInput/TextInput.js +1 -1
  146. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  147. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  148. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  149. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  150. package/dist/components/form/Form/Field.js +1 -1
  151. package/dist/components/form/Form/Form.js +1 -1
  152. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  153. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  154. package/dist/components/form/Form/SubmitError.js +1 -1
  155. package/dist/components/form/Form/index.js +1 -1
  156. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  157. package/dist/components/form/Form/use-field/use-field.js +1 -1
  158. package/dist/components/form/Form/use-form.js +1 -1
  159. package/dist/components/form/Form/validation.js +1 -1
  160. package/dist/components/form/Label.js +1 -1
  161. package/dist/components/form/wrapper.js +1 -1
  162. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  163. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  164. package/dist/components/layout/Board/Board.d.ts +110 -0
  165. package/dist/components/layout/Board/Board.js +447 -0
  166. package/dist/components/layout/Board/Board.js.map +1 -0
  167. package/dist/components/layout/Board/BoardProvider.d.ts +28 -0
  168. package/dist/components/layout/Board/BoardProvider.js +47 -0
  169. package/dist/components/layout/Board/BoardProvider.js.map +1 -0
  170. package/dist/components/layout/Board/BoardResponsive.d.ts +45 -0
  171. package/dist/components/layout/Board/BoardResponsive.js +94 -0
  172. package/dist/components/layout/Board/BoardResponsive.js.map +1 -0
  173. package/dist/components/layout/Board/Widget.d.ts +49 -0
  174. package/dist/components/layout/Board/Widget.js +42 -0
  175. package/dist/components/layout/Board/Widget.js.map +1 -0
  176. package/dist/components/layout/Board/WidgetHost.js +341 -0
  177. package/dist/components/layout/Board/WidgetHost.js.map +1 -0
  178. package/dist/components/layout/Board/board-context.d.ts +16 -0
  179. package/dist/components/layout/Board/board-context.js +32 -0
  180. package/dist/components/layout/Board/board-context.js.map +1 -0
  181. package/dist/components/layout/Board/board-store.d.ts +3 -0
  182. package/dist/components/layout/Board/board-store.js +49 -0
  183. package/dist/components/layout/Board/board-store.js.map +1 -0
  184. package/dist/components/layout/Board/grid-core/calculate.js +90 -0
  185. package/dist/components/layout/Board/grid-core/calculate.js.map +1 -0
  186. package/dist/components/layout/Board/grid-core/collision.js +35 -0
  187. package/dist/components/layout/Board/grid-core/collision.js.map +1 -0
  188. package/dist/components/layout/Board/grid-core/compactors.d.ts +23 -0
  189. package/dist/components/layout/Board/grid-core/compactors.js +166 -0
  190. package/dist/components/layout/Board/grid-core/compactors.js.map +1 -0
  191. package/dist/components/layout/Board/grid-core/constraints.d.ts +35 -0
  192. package/dist/components/layout/Board/grid-core/constraints.js +155 -0
  193. package/dist/components/layout/Board/grid-core/constraints.js.map +1 -0
  194. package/dist/components/layout/Board/grid-core/layout.js +176 -0
  195. package/dist/components/layout/Board/grid-core/layout.js.map +1 -0
  196. package/dist/components/layout/Board/grid-core/sort.js +37 -0
  197. package/dist/components/layout/Board/grid-core/sort.js.map +1 -0
  198. package/dist/components/layout/Board/grid-core/types.d.ts +168 -0
  199. package/dist/components/layout/Board/index.d.ts +21 -0
  200. package/dist/components/layout/Board/index.js +18 -0
  201. package/dist/components/layout/Board/index.js.map +1 -0
  202. package/dist/components/layout/Board/responsive-utils.d.ts +13 -0
  203. package/dist/components/layout/Board/responsive-utils.js +55 -0
  204. package/dist/components/layout/Board/responsive-utils.js.map +1 -0
  205. package/dist/components/layout/Board/use-board-layout.js +52 -0
  206. package/dist/components/layout/Board/use-board-layout.js.map +1 -0
  207. package/dist/components/layout/Board/use-board-registry.js +372 -0
  208. package/dist/components/layout/Board/use-board-registry.js.map +1 -0
  209. package/dist/components/layout/Flex.js +1 -1
  210. package/dist/components/layout/Flow.js +1 -1
  211. package/dist/components/layout/Grid.js +1 -1
  212. package/dist/components/layout/Panel.js +1 -1
  213. package/dist/components/layout/Prefix.js +1 -1
  214. package/dist/components/layout/ResizablePanel.js +1 -1
  215. package/dist/components/layout/Space.js +1 -1
  216. package/dist/components/layout/Suffix.js +1 -1
  217. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  218. package/dist/components/navigation/Tabs/TabButton.js +36 -4
  219. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  220. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  221. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  222. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  223. package/dist/components/navigation/Tabs/Tabs.js +6 -3
  224. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  225. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  226. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  227. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  228. package/dist/components/navigation/Tabs/styled.js +3 -2
  229. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  230. package/dist/components/navigation/Tabs/types.js +1 -1
  231. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  232. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  233. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  234. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  235. package/dist/components/other/Calendar/Calendar.js +1 -1
  236. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  237. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  238. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  239. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  240. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  241. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  242. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  243. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  244. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  245. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  246. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  247. package/dist/components/overlays/Dialog/context.js +1 -1
  248. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  249. package/dist/components/overlays/Modal/Modal.js +1 -1
  250. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  251. package/dist/components/overlays/Modal/Overlay.js +1 -1
  252. package/dist/components/overlays/Modal/Popover.js +1 -1
  253. package/dist/components/overlays/Modal/Tray.js +1 -1
  254. package/dist/components/overlays/Modal/Underlay.js +1 -1
  255. package/dist/components/overlays/Notifications/Notification.js +1 -1
  256. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  257. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  258. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  259. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  260. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  261. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  262. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  263. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  264. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  265. package/dist/components/overlays/Notifications/index.js +1 -1
  266. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  267. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  268. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  269. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  270. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  271. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  272. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  273. package/dist/components/overlays/Toast/index.js +1 -1
  274. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  275. package/dist/components/overlays/Toast/useToast.js +1 -1
  276. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  277. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  278. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  279. package/dist/components/overlays/Tooltip/context.js +1 -1
  280. package/dist/components/portal/Portal.js +1 -1
  281. package/dist/components/portal/PortalProvider.js +1 -1
  282. package/dist/components/portal/usePortal.js +1 -1
  283. package/dist/components/shared/DraggableCollection.js +1 -1
  284. package/dist/components/shared/InvalidIcon.js +1 -1
  285. package/dist/components/shared/ValidIcon.js +1 -1
  286. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  287. package/dist/components/status/Spin/Cube.js +1 -1
  288. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  289. package/dist/components/status/Spin/Spin.js +1 -1
  290. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  291. package/dist/data/item-themes.js +1 -1
  292. package/dist/data/themes.js +1 -1
  293. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  294. package/dist/icons/AdjustmentsIcon.js +1 -1
  295. package/dist/icons/AiIcon.js +1 -1
  296. package/dist/icons/AreaChartIcon.js +1 -1
  297. package/dist/icons/BackwardIcon.js +1 -1
  298. package/dist/icons/BarChartIcon.js +1 -1
  299. package/dist/icons/BellFilledIcon.js +1 -1
  300. package/dist/icons/BellIcon.js +1 -1
  301. package/dist/icons/BooleanIcon.js +1 -1
  302. package/dist/icons/CalendarEditIcon.js +1 -1
  303. package/dist/icons/CalendarIcon.js +1 -1
  304. package/dist/icons/CaretDownIcon.js +1 -1
  305. package/dist/icons/CaretUpIcon.js +1 -1
  306. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  307. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  308. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  309. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  310. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  311. package/dist/icons/ChartBarLineIcon.js +1 -1
  312. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  313. package/dist/icons/ChartBarStackedIcon.js +1 -1
  314. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  315. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  316. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  317. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  318. package/dist/icons/ChartBubbleIcon.js +1 -1
  319. package/dist/icons/ChartDonut2Icon.js +1 -1
  320. package/dist/icons/ChartFunnelIcon.js +1 -1
  321. package/dist/icons/ChartHeatmapIcon.js +1 -1
  322. package/dist/icons/ChartKPIIcon.js +1 -1
  323. package/dist/icons/ChartPie2Icon.js +1 -1
  324. package/dist/icons/ChartScatterIcon.js +1 -1
  325. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  326. package/dist/icons/CheckCircleIcon.js +1 -1
  327. package/dist/icons/CheckIcon.js +1 -1
  328. package/dist/icons/CircleFilledIcon.js +1 -1
  329. package/dist/icons/ClearIcon.js +1 -1
  330. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  331. package/dist/icons/CloseCircleIcon.js +1 -1
  332. package/dist/icons/CloseIcon.js +1 -1
  333. package/dist/icons/CodeIcon.js +1 -1
  334. package/dist/icons/ColumnTotalIcon.js +1 -1
  335. package/dist/icons/CopyIcon.js +1 -1
  336. package/dist/icons/CountIcon.js +1 -1
  337. package/dist/icons/CubeIcon.js +1 -1
  338. package/dist/icons/CubePauseIcon.js +1 -1
  339. package/dist/icons/CubePlayIcon.js +1 -1
  340. package/dist/icons/CurrencyDollarIcon.js +1 -1
  341. package/dist/icons/DangerIcon.js +1 -1
  342. package/dist/icons/DashboardIcon.js +1 -1
  343. package/dist/icons/DatabaseIcon.js +1 -1
  344. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  345. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  346. package/dist/icons/DirectionIcon.js +1 -1
  347. package/dist/icons/DonutIcon.js +1 -1
  348. package/dist/icons/DownIcon.js +1 -1
  349. package/dist/icons/EditIcon.js +1 -1
  350. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  351. package/dist/icons/ExclamationCircleIcon.js +1 -1
  352. package/dist/icons/ExclamationIcon.js +1 -1
  353. package/dist/icons/EyeIcon.js +1 -1
  354. package/dist/icons/EyeInvisibleIcon.js +1 -1
  355. package/dist/icons/FilterIcon.js +1 -1
  356. package/dist/icons/FolderFilledIcon.js +1 -1
  357. package/dist/icons/FolderIcon.js +1 -1
  358. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  359. package/dist/icons/FolderOpenIcon.js +1 -1
  360. package/dist/icons/ForwardIcon.js +1 -1
  361. package/dist/icons/GripVerticalIcon.js +1 -1
  362. package/dist/icons/HierarchyIcon.js +1 -1
  363. package/dist/icons/HierarchyOpenIcon.js +1 -1
  364. package/dist/icons/Icon.js +1 -1
  365. package/dist/icons/InfoCircleIcon.js +1 -1
  366. package/dist/icons/InfoIcon.js +1 -1
  367. package/dist/icons/KeyIcon.js +1 -1
  368. package/dist/icons/LeftIcon.js +1 -1
  369. package/dist/icons/LineChartIcon.js +1 -1
  370. package/dist/icons/LoadingIcon.js +1 -1
  371. package/dist/icons/LockFilledIcon.js +1 -1
  372. package/dist/icons/LockIcon.js +1 -1
  373. package/dist/icons/MoreIcon.js +1 -1
  374. package/dist/icons/NotAllowedIcon.js +1 -1
  375. package/dist/icons/Number123Icon.js +1 -1
  376. package/dist/icons/NumberIcon.js +1 -1
  377. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  378. package/dist/icons/PauseCircleIcon.js +1 -1
  379. package/dist/icons/PauseIcon.js +1 -1
  380. package/dist/icons/PercentageIcon.js +1 -1
  381. package/dist/icons/PieChartIcon.js +1 -1
  382. package/dist/icons/PlayCircleIcon.js +1 -1
  383. package/dist/icons/PlayIcon.js +1 -1
  384. package/dist/icons/PlusIcon.js +1 -1
  385. package/dist/icons/ProgressBarIcon.js +1 -1
  386. package/dist/icons/ReloadIcon.js +1 -1
  387. package/dist/icons/ReportIcon.js +1 -1
  388. package/dist/icons/ReturnIcon.js +1 -1
  389. package/dist/icons/RightIcon.js +1 -1
  390. package/dist/icons/RowTotalsIcon.js +1 -1
  391. package/dist/icons/SchemeIcon.js +1 -1
  392. package/dist/icons/SearchIcon.js +1 -1
  393. package/dist/icons/SemanticQueryIcon.js +1 -1
  394. package/dist/icons/SettingsIcon.js +1 -1
  395. package/dist/icons/ShieldFilledIcon.js +1 -1
  396. package/dist/icons/ShieldIcon.js +1 -1
  397. package/dist/icons/SlashIcon.js +1 -1
  398. package/dist/icons/SparklesIcon.js +1 -1
  399. package/dist/icons/SqlIcon.js +1 -1
  400. package/dist/icons/StatsIcon.js +1 -1
  401. package/dist/icons/StopIcon.js +1 -1
  402. package/dist/icons/StringIcon.js +1 -1
  403. package/dist/icons/SubtotalsIcon.js +1 -1
  404. package/dist/icons/SwitchIcon.js +1 -1
  405. package/dist/icons/TableIcon.js +1 -1
  406. package/dist/icons/ThumbsDownIcon.js +1 -1
  407. package/dist/icons/ThumbsUpIcon.js +1 -1
  408. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  409. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  410. package/dist/icons/ThunderboltIcon.js +1 -1
  411. package/dist/icons/TimeIcon.js +1 -1
  412. package/dist/icons/TrashIcon.js +1 -1
  413. package/dist/icons/UnlockIcon.js +1 -1
  414. package/dist/icons/UpIcon.js +1 -1
  415. package/dist/icons/UserGroupIcon.js +1 -1
  416. package/dist/icons/UserIcon.js +1 -1
  417. package/dist/icons/UserLockIcon.js +1 -1
  418. package/dist/icons/ViewIcon.js +1 -1
  419. package/dist/icons/WarningFilledIcon.js +1 -1
  420. package/dist/icons/WarningIcon.js +1 -1
  421. package/dist/icons/wrap-icon.js +1 -1
  422. package/dist/index.d.ts +12 -2
  423. package/dist/index.js +8 -2
  424. package/dist/index.js.map +1 -1
  425. package/dist/provider.js +1 -1
  426. package/dist/providers/TrackingProvider.js +1 -1
  427. package/dist/providers/navigationAdapter.default.js +1 -1
  428. package/dist/tokens/base.js +1 -1
  429. package/dist/tokens/colors.js +1 -1
  430. package/dist/tokens/index.js +1 -1
  431. package/dist/tokens/layout.js +1 -1
  432. package/dist/tokens/palette.js +1 -1
  433. package/dist/tokens/shadows.js +1 -1
  434. package/dist/tokens/sizes.js +1 -1
  435. package/dist/tokens/spacing.js +1 -1
  436. package/dist/tokens/typography.js +1 -1
  437. package/dist/utils/ResizeSensor.js +1 -1
  438. package/dist/utils/is-dev-env.js +1 -1
  439. package/dist/utils/modules.js +1 -1
  440. package/dist/utils/promise.js +1 -1
  441. package/dist/utils/raf.js +1 -1
  442. package/dist/utils/random.js +1 -1
  443. package/dist/utils/range.js +1 -1
  444. package/dist/utils/react/RenderCache.js +1 -1
  445. package/dist/utils/react/Slots.js +1 -1
  446. package/dist/utils/react/chain.js +1 -1
  447. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  448. package/dist/utils/react/index.js +1 -1
  449. package/dist/utils/react/interactions.js +1 -1
  450. package/dist/utils/react/isTextOnly.js +1 -1
  451. package/dist/utils/react/mapProps.js +1 -1
  452. package/dist/utils/react/mergeProps.js +1 -1
  453. package/dist/utils/react/nullableValue.js +1 -1
  454. package/dist/utils/react/resolveIcon.js +1 -1
  455. package/dist/utils/react/sharedStore.js +1 -1
  456. package/dist/utils/react/useCombinedRefs.js +1 -1
  457. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  458. package/dist/utils/react/useEventBus.js +1 -1
  459. package/dist/utils/react/useId.js +1 -1
  460. package/dist/utils/react/useIsDarwin.js +1 -1
  461. package/dist/utils/react/useKeySymbols.js +1 -1
  462. package/dist/utils/react/useLayoutEffect.js +1 -1
  463. package/dist/utils/react/useLocalStorage.js +1 -1
  464. package/dist/utils/react/useMergeStyles.js +1 -1
  465. package/dist/utils/react/usePopoverSync.js +1 -1
  466. package/dist/utils/react/useQaProps.js +1 -1
  467. package/dist/utils/react/useViewportSize.js +1 -1
  468. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  469. package/dist/utils/selection.js +1 -1
  470. package/dist/utils/styles.js +1 -1
  471. package/dist/utils/tree.js +1 -1
  472. package/dist/utils/warnings.js +1 -1
  473. package/dist/version.js +2 -2
  474. package/docs/components/layout/Board.md +212 -0
  475. package/docs/components/navigation/Tabs.md +18 -2
  476. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import { useState } from "react";
3
3
  import { useFocus, useFocusVisible } from "react-aria";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import { Children, isValidElement } from "react";
3
3
 
4
4
  //#region src/utils/react/isTextOnly.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  //#region src/utils/react/mapProps.ts
3
3
  /** Converts AriaButtonProps to CubeButtonProps */
4
4
  function ariaToCubeButtonProps(props) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { mergeIds } from "./useId.js";
4
4
  import { mergeStyles } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  //#region src/utils/react/nullableValue.ts
3
3
  function castNullableStringValue(props) {
4
4
  return castNullableField(props, ["value", "defaultValue"], "string", (v) => String(v));
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  //#region src/utils/react/resolveIcon.ts
3
3
  /**
4
4
  * Resolves a dynamic icon prop to its content and slot state.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import { useEffect, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useCombinedRefs.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import { createSharedStore } from "./sharedStore.js";
3
3
  import { useEffect } from "react";
4
4
  import { useFocusVisible } from "react-aria";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useEventBus.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { useSSRSafeId } from "@react-aria/ssr";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useIsDarwin.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import { useIsDarwin } from "./useIsDarwin.js";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import * as React$1 from "react";
3
3
 
4
4
  //#region src/utils/react/useLayoutEffect.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useCallback, useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import { mergeStyles } from "@tenphi/tasty";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import { EventBusContext, useEventBus } from "./useEventBus.js";
3
3
  import { useCallback, useContext, useEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  //#region src/utils/react/useQaProps.ts
3
3
  /**
4
4
  * Processes QA props.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useViewportSize.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  import { isValidElement } from "react";
3
3
  import { isFragment } from "react-is";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  //#region src/utils/selection.ts
3
3
  /**
4
4
  * Deduplicate/toggle keys in a selection: if a key appears twice it is
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  //#region src/utils/styles.ts
3
3
  /**
4
4
  * Split properties into style and non-style properties.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  //#region src/utils/tree.ts
3
3
  function toFlatTree(tree, includingFolders) {
4
4
  return tree.reduce((result, node) => {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  //#region src/utils/warnings.ts
3
3
  const SUGGESTED_PROP_MAP = {
4
4
  disabled: "isDisabled",
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4c90a81 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
2
  //#region src/version.ts
3
- const VERSION = "0.0.0-canary-4c90a81";
3
+ const VERSION = "0.0.0-canary-c26fe9d";
4
4
  const TASTY_VERSION = "2.8.0";
5
5
  if (typeof window !== "undefined") {
6
6
  const version = VERSION;
@@ -0,0 +1,212 @@
1
+ # Board
2
+
3
+ A draggable and resizable widget grid for building dashboards. Widgets are
4
+ declared with `Board.Widget` and positioned via a `layout` (grid units). Wrap
5
+ multiple boards in a `BoardProvider` (`Board.Provider`) to drag widgets between
6
+ them, including out of a nested board into its parent.
7
+
8
+ Dragging and resizing are powered by React Aria's `useMove`, so they work with
9
+ mouse, touch, and keyboard (focus a widget and use the arrow keys). While a
10
+ widget is dragged with a pointer it renders into a fixed overlay so it is never
11
+ clipped by an ancestor's `overflow: hidden`.
12
+
13
+ ## When to Use
14
+
15
+ - Customizable dashboards where users arrange widgets
16
+ - Report/analytics layouts with resizable tiles
17
+ - Multi-panel workspaces where items move between areas
18
+ - Nested containers whose children can be dragged out
19
+
20
+ ## Component
21
+
22
+ ---
23
+
24
+ ## Concepts
25
+
26
+ - **Layout** — an array of items `{ i, x, y, w, h }` in grid units. `i` matches a
27
+ `Board.Widget` `id`.
28
+ - **Content vs. position** — `Board.Widget` declares content; the owning `Board`
29
+ positions it. This decoupling is what lets a widget be transferred between
30
+ boards.
31
+ - **Compaction** — `vertical` (default), `horizontal`, or `free`. In `free` mode a
32
+ widget is placed exactly where you drop it and its neighbours are never pushed
33
+ or swapped; without `allowOverlap` a drop onto an occupied cell is blocked, and
34
+ with `allowOverlap` widgets may stack for a fully free canvas.
35
+
36
+ ## Properties
37
+
38
+ ### Board
39
+
40
+ - **`layout`** `LayoutItem[]` — Controlled layout.
41
+ - **`defaultLayout`** `LayoutItem[]` — Initial layout for uncontrolled usage.
42
+ - **`onLayoutChange`** `(layout: LayoutItem[]) => void` — Called when a drag or resize is committed.
43
+ - **`onDragStart` / `onDrag` / `onDragStop`** `(info: BoardInteractionInfo) => void` — Drag lifecycle callbacks. `onDrag` fires on every step; `onDragStop` fires after the layout is committed.
44
+ - **`onResizeStart` / `onResize` / `onResizeStop`** `(info: BoardInteractionInfo) => void` — Resize lifecycle callbacks, mirroring the drag ones.
45
+ - **`cols`** `number` (default: `12`) — Number of columns.
46
+ - **`rowHeight`** `number` (default: `100`) — Row height in pixels.
47
+ - **`margin`** `[number, number]` (default: `[8, 8]`) — Horizontal/vertical gap between widgets.
48
+ - **`containerPadding`** `[number, number]` — Inner padding. Defaults to `margin`.
49
+ - **`maxRows`** `number` (default: `Infinity`) — Maximum number of rows.
50
+ - **`compact`** `'vertical' | 'horizontal' | 'free' | null` (default: `'vertical'`) — Compaction behavior. `'vertical'`/`'horizontal'` reflow widgets to remove gaps; `'free'` places each widget exactly where dropped and never pushes its neighbours (blocked from occupied cells unless `allowOverlap`); `null` disables compaction but still resolves collisions the legacy react-grid-layout way.
51
+ - **`allowOverlap`** `boolean` (default: `false`) — Allow widgets to overlap (stack). In `'free'` mode this is what distinguishes stacking from blocking a drop onto an occupied cell.
52
+ - **`preventCollision`** `boolean` (default: `false`) — Block movement into occupied cells instead of pushing.
53
+ - **`isDraggable`** `boolean` (default: `true`) — Enable dragging for all widgets.
54
+ - **`isResizable`** `boolean` (default: `true`) — Enable resizing for all widgets.
55
+ - **`isDroppable`** `boolean` (default: `true`) — Whether the board accepts widgets dropped from other boards.
56
+ - **`resizeHandles`** `ResizeHandleAxis[]` (default: `['se']`) — Which resize handles to show.
57
+ - **`dragCancel`** `string` — CSS selector for elements that must not start a pointer drag (e.g. form controls inside a widget: `"input,textarea,button,a,.no-drag"`). Keyboard moves are unaffected. Can be overridden per widget.
58
+ - **`dragHandle`** `string` — CSS selector for the only elements from which a pointer drag may start. Can be overridden per widget.
59
+ - **`showGridLines`** `boolean | 'drag'` (default: `false`) — Show grid lines behind the widgets. `true` always, `'drag'` only while a widget is being dragged or resized.
60
+ - **`isAligned`** `boolean` (default: `false`) — Align a nested board with its ancestor `Board`'s layout. Only takes effect when the board is nested inside another `Board`'s widget. When set, the board inherits the parent's column pitch (deriving its own column count from its measured width so cells stay parent-sized as the container is resized) and inherits the parent's row height as a target, shrinking rows slightly when needed to fit the height the container widget grants it. `cols`/`rowHeight` then act as fallbacks used only until the parent metrics resolve.
61
+ - **`constraints`** `LayoutConstraint[]` — Grid/item layout constraints.
62
+ - **`width`** `number` — Explicit width (disables measurement; useful for SSR/tests).
63
+ - **`place`** `Styles['place']` — Style prop shorthand for `place-items`/`place-content`.
64
+ - **`scrollMargin`** `Styles['scrollMargin']` — Style prop for scroll margin.
65
+
66
+ ### Board.Widget
67
+
68
+ - **`id`** `string` (required) — Must match the `i` of a layout item.
69
+ - **`isDraggable`** `boolean` — Disable dragging for this widget.
70
+ - **`isResizable`** `boolean` — Disable resizing for this widget.
71
+ - **`resizeHandles`** `ResizeHandleAxis[]` — Override the board's handles.
72
+ - **`constraints`** `LayoutConstraint[]` — Per-widget constraints.
73
+ - **`qa`** `string` — Test id for the rendered widget element.
74
+ - **`styles`** `Styles` — Style overrides for the rendered widget element.
75
+ - **`isAutoHeight`** `boolean` (default: `false`) — Grow this widget's height in its board to fit its content (only ever increases, never shrinks). Pair it with a nested `Board isAligned` so the container expands until the inner board's rows fit at the parent's row height. It also pins the widget's resize floor: you cannot drag the widget shorter than the height its content currently needs.
76
+ - **`dragCancel`** `string` — Override the board's `dragCancel` selector for this widget.
77
+ - **`dragHandle`** `string` — Override the board's `dragHandle` selector for this widget.
78
+
79
+ ### Board.Provider
80
+
81
+ Shares one drag context across multiple boards. A standalone `Board` provides its
82
+ own automatically; only use `Board.Provider` when you need cross-board dragging.
83
+
84
+ - **`onWidgetTransfer`** `(info: { widgetId, fromBoardId, toBoardId, item }) => void` —
85
+ Fired when a widget is dropped from one board into another.
86
+
87
+ Dragging a widget across a container that can unmount (for example, out of an
88
+ inactive `Tab`) requires controlled ownership: a widget's content is declared by
89
+ its `Board.Widget`, so if that declaration unmounts the content is lost. Keep
90
+ each board's `layout` controlled and, in response to `onWidgetTransfer`, move the
91
+ `Board.Widget` declaration into the destination container so the content follows
92
+ the widget. The [Boards inside Tabs](#boards-inside-tabs) example shows the
93
+ pattern.
94
+
95
+ ### Board.Responsive
96
+
97
+ A wrapper around `Board` that selects a layout and column count based on the
98
+ container's measured width, mirroring react-grid-layout's `Responsive` +
99
+ `WidthProvider`. It accepts all `Board` props except `layout`, `defaultLayout`,
100
+ `cols`, `onLayoutChange`, and `width` (which it manages), plus:
101
+
102
+ - **`breakpoints`** `Record<string, number>` — Breakpoint name to minimum container width (px).
103
+ - **`cols`** `Record<string, number>` — Breakpoint name to column count.
104
+ - **`layouts`** `Record<string, LayoutItem[]>` — Controlled per-breakpoint layouts.
105
+ - **`defaultLayouts`** `Record<string, LayoutItem[]>` — Initial per-breakpoint layouts for uncontrolled usage.
106
+ - **`onLayoutChange`** `(currentLayout: LayoutItem[], allLayouts: Record<string, LayoutItem[]>) => void` — Called on commit with the active breakpoint's layout and the full map.
107
+ - **`onBreakpointChange`** `(breakpoint: string, cols: number) => void` — Called when the active breakpoint changes.
108
+ - **`breakpoint`** `string` — Force a specific breakpoint regardless of width (e.g. for a fixed-size screenshot or PDF export).
109
+ - **`width`** `number` — Explicit width; disables measurement (SSR/tests/forced-size exports).
110
+
111
+ A breakpoint with no layout is synthesized from the nearest available one,
112
+ corrected into bounds and compacted for the target column count.
113
+
114
+ ### Base Properties
115
+
116
+ Supports [Base properties](../../BaseProperties.md).
117
+
118
+ ### Style Properties
119
+
120
+ These properties allow direct style application without using the `styles` prop.
121
+ Note: `margin` is repurposed as the grid gap (see Properties above) rather than a
122
+ CSS margin.
123
+
124
+ - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
125
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
126
+ - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
127
+ - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
128
+ - **Color:** `color`, `fill`, `fade`, `image`
129
+ - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
130
+
131
+ ## Examples
132
+
133
+ ### Controlled layout
134
+
135
+ ### Free positioning
136
+
137
+ A widget stays exactly where you drop it and never shuffles its neighbours.
138
+ Dropping onto an occupied cell is blocked, so the widget stays at its last free
139
+ spot.
140
+
141
+ ### Free positioning (overlap)
142
+
143
+ Add `allowOverlap` to let widgets stack on top of each other instead of being
144
+ blocked from occupied cells.
145
+
146
+ ### Horizontal compaction
147
+
148
+ ### Non-resizable
149
+
150
+ ### Grid lines
151
+
152
+ Show grid lines behind the widgets while dragging or resizing (or always).
153
+
154
+ ### Drag cancel
155
+
156
+ Keep interactive controls inside a widget clickable by excluding them from the
157
+ drag gesture with `dragCancel`.
158
+
159
+ ### Responsive
160
+
161
+ `Board.Responsive` swaps the layout and column count per breakpoint.
162
+
163
+ ### Cross-board dragging
164
+
165
+ Wrap boards in `Board.Provider` to drag widgets between them.
166
+
167
+ ### Nested boards
168
+
169
+ A `Board` can be placed inside a `Board.Widget`, making the whole container
170
+ draggable while its children can be dragged out into sibling boards.
171
+
172
+ Set `isAligned` on the nested board to align it with the surrounding layout: its
173
+ columns keep the parent's pixel pitch (so resizing the container adds or removes
174
+ columns instead of stretching them), and its rows inherit the parent's row
175
+ height, shrinking slightly when needed to fit the space the container widget
176
+ gives it.
177
+
178
+ Add `isAutoHeight` to the container `Board.Widget` to grow it (only ever taller)
179
+ until the inner board's rows fit at the parent's row height, so an aligned board
180
+ never has to squeeze its rows. It also stops the container's resize handle at
181
+ that height, so you can't drag it shorter than the inner board needs.
182
+
183
+ ### Boards inside Tabs
184
+
185
+ A `Board.Widget` can host a `Tabs` where each tab renders its own `Board`, all
186
+ under a shared `Board.Provider` so widgets can be dragged between tabs and out
187
+ into the surrounding board. Because an inactive tab unmounts, this example is
188
+ fully controlled: each board's `layout` is controlled and `onWidgetTransfer`
189
+ moves a widget's declaration into the destination container so its content
190
+ survives dragging out of (and switching away from) a tab.
191
+
192
+ When a `Tabs` sits inside a `Board`, tab switching becomes "spring-loaded"
193
+ automatically: while you drag a widget, hovering a tab header for a moment opens
194
+ that tab so you can drop into it (or move a widget between tabs). This needs no
195
+ setup - `Tabs` detects the active Board drag and, for its duration, keeps panels
196
+ mounted so the tab a widget is dragged out of (and the board owning the in-flight
197
+ drag) is not unmounted mid-gesture. Spring-loading works with mouse and pen;
198
+ touch drags capture the pointer, so they do not trigger it.
199
+
200
+ ## Accessibility
201
+
202
+ - Widgets are focusable when draggable. Press <kbd>Tab</kbd> to focus a widget,
203
+ then use the arrow keys to move it one cell at a time.
204
+ - Dragging, resizing, and keyboard movement are all handled by React Aria's
205
+ `useMove`, which normalizes mouse, touch, and keyboard interactions.
206
+
207
+ ## Attribution
208
+
209
+ The layout engine in `grid-core/` is a vendored, trimmed copy of
210
+ [react-grid-layout](https://github.com/react-grid-layout/react-grid-layout)
211
+ (MIT). The React layer is a UI Kit-native reimplementation on top of tasty and
212
+ React Aria. See `grid-core/NOTICE.md`.
@@ -131,8 +131,12 @@ DOM order is always "bar then panels" — visual order is controlled internally
131
131
 
132
132
  ```jsx
133
133
  <Tabs placement="left" defaultActiveKey="overview">
134
- <Tab key="overview" title="Overview">Overview content</Tab>
135
- <Tab key="settings" title="Settings">Settings content</Tab>
134
+ <Tab key="overview" title="Overview">
135
+ Overview content
136
+ </Tab>
137
+ <Tab key="settings" title="Settings">
138
+ Settings content
139
+ </Tab>
136
140
  </Tabs>
137
141
  ```
138
142
 
@@ -827,6 +831,18 @@ Tabs work seamlessly inside Layout components. When placed in a `Layout` or `Lay
827
831
  - Tab panels use `display: contents`, allowing children to participate in parent flex layout
828
832
  - Nested Layout components with `flexGrow: 1` (default) stretch to fill remaining space
829
833
 
834
+ ### Inside a Board (spring-loaded switching)
835
+
836
+ When `Tabs` is rendered inside a [`Board`](../layout/Board.md), tab
837
+ switching becomes spring-loaded automatically: while a Board widget is being
838
+ dragged, hovering a tab header for a moment opens that tab, so a widget can be
839
+ dropped into it or moved between tabs. This requires no configuration - `Tabs`
840
+ detects the active Board drag and, for its duration, keeps panels mounted so the
841
+ tab a widget is dragged out of (and the board owning the in-flight gesture) is
842
+ not unmounted mid-drag. Spring-loading works with mouse and pen; touch drags
843
+ capture the pointer and do not trigger it. Outside a `Board` this behavior is
844
+ inert.
845
+
830
846
  ## Accessibility
831
847
 
832
848
  ### Keyboard Navigation
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cube-dev/ui-kit",
3
- "version": "0.0.0-canary-4c90a81",
3
+ "version": "0.0.0-canary-c26fe9d",
4
4
  "type": "module",
5
5
  "description": "UIKit for Cube Projects",
6
6
  "repository": {