@cube-dev/ui-kit 0.0.0-canary-41b5172 → 0.0.0-canary-5299f5a

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 (576) 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 +2 -5
  18. package/dist/components/actions/Banner/Banner.js.map +1 -1
  19. package/dist/components/actions/Button/Button.d.ts +4 -2
  20. package/dist/components/actions/Button/Button.js +8 -5
  21. package/dist/components/actions/Button/Button.js.map +1 -1
  22. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  23. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  24. package/dist/components/actions/ButtonSplit/context.js +1 -1
  25. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  26. package/dist/components/actions/CommandMenu/styled.js +1 -1
  27. package/dist/components/actions/ItemAction/ItemAction.d.ts +2 -2
  28. package/dist/components/actions/ItemAction/ItemAction.js +8 -5
  29. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  30. package/dist/components/actions/ItemActionContext.js +1 -1
  31. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  32. package/dist/components/actions/Link/Link.js +1 -1
  33. package/dist/components/actions/Menu/Menu.js +1 -1
  34. package/dist/components/actions/Menu/MenuItem.js +1 -1
  35. package/dist/components/actions/Menu/MenuSection.js +1 -1
  36. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  37. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  38. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  39. package/dist/components/actions/Menu/context.js +1 -1
  40. package/dist/components/actions/Menu/styled.js +1 -1
  41. package/dist/components/actions/index.js +1 -1
  42. package/dist/components/actions/use-action.js +1 -1
  43. package/dist/components/actions/use-anchored-menu.js +1 -1
  44. package/dist/components/actions/use-context-menu.js +1 -1
  45. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  46. package/dist/components/content/Alert/Alert.js +1 -1
  47. package/dist/components/content/Alert/use-alert.js +1 -1
  48. package/dist/components/content/Avatar/Avatar.js +1 -1
  49. package/dist/components/content/Badge/Badge.js +1 -1
  50. package/dist/components/content/Card/Card.js +1 -1
  51. package/dist/components/content/Content.js +1 -1
  52. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  53. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  54. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  55. package/dist/components/content/Divider.js +1 -1
  56. package/dist/components/content/Footer.js +1 -1
  57. package/dist/components/content/Header.js +1 -1
  58. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  59. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  60. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  61. package/dist/components/content/Item/Item.d.ts +2 -2
  62. package/dist/components/content/Item/Item.js +8 -10
  63. package/dist/components/content/Item/Item.js.map +1 -1
  64. package/dist/components/content/ItemBadge/ItemBadge.d.ts +2 -2
  65. package/dist/components/content/ItemBadge/ItemBadge.js +8 -5
  66. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  67. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  68. package/dist/components/content/Layout/GridLayout.js +1 -1
  69. package/dist/components/content/Layout/Layout.js +1 -1
  70. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  71. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  72. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  73. package/dist/components/content/Layout/LayoutContent.js +1 -1
  74. package/dist/components/content/Layout/LayoutContext.js +1 -1
  75. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  76. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  77. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  78. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  79. package/dist/components/content/Layout/LayoutPane.js +1 -1
  80. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  81. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  82. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  83. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  84. package/dist/components/content/Layout/index.js +1 -1
  85. package/dist/components/content/Layout/utils.js +1 -1
  86. package/dist/components/content/Paragraph.js +1 -1
  87. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  88. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  89. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  90. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  91. package/dist/components/content/Result/Result.js +1 -1
  92. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  93. package/dist/components/content/Tag/Tag.js +1 -1
  94. package/dist/components/content/Text.d.ts +14 -14
  95. package/dist/components/content/Text.js +1 -1
  96. package/dist/components/content/TextItem/TextItem.js +1 -1
  97. package/dist/components/content/Title.js +1 -1
  98. package/dist/components/content/Tree/Tree.js +1 -1
  99. package/dist/components/content/Tree/TreeNode.js +1 -1
  100. package/dist/components/content/Tree/styled.js +1 -1
  101. package/dist/components/content/Tree/tree-index.js +1 -1
  102. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  103. package/dist/components/content/Tree/use-load-data.js +1 -1
  104. package/dist/components/content/highlightText.js +1 -1
  105. package/dist/components/content/use-auto-tooltip.js +1 -1
  106. package/dist/components/data/DataTable/DataTable.js +1 -1
  107. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  108. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  109. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  110. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  111. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  112. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  113. package/dist/components/data/TableBase/RowCollection.js +1 -1
  114. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  115. package/dist/components/data/TableBase/TableRow.js +1 -1
  116. package/dist/components/data/TableBase/TableView.js +1 -1
  117. package/dist/components/data/TableBase/column-menu.js +1 -1
  118. package/dist/components/data/TableBase/column-tint.js +1 -1
  119. package/dist/components/data/TableBase/row-menu.js +1 -1
  120. package/dist/components/data/TableBase/styled.d.ts +2 -1
  121. package/dist/components/data/TableBase/styled.js +1 -1
  122. package/dist/components/data/TableBase/types.js +1 -1
  123. package/dist/components/data/TableBase/use-cell-selection.d.ts +1 -0
  124. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  125. package/dist/components/data/TableBase/use-column-order.js +1 -1
  126. package/dist/components/data/TableBase/use-container-width.js +1 -1
  127. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  128. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  129. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  130. package/dist/components/data/TableBase/use-table-search.js +1 -1
  131. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  132. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  133. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  134. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  135. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  136. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  137. package/dist/components/fields/Checkbox/context.js +1 -1
  138. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  139. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  140. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  141. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  142. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  143. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  144. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  145. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  146. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  147. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  148. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  149. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  150. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  151. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  152. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  153. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  154. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  155. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  156. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  157. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  158. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  159. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  160. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  161. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  162. package/dist/components/fields/DatePicker/period.js +1 -1
  163. package/dist/components/fields/DatePicker/props.js +1 -1
  164. package/dist/components/fields/DatePicker/utils.js +1 -1
  165. package/dist/components/fields/FileInput/FileInput.js +1 -1
  166. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  167. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  168. package/dist/components/fields/Input/Input.js +1 -1
  169. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  170. package/dist/components/fields/ListBox/ListBox.js +1 -1
  171. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  172. package/dist/components/fields/ListBoxPopover/index.d.ts +1 -0
  173. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  174. package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +2 -0
  175. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  176. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  177. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  178. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  179. package/dist/components/fields/Picker/Picker.js +1 -1
  180. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  181. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  182. package/dist/components/fields/RadioGroup/context.js +1 -1
  183. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  184. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  185. package/dist/components/fields/Select/Select.js +1 -1
  186. package/dist/components/fields/Slider/Gradation.js +1 -1
  187. package/dist/components/fields/Slider/HueSlider.js +1 -1
  188. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  189. package/dist/components/fields/Slider/Slider.js +1 -1
  190. package/dist/components/fields/Slider/SliderBase.js +1 -1
  191. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  192. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  193. package/dist/components/fields/Slider/elements.js +1 -1
  194. package/dist/components/fields/Slider/index.js +1 -1
  195. package/dist/components/fields/Switch/Switch.js +1 -1
  196. package/dist/components/fields/TextArea/TextArea.js +1 -1
  197. package/dist/components/fields/TextInput/TextInput.js +1 -1
  198. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  199. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  200. package/dist/components/fields/color/ColorPanel.js +1 -1
  201. package/dist/components/fields/color/channels.js +1 -1
  202. package/dist/components/fields/color/color.js +1 -1
  203. package/dist/components/fields/color/context.js +1 -1
  204. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  205. package/dist/components/form/Form/Field.js +1 -1
  206. package/dist/components/form/Form/Form.js +1 -1
  207. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  208. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  209. package/dist/components/form/Form/SubmitError.js +1 -1
  210. package/dist/components/form/Form/index.js +1 -1
  211. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  212. package/dist/components/form/Form/use-field/use-field.js +1 -1
  213. package/dist/components/form/Form/use-form.js +1 -1
  214. package/dist/components/form/Form/validation.js +1 -1
  215. package/dist/components/form/Label.js +1 -1
  216. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  217. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  218. package/dist/components/form/validation/use-validation-props.js +1 -1
  219. package/dist/components/form/wrapper.js +1 -1
  220. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  221. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  222. package/dist/components/layout/Board/Board.d.ts +5 -34
  223. package/dist/components/layout/Board/Board.js +5 -11
  224. package/dist/components/layout/Board/Board.js.map +1 -1
  225. package/dist/components/layout/Board/BoardProvider.js +1 -1
  226. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  227. package/dist/components/layout/Board/Widget.d.ts +1 -16
  228. package/dist/components/layout/Board/Widget.js +2 -3
  229. package/dist/components/layout/Board/Widget.js.map +1 -1
  230. package/dist/components/layout/Board/WidgetHost.js +17 -92
  231. package/dist/components/layout/Board/WidgetHost.js.map +1 -1
  232. package/dist/components/layout/Board/board-context.js +5 -5
  233. package/dist/components/layout/Board/board-context.js.map +1 -1
  234. package/dist/components/layout/Board/board-store.d.ts +0 -1
  235. package/dist/components/layout/Board/board-store.js +2 -2
  236. package/dist/components/layout/Board/board-store.js.map +1 -1
  237. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  238. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  239. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  240. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  241. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  242. package/dist/components/layout/Board/grid-core/layout.js +2 -12
  243. package/dist/components/layout/Board/grid-core/layout.js.map +1 -1
  244. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  245. package/dist/components/layout/Board/grid-core/types.d.ts +1 -17
  246. package/dist/components/layout/Board/index.d.ts +2 -2
  247. package/dist/components/layout/Board/index.js +1 -1
  248. package/dist/components/layout/Board/index.js.map +1 -1
  249. package/dist/components/layout/Board/responsive-utils.js +1 -1
  250. package/dist/components/layout/Board/use-board-layout.js +1 -1
  251. package/dist/components/layout/Board/use-board-registry.js +9 -57
  252. package/dist/components/layout/Board/use-board-registry.js.map +1 -1
  253. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  254. package/dist/components/layout/Board/use-board-selection.js +1 -1
  255. package/dist/components/layout/Flex.js +1 -1
  256. package/dist/components/layout/Flow.js +1 -1
  257. package/dist/components/layout/Grid.js +1 -1
  258. package/dist/components/layout/Panel.js +1 -1
  259. package/dist/components/layout/Prefix.js +1 -1
  260. package/dist/components/layout/ResizablePanel.js +1 -1
  261. package/dist/components/layout/Space.js +1 -1
  262. package/dist/components/layout/Suffix.js +1 -1
  263. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  264. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  265. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  266. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  267. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  268. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  269. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  270. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  271. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  272. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  273. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  274. package/dist/components/navigation/Tabs/styled.js +1 -1
  275. package/dist/components/navigation/Tabs/types.js +1 -1
  276. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  277. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  278. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  279. package/dist/components/other/Calendar/Calendar.js +1 -1
  280. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  281. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  282. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  283. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  284. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  285. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  286. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  287. package/dist/components/other/Calendar/styled.js +1 -1
  288. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  289. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  290. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  291. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  292. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  293. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  294. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  295. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  296. package/dist/components/overlays/Dialog/context.js +1 -1
  297. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  298. package/dist/components/overlays/Modal/Modal.d.ts +2 -1
  299. package/dist/components/overlays/Modal/Modal.js +1 -1
  300. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  301. package/dist/components/overlays/Modal/Overlay.d.ts +1 -0
  302. package/dist/components/overlays/Modal/Overlay.js +1 -1
  303. package/dist/components/overlays/Modal/Popover.js +1 -1
  304. package/dist/components/overlays/Modal/Tray.js +1 -1
  305. package/dist/components/overlays/Modal/Underlay.js +1 -1
  306. package/dist/components/overlays/Modal/types.d.ts +1 -0
  307. package/dist/components/overlays/Notifications/Notification.js +1 -1
  308. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  309. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  310. package/dist/components/overlays/Notifications/NotificationContext.d.ts +2 -0
  311. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  312. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  313. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  314. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  315. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  316. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  317. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  318. package/dist/components/overlays/Notifications/index.js +1 -1
  319. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  320. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  321. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  322. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  323. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  324. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  325. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  326. package/dist/components/overlays/Toast/index.js +1 -1
  327. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  328. package/dist/components/overlays/Toast/useToast.js +1 -1
  329. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  330. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  331. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  332. package/dist/components/overlays/Tooltip/context.js +1 -1
  333. package/dist/components/portal/Portal.js +1 -1
  334. package/dist/components/portal/PortalProvider.d.ts +2 -0
  335. package/dist/components/portal/PortalProvider.js +1 -1
  336. package/dist/components/portal/index.d.ts +1 -0
  337. package/dist/components/portal/usePortal.js +1 -1
  338. package/dist/components/shared/DraggableCollection.js +1 -1
  339. package/dist/components/shared/InvalidIcon.js +1 -1
  340. package/dist/components/shared/ValidIcon.js +1 -1
  341. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  342. package/dist/components/status/Spin/Cube.js +1 -1
  343. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  344. package/dist/components/status/Spin/Spin.js +1 -1
  345. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  346. package/dist/data/item-themes.d.ts +1 -1
  347. package/dist/data/item-themes.js +130 -46
  348. package/dist/data/item-themes.js.map +1 -1
  349. package/dist/data/themes.js +1 -1
  350. package/dist/eslint-plugin/defaults.generated.js +7 -17
  351. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  352. package/dist/eslint-plugin/index.js +1 -1
  353. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  354. package/dist/i18n/I18nProvider.js +1 -1
  355. package/dist/i18n/createFormatter.js +1 -1
  356. package/dist/i18n/index.js +1 -1
  357. package/dist/i18n/instance.js +1 -1
  358. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  359. package/dist/i18n/locales/en-US/uikit.js +1 -1
  360. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  361. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  362. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  363. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  364. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  365. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  366. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  367. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  368. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  369. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  370. package/dist/i18n/locales.js +1 -1
  371. package/dist/i18n/useFormatter.js +1 -1
  372. package/dist/i18n/useI18n.js +1 -1
  373. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  374. package/dist/icons/AdjustmentsIcon.js +1 -1
  375. package/dist/icons/AiIcon.js +1 -1
  376. package/dist/icons/AreaChartIcon.js +1 -1
  377. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  378. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  379. package/dist/icons/BackwardIcon.js +1 -1
  380. package/dist/icons/BarChartIcon.js +1 -1
  381. package/dist/icons/BellFilledIcon.js +1 -1
  382. package/dist/icons/BellIcon.js +1 -1
  383. package/dist/icons/BooleanIcon.js +1 -1
  384. package/dist/icons/CalendarEditIcon.js +1 -1
  385. package/dist/icons/CalendarIcon.js +1 -1
  386. package/dist/icons/CaretDownIcon.js +1 -1
  387. package/dist/icons/CaretUpIcon.js +1 -1
  388. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  389. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  390. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  391. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  392. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  393. package/dist/icons/ChartBarLineIcon.js +1 -1
  394. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  395. package/dist/icons/ChartBarStackedIcon.js +1 -1
  396. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  397. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  398. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  399. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  400. package/dist/icons/ChartBubbleIcon.js +1 -1
  401. package/dist/icons/ChartDonut2Icon.js +1 -1
  402. package/dist/icons/ChartFunnelIcon.js +1 -1
  403. package/dist/icons/ChartHeatmapIcon.js +1 -1
  404. package/dist/icons/ChartKPIIcon.js +1 -1
  405. package/dist/icons/ChartPie2Icon.js +1 -1
  406. package/dist/icons/ChartScatterIcon.js +1 -1
  407. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  408. package/dist/icons/CheckCircleIcon.js +1 -1
  409. package/dist/icons/CheckIcon.js +1 -1
  410. package/dist/icons/CircleFilledIcon.js +1 -1
  411. package/dist/icons/ClearIcon.js +1 -1
  412. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  413. package/dist/icons/CloseCircleIcon.js +1 -1
  414. package/dist/icons/CloseIcon.js +1 -1
  415. package/dist/icons/CodeIcon.js +1 -1
  416. package/dist/icons/ColumnTotalIcon.js +1 -1
  417. package/dist/icons/CopyIcon.js +1 -1
  418. package/dist/icons/CountIcon.js +1 -1
  419. package/dist/icons/CubeIcon.js +1 -1
  420. package/dist/icons/CubePauseIcon.js +1 -1
  421. package/dist/icons/CubePlayIcon.js +1 -1
  422. package/dist/icons/CurrencyDollarIcon.js +1 -1
  423. package/dist/icons/DangerIcon.js +1 -1
  424. package/dist/icons/DashboardIcon.js +1 -1
  425. package/dist/icons/DatabaseIcon.js +1 -1
  426. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  427. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  428. package/dist/icons/DirectionIcon.js +1 -1
  429. package/dist/icons/DonutIcon.js +1 -1
  430. package/dist/icons/DownIcon.js +1 -1
  431. package/dist/icons/EditIcon.js +1 -1
  432. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  433. package/dist/icons/ExclamationCircleIcon.js +1 -1
  434. package/dist/icons/ExclamationIcon.js +1 -1
  435. package/dist/icons/EyeIcon.js +1 -1
  436. package/dist/icons/EyeInvisibleIcon.js +1 -1
  437. package/dist/icons/FilterIcon.js +1 -1
  438. package/dist/icons/FolderFilledIcon.js +1 -1
  439. package/dist/icons/FolderIcon.js +1 -1
  440. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  441. package/dist/icons/FolderOpenIcon.js +1 -1
  442. package/dist/icons/ForwardIcon.js +1 -1
  443. package/dist/icons/GripVerticalIcon.js +1 -1
  444. package/dist/icons/HierarchyIcon.js +1 -1
  445. package/dist/icons/HierarchyOpenIcon.js +1 -1
  446. package/dist/icons/Icon.js +1 -1
  447. package/dist/icons/InfoCircleIcon.js +1 -1
  448. package/dist/icons/InfoIcon.js +1 -1
  449. package/dist/icons/KeyIcon.js +1 -1
  450. package/dist/icons/LeftIcon.js +1 -1
  451. package/dist/icons/LineChartIcon.js +1 -1
  452. package/dist/icons/LoadingIcon.js +1 -1
  453. package/dist/icons/LockFilledIcon.js +1 -1
  454. package/dist/icons/LockIcon.js +1 -1
  455. package/dist/icons/MoreIcon.js +1 -1
  456. package/dist/icons/NotAllowedIcon.js +1 -1
  457. package/dist/icons/Number123Icon.js +1 -1
  458. package/dist/icons/NumberIcon.js +1 -1
  459. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  460. package/dist/icons/PauseCircleIcon.js +1 -1
  461. package/dist/icons/PauseIcon.js +1 -1
  462. package/dist/icons/PercentageIcon.js +1 -1
  463. package/dist/icons/PieChartIcon.js +1 -1
  464. package/dist/icons/PipetteIcon.js +1 -1
  465. package/dist/icons/PlayCircleIcon.js +1 -1
  466. package/dist/icons/PlayIcon.js +1 -1
  467. package/dist/icons/PlusIcon.js +1 -1
  468. package/dist/icons/ProgressBarIcon.js +1 -1
  469. package/dist/icons/ReloadIcon.js +1 -1
  470. package/dist/icons/ReportIcon.js +1 -1
  471. package/dist/icons/ReturnIcon.js +1 -1
  472. package/dist/icons/RightIcon.js +1 -1
  473. package/dist/icons/RowTotalsIcon.js +1 -1
  474. package/dist/icons/SchemeIcon.js +1 -1
  475. package/dist/icons/SearchIcon.js +1 -1
  476. package/dist/icons/SemanticQueryIcon.js +1 -1
  477. package/dist/icons/SettingsIcon.js +1 -1
  478. package/dist/icons/ShieldFilledIcon.js +1 -1
  479. package/dist/icons/ShieldIcon.js +1 -1
  480. package/dist/icons/SlashIcon.js +1 -1
  481. package/dist/icons/SparklesIcon.js +1 -1
  482. package/dist/icons/SqlIcon.js +1 -1
  483. package/dist/icons/StatsIcon.js +1 -1
  484. package/dist/icons/StopIcon.js +1 -1
  485. package/dist/icons/StringIcon.js +1 -1
  486. package/dist/icons/SubtotalsIcon.js +1 -1
  487. package/dist/icons/SwitchIcon.js +1 -1
  488. package/dist/icons/TableIcon.js +1 -1
  489. package/dist/icons/ThumbsDownIcon.js +1 -1
  490. package/dist/icons/ThumbsUpIcon.js +1 -1
  491. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  492. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  493. package/dist/icons/ThunderboltIcon.js +1 -1
  494. package/dist/icons/TimeIcon.js +1 -1
  495. package/dist/icons/TrashIcon.js +1 -1
  496. package/dist/icons/UnlockIcon.js +1 -1
  497. package/dist/icons/UpIcon.js +1 -1
  498. package/dist/icons/UserGroupIcon.js +1 -1
  499. package/dist/icons/UserIcon.js +1 -1
  500. package/dist/icons/UserLockIcon.js +1 -1
  501. package/dist/icons/ViewIcon.js +1 -1
  502. package/dist/icons/WarningFilledIcon.js +1 -1
  503. package/dist/icons/WarningIcon.js +1 -1
  504. package/dist/icons/wrap-icon.js +1 -1
  505. package/dist/index.d.ts +3 -3
  506. package/dist/index.js +1 -1
  507. package/dist/index.js.map +1 -1
  508. package/dist/probe/canonicalize.js +1 -1
  509. package/dist/probe/css.js +1 -1
  510. package/dist/probe/index.js +1 -1
  511. package/dist/provider.js +1 -1
  512. package/dist/providers/TrackingProvider.js +1 -1
  513. package/dist/providers/navigationAdapter.default.js +1 -1
  514. package/dist/tokens/base.js +1 -1
  515. package/dist/tokens/color-seed.js +1 -1
  516. package/dist/tokens/color-theme.js +1 -1
  517. package/dist/tokens/colors.js +1 -1
  518. package/dist/tokens/index.js +1 -1
  519. package/dist/tokens/layout.js +1 -1
  520. package/dist/tokens/lazy-styles.js +1 -1
  521. package/dist/tokens/palette-config.js +1 -1
  522. package/dist/tokens/palette.js +6 -1
  523. package/dist/tokens/palette.js.map +1 -1
  524. package/dist/tokens/shadows.js +1 -1
  525. package/dist/tokens/sizes.js +1 -1
  526. package/dist/tokens/spacing.js +1 -1
  527. package/dist/tokens/typography.js +1 -1
  528. package/dist/utils/ResizeSensor.js +1 -1
  529. package/dist/utils/is-dev-env.js +1 -1
  530. package/dist/utils/modules.js +1 -1
  531. package/dist/utils/promise.js +1 -1
  532. package/dist/utils/raf.js +1 -1
  533. package/dist/utils/random.js +1 -1
  534. package/dist/utils/range.js +1 -1
  535. package/dist/utils/react/RenderCache.js +1 -1
  536. package/dist/utils/react/Slots.js +1 -1
  537. package/dist/utils/react/chain.js +1 -1
  538. package/dist/utils/react/disabledProps.js +1 -1
  539. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  540. package/dist/utils/react/index.js +1 -1
  541. package/dist/utils/react/interactions.js +1 -1
  542. package/dist/utils/react/isTextOnly.js +1 -1
  543. package/dist/utils/react/mapProps.js +1 -1
  544. package/dist/utils/react/mergeProps.js +1 -1
  545. package/dist/utils/react/nullableValue.js +1 -1
  546. package/dist/utils/react/resolveIcon.js +1 -1
  547. package/dist/utils/react/sharedStore.js +1 -1
  548. package/dist/utils/react/useBufferedValue.js +1 -1
  549. package/dist/utils/react/useCombinedRefs.js +1 -1
  550. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  551. package/dist/utils/react/useEventBus.js +1 -1
  552. package/dist/utils/react/useId.js +1 -1
  553. package/dist/utils/react/useIsDarwin.js +1 -1
  554. package/dist/utils/react/useKeySymbols.js +1 -1
  555. package/dist/utils/react/useLayoutEffect.js +1 -1
  556. package/dist/utils/react/useLocalStorage.js +1 -1
  557. package/dist/utils/react/useMergeStyles.js +1 -1
  558. package/dist/utils/react/usePopoverSync.js +1 -1
  559. package/dist/utils/react/useQaProps.js +1 -1
  560. package/dist/utils/react/useViewportSize.js +1 -1
  561. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  562. package/dist/utils/selection.js +1 -1
  563. package/dist/utils/styles.js +1 -1
  564. package/dist/utils/tree.js +1 -1
  565. package/dist/utils/warnings.js +1 -1
  566. package/dist/version.js +2 -2
  567. package/docs/Theming.md +1 -1
  568. package/docs/Usage.md +1 -0
  569. package/docs/components/actions/Button.md +9 -3
  570. package/docs/components/actions/ItemAction.md +3 -3
  571. package/docs/components/content/Item.md +10 -10
  572. package/docs/components/content/ItemBadge.md +2 -2
  573. package/docs/components/layout/Board.md +2 -20
  574. package/package.json +1 -1
  575. package/dist/components/layout/Board/grid-core/collision-modes.js +0 -168
  576. package/dist/components/layout/Board/grid-core/collision-modes.js.map +0 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-41b5172 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5299f5a | Cube Dev Team */
