@cube-dev/ui-kit 0.0.0-canary-c26fe9d → 0.0.0-canary-223b7e5

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/Flex.js +1 -1
  165. package/dist/components/layout/Flow.js +1 -1
  166. package/dist/components/layout/Grid.js +1 -1
  167. package/dist/components/layout/Panel.js +1 -1
  168. package/dist/components/layout/Prefix.js +1 -1
  169. package/dist/components/layout/ResizablePanel.js +1 -1
  170. package/dist/components/layout/Space.js +1 -1
  171. package/dist/components/layout/Suffix.js +1 -1
  172. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  173. package/dist/components/navigation/Tabs/TabButton.js +4 -36
  174. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  175. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  176. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  177. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  178. package/dist/components/navigation/Tabs/Tabs.js +3 -6
  179. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  180. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  181. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  182. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  183. package/dist/components/navigation/Tabs/styled.js +2 -3
  184. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  185. package/dist/components/navigation/Tabs/types.js +1 -1
  186. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  187. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  188. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  189. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  190. package/dist/components/other/Calendar/Calendar.js +1 -1
  191. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  192. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  193. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  194. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  195. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  196. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  197. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  198. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  199. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  200. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  201. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  202. package/dist/components/overlays/Dialog/context.js +1 -1
  203. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  204. package/dist/components/overlays/Modal/Modal.js +1 -1
  205. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  206. package/dist/components/overlays/Modal/Overlay.js +1 -1
  207. package/dist/components/overlays/Modal/Popover.js +1 -1
  208. package/dist/components/overlays/Modal/Tray.js +1 -1
  209. package/dist/components/overlays/Modal/Underlay.js +1 -1
  210. package/dist/components/overlays/Notifications/Notification.js +1 -1
  211. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  212. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  213. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  214. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  215. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  216. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  217. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  218. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  219. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  220. package/dist/components/overlays/Notifications/index.js +1 -1
  221. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  222. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  223. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  224. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  225. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  226. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  227. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  228. package/dist/components/overlays/Toast/index.js +1 -1
  229. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  230. package/dist/components/overlays/Toast/useToast.js +1 -1
  231. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  232. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  233. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  234. package/dist/components/overlays/Tooltip/context.js +1 -1
  235. package/dist/components/portal/Portal.js +1 -1
  236. package/dist/components/portal/PortalProvider.js +1 -1
  237. package/dist/components/portal/usePortal.js +1 -1
  238. package/dist/components/shared/DraggableCollection.js +1 -1
  239. package/dist/components/shared/InvalidIcon.js +1 -1
  240. package/dist/components/shared/ValidIcon.js +1 -1
  241. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  242. package/dist/components/status/Spin/Cube.js +1 -1
  243. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  244. package/dist/components/status/Spin/Spin.js +1 -1
  245. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  246. package/dist/data/item-themes.js +1 -1
  247. package/dist/data/themes.js +1 -1
  248. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  249. package/dist/icons/AdjustmentsIcon.js +1 -1
  250. package/dist/icons/AiIcon.js +1 -1
  251. package/dist/icons/AreaChartIcon.js +1 -1
  252. package/dist/icons/BackwardIcon.js +1 -1
  253. package/dist/icons/BarChartIcon.js +1 -1
  254. package/dist/icons/BellFilledIcon.js +1 -1
  255. package/dist/icons/BellIcon.js +1 -1
  256. package/dist/icons/BooleanIcon.js +1 -1
  257. package/dist/icons/CalendarEditIcon.js +1 -1
  258. package/dist/icons/CalendarIcon.js +1 -1
  259. package/dist/icons/CaretDownIcon.js +1 -1
  260. package/dist/icons/CaretUpIcon.js +1 -1
  261. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  262. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  263. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  264. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  265. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  266. package/dist/icons/ChartBarLineIcon.js +1 -1
  267. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  268. package/dist/icons/ChartBarStackedIcon.js +1 -1
  269. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  270. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  271. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  272. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  273. package/dist/icons/ChartBubbleIcon.js +1 -1
  274. package/dist/icons/ChartDonut2Icon.js +1 -1
  275. package/dist/icons/ChartFunnelIcon.js +1 -1
  276. package/dist/icons/ChartHeatmapIcon.js +1 -1
  277. package/dist/icons/ChartKPIIcon.js +1 -1
  278. package/dist/icons/ChartPie2Icon.js +1 -1
  279. package/dist/icons/ChartScatterIcon.js +1 -1
  280. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  281. package/dist/icons/CheckCircleIcon.js +1 -1
  282. package/dist/icons/CheckIcon.js +1 -1
  283. package/dist/icons/CircleFilledIcon.js +1 -1
  284. package/dist/icons/ClearIcon.js +1 -1
  285. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  286. package/dist/icons/CloseCircleIcon.js +1 -1
  287. package/dist/icons/CloseIcon.js +1 -1
  288. package/dist/icons/CodeIcon.js +1 -1
  289. package/dist/icons/ColumnTotalIcon.js +1 -1
  290. package/dist/icons/CopyIcon.js +1 -1
  291. package/dist/icons/CountIcon.js +1 -1
  292. package/dist/icons/CubeIcon.js +1 -1
  293. package/dist/icons/CubePauseIcon.js +1 -1
  294. package/dist/icons/CubePlayIcon.js +1 -1
  295. package/dist/icons/CurrencyDollarIcon.js +1 -1
  296. package/dist/icons/DangerIcon.js +1 -1
  297. package/dist/icons/DashboardIcon.js +1 -1
  298. package/dist/icons/DatabaseIcon.js +1 -1
  299. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  300. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  301. package/dist/icons/DirectionIcon.js +1 -1
  302. package/dist/icons/DonutIcon.js +1 -1
  303. package/dist/icons/DownIcon.js +1 -1
  304. package/dist/icons/EditIcon.js +1 -1
  305. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  306. package/dist/icons/ExclamationCircleIcon.js +1 -1
  307. package/dist/icons/ExclamationIcon.js +1 -1
  308. package/dist/icons/EyeIcon.js +1 -1
  309. package/dist/icons/EyeInvisibleIcon.js +1 -1
  310. package/dist/icons/FilterIcon.js +1 -1
  311. package/dist/icons/FolderFilledIcon.js +1 -1
  312. package/dist/icons/FolderIcon.js +1 -1
  313. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  314. package/dist/icons/FolderOpenIcon.js +1 -1
  315. package/dist/icons/ForwardIcon.js +1 -1
  316. package/dist/icons/GripVerticalIcon.js +1 -1
  317. package/dist/icons/HierarchyIcon.js +1 -1
  318. package/dist/icons/HierarchyOpenIcon.js +1 -1
  319. package/dist/icons/Icon.js +1 -1
  320. package/dist/icons/InfoCircleIcon.js +1 -1
  321. package/dist/icons/InfoIcon.js +1 -1
  322. package/dist/icons/KeyIcon.js +1 -1
  323. package/dist/icons/LeftIcon.js +1 -1
  324. package/dist/icons/LineChartIcon.js +1 -1
  325. package/dist/icons/LoadingIcon.js +1 -1
  326. package/dist/icons/LockFilledIcon.js +1 -1
  327. package/dist/icons/LockIcon.js +1 -1
  328. package/dist/icons/MoreIcon.js +1 -1
  329. package/dist/icons/NotAllowedIcon.js +1 -1
  330. package/dist/icons/Number123Icon.js +1 -1
  331. package/dist/icons/NumberIcon.js +1 -1
  332. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  333. package/dist/icons/PauseCircleIcon.js +1 -1
  334. package/dist/icons/PauseIcon.js +1 -1
  335. package/dist/icons/PercentageIcon.js +1 -1
  336. package/dist/icons/PieChartIcon.js +1 -1
  337. package/dist/icons/PlayCircleIcon.js +1 -1
  338. package/dist/icons/PlayIcon.js +1 -1
  339. package/dist/icons/PlusIcon.js +1 -1
  340. package/dist/icons/ProgressBarIcon.js +1 -1
  341. package/dist/icons/ReloadIcon.js +1 -1
  342. package/dist/icons/ReportIcon.js +1 -1
  343. package/dist/icons/ReturnIcon.js +1 -1
  344. package/dist/icons/RightIcon.js +1 -1
  345. package/dist/icons/RowTotalsIcon.js +1 -1
  346. package/dist/icons/SchemeIcon.js +1 -1
  347. package/dist/icons/SearchIcon.js +1 -1
  348. package/dist/icons/SemanticQueryIcon.js +1 -1
  349. package/dist/icons/SettingsIcon.js +1 -1
  350. package/dist/icons/ShieldFilledIcon.js +1 -1
  351. package/dist/icons/ShieldIcon.js +1 -1
  352. package/dist/icons/SlashIcon.js +1 -1
  353. package/dist/icons/SparklesIcon.js +1 -1
  354. package/dist/icons/SqlIcon.js +1 -1
  355. package/dist/icons/StatsIcon.js +1 -1
  356. package/dist/icons/StopIcon.js +1 -1
  357. package/dist/icons/StringIcon.js +1 -1
  358. package/dist/icons/SubtotalsIcon.js +1 -1
  359. package/dist/icons/SwitchIcon.js +1 -1
  360. package/dist/icons/TableIcon.js +1 -1
  361. package/dist/icons/ThumbsDownIcon.js +1 -1
  362. package/dist/icons/ThumbsUpIcon.js +1 -1
  363. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  364. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  365. package/dist/icons/ThunderboltIcon.js +1 -1
  366. package/dist/icons/TimeIcon.js +1 -1
  367. package/dist/icons/TrashIcon.js +1 -1
  368. package/dist/icons/UnlockIcon.js +1 -1
  369. package/dist/icons/UpIcon.js +1 -1
  370. package/dist/icons/UserGroupIcon.js +1 -1
  371. package/dist/icons/UserIcon.js +1 -1
  372. package/dist/icons/UserLockIcon.js +1 -1
  373. package/dist/icons/ViewIcon.js +1 -1
  374. package/dist/icons/WarningFilledIcon.js +1 -1
  375. package/dist/icons/WarningIcon.js +1 -1
  376. package/dist/icons/wrap-icon.js +1 -1
  377. package/dist/index.d.ts +2 -12
  378. package/dist/index.js +2 -8
  379. package/dist/index.js.map +1 -1
  380. package/dist/provider.js +1 -1
  381. package/dist/providers/TrackingProvider.js +1 -1
  382. package/dist/providers/navigationAdapter.default.js +1 -1
  383. package/dist/tokens/base.js +1 -1
  384. package/dist/tokens/colors.js +1 -1
  385. package/dist/tokens/index.js +1 -1
  386. package/dist/tokens/layout.js +1 -1
  387. package/dist/tokens/palette.js +1 -1
  388. package/dist/tokens/shadows.js +1 -1
  389. package/dist/tokens/sizes.js +1 -1
  390. package/dist/tokens/spacing.js +1 -1
  391. package/dist/tokens/typography.js +1 -1
  392. package/dist/utils/ResizeSensor.js +1 -1
  393. package/dist/utils/is-dev-env.js +1 -1
  394. package/dist/utils/modules.js +1 -1
  395. package/dist/utils/promise.js +1 -1
  396. package/dist/utils/raf.js +1 -1
  397. package/dist/utils/random.js +1 -1
  398. package/dist/utils/range.js +1 -1
  399. package/dist/utils/react/RenderCache.js +1 -1
  400. package/dist/utils/react/Slots.js +1 -1
  401. package/dist/utils/react/chain.js +1 -1
  402. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  403. package/dist/utils/react/index.js +1 -1
  404. package/dist/utils/react/interactions.js +1 -1
  405. package/dist/utils/react/isTextOnly.js +1 -1
  406. package/dist/utils/react/mapProps.js +1 -1
  407. package/dist/utils/react/mergeProps.js +1 -1
  408. package/dist/utils/react/nullableValue.js +1 -1
  409. package/dist/utils/react/resolveIcon.js +1 -1
  410. package/dist/utils/react/sharedStore.js +1 -1
  411. package/dist/utils/react/useCombinedRefs.js +1 -1
  412. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  413. package/dist/utils/react/useEventBus.js +1 -1
  414. package/dist/utils/react/useId.js +1 -1
  415. package/dist/utils/react/useIsDarwin.js +1 -1
  416. package/dist/utils/react/useKeySymbols.js +1 -1
  417. package/dist/utils/react/useLayoutEffect.js +1 -1
  418. package/dist/utils/react/useLocalStorage.js +1 -1
  419. package/dist/utils/react/useMergeStyles.js +1 -1
  420. package/dist/utils/react/usePopoverSync.js +1 -1
  421. package/dist/utils/react/useQaProps.js +1 -1
  422. package/dist/utils/react/useViewportSize.js +1 -1
  423. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  424. package/dist/utils/selection.js +1 -1
  425. package/dist/utils/styles.js +1 -1
  426. package/dist/utils/tree.js +1 -1
  427. package/dist/utils/warnings.js +1 -1
  428. package/dist/version.js +2 -2
  429. package/docs/components/navigation/Tabs.md +2 -18
  430. package/package.json +1 -1
  431. package/dist/components/layout/Board/Board.d.ts +0 -110
  432. package/dist/components/layout/Board/Board.js +0 -447
  433. package/dist/components/layout/Board/Board.js.map +0 -1
  434. package/dist/components/layout/Board/BoardProvider.d.ts +0 -28
  435. package/dist/components/layout/Board/BoardProvider.js +0 -47
  436. package/dist/components/layout/Board/BoardProvider.js.map +0 -1
  437. package/dist/components/layout/Board/BoardResponsive.d.ts +0 -45
  438. package/dist/components/layout/Board/BoardResponsive.js +0 -94
  439. package/dist/components/layout/Board/BoardResponsive.js.map +0 -1
  440. package/dist/components/layout/Board/Widget.d.ts +0 -49
  441. package/dist/components/layout/Board/Widget.js +0 -42
  442. package/dist/components/layout/Board/Widget.js.map +0 -1
  443. package/dist/components/layout/Board/WidgetHost.js +0 -341
  444. package/dist/components/layout/Board/WidgetHost.js.map +0 -1
  445. package/dist/components/layout/Board/board-context.d.ts +0 -16
  446. package/dist/components/layout/Board/board-context.js +0 -32
  447. package/dist/components/layout/Board/board-context.js.map +0 -1
  448. package/dist/components/layout/Board/board-store.d.ts +0 -3
  449. package/dist/components/layout/Board/board-store.js +0 -49
  450. package/dist/components/layout/Board/board-store.js.map +0 -1
  451. package/dist/components/layout/Board/grid-core/calculate.js +0 -90
  452. package/dist/components/layout/Board/grid-core/calculate.js.map +0 -1
  453. package/dist/components/layout/Board/grid-core/collision.js +0 -35
  454. package/dist/components/layout/Board/grid-core/collision.js.map +0 -1
  455. package/dist/components/layout/Board/grid-core/compactors.d.ts +0 -23
  456. package/dist/components/layout/Board/grid-core/compactors.js +0 -166
  457. package/dist/components/layout/Board/grid-core/compactors.js.map +0 -1
  458. package/dist/components/layout/Board/grid-core/constraints.d.ts +0 -35
  459. package/dist/components/layout/Board/grid-core/constraints.js +0 -155
  460. package/dist/components/layout/Board/grid-core/constraints.js.map +0 -1
  461. package/dist/components/layout/Board/grid-core/layout.js +0 -176
  462. package/dist/components/layout/Board/grid-core/layout.js.map +0 -1
  463. package/dist/components/layout/Board/grid-core/sort.js +0 -37
  464. package/dist/components/layout/Board/grid-core/sort.js.map +0 -1
  465. package/dist/components/layout/Board/grid-core/types.d.ts +0 -168
  466. package/dist/components/layout/Board/index.d.ts +0 -21
  467. package/dist/components/layout/Board/index.js +0 -18
  468. package/dist/components/layout/Board/index.js.map +0 -1
  469. package/dist/components/layout/Board/responsive-utils.d.ts +0 -13
  470. package/dist/components/layout/Board/responsive-utils.js +0 -55
  471. package/dist/components/layout/Board/responsive-utils.js.map +0 -1
  472. package/dist/components/layout/Board/use-board-layout.js +0 -52
  473. package/dist/components/layout/Board/use-board-layout.js.map +0 -1
  474. package/dist/components/layout/Board/use-board-registry.js +0 -372
  475. package/dist/components/layout/Board/use-board-registry.js.map +0 -1
  476. package/docs/components/layout/Board.md +0 -212
@@ -1,16 +0,0 @@
1
-
2
- import { LayoutItem } from "./grid-core/types.js";
3
- import "./board-store.js";
4
- import { MutableRefObject } from "react";
5
-
6
- //#region src/components/layout/Board/board-context.d.ts
7
- /** Emitted when a widget is dropped from one board into another. */
8
- interface WidgetTransferInfo {
9
- widgetId: string;
10
- fromBoardId: string;
11
- toBoardId: string;
12
- item: LayoutItem;
13
- }
14
- //#endregion
15
- export { WidgetTransferInfo };
16
- //# sourceMappingURL=board-context.d.ts.map
@@ -1,32 +0,0 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
- import { createContext, useContext } from "react";
3
-
4
- //#region src/components/layout/Board/board-context.tsx
5
- const BoardRegistryContext = createContext(null);
6
- function useBoardRegistry() {
7
- return useContext(BoardRegistryContext);
8
- }
9
- /**
10
- * A stable boolean signalling whether a Board widget is currently being
11
- * dragged. Provided by `BoardProvider` (and therefore by any standalone
12
- * `Board`, which self-wraps in one). Unlike the full `dragState`, this only
13
- * flips on drag start/end, so components that only care about "is a drag in
14
- * progress" (e.g. `Tabs` spring-loading a tab on hover) can subscribe without
15
- * re-rendering on every pointer move. Defaults to `false` outside any Board.
16
- */
17
- const BoardDragActiveContext = createContext(false);
18
- function useBoardDragActive() {
19
- return useContext(BoardDragActiveContext);
20
- }
21
- const BoardMetricsContext = createContext(null);
22
- function useBoardMetrics() {
23
- return useContext(BoardMetricsContext);
24
- }
25
- const BoardHostContext = createContext(null);
26
- function useBoardHost() {
27
- return useContext(BoardHostContext);
28
- }
29
-
30
- //#endregion
31
- export { BoardDragActiveContext, BoardHostContext, BoardMetricsContext, BoardRegistryContext, useBoardDragActive, useBoardHost, useBoardMetrics, useBoardRegistry };
32
- //# sourceMappingURL=board-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"board-context.js","names":[],"sources":["../../../../src/components/layout/Board/board-context.tsx"],"sourcesContent":["import { createContext, MutableRefObject, useContext } from 'react';\n\nimport type { BoardWidgetStore } from './board-store';\nimport type {\n Compactor,\n LayoutConstraint,\n LayoutItem,\n PositionParams,\n} from './grid-core';\n\n/** A rectangle in viewport (client) coordinates. */\nexport interface ViewportRect {\n left: number;\n top: number;\n width: number;\n height: number;\n}\n\n/**\n * Everything the cross-board registry needs to read from / write to a single\n * board. Methods read live refs so a single stable entry can be registered once\n * per board and stay current across renders.\n */\nexport interface BoardEntry {\n id: string;\n /** Viewport rect of the content area where widgets are positioned. */\n getContentRect: () => DOMRect | null;\n /** The DOM node of the content area (used to detect nested-in-drag boards). */\n getContentNode: () => HTMLElement | null;\n getPositionParams: () => PositionParams;\n getConstraints: () => LayoutConstraint[];\n getCompactor: () => Compactor;\n getMaxRows: () => number;\n getContainerHeight: () => number;\n getLayout: () => LayoutItem[];\n /** Update the board layout. `commit` fires `onLayoutChange`. */\n applyLayout: (layout: LayoutItem[], commit: boolean) => void;\n setPlaceholder: (item: LayoutItem | null) => void;\n isDroppable: () => boolean;\n}\n\n/** Emitted when a widget is dropped from one board into another. */\nexport interface WidgetTransferInfo {\n widgetId: string;\n fromBoardId: string;\n toBoardId: string;\n item: LayoutItem;\n}\n\n/** Live drag state, shared across boards for overlay + placeholders. */\nexport interface BoardDragState {\n sourceBoardId: string;\n /** Board currently owning the dragged item (changes as it crosses boards). */\n currentBoardId: string;\n itemId: string;\n /** Snapshot of the dragged item (grid units; w/h preserved across boards). */\n item: LayoutItem;\n /** Dragged widget rect in viewport coordinates (follows the pointer). */\n rect: ViewportRect;\n pointerType: string;\n}\n\nexport interface BoardRegistryContextValue {\n store: BoardWidgetStore;\n overlayRef: MutableRefObject<HTMLDivElement | null>;\n registerBoard: (entry: BoardEntry) => () => void;\n onDragStart: (\n boardId: string,\n itemId: string,\n rect: ViewportRect,\n pointerType: string,\n /** The dragged widget's host node, used to exclude boards nested inside it. */\n widgetNode: HTMLElement | null,\n ) => void;\n onDragMove: (deltaX: number, deltaY: number, pointerType: string) => void;\n onDragEnd: () => void;\n dragState: BoardDragState | null;\n}\n\nexport const BoardRegistryContext =\n createContext<BoardRegistryContextValue | null>(null);\n\nexport function useBoardRegistry(): BoardRegistryContextValue | null {\n return useContext(BoardRegistryContext);\n}\n\n/**\n * A stable boolean signalling whether a Board widget is currently being\n * dragged. Provided by `BoardProvider` (and therefore by any standalone\n * `Board`, which self-wraps in one). Unlike the full `dragState`, this only\n * flips on drag start/end, so components that only care about \"is a drag in\n * progress\" (e.g. `Tabs` spring-loading a tab on hover) can subscribe without\n * re-rendering on every pointer move. Defaults to `false` outside any Board.\n */\nexport const BoardDragActiveContext = createContext<boolean>(false);\n\nexport function useBoardDragActive(): boolean {\n return useContext(BoardDragActiveContext);\n}\n\n/**\n * The resolved grid metrics a `Board` exposes to any boards nested inside its\n * widgets. A nested board with `isAligned` reads these to inherit the parent's\n * column pitch (column width + horizontal margin) and target row height, so its\n * cells line up with the surrounding layout instead of stretching.\n */\nexport interface BoardMetrics {\n /** Resolved pixel width of one parent column. */\n colWidth: number;\n /** Resolved parent row height in pixels (the alignment target). */\n rowHeight: number;\n /** Parent [horizontal, vertical] margin between widgets in pixels. */\n margin: readonly [number, number];\n /** Parent [horizontal, vertical] container padding in pixels. */\n containerPadding: readonly [number, number];\n}\n\nexport const BoardMetricsContext = createContext<BoardMetrics | null>(null);\n\nexport function useBoardMetrics(): BoardMetrics | null {\n return useContext(BoardMetricsContext);\n}\n\n/**\n * Information a `WidgetHost` exposes to the content it renders (including a\n * nested `Board`). Lets a nested board know whether its host widget auto-sizes\n * its height and, if so, ask the host to grow to fit the board's natural size.\n */\nexport interface BoardHost {\n /** Whether the host widget grows its height to fit its content. */\n isAutoHeight: boolean;\n /**\n * Ask the host widget to grow so it provides `px` more content height. Only\n * ever increases the host's height. No-op when the host does not auto-size.\n */\n requestHeightDeficit: (px: number) => void;\n}\n\nexport const BoardHostContext = createContext<BoardHost | null>(null);\n\nexport function useBoardHost(): BoardHost | null {\n return useContext(BoardHostContext);\n}\n"],"mappings":";;;;AA+EA,MAAa,uBACX,cAAgD,KAAK;AAEvD,SAAgB,mBAAqD;AACnE,QAAO,WAAW,qBAAqB;;;;;;;;;;AAWzC,MAAa,yBAAyB,cAAuB,MAAM;AAEnE,SAAgB,qBAA8B;AAC5C,QAAO,WAAW,uBAAuB;;AAoB3C,MAAa,sBAAsB,cAAmC,KAAK;AAE3E,SAAgB,kBAAuC;AACrD,QAAO,WAAW,oBAAoB;;AAkBxC,MAAa,mBAAmB,cAAgC,KAAK;AAErE,SAAgB,eAAiC;AAC/C,QAAO,WAAW,iBAAiB"}
@@ -1,3 +0,0 @@
1
-
2
- import { Styles } from "@tenphi/tasty";
3
- import { ReactNode } from "react";
@@ -1,49 +0,0 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
- //#region src/components/layout/Board/board-store.ts
3
- /**
4
- * A tiny external store mapping widget id -> registration.
5
- *
6
- * Boards read from it via `useSyncExternalStore`, so a change to any widget's
7
- * content or config re-renders the hosting board without prop drilling through
8
- * the (possibly cross-board) tree.
9
- */
10
- var BoardWidgetStore = class {
11
- map = /* @__PURE__ */ new Map();
12
- owners = /* @__PURE__ */ new Map();
13
- listeners = /* @__PURE__ */ new Set();
14
- version = 0;
15
- register(reg, owner) {
16
- const prev = this.map.get(reg.id);
17
- this.map.set(reg.id, reg);
18
- this.owners.set(reg.id, owner);
19
- if (!prev || prev.content !== reg.content || prev.isDraggable !== reg.isDraggable || prev.isResizable !== reg.isResizable || prev.resizeHandles !== reg.resizeHandles || prev.constraints !== reg.constraints || prev.qa !== reg.qa || prev.styles !== reg.styles || prev.isAutoHeight !== reg.isAutoHeight || prev.dragCancel !== reg.dragCancel || prev.dragHandle !== reg.dragHandle) {
20
- this.version++;
21
- this.emit();
22
- }
23
- }
24
- unregister(id, owner) {
25
- if (this.owners.get(id) !== owner) return;
26
- this.owners.delete(id);
27
- if (this.map.delete(id)) {
28
- this.version++;
29
- this.emit();
30
- }
31
- }
32
- get(id) {
33
- return this.map.get(id);
34
- }
35
- getVersion = () => this.version;
36
- subscribe = (listener) => {
37
- this.listeners.add(listener);
38
- return () => {
39
- this.listeners.delete(listener);
40
- };
41
- };
42
- emit() {
43
- this.listeners.forEach((listener) => listener());
44
- }
45
- };
46
-
47
- //#endregion
48
- export { BoardWidgetStore };
49
- //# sourceMappingURL=board-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"board-store.js","names":[],"sources":["../../../../src/components/layout/Board/board-store.ts"],"sourcesContent":["import type { Styles } from '@tenphi/tasty';\nimport type { ReactNode } from 'react';\nimport type { LayoutConstraint, ResizeHandleAxis } from './grid-core';\n\n/**\n * Declarative registration for a single widget.\n *\n * Widget *content* is decoupled from widget *position*: content is registered\n * here by `Board.Widget` keyed by id, while positioning/ownership lives in a\n * board's layout state. This decoupling is what allows a widget to be hosted\n * (and transferred) between different boards under the same `BoardProvider`.\n */\nexport interface WidgetRegistration {\n id: string;\n content: ReactNode;\n isDraggable?: boolean;\n isResizable?: boolean;\n resizeHandles?: ResizeHandleAxis[];\n constraints?: LayoutConstraint[];\n qa?: string;\n styles?: Styles;\n /** Grow this widget's height to fit its content (only ever increases). */\n isAutoHeight?: boolean;\n /** Override the board's `dragCancel` selector for this widget. */\n dragCancel?: string;\n /** Override the board's `dragHandle` selector for this widget. */\n dragHandle?: string;\n}\n\n/**\n * A tiny external store mapping widget id -> registration.\n *\n * Boards read from it via `useSyncExternalStore`, so a change to any widget's\n * content or config re-renders the hosting board without prop drilling through\n * the (possibly cross-board) tree.\n */\nexport class BoardWidgetStore {\n private map = new Map<string, WidgetRegistration>();\n // Tracks which mounted `Board.Widget` instance currently owns each id. This\n // guards against a stale unregister from an unmounting instance clobbering a\n // freshly-mounted instance's registration - which happens when a widget's\n // subtree is relocated (e.g. dragging a container widget that hosts a nested\n // board moves it into the overlay portal, remounting the inner widgets).\n private owners = new Map<string, object>();\n private listeners = new Set<() => void>();\n private version = 0;\n\n register(reg: WidgetRegistration, owner: object): void {\n const prev = this.map.get(reg.id);\n this.map.set(reg.id, reg);\n this.owners.set(reg.id, owner);\n\n // Notify on any reference change. The hosting board reads registrations\n // during render, but `Board.Widget` registers in a layout effect (after\n // commit), so a content/config change lands one commit late and would never\n // be shown without an emit. Reference comparison is loop-safe: a board's own\n // re-render reuses the same `children` element references from its\n // (un-rerendered) parent, so `content` only differs on a genuine parent\n // update -> we emit once and then settle.\n const changed =\n !prev ||\n prev.content !== reg.content ||\n prev.isDraggable !== reg.isDraggable ||\n prev.isResizable !== reg.isResizable ||\n prev.resizeHandles !== reg.resizeHandles ||\n prev.constraints !== reg.constraints ||\n prev.qa !== reg.qa ||\n prev.styles !== reg.styles ||\n prev.isAutoHeight !== reg.isAutoHeight ||\n prev.dragCancel !== reg.dragCancel ||\n prev.dragHandle !== reg.dragHandle;\n\n if (changed) {\n this.version++;\n this.emit();\n }\n }\n\n unregister(id: string, owner: object): void {\n // Ignore unregister calls from an instance that no longer owns the id (a\n // newer instance has already taken over).\n if (this.owners.get(id) !== owner) return;\n\n this.owners.delete(id);\n if (this.map.delete(id)) {\n this.version++;\n this.emit();\n }\n }\n\n get(id: string): WidgetRegistration | undefined {\n return this.map.get(id);\n }\n\n getVersion = (): number => this.version;\n\n subscribe = (listener: () => void): (() => void) => {\n this.listeners.add(listener);\n return () => {\n this.listeners.delete(listener);\n };\n };\n\n private emit(): void {\n this.listeners.forEach((listener) => listener());\n }\n}\n"],"mappings":";;;;;;;;;AAoCA,IAAa,mBAAb,MAA8B;CAC5B,AAAQ,sBAAM,IAAI,KAAiC;CAMnD,AAAQ,yBAAS,IAAI,KAAqB;CAC1C,AAAQ,4BAAY,IAAI,KAAiB;CACzC,AAAQ,UAAU;CAElB,SAAS,KAAyB,OAAqB;EACrD,MAAM,OAAO,KAAK,IAAI,IAAI,IAAI,GAAG;AACjC,OAAK,IAAI,IAAI,IAAI,IAAI,IAAI;AACzB,OAAK,OAAO,IAAI,IAAI,IAAI,MAAM;AAsB9B,MAZE,CAAC,QACD,KAAK,YAAY,IAAI,WACrB,KAAK,gBAAgB,IAAI,eACzB,KAAK,gBAAgB,IAAI,eACzB,KAAK,kBAAkB,IAAI,iBAC3B,KAAK,gBAAgB,IAAI,eACzB,KAAK,OAAO,IAAI,MAChB,KAAK,WAAW,IAAI,UACpB,KAAK,iBAAiB,IAAI,gBAC1B,KAAK,eAAe,IAAI,cACxB,KAAK,eAAe,IAAI,YAEb;AACX,QAAK;AACL,QAAK,MAAM;;;CAIf,WAAW,IAAY,OAAqB;AAG1C,MAAI,KAAK,OAAO,IAAI,GAAG,KAAK,MAAO;AAEnC,OAAK,OAAO,OAAO,GAAG;AACtB,MAAI,KAAK,IAAI,OAAO,GAAG,EAAE;AACvB,QAAK;AACL,QAAK,MAAM;;;CAIf,IAAI,IAA4C;AAC9C,SAAO,KAAK,IAAI,IAAI,GAAG;;CAGzB,mBAA2B,KAAK;CAEhC,aAAa,aAAuC;AAClD,OAAK,UAAU,IAAI,SAAS;AAC5B,eAAa;AACX,QAAK,UAAU,OAAO,SAAS;;;CAInC,AAAQ,OAAa;AACnB,OAAK,UAAU,SAAS,aAAa,UAAU,CAAC"}
@@ -1,90 +0,0 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
- //#region src/components/layout/Board/grid-core/calculate.ts
3
- /** Calculate the width of a single grid column in pixels. */
4
- function calcGridColWidth(positionParams) {
5
- const { margin, containerPadding, containerWidth, cols } = positionParams;
6
- return (containerWidth - margin[0] * (cols - 1) - containerPadding[0] * 2) / cols;
7
- }
8
- /**
9
- * Calculate the pixel size for a grid unit dimension (width or height).
10
- */
11
- function calcGridItemWHPx(gridUnits, colOrRowSize, marginPx) {
12
- if (!Number.isFinite(gridUnits)) return gridUnits;
13
- return Math.round(colOrRowSize * gridUnits + Math.max(0, gridUnits - 1) * marginPx);
14
- }
15
- /**
16
- * Calculate pixel position for a grid item. Returns left, top, width, height.
17
- */
18
- function calcGridItemPosition(positionParams, x, y, w, h, dragPosition, resizePosition) {
19
- const { margin, containerPadding, rowHeight } = positionParams;
20
- const colWidth = calcGridColWidth(positionParams);
21
- let width;
22
- let height;
23
- let top;
24
- let left;
25
- if (resizePosition) {
26
- width = Math.round(resizePosition.width);
27
- height = Math.round(resizePosition.height);
28
- } else {
29
- width = calcGridItemWHPx(w, colWidth, margin[0]);
30
- height = calcGridItemWHPx(h, rowHeight, margin[1]);
31
- }
32
- if (dragPosition) {
33
- top = Math.round(dragPosition.top);
34
- left = Math.round(dragPosition.left);
35
- } else if (resizePosition) {
36
- top = Math.round(resizePosition.top);
37
- left = Math.round(resizePosition.left);
38
- } else {
39
- top = Math.round((rowHeight + margin[1]) * y + containerPadding[1]);
40
- left = Math.round((colWidth + margin[0]) * x + containerPadding[0]);
41
- }
42
- if (!dragPosition && !resizePosition) {
43
- if (Number.isFinite(w)) {
44
- const actualMarginRight = Math.round((colWidth + margin[0]) * (x + w) + containerPadding[0]) - left - width;
45
- if (actualMarginRight !== margin[0]) width += actualMarginRight - margin[0];
46
- }
47
- if (Number.isFinite(h)) {
48
- const actualMarginBottom = Math.round((rowHeight + margin[1]) * (y + h) + containerPadding[1]) - top - height;
49
- if (actualMarginBottom !== margin[1]) height += actualMarginBottom - margin[1];
50
- }
51
- }
52
- return {
53
- top,
54
- left,
55
- width,
56
- height
57
- };
58
- }
59
- /** Translate pixel coordinates to grid units without clamping. */
60
- function calcXYRaw(positionParams, top, left) {
61
- const { margin, containerPadding, rowHeight } = positionParams;
62
- const colWidth = calcGridColWidth(positionParams);
63
- return {
64
- x: Math.round((left - containerPadding[0]) / (colWidth + margin[0])),
65
- y: Math.round((top - containerPadding[1]) / (rowHeight + margin[1]))
66
- };
67
- }
68
- /** Calculate grid units from pixel dimensions (clamped by handle direction). */
69
- function calcWH(positionParams, width, height, x, y, handle) {
70
- const { margin, maxRows, cols, rowHeight } = positionParams;
71
- const colWidth = calcGridColWidth(positionParams);
72
- const w = Math.round((width + margin[0]) / (colWidth + margin[0]));
73
- const h = Math.round((height + margin[1]) / (rowHeight + margin[1]));
74
- let _w = clamp(w, 0, cols - x);
75
- let _h = clamp(h, 0, maxRows - y);
76
- if (handle === "sw" || handle === "w" || handle === "nw") _w = clamp(w, 0, cols);
77
- if (handle === "nw" || handle === "n" || handle === "ne") _h = clamp(h, 0, maxRows);
78
- return {
79
- w: _w,
80
- h: _h
81
- };
82
- }
83
- /** Clamp a number between bounds. */
84
- function clamp(num, lowerBound, upperBound) {
85
- return Math.max(Math.min(num, upperBound), lowerBound);
86
- }
87
-
88
- //#endregion
89
- export { calcGridColWidth, calcGridItemPosition, calcWH, calcXYRaw, clamp };
90
- //# sourceMappingURL=calculate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculate.js","names":[],"sources":["../../../../../src/components/layout/Board/grid-core/calculate.ts"],"sourcesContent":["/**\n * Grid calculation utilities.\n *\n * Vendored from react-grid-layout v2 (`src/core/calculate.ts`).\n * See ./NOTICE.md for attribution and license.\n *\n * These functions convert between grid units and pixel positions.\n */\n\nimport type { Position, ResizeHandleAxis } from './types';\n\n/** Parameters needed for position calculations. */\nexport interface PositionParams {\n readonly margin: readonly [number, number];\n readonly containerPadding: readonly [number, number];\n readonly containerWidth: number;\n readonly cols: number;\n readonly rowHeight: number;\n readonly maxRows: number;\n}\n\n// ============================================================================\n// Grid Column/Row Calculations\n// ============================================================================\n\n/** Calculate the width of a single grid column in pixels. */\nexport function calcGridColWidth(positionParams: PositionParams): number {\n const { margin, containerPadding, containerWidth, cols } = positionParams;\n return (\n (containerWidth - margin[0] * (cols - 1) - containerPadding[0] * 2) / cols\n );\n}\n\n/**\n * Calculate the pixel size for a grid unit dimension (width or height).\n */\nexport function calcGridItemWHPx(\n gridUnits: number,\n colOrRowSize: number,\n marginPx: number,\n): number {\n // 0 * Infinity === NaN, which causes problems with resize constraints\n if (!Number.isFinite(gridUnits)) return gridUnits;\n return Math.round(\n colOrRowSize * gridUnits + Math.max(0, gridUnits - 1) * marginPx,\n );\n}\n\n// ============================================================================\n// Position Calculations\n// ============================================================================\n\n/**\n * Calculate pixel position for a grid item. Returns left, top, width, height.\n */\nexport function calcGridItemPosition(\n positionParams: PositionParams,\n x: number,\n y: number,\n w: number,\n h: number,\n dragPosition?: { top: number; left: number } | null,\n resizePosition?: {\n top: number;\n left: number;\n height: number;\n width: number;\n } | null,\n): Position {\n const { margin, containerPadding, rowHeight } = positionParams;\n const colWidth = calcGridColWidth(positionParams);\n\n let width: number;\n let height: number;\n let top: number;\n let left: number;\n\n // If resizing, use the exact width and height from resize callbacks\n if (resizePosition) {\n width = Math.round(resizePosition.width);\n height = Math.round(resizePosition.height);\n } else {\n width = calcGridItemWHPx(w, colWidth, margin[0]);\n height = calcGridItemWHPx(h, rowHeight, margin[1]);\n }\n\n // If dragging, use the exact left/top from drag callbacks\n if (dragPosition) {\n top = Math.round(dragPosition.top);\n left = Math.round(dragPosition.left);\n } else if (resizePosition) {\n top = Math.round(resizePosition.top);\n left = Math.round(resizePosition.left);\n } else {\n top = Math.round((rowHeight + margin[1]) * y + containerPadding[1]);\n left = Math.round((colWidth + margin[0]) * x + containerPadding[0]);\n }\n\n // When not dragging or resizing, fix margin inconsistencies caused by\n // rounding by comparing where the next sibling would start.\n if (!dragPosition && !resizePosition) {\n if (Number.isFinite(w)) {\n const siblingLeft = Math.round(\n (colWidth + margin[0]) * (x + w) + containerPadding[0],\n );\n const actualMarginRight = siblingLeft - left - width;\n if (actualMarginRight !== margin[0]) {\n width += actualMarginRight - margin[0];\n }\n }\n\n if (Number.isFinite(h)) {\n const siblingTop = Math.round(\n (rowHeight + margin[1]) * (y + h) + containerPadding[1],\n );\n const actualMarginBottom = siblingTop - top - height;\n if (actualMarginBottom !== margin[1]) {\n height += actualMarginBottom - margin[1];\n }\n }\n }\n\n return { top, left, width, height };\n}\n\n/** Translate pixel coordinates to grid units (clamped). */\nexport function calcXY(\n positionParams: PositionParams,\n top: number,\n left: number,\n w: number,\n h: number,\n): { x: number; y: number } {\n const { margin, containerPadding, cols, rowHeight, maxRows } = positionParams;\n const colWidth = calcGridColWidth(positionParams);\n\n let x = Math.round((left - containerPadding[0]) / (colWidth + margin[0]));\n let y = Math.round((top - containerPadding[1]) / (rowHeight + margin[1]));\n\n x = clamp(x, 0, cols - w);\n y = clamp(y, 0, maxRows - h);\n\n return { x, y };\n}\n\n/** Translate pixel coordinates to grid units without clamping. */\nexport function calcXYRaw(\n positionParams: PositionParams,\n top: number,\n left: number,\n): { x: number; y: number } {\n const { margin, containerPadding, rowHeight } = positionParams;\n const colWidth = calcGridColWidth(positionParams);\n\n const x = Math.round((left - containerPadding[0]) / (colWidth + margin[0]));\n const y = Math.round((top - containerPadding[1]) / (rowHeight + margin[1]));\n\n return { x, y };\n}\n\n/** Calculate grid units from pixel dimensions (clamped by handle direction). */\nexport function calcWH(\n positionParams: PositionParams,\n width: number,\n height: number,\n x: number,\n y: number,\n handle: ResizeHandleAxis,\n): { w: number; h: number } {\n const { margin, maxRows, cols, rowHeight } = positionParams;\n const colWidth = calcGridColWidth(positionParams);\n\n const w = Math.round((width + margin[0]) / (colWidth + margin[0]));\n const h = Math.round((height + margin[1]) / (rowHeight + margin[1]));\n\n let _w = clamp(w, 0, cols - x);\n let _h = clamp(h, 0, maxRows - y);\n\n // West handles can resize to full width\n if (handle === 'sw' || handle === 'w' || handle === 'nw') {\n _w = clamp(w, 0, cols);\n }\n\n // North handles can resize to full height\n if (handle === 'nw' || handle === 'n' || handle === 'ne') {\n _h = clamp(h, 0, maxRows);\n }\n\n return { w: _w, h: _h };\n}\n\n/** Calculate grid units from pixel dimensions without clamping (min 1). */\nexport function calcWHRaw(\n positionParams: PositionParams,\n width: number,\n height: number,\n): { w: number; h: number } {\n const { margin, rowHeight } = positionParams;\n const colWidth = calcGridColWidth(positionParams);\n\n const w = Math.max(\n 1,\n Math.round((width + margin[0]) / (colWidth + margin[0])),\n );\n const h = Math.max(\n 1,\n Math.round((height + margin[1]) / (rowHeight + margin[1])),\n );\n\n return { w, h };\n}\n\n// ============================================================================\n// Utility Functions\n// ============================================================================\n\n/** Clamp a number between bounds. */\nexport function clamp(\n num: number,\n lowerBound: number,\n upperBound: number,\n): number {\n return Math.max(Math.min(num, upperBound), lowerBound);\n}\n"],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
- //#region src/components/layout/Board/grid-core/collision.ts
3
- /**
4
- * Check if two layout items collide (overlap).
5
- *
6
- * Two items collide if their bounding boxes overlap and they are not the same
7
- * item.
8
- */
9
- function collides(l1, l2) {
10
- if (l1.i === l2.i) return false;
11
- if (l1.x + l1.w <= l2.x) return false;
12
- if (l1.x >= l2.x + l2.w) return false;
13
- if (l1.y + l1.h <= l2.y) return false;
14
- if (l1.y >= l2.y + l2.h) return false;
15
- return true;
16
- }
17
- /**
18
- * Find the first item in the layout that collides with the given item.
19
- */
20
- function getFirstCollision(layout, layoutItem) {
21
- for (let i = 0; i < layout.length; i++) {
22
- const item = layout[i];
23
- if (item !== void 0 && collides(item, layoutItem)) return item;
24
- }
25
- }
26
- /**
27
- * Find all items in the layout that collide with the given item.
28
- */
29
- function getAllCollisions(layout, layoutItem) {
30
- return layout.filter((l) => collides(l, layoutItem));
31
- }
32
-
33
- //#endregion
34
- export { collides, getAllCollisions, getFirstCollision };
35
- //# sourceMappingURL=collision.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collision.js","names":[],"sources":["../../../../../src/components/layout/Board/grid-core/collision.ts"],"sourcesContent":["/**\n * Collision detection utilities for grid layouts.\n *\n * Vendored from react-grid-layout v2 (`src/core/collision.ts`).\n * See ./NOTICE.md for attribution and license.\n */\n\nimport type { Layout, LayoutItem } from './types';\n\n/**\n * Check if two layout items collide (overlap).\n *\n * Two items collide if their bounding boxes overlap and they are not the same\n * item.\n */\nexport function collides(l1: LayoutItem, l2: LayoutItem): boolean {\n // Same element - can't collide with itself\n if (l1.i === l2.i) return false;\n\n // Check if bounding boxes don't overlap (any gap means no collision)\n if (l1.x + l1.w <= l2.x) return false; // l1 is completely left of l2\n if (l1.x >= l2.x + l2.w) return false; // l1 is completely right of l2\n if (l1.y + l1.h <= l2.y) return false; // l1 is completely above l2\n if (l1.y >= l2.y + l2.h) return false; // l1 is completely below l2\n\n // Bounding boxes overlap\n return true;\n}\n\n/**\n * Find the first item in the layout that collides with the given item.\n */\nexport function getFirstCollision(\n layout: Layout,\n layoutItem: LayoutItem,\n): LayoutItem | undefined {\n for (let i = 0; i < layout.length; i++) {\n const item = layout[i];\n if (item !== undefined && collides(item, layoutItem)) {\n return item;\n }\n }\n return undefined;\n}\n\n/**\n * Find all items in the layout that collide with the given item.\n */\nexport function getAllCollisions(\n layout: Layout,\n layoutItem: LayoutItem,\n): LayoutItem[] {\n return layout.filter((l): l is LayoutItem => collides(l, layoutItem));\n}\n"],"mappings":";;;;;;;;AAeA,SAAgB,SAAS,IAAgB,IAAyB;AAEhE,KAAI,GAAG,MAAM,GAAG,EAAG,QAAO;AAG1B,KAAI,GAAG,IAAI,GAAG,KAAK,GAAG,EAAG,QAAO;AAChC,KAAI,GAAG,KAAK,GAAG,IAAI,GAAG,EAAG,QAAO;AAChC,KAAI,GAAG,IAAI,GAAG,KAAK,GAAG,EAAG,QAAO;AAChC,KAAI,GAAG,KAAK,GAAG,IAAI,GAAG,EAAG,QAAO;AAGhC,QAAO;;;;;AAMT,SAAgB,kBACd,QACA,YACwB;AACxB,MAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;EACtC,MAAM,OAAO,OAAO;AACpB,MAAI,SAAS,UAAa,SAAS,MAAM,WAAW,CAClD,QAAO;;;;;;AASb,SAAgB,iBACd,QACA,YACc;AACd,QAAO,OAAO,QAAQ,MAAuB,SAAS,GAAG,WAAW,CAAC"}
@@ -1,23 +0,0 @@
1
-
2
- import { CompactType, Compactor } from "./types.js";
3
-
4
- //#region src/components/layout/Board/grid-core/compactors.d.ts
5
- /**
6
- * Vertical compactor - moves items up to fill gaps. Default compaction mode.
7
- */
8
- declare const verticalCompactor: Compactor;
9
- /**
10
- * Horizontal compactor - moves items left to fill gaps.
11
- */
12
- declare const horizontalCompactor: Compactor;
13
- /**
14
- * No compaction - items stay where placed (free-form layouts).
15
- */
16
- declare const noCompactor: Compactor;
17
- /**
18
- * Get a compactor by type (convenience for the string-based compactType API).
19
- */
20
- declare function getCompactor(compactType: CompactType, allowOverlap?: boolean, preventCollision?: boolean): Compactor;
21
- //#endregion
22
- export { getCompactor, horizontalCompactor, noCompactor, verticalCompactor };
23
- //# sourceMappingURL=compactors.d.ts.map
@@ -1,166 +0,0 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c26fe9d | Cube Dev Team */
2
- import { collides, getFirstCollision } from "./collision.js";
3
- import { sortLayoutItemsByColRow, sortLayoutItemsByRowCol } from "./sort.js";
4
- import { bottom, cloneLayout, cloneLayoutItem, getStatics } from "./layout.js";
5
-
6
- //#region src/components/layout/Board/grid-core/compactors.ts
7
- /**
8
- * Compactor implementations.
9
- *
10
- * Vendored from react-grid-layout v2 (`src/core/compactors.ts`).
11
- * See ./NOTICE.md for attribution and license.
12
- *
13
- * Compactors are pluggable strategies for removing gaps between grid items.
14
- */
15
- /**
16
- * Resolve a compaction collision by moving items.
17
- *
18
- * Before moving an item to a position, checks if that movement would cause
19
- * collisions and recursively moves those items first.
20
- */
21
- function resolveCompactionCollision(layout, item, moveToCoord, axis, hasStatics) {
22
- const sizeProp = axis === "x" ? "w" : "h";
23
- item[axis] += 1;
24
- const itemIndex = layout.findIndex((l) => l.i === item.i);
25
- const layoutHasStatics = hasStatics ?? getStatics(layout).length > 0;
26
- for (let i = itemIndex + 1; i < layout.length; i++) {
27
- const otherItem = layout[i];
28
- if (otherItem === void 0) continue;
29
- if (otherItem.static) continue;
30
- if (!layoutHasStatics && otherItem.y > item.y + item.h) break;
31
- if (collides(item, otherItem)) resolveCompactionCollision(layout, otherItem, moveToCoord + item[sizeProp], axis, layoutHasStatics);
32
- }
33
- item[axis] = moveToCoord;
34
- }
35
- /** Compact a single item vertically (move up). Mutates `l`. */
36
- function compactItemVertical(compareWith, l, fullLayout, maxY) {
37
- l.x = Math.max(l.x, 0);
38
- l.y = Math.max(l.y, 0);
39
- l.y = Math.min(maxY, l.y);
40
- while (l.y > 0 && !getFirstCollision(compareWith, l)) l.y--;
41
- let collision;
42
- while ((collision = getFirstCollision(compareWith, l)) !== void 0) resolveCompactionCollision(fullLayout, l, collision.y + collision.h, "y");
43
- l.y = Math.max(l.y, 0);
44
- return l;
45
- }
46
- /** Compact a single item horizontally (move left). Mutates `l`. */
47
- function compactItemHorizontal(compareWith, l, cols, fullLayout) {
48
- l.x = Math.max(l.x, 0);
49
- l.y = Math.max(l.y, 0);
50
- while (l.x > 0 && !getFirstCollision(compareWith, l)) l.x--;
51
- let collision;
52
- while ((collision = getFirstCollision(compareWith, l)) !== void 0) {
53
- resolveCompactionCollision(fullLayout, l, collision.x + collision.w, "x");
54
- if (l.x + l.w > cols) {
55
- l.x = cols - l.w;
56
- l.y++;
57
- while (l.x > 0 && !getFirstCollision(compareWith, l)) l.x--;
58
- }
59
- }
60
- l.x = Math.max(l.x, 0);
61
- return l;
62
- }
63
- /**
64
- * Vertical compactor - moves items up to fill gaps. Default compaction mode.
65
- */
66
- const verticalCompactor = {
67
- type: "vertical",
68
- allowOverlap: false,
69
- compact(layout, _cols) {
70
- const compareWith = getStatics(layout);
71
- let maxY = bottom(compareWith);
72
- const sorted = sortLayoutItemsByRowCol(layout);
73
- const out = new Array(layout.length);
74
- for (let i = 0; i < sorted.length; i++) {
75
- const sortedItem = sorted[i];
76
- if (sortedItem === void 0) continue;
77
- let l = cloneLayoutItem(sortedItem);
78
- if (!l.static) {
79
- l = compactItemVertical(compareWith, l, sorted, maxY);
80
- maxY = Math.max(maxY, l.y + l.h);
81
- compareWith.push(l);
82
- }
83
- const originalIndex = layout.indexOf(sortedItem);
84
- out[originalIndex] = l;
85
- l.moved = false;
86
- }
87
- return out;
88
- }
89
- };
90
- /**
91
- * Horizontal compactor - moves items left to fill gaps.
92
- */
93
- const horizontalCompactor = {
94
- type: "horizontal",
95
- allowOverlap: false,
96
- compact(layout, cols) {
97
- const compareWith = getStatics(layout);
98
- const sorted = sortLayoutItemsByColRow(layout);
99
- const out = new Array(layout.length);
100
- for (let i = 0; i < sorted.length; i++) {
101
- const sortedItem = sorted[i];
102
- if (sortedItem === void 0) continue;
103
- let l = cloneLayoutItem(sortedItem);
104
- if (!l.static) {
105
- l = compactItemHorizontal(compareWith, l, cols, sorted);
106
- compareWith.push(l);
107
- }
108
- const originalIndex = layout.indexOf(sortedItem);
109
- out[originalIndex] = l;
110
- l.moved = false;
111
- }
112
- return out;
113
- }
114
- };
115
- /**
116
- * No compaction - items stay where placed (free-form layouts).
117
- */
118
- const noCompactor = {
119
- type: null,
120
- allowOverlap: false,
121
- compact(layout, _cols) {
122
- return cloneLayout(layout);
123
- }
124
- };
125
- /** Vertical compactor that allows overlapping items. */
126
- const verticalOverlapCompactor = {
127
- ...verticalCompactor,
128
- allowOverlap: true,
129
- compact(layout, _cols) {
130
- return cloneLayout(layout);
131
- }
132
- };
133
- /** Horizontal compactor that allows overlapping items. */
134
- const horizontalOverlapCompactor = {
135
- ...horizontalCompactor,
136
- allowOverlap: true,
137
- compact(layout, _cols) {
138
- return cloneLayout(layout);
139
- }
140
- };
141
- /** No compaction, with overlapping allowed. */
142
- const noOverlapCompactor = {
143
- ...noCompactor,
144
- allowOverlap: true
145
- };
146
- /**
147
- * Get a compactor by type (convenience for the string-based compactType API).
148
- */
149
- function getCompactor(compactType, allowOverlap = false, preventCollision = false) {
150
- let baseCompactor;
151
- if (allowOverlap) if (compactType === "vertical") baseCompactor = verticalOverlapCompactor;
152
- else if (compactType === "horizontal") baseCompactor = horizontalOverlapCompactor;
153
- else baseCompactor = noOverlapCompactor;
154
- else if (compactType === "vertical") baseCompactor = verticalCompactor;
155
- else if (compactType === "horizontal") baseCompactor = horizontalCompactor;
156
- else baseCompactor = noCompactor;
157
- if (preventCollision) return {
158
- ...baseCompactor,
159
- preventCollision
160
- };
161
- return baseCompactor;
162
- }
163
-
164
- //#endregion
165
- export { getCompactor, horizontalCompactor, noCompactor, verticalCompactor };
166
- //# sourceMappingURL=compactors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compactors.js","names":[],"sources":["../../../../../src/components/layout/Board/grid-core/compactors.ts"],"sourcesContent":["/**\n * Compactor implementations.\n *\n * Vendored from react-grid-layout v2 (`src/core/compactors.ts`).\n * See ./NOTICE.md for attribution and license.\n *\n * Compactors are pluggable strategies for removing gaps between grid items.\n */\n\nimport { collides, getFirstCollision } from './collision';\nimport { bottom, cloneLayout, cloneLayoutItem, getStatics } from './layout';\nimport { sortLayoutItemsByColRow, sortLayoutItemsByRowCol } from './sort';\n\nimport type {\n Compactor,\n CompactType,\n Layout,\n LayoutItem,\n Mutable,\n} from './types';\n\n// ============================================================================\n// Helpers for Custom Compactors\n// ============================================================================\n\n/**\n * Resolve a compaction collision by moving items.\n *\n * Before moving an item to a position, checks if that movement would cause\n * collisions and recursively moves those items first.\n */\nexport function resolveCompactionCollision(\n layout: Layout,\n item: LayoutItem,\n moveToCoord: number,\n axis: 'x' | 'y',\n hasStatics?: boolean,\n): void {\n const sizeProp = axis === 'x' ? 'w' : 'h';\n\n // Temporarily increment position to check for collisions\n (item as Mutable<LayoutItem>)[axis] += 1;\n\n const itemIndex = layout.findIndex((l) => l.i === item.i);\n\n const layoutHasStatics = hasStatics ?? getStatics(layout).length > 0;\n\n for (let i = itemIndex + 1; i < layout.length; i++) {\n const otherItem = layout[i];\n if (otherItem === undefined) continue;\n if (otherItem.static) continue;\n // Optimization: break early if past this element, but only if no statics\n // are present. Static items can be scattered throughout the layout.\n if (!layoutHasStatics && otherItem.y > item.y + item.h) break;\n\n if (collides(item, otherItem)) {\n resolveCompactionCollision(\n layout,\n otherItem,\n moveToCoord + item[sizeProp],\n axis,\n layoutHasStatics,\n );\n }\n }\n\n (item as Mutable<LayoutItem>)[axis] = moveToCoord;\n}\n\n/** Compact a single item vertically (move up). Mutates `l`. */\nexport function compactItemVertical(\n compareWith: Layout,\n l: LayoutItem,\n fullLayout: Layout,\n maxY: number,\n): LayoutItem {\n // Correct negative positions first\n (l as Mutable<LayoutItem>).x = Math.max(l.x, 0);\n (l as Mutable<LayoutItem>).y = Math.max(l.y, 0);\n\n // Limit Y to the current bottom\n (l as Mutable<LayoutItem>).y = Math.min(maxY, l.y);\n\n // Move up as far as possible\n while (l.y > 0 && !getFirstCollision(compareWith, l)) {\n (l as Mutable<LayoutItem>).y--;\n }\n\n // Resolve collisions by moving down\n let collision: LayoutItem | undefined;\n while ((collision = getFirstCollision(compareWith, l)) !== undefined) {\n resolveCompactionCollision(fullLayout, l, collision.y + collision.h, 'y');\n }\n\n (l as Mutable<LayoutItem>).y = Math.max(l.y, 0);\n return l;\n}\n\n/** Compact a single item horizontally (move left). Mutates `l`. */\nexport function compactItemHorizontal(\n compareWith: Layout,\n l: LayoutItem,\n cols: number,\n fullLayout: Layout,\n): LayoutItem {\n // Correct negative positions first\n (l as Mutable<LayoutItem>).x = Math.max(l.x, 0);\n (l as Mutable<LayoutItem>).y = Math.max(l.y, 0);\n\n // Move left as far as possible\n while (l.x > 0 && !getFirstCollision(compareWith, l)) {\n (l as Mutable<LayoutItem>).x--;\n }\n\n // Resolve collisions\n let collision: LayoutItem | undefined;\n while ((collision = getFirstCollision(compareWith, l)) !== undefined) {\n resolveCompactionCollision(fullLayout, l, collision.x + collision.w, 'x');\n\n // Horizontal overflow: wrap to next row\n if (l.x + l.w > cols) {\n (l as Mutable<LayoutItem>).x = cols - l.w;\n (l as Mutable<LayoutItem>).y++;\n\n while (l.x > 0 && !getFirstCollision(compareWith, l)) {\n (l as Mutable<LayoutItem>).x--;\n }\n }\n }\n\n (l as Mutable<LayoutItem>).x = Math.max(l.x, 0);\n return l;\n}\n\n// ============================================================================\n// Vertical Compactor\n// ============================================================================\n\n/**\n * Vertical compactor - moves items up to fill gaps. Default compaction mode.\n */\nexport const verticalCompactor: Compactor = {\n type: 'vertical',\n allowOverlap: false,\n\n compact(layout: Layout, _cols: number): Layout {\n const compareWith = getStatics(layout);\n let maxY = bottom(compareWith);\n const sorted = sortLayoutItemsByRowCol(layout);\n const out: LayoutItem[] = new Array(layout.length);\n\n for (let i = 0; i < sorted.length; i++) {\n const sortedItem = sorted[i];\n if (sortedItem === undefined) continue;\n\n let l = cloneLayoutItem(sortedItem);\n\n if (!l.static) {\n l = compactItemVertical(compareWith, l, sorted, maxY);\n maxY = Math.max(maxY, l.y + l.h);\n compareWith.push(l);\n }\n\n const originalIndex = layout.indexOf(sortedItem);\n out[originalIndex] = l;\n l.moved = false;\n }\n\n return out;\n },\n};\n\n// ============================================================================\n// Horizontal Compactor\n// ============================================================================\n\n/**\n * Horizontal compactor - moves items left to fill gaps.\n */\nexport const horizontalCompactor: Compactor = {\n type: 'horizontal',\n allowOverlap: false,\n\n compact(layout: Layout, cols: number): Layout {\n const compareWith = getStatics(layout);\n const sorted = sortLayoutItemsByColRow(layout);\n const out: LayoutItem[] = new Array(layout.length);\n\n for (let i = 0; i < sorted.length; i++) {\n const sortedItem = sorted[i];\n if (sortedItem === undefined) continue;\n\n let l = cloneLayoutItem(sortedItem);\n\n if (!l.static) {\n l = compactItemHorizontal(compareWith, l, cols, sorted);\n compareWith.push(l);\n }\n\n const originalIndex = layout.indexOf(sortedItem);\n out[originalIndex] = l;\n l.moved = false;\n }\n\n return out;\n },\n};\n\n// ============================================================================\n// No Compaction\n// ============================================================================\n\n/**\n * No compaction - items stay where placed (free-form layouts).\n */\nexport const noCompactor: Compactor = {\n type: null,\n allowOverlap: false,\n\n compact(layout: Layout, _cols: number): Layout {\n return cloneLayout(layout);\n },\n};\n\n// ============================================================================\n// Overlap-Allowing Variants\n// ============================================================================\n\n/** Vertical compactor that allows overlapping items. */\nexport const verticalOverlapCompactor: Compactor = {\n ...verticalCompactor,\n allowOverlap: true,\n\n compact(layout: Layout, _cols: number): Layout {\n return cloneLayout(layout);\n },\n};\n\n/** Horizontal compactor that allows overlapping items. */\nexport const horizontalOverlapCompactor: Compactor = {\n ...horizontalCompactor,\n allowOverlap: true,\n\n compact(layout: Layout, _cols: number): Layout {\n return cloneLayout(layout);\n },\n};\n\n/** No compaction, with overlapping allowed. */\nexport const noOverlapCompactor: Compactor = {\n ...noCompactor,\n allowOverlap: true,\n};\n\n// ============================================================================\n// Factory Function\n// ============================================================================\n\n/**\n * Get a compactor by type (convenience for the string-based compactType API).\n */\nexport function getCompactor(\n compactType: CompactType,\n allowOverlap: boolean = false,\n preventCollision: boolean = false,\n): Compactor {\n let baseCompactor: Compactor;\n\n if (allowOverlap) {\n if (compactType === 'vertical') baseCompactor = verticalOverlapCompactor;\n else if (compactType === 'horizontal')\n baseCompactor = horizontalOverlapCompactor;\n else baseCompactor = noOverlapCompactor;\n } else {\n if (compactType === 'vertical') baseCompactor = verticalCompactor;\n else if (compactType === 'horizontal') baseCompactor = horizontalCompactor;\n // For 'wrap' and null, use noCompactor\n else baseCompactor = noCompactor;\n }\n\n if (preventCollision) {\n return { ...baseCompactor, preventCollision };\n }\n return baseCompactor;\n}\n"],"mappings":"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"}
@@ -1,35 +0,0 @@
1
-
2
- import { LayoutConstraint } from "./types.js";
3
-
4
- //#region src/components/layout/Board/grid-core/constraints.d.ts
5
- /**
6
- * Grid boundary constraint. Ensures items stay within the grid bounds. This is
7
- * the default position constraint.
8
- */
9
- declare const gridBounds: LayoutConstraint;
10
- /**
11
- * Min/max size constraint. Enforces per-item minW/maxW/minH/maxH.
12
- */
13
- declare const minMaxSize: LayoutConstraint;
14
- /**
15
- * Container bounds constraint. Constrains items to stay within the visible
16
- * container (a replacement for the legacy `isBounded` prop).
17
- */
18
- declare const containerBounds: LayoutConstraint;
19
- /** Bounded X constraint. Only constrains horizontal position. */
20
- declare const boundedX: LayoutConstraint;
21
- /** Bounded Y constraint. Only constrains vertical position. */
22
- declare const boundedY: LayoutConstraint;
23
- /**
24
- * Create an aspect ratio constraint (maintains width-to-height ratio in pixels).
25
- */
26
- declare function aspectRatio(ratio: number): LayoutConstraint;
27
- /** Create a snap-to-grid constraint. */
28
- declare function snapToGrid(stepX: number, stepY?: number): LayoutConstraint;
29
- /** Create a minimum size constraint (grid-wide). */
30
- declare function minSize(minW: number, minH: number): LayoutConstraint;
31
- /** Create a maximum size constraint (grid-wide). */
32
- declare function maxSize(maxW: number, maxH: number): LayoutConstraint;
33
- //#endregion
34
- export { aspectRatio, boundedX, boundedY, containerBounds, gridBounds, maxSize, minMaxSize, minSize, snapToGrid };
35
- //# sourceMappingURL=constraints.d.ts.map