2
2
  import { collides, getFirstCollision } from "./collision.js";
3
3
  import { sortLayoutItemsByColRow, sortLayoutItemsByRowCol } from "./sort.js";
4
4
  import { bottom, cloneLayout, cloneLayoutItem, getStatics } from "./layout.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-41b5172 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5299f5a | Cube Dev Team */
2
2
  import { getAllCollisions, getFirstCollision } from "./collision.js";
3
3
  import { sortLayoutItems } from "./sort.js";
4
4
 
@@ -107,7 +107,7 @@ function correctBounds(layout, bounds) {
107
107
  *
108
108
  * **Note**: mutates the `l` parameter directly for performance.
109
109
  */
110
- function moveElement(layout, l, x, y, isUserAction, preventCollision, compactType, cols, allowOverlap, options) {
110
+ function moveElement(layout, l, x, y, isUserAction, preventCollision, compactType, cols, allowOverlap) {
111
111
  if (l.static && l.isDraggable !== true) return [...layout];
112
112
  if (l.y === y && l.x === x) return [...layout];
113
113
  const oldX = l.x;
@@ -121,16 +121,6 @@ function moveElement(layout, l, x, y, isUserAction, preventCollision, compactTyp
121
121
  const hasCollisions = collisions.length > 0;
122
122
  if (hasCollisions && allowOverlap) return cloneLayout(layout);
123
123
  if (hasCollisions && preventCollision) {
124
- const resolved = options?.resolveCollision?.({
125
- layout,
126
- item: l,
127
- collisions,
128
- from: {
129
- x: oldX,
130
- y: oldY
131
- }
132
- });
133
- if (resolved) return resolved;
134
124
  l.x = oldX;
135
125
  l.y = oldY;
136
126
  l.moved = false;
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","names":[],"sources":["../../../../../src/components/layout/Board/grid-core/layout.ts"],"sourcesContent":["/**\n * Core layout manipulation utilities.\n *\n * Vendored from react-grid-layout v2 (`src/core/layout.ts`).\n * See ./NOTICE.md for attribution and license.\n *\n * These functions create, modify, and query grid layouts. Most functions treat\n * layouts as immutable and return new arrays/objects, but a few mutate items in\n * place for performance (documented per function).\n */\n\nimport { getAllCollisions, getFirstCollision } from './collision';\nimport { sortLayoutItems } from './sort';\n\nimport type {\n CompactType,\n Layout,\n LayoutItem,\n MoveElementOptions,\n Mutable,\n} from './types';\n\n// ============================================================================\n// Layout Queries\n// ============================================================================\n\n/**\n * Get the bottom-most Y coordinate of the layout (max of y + h).\n */\nexport function bottom(layout: Layout): number {\n let max = 0;\n for (let i = 0; i < layout.length; i++) {\n const item = layout[i];\n if (item !== undefined) {\n const bottomY = item.y + item.h;\n if (bottomY > max) max = bottomY;\n }\n }\n return max;\n}\n\n/** Get a layout item by its ID. */\nexport function getLayoutItem(\n layout: Layout,\n id: string,\n): LayoutItem | undefined {\n for (let i = 0; i < layout.length; i++) {\n const item = layout[i];\n if (item !== undefined && item.i === id) {\n return item;\n }\n }\n return undefined;\n}\n\n/** Get all static items from the layout. */\nexport function getStatics(layout: Layout): LayoutItem[] {\n return layout.filter((l): l is LayoutItem => l.static === true);\n}\n\n// ============================================================================\n// Layout Cloning\n// ============================================================================\n\n/** Clone a layout item (shallow copy, boolean flags normalized). */\nexport function cloneLayoutItem(layoutItem: LayoutItem): LayoutItem {\n return {\n i: layoutItem.i,\n x: layoutItem.x,\n y: layoutItem.y,\n w: layoutItem.w,\n h: layoutItem.h,\n minW: layoutItem.minW,\n maxW: layoutItem.maxW,\n minH: layoutItem.minH,\n maxH: layoutItem.maxH,\n moved: Boolean(layoutItem.moved),\n static: Boolean(layoutItem.static),\n isDraggable: layoutItem.isDraggable,\n isResizable: layoutItem.isResizable,\n resizeHandles: layoutItem.resizeHandles,\n constraints: layoutItem.constraints,\n isBounded: layoutItem.isBounded,\n };\n}\n\n/** Clone an entire layout. */\nexport function cloneLayout(layout: Layout): LayoutItem[] {\n const newLayout: LayoutItem[] = new Array(layout.length);\n for (let i = 0; i < layout.length; i++) {\n const item = layout[i];\n if (item !== undefined) {\n newLayout[i] = cloneLayoutItem(item);\n }\n }\n return newLayout;\n}\n\n// ============================================================================\n// Layout Modification\n// ============================================================================\n\n/** Replace a layout item in a layout (matched by `i`). Other items untouched. */\nexport function modifyLayout(\n layout: Layout,\n layoutItem: LayoutItem,\n): LayoutItem[] {\n const newLayout: LayoutItem[] = new Array(layout.length);\n for (let i = 0; i < layout.length; i++) {\n const item = layout[i];\n if (item !== undefined) {\n if (layoutItem.i === item.i) {\n newLayout[i] = layoutItem;\n } else {\n newLayout[i] = item;\n }\n }\n }\n return newLayout;\n}\n\n/**\n * Apply a transformation to a layout item. Finds the item by key, clones it,\n * applies the callback, and returns [new layout, modified item | null].\n */\nexport function withLayoutItem(\n layout: Layout,\n itemKey: string,\n cb: (item: LayoutItem) => LayoutItem,\n): [LayoutItem[], LayoutItem | null] {\n let item = getLayoutItem(layout, itemKey);\n if (!item) {\n return [[...layout], null];\n }\n\n item = cb(cloneLayoutItem(item));\n const newLayout = modifyLayout(layout, item);\n\n return [newLayout, item];\n}\n\n// ============================================================================\n// Bounds Correction\n// ============================================================================\n\n/**\n * Ensure all layout items fit within the grid bounds.\n *\n * **IMPORTANT**: mutates the layout items in place for performance. Clone the\n * layout first (e.g. with `cloneLayout()`) if you need immutability.\n */\nexport function correctBounds(\n layout: Mutable<LayoutItem>[],\n bounds: { cols: number },\n): LayoutItem[] {\n const collidesWith = getStatics(layout);\n\n for (let i = 0; i < layout.length; i++) {\n const l = layout[i];\n if (l === undefined) continue;\n\n // Overflows right\n if (l.x + l.w > bounds.cols) {\n l.x = bounds.cols - l.w;\n }\n\n // Overflows left\n if (l.x < 0) {\n l.x = 0;\n l.w = bounds.cols;\n }\n\n if (!l.static) {\n collidesWith.push(l);\n } else {\n // Static items that collide with other statics must be moved down\n while (getFirstCollision(collidesWith, l)) {\n l.y++;\n }\n }\n }\n\n return layout;\n}\n\n// ============================================================================\n// Move Operations\n// ============================================================================\n\n/**\n * Move a layout element to a new position.\n *\n * Handles collision detection and cascading movements. Does not compact the\n * layout - call the compactor separately.\n *\n * **Note**: mutates the `l` parameter directly for performance.\n */\nexport function moveElement(\n layout: Layout,\n l: LayoutItem,\n x: number | undefined,\n y: number | undefined,\n isUserAction: boolean | undefined,\n preventCollision: boolean | undefined,\n compactType: CompactType,\n cols: number,\n allowOverlap?: boolean,\n options?: MoveElementOptions,\n): LayoutItem[] {\n // Static items can't be moved unless explicitly draggable\n if (l.static && l.isDraggable !== true) {\n return [...layout];\n }\n\n // Short-circuit if position unchanged\n if (l.y === y && l.x === x) {\n return [...layout];\n }\n\n const oldX = l.x;\n const oldY = l.y;\n\n // Update position (mutates l directly - see JSDoc note)\n if (typeof x === 'number') (l as Mutable<LayoutItem>).x = x;\n if (typeof y === 'number') (l as Mutable<LayoutItem>).y = y;\n (l as Mutable<LayoutItem>).moved = true;\n\n // Sort for proper collision detection order\n let sorted = sortLayoutItems(layout, compactType);\n const movingUp =\n compactType === 'vertical' && typeof y === 'number'\n ? oldY >= y\n : compactType === 'horizontal' && typeof x === 'number'\n ? oldX >= x\n : false;\n\n if (movingUp) {\n sorted = sorted.reverse();\n }\n\n const collisions = getAllCollisions(sorted, l);\n const hasCollisions = collisions.length > 0;\n\n // Handle overlap mode - just clone and return\n if (hasCollisions && allowOverlap) {\n return cloneLayout(layout);\n }\n\n // Handle prevent collision mode. A resolver may rewrite the layout instead of\n // refusing the move outright - shrinking the item into the room that is there,\n // or trading places with the widget already in it (see `collision-modes.ts`).\n // Its result is required to be overlap-free, so nothing downstream has to\n // change; when it declines, we revert exactly as before.\n if (hasCollisions && preventCollision) {\n const resolved = options?.resolveCollision?.({\n layout,\n item: l,\n collisions,\n from: { x: oldX, y: oldY },\n });\n if (resolved) return resolved;\n\n // Revert position. Return same reference to signal no change occurred.\n (l as Mutable<LayoutItem>).x = oldX;\n (l as Mutable<LayoutItem>).y = oldY;\n (l as Mutable<LayoutItem>).moved = false;\n return layout as LayoutItem[];\n }\n\n // Resolve collisions by moving other items\n let resultLayout: LayoutItem[] = [...layout];\n for (let i = 0; i < collisions.length; i++) {\n const collision = collisions[i];\n if (collision === undefined) continue;\n\n // Skip already-moved items to prevent infinite loops\n if (collision.moved) continue;\n\n // Static items can't be moved - move the dragged item instead\n if (collision.static) {\n resultLayout = moveElementAwayFromCollision(\n resultLayout,\n collision,\n l,\n isUserAction,\n compactType,\n cols,\n );\n } else {\n resultLayout = moveElementAwayFromCollision(\n resultLayout,\n l,\n collision,\n isUserAction,\n compactType,\n cols,\n );\n }\n }\n\n return resultLayout;\n}\n\n/**\n * Move an item away from a collision. Attempts to move up/left first if there's\n * room, otherwise moves it down/right.\n */\nexport function moveElementAwayFromCollision(\n layout: Layout,\n collidesWith: LayoutItem,\n itemToMove: LayoutItem,\n isUserAction: boolean | undefined,\n compactType: CompactType,\n cols: number,\n): LayoutItem[] {\n const compactH = compactType === 'horizontal';\n const compactV = compactType === 'vertical';\n const preventCollision = collidesWith.static;\n\n // Try to move up/left first (only on primary collision from user action)\n if (isUserAction) {\n isUserAction = false; // Only try this once\n\n // Create a fake item to test if there's room above/left\n const fakeItem: LayoutItem = {\n x: compactH ? Math.max(collidesWith.x - itemToMove.w, 0) : itemToMove.x,\n y: compactV ? Math.max(collidesWith.y - itemToMove.h, 0) : itemToMove.y,\n w: itemToMove.w,\n h: itemToMove.h,\n i: '-1',\n };\n\n const firstCollision = getFirstCollision(layout, fakeItem);\n const collisionNorth =\n firstCollision !== undefined &&\n firstCollision.y + firstCollision.h > collidesWith.y;\n const collisionWest =\n firstCollision !== undefined &&\n collidesWith.x + collidesWith.w > firstCollision.x;\n\n // No collision above/left - we can move there\n if (!firstCollision) {\n return moveElement(\n layout,\n itemToMove,\n compactH ? fakeItem.x : undefined,\n compactV ? fakeItem.y : undefined,\n isUserAction,\n preventCollision,\n compactType,\n cols,\n );\n }\n\n // Handle specific collision cases\n if (collisionNorth && compactV) {\n return moveElement(\n layout,\n itemToMove,\n undefined,\n itemToMove.y + 1,\n isUserAction,\n preventCollision,\n compactType,\n cols,\n );\n }\n\n if (collisionNorth && compactType === null) {\n // Swap positions in free-form mode\n (collidesWith as Mutable<LayoutItem>).y = itemToMove.y;\n (itemToMove as Mutable<LayoutItem>).y = itemToMove.y + itemToMove.h;\n return [...layout];\n }\n\n if (collisionWest && compactH) {\n return moveElement(\n layout,\n collidesWith,\n itemToMove.x,\n undefined,\n isUserAction,\n preventCollision,\n compactType,\n cols,\n );\n }\n }\n\n // Default: move down/right by 1\n const newX = compactH ? itemToMove.x + 1 : undefined;\n const newY = compactV ? itemToMove.y + 1 : undefined;\n\n if (newX === undefined && newY === undefined) {\n return [...layout];\n }\n\n return moveElement(\n layout,\n itemToMove,\n newX,\n newY,\n isUserAction,\n preventCollision,\n compactType,\n cols,\n );\n}\n\n// ============================================================================\n// Validation\n// ============================================================================\n\n/** Validate that a layout has the required numeric properties. */\nexport function validateLayout(\n layout: Layout,\n contextName: string = 'Layout',\n): void {\n const requiredProps = ['x', 'y', 'w', 'h'] as const;\n\n if (!Array.isArray(layout)) {\n throw new Error(`${contextName} must be an array!`);\n }\n\n for (let i = 0; i < layout.length; i++) {\n const item = layout[i];\n if (item === undefined) continue;\n\n for (const key of requiredProps) {\n const value = item[key];\n if (typeof value !== 'number' || Number.isNaN(value)) {\n throw new Error(\n `Board: ${contextName}[${i}].${key} must be a number! ` +\n `Received: ${String(value)} (${typeof value})`,\n );\n }\n }\n\n if (item.i !== undefined && typeof item.i !== 'string') {\n throw new Error(\n `Board: ${contextName}[${i}].i must be a string! ` +\n `Received: ${String(item.i)} (${typeof item.i})`,\n );\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","names":[],"sources":["../../../../../src/components/layout/Board/grid-core/layout.ts"],"sourcesContent":["/**\n * Core layout manipulation utilities.\n *\n * Vendored from react-grid-layout v2 (`src/core/layout.ts`).\n * See ./NOTICE.md for attribution and license.\n *\n * These functions create, modify, and query grid layouts. Most functions treat\n * layouts as immutable and return new arrays/objects, but a few mutate items in\n * place for performance (documented per function).\n */\n\nimport { getAllCollisions, getFirstCollision } from './collision';\nimport { sortLayoutItems } from './sort';\n\nimport type { CompactType, Layout, LayoutItem, Mutable } from './types';\n\n// ============================================================================\n// Layout Queries\n// ============================================================================\n\n/**\n * Get the bottom-most Y coordinate of the layout (max of y + h).\n */\nexport function bottom(layout: Layout): number {\n let max = 0;\n for (let i = 0; i < layout.length; i++) {\n const item = layout[i];\n if (item !== undefined) {\n const bottomY = item.y + item.h;\n if (bottomY > max) max = bottomY;\n }\n }\n return max;\n}\n\n/** Get a layout item by its ID. */\nexport function getLayoutItem(\n layout: Layout,\n id: string,\n): LayoutItem | undefined {\n for (let i = 0; i < layout.length; i++) {\n const item = layout[i];\n if (item !== undefined && item.i === id) {\n return item;\n }\n }\n return undefined;\n}\n\n/** Get all static items from the layout. */\nexport function getStatics(layout: Layout): LayoutItem[] {\n return layout.filter((l): l is LayoutItem => l.static === true);\n}\n\n// ============================================================================\n// Layout Cloning\n// ============================================================================\n\n/** Clone a layout item (shallow copy, boolean flags normalized). */\nexport function cloneLayoutItem(layoutItem: LayoutItem): LayoutItem {\n return {\n i: layoutItem.i,\n x: layoutItem.x,\n y: layoutItem.y,\n w: layoutItem.w,\n h: layoutItem.h,\n minW: layoutItem.minW,\n maxW: layoutItem.maxW,\n minH: layoutItem.minH,\n maxH: layoutItem.maxH,\n moved: Boolean(layoutItem.moved),\n static: Boolean(layoutItem.static),\n isDraggable: layoutItem.isDraggable,\n isResizable: layoutItem.isResizable,\n resizeHandles: layoutItem.resizeHandles,\n constraints: layoutItem.constraints,\n isBounded: layoutItem.isBounded,\n };\n}\n\n/** Clone an entire layout. */\nexport function cloneLayout(layout: Layout): LayoutItem[] {\n const newLayout: LayoutItem[] = new Array(layout.length);\n for (let i = 0; i < layout.length; i++) {\n const item = layout[i];\n if (item !== undefined) {\n newLayout[i] = cloneLayoutItem(item);\n }\n }\n return newLayout;\n}\n\n// ============================================================================\n// Layout Modification\n// ============================================================================\n\n/** Replace a layout item in a layout (matched by `i`). Other items untouched. */\nexport function modifyLayout(\n layout: Layout,\n layoutItem: LayoutItem,\n): LayoutItem[] {\n const newLayout: LayoutItem[] = new Array(layout.length);\n for (let i = 0; i < layout.length; i++) {\n const item = layout[i];\n if (item !== undefined) {\n if (layoutItem.i === item.i) {\n newLayout[i] = layoutItem;\n } else {\n newLayout[i] = item;\n }\n }\n }\n return newLayout;\n}\n\n/**\n * Apply a transformation to a layout item. Finds the item by key, clones it,\n * applies the callback, and returns [new layout, modified item | null].\n */\nexport function withLayoutItem(\n layout: Layout,\n itemKey: string,\n cb: (item: LayoutItem) => LayoutItem,\n): [LayoutItem[], LayoutItem | null] {\n let item = getLayoutItem(layout, itemKey);\n if (!item) {\n return [[...layout], null];\n }\n\n item = cb(cloneLayoutItem(item));\n const newLayout = modifyLayout(layout, item);\n\n return [newLayout, item];\n}\n\n// ============================================================================\n// Bounds Correction\n// ============================================================================\n\n/**\n * Ensure all layout items fit within the grid bounds.\n *\n * **IMPORTANT**: mutates the layout items in place for performance. Clone the\n * layout first (e.g. with `cloneLayout()`) if you need immutability.\n */\nexport function correctBounds(\n layout: Mutable<LayoutItem>[],\n bounds: { cols: number },\n): LayoutItem[] {\n const collidesWith = getStatics(layout);\n\n for (let i = 0; i < layout.length; i++) {\n const l = layout[i];\n if (l === undefined) continue;\n\n // Overflows right\n if (l.x + l.w > bounds.cols) {\n l.x = bounds.cols - l.w;\n }\n\n // Overflows left\n if (l.x < 0) {\n l.x = 0;\n l.w = bounds.cols;\n }\n\n if (!l.static) {\n collidesWith.push(l);\n } else {\n // Static items that collide with other statics must be moved down\n while (getFirstCollision(collidesWith, l)) {\n l.y++;\n }\n }\n }\n\n return layout;\n}\n\n// ============================================================================\n// Move Operations\n// ============================================================================\n\n/**\n * Move a layout element to a new position.\n *\n * Handles collision detection and cascading movements. Does not compact the\n * layout - call the compactor separately.\n *\n * **Note**: mutates the `l` parameter directly for performance.\n */\nexport function moveElement(\n layout: Layout,\n l: LayoutItem,\n x: number | undefined,\n y: number | undefined,\n isUserAction: boolean | undefined,\n preventCollision: boolean | undefined,\n compactType: CompactType,\n cols: number,\n allowOverlap?: boolean,\n): LayoutItem[] {\n // Static items can't be moved unless explicitly draggable\n if (l.static && l.isDraggable !== true) {\n return [...layout];\n }\n\n // Short-circuit if position unchanged\n if (l.y === y && l.x === x) {\n return [...layout];\n }\n\n const oldX = l.x;\n const oldY = l.y;\n\n // Update position (mutates l directly - see JSDoc note)\n if (typeof x === 'number') (l as Mutable<LayoutItem>).x = x;\n if (typeof y === 'number') (l as Mutable<LayoutItem>).y = y;\n (l as Mutable<LayoutItem>).moved = true;\n\n // Sort for proper collision detection order\n let sorted = sortLayoutItems(layout, compactType);\n const movingUp =\n compactType === 'vertical' && typeof y === 'number'\n ? oldY >= y\n : compactType === 'horizontal' && typeof x === 'number'\n ? oldX >= x\n : false;\n\n if (movingUp) {\n sorted = sorted.reverse();\n }\n\n const collisions = getAllCollisions(sorted, l);\n const hasCollisions = collisions.length > 0;\n\n // Handle overlap mode - just clone and return\n if (hasCollisions && allowOverlap) {\n return cloneLayout(layout);\n }\n\n // Handle prevent collision mode - revert position.\n // Return same reference to signal no change occurred.\n if (hasCollisions && preventCollision) {\n (l as Mutable<LayoutItem>).x = oldX;\n (l as Mutable<LayoutItem>).y = oldY;\n (l as Mutable<LayoutItem>).moved = false;\n return layout as LayoutItem[];\n }\n\n // Resolve collisions by moving other items\n let resultLayout: LayoutItem[] = [...layout];\n for (let i = 0; i < collisions.length; i++) {\n const collision = collisions[i];\n if (collision === undefined) continue;\n\n // Skip already-moved items to prevent infinite loops\n if (collision.moved) continue;\n\n // Static items can't be moved - move the dragged item instead\n if (collision.static) {\n resultLayout = moveElementAwayFromCollision(\n resultLayout,\n collision,\n l,\n isUserAction,\n compactType,\n cols,\n );\n } else {\n resultLayout = moveElementAwayFromCollision(\n resultLayout,\n l,\n collision,\n isUserAction,\n compactType,\n cols,\n );\n }\n }\n\n return resultLayout;\n}\n\n/**\n * Move an item away from a collision. Attempts to move up/left first if there's\n * room, otherwise moves it down/right.\n */\nexport function moveElementAwayFromCollision(\n layout: Layout,\n collidesWith: LayoutItem,\n itemToMove: LayoutItem,\n isUserAction: boolean | undefined,\n compactType: CompactType,\n cols: number,\n): LayoutItem[] {\n const compactH = compactType === 'horizontal';\n const compactV = compactType === 'vertical';\n const preventCollision = collidesWith.static;\n\n // Try to move up/left first (only on primary collision from user action)\n if (isUserAction) {\n isUserAction = false; // Only try this once\n\n // Create a fake item to test if there's room above/left\n const fakeItem: LayoutItem = {\n x: compactH ? Math.max(collidesWith.x - itemToMove.w, 0) : itemToMove.x,\n y: compactV ? Math.max(collidesWith.y - itemToMove.h, 0) : itemToMove.y,\n w: itemToMove.w,\n h: itemToMove.h,\n i: '-1',\n };\n\n const firstCollision = getFirstCollision(layout, fakeItem);\n const collisionNorth =\n firstCollision !== undefined &&\n firstCollision.y + firstCollision.h > collidesWith.y;\n const collisionWest =\n firstCollision !== undefined &&\n collidesWith.x + collidesWith.w > firstCollision.x;\n\n // No collision above/left - we can move there\n if (!firstCollision) {\n return moveElement(\n layout,\n itemToMove,\n compactH ? fakeItem.x : undefined,\n compactV ? fakeItem.y : undefined,\n isUserAction,\n preventCollision,\n compactType,\n cols,\n );\n }\n\n // Handle specific collision cases\n if (collisionNorth && compactV) {\n return moveElement(\n layout,\n itemToMove,\n undefined,\n itemToMove.y + 1,\n isUserAction,\n preventCollision,\n compactType,\n cols,\n );\n }\n\n if (collisionNorth && compactType === null) {\n // Swap positions in free-form mode\n (collidesWith as Mutable<LayoutItem>).y = itemToMove.y;\n (itemToMove as Mutable<LayoutItem>).y = itemToMove.y + itemToMove.h;\n return [...layout];\n }\n\n if (collisionWest && compactH) {\n return moveElement(\n layout,\n collidesWith,\n itemToMove.x,\n undefined,\n isUserAction,\n preventCollision,\n compactType,\n cols,\n );\n }\n }\n\n // Default: move down/right by 1\n const newX = compactH ? itemToMove.x + 1 : undefined;\n const newY = compactV ? itemToMove.y + 1 : undefined;\n\n if (newX === undefined && newY === undefined) {\n return [...layout];\n }\n\n return moveElement(\n layout,\n itemToMove,\n newX,\n newY,\n isUserAction,\n preventCollision,\n compactType,\n cols,\n );\n}\n\n// ============================================================================\n// Validation\n// ============================================================================\n\n/** Validate that a layout has the required numeric properties. */\nexport function validateLayout(\n layout: Layout,\n contextName: string = 'Layout',\n): void {\n const requiredProps = ['x', 'y', 'w', 'h'] as const;\n\n if (!Array.isArray(layout)) {\n throw new Error(`${contextName} must be an array!`);\n }\n\n for (let i = 0; i < layout.length; i++) {\n const item = layout[i];\n if (item === undefined) continue;\n\n for (const key of requiredProps) {\n const value = item[key];\n if (typeof value !== 'number' || Number.isNaN(value)) {\n throw new Error(\n `Board: ${contextName}[${i}].${key} must be a number! ` +\n `Received: ${String(value)} (${typeof value})`,\n );\n }\n }\n\n if (item.i !== undefined && typeof item.i !== 'string') {\n throw new Error(\n `Board: ${contextName}[${i}].i must be a string! ` +\n `Received: ${String(item.i)} (${typeof item.i})`,\n );\n }\n }\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-41b5172 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5299f5a | Cube Dev Team */
2
2
  //#region src/components/layout/Board/grid-core/sort.ts
3
3
  /**
4
4
  * Sort layout items based on the compaction type.
@@ -87,22 +87,6 @@ type Layout = readonly LayoutItem[];
87
87
  * - null: No compaction (free-form positioning)
88
88
  */
89
89
  type CompactType = 'horizontal' | 'vertical' | 'wrap' | null;
90
- /**
91
- * How a blocked placement is resolved when collisions are prevented.
92
- *
93
- * - `'revert'` - snap the item back to where it was (the engine's own default).
94
- * - `'downscale'` - shrink the item into the free space at the cell it was
95
- * dropped on, growing rightward and downward. Never upscales.
96
- * - `'swap'` - exchange with the single widget under the drop: the dragged widget
97
- * takes that widget's cell and the displaced one takes the cell the dragged
98
- * widget came from, each keeping as much of its own size as fits there. Else
99
- * downscale, else revert.
100
- *
101
- * Only consulted where a move would otherwise be refused, so it has no effect in
102
- * the compacting modes (a collision pushes neighbours there) or under
103
- * `allowOverlap` (nothing is refused).
104
- */
105
- type CollisionMode = 'revert' | 'downscale' | 'swap';
106
90
  /**
107
91
  * Interface for layout compaction strategies.
108
92
  *
@@ -180,5 +164,5 @@ interface LayoutConstraint {
180
164
  };
181
165
  }
182
166
  //#endregion
183
- export { CollisionMode, CompactType, Compactor, Layout, LayoutConstraint, LayoutItem, ResizeHandleAxis };
167
+ export { CompactType, Compactor, Layout, LayoutConstraint, LayoutItem, ResizeHandleAxis };
184
168
  //# sourceMappingURL=types.d.ts.map
@@ -1,9 +1,9 @@
1
1
 
2
- import { CollisionMode, Compactor, Layout, LayoutConstraint, LayoutItem, ResizeHandleAxis } from "./grid-core/types.js";
2
+ import { Compactor, Layout, LayoutConstraint, LayoutItem, ResizeHandleAxis } from "./grid-core/types.js";
3
3
  import { getCompactor, horizontalCompactor, noCompactor, verticalCompactor } from "./grid-core/compactors.js";
4
4
  import { aspectRatio, boundedX, boundedY, containerBounds, gridBounds, maxSize, minMaxSize, minSize, snapToGrid } from "./grid-core/constraints.js";
5
5
  import { BoardSelectionMode } from "./use-board-selection.js";
6
- import { BoardResizeGripPlacement, CubeBoardWidgetProps, Widget } from "./Widget.js";
6
+ import { CubeBoardWidgetProps, Widget } from "./Widget.js";
7
7
  import { BOARD_SELECTION_CANCEL, BoardCompactType, BoardGridLines, BoardInteractionInfo, CubeBoardProps } from "./Board.js";
8
8
  import { BreakpointCols, Breakpoints, ResponsiveLayouts } from "./responsive-utils.js";
9
9
  import { BoardResponsive, CubeBoardResponsiveProps } from "./BoardResponsive.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-41b5172 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5299f5a | Cube Dev Team */
2
2
  import { getCompactor, horizontalCompactor, noCompactor, verticalCompactor } from "./grid-core/compactors.js";
3
3
  import { aspectRatio, boundedX, boundedY, containerBounds, gridBounds, maxSize, minMaxSize, minSize, snapToGrid } from "./grid-core/constraints.js";
4
4
  import { BoardProvider } from "./BoardProvider.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["BoardBase"],"sources":["../../../../src/components/layout/Board/index.tsx"],"sourcesContent":["import { Board as BoardBase } from './Board';\nimport { BoardProvider } from './BoardProvider';\nimport { BoardResponsive } from './BoardResponsive';\nimport { Widget } from './Widget';\n\nconst Board = Object.assign(BoardBase, {\n Widget,\n Provider: BoardProvider,\n Responsive: BoardResponsive,\n});\n\nexport { Board };\nexport { BoardProvider };\nexport { BoardResponsive };\nexport { Widget as BoardWidget };\nexport { BOARD_SELECTION_CANCEL } from './Board';\n\nexport type {\n CubeBoardProps,\n BoardCompactType,\n BoardGridLines,\n BoardInteractionInfo,\n} from './Board';\nexport type { BoardSelectionMode } from './use-board-selection';\nexport type { CubeBoardResponsiveProps } from './BoardResponsive';\nexport type { CubeBoardWidgetProps, BoardResizeGripPlacement } from './Widget';\nexport type { CubeBoardProviderProps } from './BoardProvider';\nexport type { WidgetTransferInfo } from './board-context';\nexport type {\n Breakpoints as BoardBreakpoints,\n BreakpointCols as BoardBreakpointCols,\n ResponsiveLayouts as BoardResponsiveLayouts,\n} from './responsive-utils';\n\nexport type {\n Layout,\n LayoutItem,\n ResizeHandleAxis,\n CollisionMode,\n Compactor,\n LayoutConstraint,\n PositionParams,\n} from './grid-core';\n\nexport {\n verticalCompactor,\n horizontalCompactor,\n noCompactor,\n getCompactor,\n gridBounds,\n minMaxSize,\n containerBounds,\n boundedX,\n boundedY,\n aspectRatio,\n snapToGrid,\n minSize,\n maxSize,\n} from './grid-core';\n"],"mappings":";;;;;;;;;AAKA,MAAM,QAAQ,OAAO,OAAOA,SAAW;CACrC;CACA,UAAU;CACV,YAAY;CACb,CAAC"}
1
+ {"version":3,"file":"index.js","names":["BoardBase"],"sources":["../../../../src/components/layout/Board/index.tsx"],"sourcesContent":["import { Board as BoardBase } from './Board';\nimport { BoardProvider } from './BoardProvider';\nimport { BoardResponsive } from './BoardResponsive';\nimport { Widget } from './Widget';\n\nconst Board = Object.assign(BoardBase, {\n Widget,\n Provider: BoardProvider,\n Responsive: BoardResponsive,\n});\n\nexport { Board };\nexport { BoardProvider };\nexport { BoardResponsive };\nexport { Widget as BoardWidget };\nexport { BOARD_SELECTION_CANCEL } from './Board';\n\nexport type {\n CubeBoardProps,\n BoardCompactType,\n BoardGridLines,\n BoardInteractionInfo,\n} from './Board';\nexport type { BoardSelectionMode } from './use-board-selection';\nexport type { CubeBoardResponsiveProps } from './BoardResponsive';\nexport type { CubeBoardWidgetProps } from './Widget';\nexport type { CubeBoardProviderProps } from './BoardProvider';\nexport type { WidgetTransferInfo } from './board-context';\nexport type {\n Breakpoints as BoardBreakpoints,\n BreakpointCols as BoardBreakpointCols,\n ResponsiveLayouts as BoardResponsiveLayouts,\n} from './responsive-utils';\n\nexport type {\n Layout,\n LayoutItem,\n ResizeHandleAxis,\n Compactor,\n LayoutConstraint,\n PositionParams,\n} from './grid-core';\n\nexport {\n verticalCompactor,\n horizontalCompactor,\n noCompactor,\n getCompactor,\n gridBounds,\n minMaxSize,\n containerBounds,\n boundedX,\n boundedY,\n aspectRatio,\n snapToGrid,\n minSize,\n maxSize,\n} from './grid-core';\n"],"mappings":";;;;;;;;;AAKA,MAAM,QAAQ,OAAO,OAAOA,SAAW;CACrC;CACA,UAAU;CACV,YAAY;CACb,CAAC"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-41b5172 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5299f5a | Cube Dev Team */
2
2
  import { cloneLayout, correctBounds } from "./grid-core/layout.js";
3
3
 
4
4
  //#region src/components/layout/Board/responsive-utils.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-41b5172 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5299f5a | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { cloneLayout } from "./grid-core/layout.js";
4
4
  import { useCallback, useEffect, useRef, useState } from "react";
@@ -1,8 +1,7 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-41b5172 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5299f5a | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { BoardWidgetStore } from "./board-store.js";
4
4
  import { collides } from "./grid-core/collision.js";
5
- import { createCollisionResolver } from "./grid-core/collision-modes.js";
6
5
  import { bottom, cloneLayout, getLayoutItem, moveElement } from "./grid-core/layout.js";
7
6
  import { moveElements } from "./grid-core/group-move.js";
8
7
  import { calcXYRaw } from "./grid-core/calculate.js";
@@ -69,15 +68,6 @@ function hasNewOverlap(before, after) {
69
68
  return false;
70
69
  }
71
70
  /**
72
- * Whether any item in `after` has a different size than it had in `before`.
73
- */
74
- function resizesAnything(before, after) {
75
- return after.some((a) => {
76
- const b = before.find((it) => it.i === a.i);
77
- return !!b && (b.w !== a.w || b.h !== a.h);
78
- });
79
- }
80
- /**
81
71
  * First position at or below the preferred cell where `item` fits without
82
72
  * overlapping any of `others` (assumed overlap-free), scanning left-to-right
83
73
  * then top-to-bottom, never past `maxRows`. Last-resort placement for a legacy
@@ -300,26 +290,16 @@ function useBoardRegistry(options) {
300
290
  const pp = entry.getPositionParams();
301
291
  const compactor = entry.getCompactor();
302
292
  const layout = entry.getLayout();
303
- const collisionMode = compactor.preventCollision ? entry.getCollisionMode() : "revert";
304
- const startLayout = sourceSnapshotRef.current;
305
- const base = collisionMode !== "revert" && getLayoutItem(startLayout, item.i) ? startLayout : layout;
306
- const working = getLayoutItem(base, item.i) ? cloneLayout(base) : [...cloneLayout(base), {
293
+ const working = getLayoutItem(layout, item.i) ? cloneLayout(layout) : [...cloneLayout(layout), {
307
294
  ...item,
308
295
  x,
309
296
  y
310
297
  }];
311
298
  const target = getLayoutItem(working, item.i);
312
299
  if (!target) return;
313
- const moved = moveElement(working, target, x, y, true, compactor.preventCollision, compactor.type, pp.cols, compactor.allowOverlap, { resolveCollision: createCollisionResolver(collisionMode, {
314
- cols: pp.cols,
315
- maxRows: entry.getMaxRows(),
316
- desired: {
317
- w: target.w,
318
- h: target.h
319
- }
320
- }) });
300
+ const moved = moveElement(working, target, x, y, true, compactor.preventCollision, compactor.type, pp.cols, compactor.allowOverlap);
321
301
  const compacted = [...compactor.compact(moved, pp.cols)];
322
- if (!compactor.allowOverlap && hasNewOverlap(overlappingPairs(base), compacted)) return;
302
+ if (!compactor.allowOverlap && hasNewOverlap(overlappingPairs(layout), compacted)) return;
323
303
  entry.applyLayout(compacted, false);
324
304
  entry.setPlaceholders([getLayoutItem(compacted, item.i)].filter((it) => it !== void 0));
325
305
  }, []);
@@ -361,14 +341,6 @@ function useBoardRegistry(options) {
361
341
  const directionY = Math.sign(deltaY);
362
342
  if (directionX === 0 && directionY === 0) return;
363
343
  const maxRows = entry.getMaxRows();
364
- const resolveCollision = compactor.preventCollision ? createCollisionResolver(entry.getCollisionMode(), {
365
- cols: pp.cols,
366
- maxRows,
367
- desired: {
368
- w: live.w,
369
- h: live.h
370
- }
371
- }) : void 0;
372
344
  const attempts = directionX < 0 ? live.x : directionX > 0 ? Math.max(0, pp.cols - live.w - live.x) : directionY < 0 ? live.y : Number.isFinite(maxRows) ? Math.max(0, maxRows - live.h - live.y) : Math.max(1, bottom(layout) - live.y);
373
345
  const seen = /* @__PURE__ */ new Set();
374
346
  const beforePairs = overlappingPairs(layout);
@@ -391,13 +363,13 @@ function useBoardRegistry(options) {
391
363
  const working = cloneLayout(layout);
392
364
  const target = getLayoutItem(working, item.i);
393
365
  if (!target) return;
394
- const moved = moveElement(working, target, candidate.x, candidate.y, true, compactor.preventCollision, compactor.type, pp.cols, compactor.allowOverlap, { resolveCollision });
366
+ const moved = moveElement(working, target, candidate.x, candidate.y, true, compactor.preventCollision, compactor.type, pp.cols, compactor.allowOverlap);
395
367
  const compacted = [...compactor.compact(moved, pp.cols)];
396
368
  const landed = getLayoutItem(compacted, item.i);
397
369
  if (!landed) continue;
398
370
  const advanced = directionX !== 0 ? Math.sign(landed.x - live.x) === directionX && landed.y === live.y : Math.sign(landed.y - live.y) === directionY && landed.x === live.x;
399
371
  const overlaps = !compactor.allowOverlap && hasNewOverlap(beforePairs, compacted);
400
- if (!advanced || overlaps || resizesAnything(layout, compacted)) continue;
372
+ if (!advanced || overlaps) continue;
401
373
  entry.applyLayout(compacted, false);
402
374
  entry.setPlaceholders([landed]);
403
375
  lastLandingRef.current = {
@@ -488,11 +460,7 @@ function useBoardRegistry(options) {
488
460
  const carried = previewRef.current?.boardId === target.id ? previewRef.current.working : null;
489
461
  const base = cloneLayout(carried ?? targetSnapshotsRef.current.get(target.id) ?? target.getLayout()).filter((l) => l.i !== item.i);
490
462
  const prevItem = carried ? getLayoutItem(carried, item.i) : void 0;
491
- const dragged = prevItem ? prevItem.x === x && prevItem.y === y ? { ...prevItem } : {
492
- ...prevItem,
493
- w: item.w,
494
- h: item.h
495
- } : compactor.type === "horizontal" ? {
463
+ const dragged = prevItem ? { ...prevItem } : compactor.type === "horizontal" ? {
496
464
  ...item,
497
465
  x: Math.max(0, x) - 1,
498
466
  y
@@ -501,15 +469,7 @@ function useBoardRegistry(options) {
501
469
  x,
502
470
  y: Math.max(0, y) - 1
503
471
  };
504
- const moved = moveElement([...base, dragged], dragged, x, y, true, compactor.preventCollision, compactor.type, pp.cols, compactor.allowOverlap, { resolveCollision: compactor.preventCollision ? createCollisionResolver(target.getCollisionMode(), {
505
- cols: pp.cols,
506
- maxRows: target.getMaxRows(),
507
- desired: {
508
- w: item.w,
509
- h: item.h
510
- },
511
- allowExchange: false
512
- }) : void 0 });
472
+ const moved = moveElement([...base, dragged], dragged, x, y, true, compactor.preventCollision, compactor.type, pp.cols, compactor.allowOverlap);
513
473
  const compacted = [...compactor.compact(moved, pp.cols)];
514
474
  if (!compactor.allowOverlap && hasNewOverlap(overlappingPairs(base), compacted)) return;
515
475
  previewRef.current = {
@@ -635,15 +595,7 @@ function useBoardRegistry(options) {
635
595
  x: landing.x,
636
596
  y: Math.max(0, landing.y) - 1
637
597
  };
638
- const moved = moveElement([...cloneLayout((targetSnapshotsRef.current.get(target.id) ?? target.getLayout()).filter((l) => l.i !== ds.itemId)), newItem], newItem, landing.x, landing.y, true, tc.preventCollision, tc.type, tp.cols, tc.allowOverlap, { resolveCollision: createCollisionResolver(target.getCollisionMode(), {
639
- cols: tp.cols,
640
- maxRows: tp.maxRows,
641
- desired: {
642
- w: ds.item.w,
643
- h: ds.item.h
644
- },
645
- allowExchange: false
646
- }) });
598
+ const moved = moveElement([...cloneLayout((targetSnapshotsRef.current.get(target.id) ?? target.getLayout()).filter((l) => l.i !== ds.itemId)), newItem], newItem, landing.x, landing.y, true, tc.preventCollision, tc.type, tp.cols, tc.allowOverlap);
647
599
  finalLayout = [...tc.compact(moved, tp.cols)];
648
600
  }
649
601
  const targetOthers = cloneLayout((targetSnapshotsRef.current.get(target.id) ?? target.getLayout()).filter((l) => l.i !== ds.itemId));