@cube-dev/ui-kit 0.159.0 → 0.161.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. package/dist/CHANGELOG.md +36 -0
  2. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  3. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/dist/_internal/hooks/use-event.js +1 -1
  6. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  7. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +1 -1
  12. package/dist/components/CollectionItem.js +1 -1
  13. package/dist/components/GlobalStyles.js +1 -1
  14. package/dist/components/GridProvider.js +1 -1
  15. package/dist/components/HiddenInput.js +1 -1
  16. package/dist/components/Root.js +1 -1
  17. package/dist/components/actions/Action/Action.js +1 -1
  18. package/dist/components/actions/Banner/Banner.js +1 -1
  19. package/dist/components/actions/Button/Button.d.ts +3 -2
  20. package/dist/components/actions/Button/Button.js +5 -3
  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 +1 -1
  28. package/dist/components/actions/ItemAction/ItemAction.js +4 -3
  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 +8 -4
  55. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  56. package/dist/components/content/Divider.js +1 -1
  57. package/dist/components/content/Footer.js +1 -1
  58. package/dist/components/content/Header.js +1 -1
  59. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  60. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  61. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  62. package/dist/components/content/Item/Item.d.ts +1 -1
  63. package/dist/components/content/Item/Item.js +12 -6
  64. package/dist/components/content/Item/Item.js.map +1 -1
  65. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  66. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  67. package/dist/components/content/Layout/GridLayout.js +1 -1
  68. package/dist/components/content/Layout/Layout.js +1 -1
  69. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  70. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  71. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  72. package/dist/components/content/Layout/LayoutContent.js +1 -1
  73. package/dist/components/content/Layout/LayoutContext.js +1 -1
  74. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  75. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  76. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  77. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  78. package/dist/components/content/Layout/LayoutPane.js +1 -1
  79. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  80. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  81. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  82. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  83. package/dist/components/content/Layout/index.js +1 -1
  84. package/dist/components/content/Layout/utils.js +1 -1
  85. package/dist/components/content/Paragraph.js +1 -1
  86. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  87. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  88. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  89. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  90. package/dist/components/content/Result/Result.js +1 -1
  91. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  92. package/dist/components/content/Tag/Tag.js +1 -1
  93. package/dist/components/content/Text.js +1 -1
  94. package/dist/components/content/TextItem/TextItem.js +1 -1
  95. package/dist/components/content/Title.js +1 -1
  96. package/dist/components/content/Tree/Tree.js +1 -1
  97. package/dist/components/content/Tree/TreeNode.js +1 -1
  98. package/dist/components/content/Tree/styled.js +1 -1
  99. package/dist/components/content/Tree/tree-index.js +1 -1
  100. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  101. package/dist/components/content/Tree/use-load-data.js +1 -1
  102. package/dist/components/content/highlightText.js +1 -1
  103. package/dist/components/content/use-auto-tooltip.js +1 -1
  104. package/dist/components/data/DataTable/DataTable.js +1 -1
  105. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  106. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  107. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  108. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  109. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  110. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  111. package/dist/components/data/TableBase/RowCollection.js +1 -1
  112. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  113. package/dist/components/data/TableBase/TableRow.js +1 -1
  114. package/dist/components/data/TableBase/TableView.js +1 -1
  115. package/dist/components/data/TableBase/column-menu.js +1 -1
  116. package/dist/components/data/TableBase/column-tint.js +1 -1
  117. package/dist/components/data/TableBase/row-menu.js +1 -1
  118. package/dist/components/data/TableBase/styled.d.ts +2 -1
  119. package/dist/components/data/TableBase/styled.js +1 -1
  120. package/dist/components/data/TableBase/types.js +1 -1
  121. package/dist/components/data/TableBase/use-cell-selection.d.ts +1 -0
  122. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  123. package/dist/components/data/TableBase/use-column-order.js +1 -1
  124. package/dist/components/data/TableBase/use-container-width.js +1 -1
  125. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  126. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  127. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  128. package/dist/components/data/TableBase/use-table-search.js +1 -1
  129. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  130. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  131. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  132. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  133. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  134. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  135. package/dist/components/fields/Checkbox/context.js +1 -1
  136. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  137. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  138. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  139. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  140. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  141. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  142. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  143. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  144. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  145. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  146. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  147. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  148. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  149. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  150. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  151. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  152. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  153. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  154. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  155. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  156. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  157. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  158. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  159. package/dist/components/fields/DatePicker/period.js +1 -1
  160. package/dist/components/fields/DatePicker/props.js +1 -1
  161. package/dist/components/fields/DatePicker/utils.js +1 -1
  162. package/dist/components/fields/FileInput/FileInput.js +1 -1
  163. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  164. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  165. package/dist/components/fields/Input/Input.js +1 -1
  166. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  167. package/dist/components/fields/ListBox/ListBox.js +1 -1
  168. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  169. package/dist/components/fields/ListBoxPopover/index.d.ts +1 -0
  170. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  171. package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +2 -0
  172. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  173. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  174. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  175. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  176. package/dist/components/fields/Picker/Picker.js +1 -1
  177. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  178. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  179. package/dist/components/fields/RadioGroup/context.js +1 -1
  180. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  181. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  182. package/dist/components/fields/Select/Select.js +1 -1
  183. package/dist/components/fields/Slider/Gradation.js +1 -1
  184. package/dist/components/fields/Slider/HueSlider.js +1 -1
  185. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  186. package/dist/components/fields/Slider/Slider.js +1 -1
  187. package/dist/components/fields/Slider/SliderBase.js +1 -1
  188. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  189. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  190. package/dist/components/fields/Slider/elements.js +1 -1
  191. package/dist/components/fields/Slider/index.js +1 -1
  192. package/dist/components/fields/Switch/Switch.js +1 -1
  193. package/dist/components/fields/TextArea/TextArea.js +1 -1
  194. package/dist/components/fields/TextInput/TextInput.js +1 -1
  195. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  196. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  197. package/dist/components/fields/color/ColorPanel.js +1 -1
  198. package/dist/components/fields/color/ColorSwatch.js +1 -1
  199. package/dist/components/fields/color/channels.js +1 -1
  200. package/dist/components/fields/color/color.js +1 -1
  201. package/dist/components/fields/color/context.js +1 -1
  202. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  203. package/dist/components/form/Form/Field.js +1 -1
  204. package/dist/components/form/Form/Form.js +1 -1
  205. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  206. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  207. package/dist/components/form/Form/SubmitError.js +1 -1
  208. package/dist/components/form/Form/index.js +1 -1
  209. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  210. package/dist/components/form/Form/use-field/use-field.js +1 -1
  211. package/dist/components/form/Form/use-form.js +1 -1
  212. package/dist/components/form/Form/validation.js +1 -1
  213. package/dist/components/form/Label.js +1 -1
  214. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  215. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  216. package/dist/components/form/validation/use-validation-props.js +1 -1
  217. package/dist/components/form/wrapper.js +1 -1
  218. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  219. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  220. package/dist/components/layout/Board/Board.js +28 -4
  221. package/dist/components/layout/Board/Board.js.map +1 -1
  222. package/dist/components/layout/Board/BoardProvider.js +1 -1
  223. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  224. package/dist/components/layout/Board/Widget.js +1 -1
  225. package/dist/components/layout/Board/WidgetHost.js +6 -3
  226. package/dist/components/layout/Board/WidgetHost.js.map +1 -1
  227. package/dist/components/layout/Board/board-context.js +1 -1
  228. package/dist/components/layout/Board/board-store.js +1 -1
  229. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  230. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  231. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  232. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  233. package/dist/components/layout/Board/grid-core/group-move.js +138 -33
  234. package/dist/components/layout/Board/grid-core/group-move.js.map +1 -1
  235. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  236. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  237. package/dist/components/layout/Board/index.js +1 -1
  238. package/dist/components/layout/Board/responsive-utils.js +1 -1
  239. package/dist/components/layout/Board/use-board-layout.js +1 -1
  240. package/dist/components/layout/Board/use-board-registry.js +1 -1
  241. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  242. package/dist/components/layout/Board/use-board-selection.js +1 -1
  243. package/dist/components/layout/Flex.js +1 -1
  244. package/dist/components/layout/Flow.js +1 -1
  245. package/dist/components/layout/Grid.js +1 -1
  246. package/dist/components/layout/Panel.js +1 -1
  247. package/dist/components/layout/Prefix.js +1 -1
  248. package/dist/components/layout/ResizablePanel.js +1 -1
  249. package/dist/components/layout/Space.js +1 -1
  250. package/dist/components/layout/Suffix.js +1 -1
  251. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  252. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  253. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  254. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  255. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  256. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  257. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  258. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  259. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  260. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  261. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  262. package/dist/components/navigation/Tabs/styled.js +1 -1
  263. package/dist/components/navigation/Tabs/types.js +1 -1
  264. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  265. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  266. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  267. package/dist/components/other/Calendar/Calendar.js +1 -1
  268. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  269. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  270. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  271. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  272. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  273. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  274. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  275. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  276. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  277. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  278. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  279. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  280. package/dist/components/overlays/Dialog/context.js +1 -1
  281. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  282. package/dist/components/overlays/Modal/Modal.d.ts +2 -1
  283. package/dist/components/overlays/Modal/Modal.js +1 -1
  284. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  285. package/dist/components/overlays/Modal/Overlay.d.ts +1 -0
  286. package/dist/components/overlays/Modal/Overlay.js +1 -1
  287. package/dist/components/overlays/Modal/Popover.js +1 -1
  288. package/dist/components/overlays/Modal/Tray.js +1 -1
  289. package/dist/components/overlays/Modal/Underlay.js +1 -1
  290. package/dist/components/overlays/Modal/types.d.ts +1 -0
  291. package/dist/components/overlays/Notifications/Notification.js +1 -1
  292. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  293. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  294. package/dist/components/overlays/Notifications/NotificationContext.d.ts +2 -0
  295. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  296. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  297. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  298. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  299. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  300. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  301. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  302. package/dist/components/overlays/Notifications/index.js +1 -1
  303. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  304. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  305. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  306. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  307. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  308. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  309. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  310. package/dist/components/overlays/Toast/index.js +1 -1
  311. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  312. package/dist/components/overlays/Toast/useToast.js +1 -1
  313. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  314. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  315. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  316. package/dist/components/overlays/Tooltip/context.js +1 -1
  317. package/dist/components/portal/Portal.js +1 -1
  318. package/dist/components/portal/PortalProvider.d.ts +2 -0
  319. package/dist/components/portal/PortalProvider.js +1 -1
  320. package/dist/components/portal/index.d.ts +1 -0
  321. package/dist/components/portal/usePortal.js +1 -1
  322. package/dist/components/shared/DraggableCollection.js +1 -1
  323. package/dist/components/shared/InvalidIcon.js +1 -1
  324. package/dist/components/shared/ValidIcon.js +1 -1
  325. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  326. package/dist/components/status/Spin/Cube.js +1 -1
  327. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  328. package/dist/components/status/Spin/Spin.js +1 -1
  329. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  330. package/dist/data/item-themes.d.ts +1 -1
  331. package/dist/data/item-themes.js +45 -2
  332. package/dist/data/item-themes.js.map +1 -1
  333. package/dist/data/themes.js +1 -1
  334. package/dist/eslint-plugin/defaults.generated.js +1 -1
  335. package/dist/eslint-plugin/index.js +1 -1
  336. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  337. package/dist/i18n/I18nProvider.js +1 -1
  338. package/dist/i18n/createFormatter.js +1 -1
  339. package/dist/i18n/index.js +1 -1
  340. package/dist/i18n/instance.js +1 -1
  341. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  342. package/dist/i18n/locales/en-US/uikit.js +1 -1
  343. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  344. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  345. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  346. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  347. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  348. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  349. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  350. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  351. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  352. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  353. package/dist/i18n/locales.js +1 -1
  354. package/dist/i18n/useFormatter.js +1 -1
  355. package/dist/i18n/useI18n.js +1 -1
  356. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  357. package/dist/icons/AdjustmentsIcon.js +1 -1
  358. package/dist/icons/AiIcon.js +1 -1
  359. package/dist/icons/AreaChartIcon.js +1 -1
  360. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  361. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  362. package/dist/icons/BackwardIcon.js +1 -1
  363. package/dist/icons/BarChartIcon.js +1 -1
  364. package/dist/icons/BellFilledIcon.js +1 -1
  365. package/dist/icons/BellIcon.js +1 -1
  366. package/dist/icons/BooleanIcon.js +1 -1
  367. package/dist/icons/CalendarEditIcon.js +1 -1
  368. package/dist/icons/CalendarIcon.js +1 -1
  369. package/dist/icons/CaretDownIcon.js +1 -1
  370. package/dist/icons/CaretUpIcon.js +1 -1
  371. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  372. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  373. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  374. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  375. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  376. package/dist/icons/ChartBarLineIcon.js +1 -1
  377. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  378. package/dist/icons/ChartBarStackedIcon.js +1 -1
  379. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  380. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  381. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  382. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  383. package/dist/icons/ChartBubbleIcon.js +1 -1
  384. package/dist/icons/ChartDonut2Icon.js +1 -1
  385. package/dist/icons/ChartFunnelIcon.js +1 -1
  386. package/dist/icons/ChartHeatmapIcon.js +1 -1
  387. package/dist/icons/ChartKPIIcon.js +1 -1
  388. package/dist/icons/ChartPie2Icon.js +1 -1
  389. package/dist/icons/ChartScatterIcon.js +1 -1
  390. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  391. package/dist/icons/CheckCircleIcon.js +1 -1
  392. package/dist/icons/CheckIcon.js +1 -1
  393. package/dist/icons/CircleFilledIcon.js +1 -1
  394. package/dist/icons/ClearIcon.js +1 -1
  395. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  396. package/dist/icons/CloseCircleIcon.js +1 -1
  397. package/dist/icons/CloseIcon.js +1 -1
  398. package/dist/icons/CodeIcon.js +1 -1
  399. package/dist/icons/ColumnTotalIcon.js +1 -1
  400. package/dist/icons/CopyIcon.js +1 -1
  401. package/dist/icons/CountIcon.js +1 -1
  402. package/dist/icons/CubeIcon.js +1 -1
  403. package/dist/icons/CubePauseIcon.js +1 -1
  404. package/dist/icons/CubePlayIcon.js +1 -1
  405. package/dist/icons/CurrencyDollarIcon.js +1 -1
  406. package/dist/icons/DangerIcon.js +1 -1
  407. package/dist/icons/DashboardIcon.js +1 -1
  408. package/dist/icons/DatabaseIcon.js +1 -1
  409. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  410. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  411. package/dist/icons/DirectionIcon.js +1 -1
  412. package/dist/icons/DonutIcon.js +1 -1
  413. package/dist/icons/DownIcon.js +1 -1
  414. package/dist/icons/EditIcon.js +1 -1
  415. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  416. package/dist/icons/ExclamationCircleIcon.js +1 -1
  417. package/dist/icons/ExclamationIcon.js +1 -1
  418. package/dist/icons/EyeIcon.js +1 -1
  419. package/dist/icons/EyeInvisibleIcon.js +1 -1
  420. package/dist/icons/FilterIcon.js +1 -1
  421. package/dist/icons/FolderFilledIcon.js +1 -1
  422. package/dist/icons/FolderIcon.js +1 -1
  423. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  424. package/dist/icons/FolderOpenIcon.js +1 -1
  425. package/dist/icons/ForwardIcon.js +1 -1
  426. package/dist/icons/GripVerticalIcon.js +1 -1
  427. package/dist/icons/HierarchyIcon.js +1 -1
  428. package/dist/icons/HierarchyOpenIcon.js +1 -1
  429. package/dist/icons/Icon.js +1 -1
  430. package/dist/icons/InfoCircleIcon.js +1 -1
  431. package/dist/icons/InfoIcon.js +1 -1
  432. package/dist/icons/KeyIcon.js +1 -1
  433. package/dist/icons/LeftIcon.js +1 -1
  434. package/dist/icons/LineChartIcon.js +1 -1
  435. package/dist/icons/LoadingIcon.js +1 -1
  436. package/dist/icons/LockFilledIcon.js +1 -1
  437. package/dist/icons/LockIcon.js +1 -1
  438. package/dist/icons/MoreIcon.js +1 -1
  439. package/dist/icons/NotAllowedIcon.js +1 -1
  440. package/dist/icons/Number123Icon.js +1 -1
  441. package/dist/icons/NumberIcon.js +1 -1
  442. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  443. package/dist/icons/PauseCircleIcon.js +1 -1
  444. package/dist/icons/PauseIcon.js +1 -1
  445. package/dist/icons/PercentageIcon.js +1 -1
  446. package/dist/icons/PieChartIcon.js +1 -1
  447. package/dist/icons/PipetteIcon.js +1 -1
  448. package/dist/icons/PlayCircleIcon.js +1 -1
  449. package/dist/icons/PlayIcon.js +1 -1
  450. package/dist/icons/PlusIcon.js +1 -1
  451. package/dist/icons/ProgressBarIcon.js +1 -1
  452. package/dist/icons/ReloadIcon.js +1 -1
  453. package/dist/icons/ReportIcon.js +1 -1
  454. package/dist/icons/ReturnIcon.js +1 -1
  455. package/dist/icons/RightIcon.js +1 -1
  456. package/dist/icons/RowTotalsIcon.js +1 -1
  457. package/dist/icons/SchemeIcon.js +1 -1
  458. package/dist/icons/SearchIcon.js +1 -1
  459. package/dist/icons/SemanticQueryIcon.js +1 -1
  460. package/dist/icons/SettingsIcon.js +1 -1
  461. package/dist/icons/ShieldFilledIcon.js +1 -1
  462. package/dist/icons/ShieldIcon.js +1 -1
  463. package/dist/icons/SlashIcon.js +1 -1
  464. package/dist/icons/SparklesIcon.js +1 -1
  465. package/dist/icons/SqlIcon.js +1 -1
  466. package/dist/icons/StatsIcon.js +1 -1
  467. package/dist/icons/StopIcon.js +1 -1
  468. package/dist/icons/StringIcon.js +1 -1
  469. package/dist/icons/SubtotalsIcon.js +1 -1
  470. package/dist/icons/SwitchIcon.js +1 -1
  471. package/dist/icons/TableIcon.js +1 -1
  472. package/dist/icons/ThumbsDownIcon.js +1 -1
  473. package/dist/icons/ThumbsUpIcon.js +1 -1
  474. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  475. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  476. package/dist/icons/ThunderboltIcon.js +1 -1
  477. package/dist/icons/TimeIcon.js +1 -1
  478. package/dist/icons/TrashIcon.js +1 -1
  479. package/dist/icons/UnlockIcon.js +1 -1
  480. package/dist/icons/UpIcon.js +1 -1
  481. package/dist/icons/UserGroupIcon.js +1 -1
  482. package/dist/icons/UserIcon.js +1 -1
  483. package/dist/icons/UserLockIcon.js +1 -1
  484. package/dist/icons/ViewIcon.js +1 -1
  485. package/dist/icons/WarningFilledIcon.js +1 -1
  486. package/dist/icons/WarningIcon.js +1 -1
  487. package/dist/icons/wrap-icon.js +1 -1
  488. package/dist/index.js +1 -1
  489. package/dist/probe/canonicalize.d.ts +48 -0
  490. package/dist/probe/canonicalize.js +72 -0
  491. package/dist/probe/canonicalize.js.map +1 -0
  492. package/dist/probe/css.d.ts +39 -0
  493. package/dist/probe/css.js +79 -0
  494. package/dist/probe/css.js.map +1 -0
  495. package/dist/probe/index.d.ts +4 -0
  496. package/dist/probe/index.js +5 -0
  497. package/dist/provider.js +1 -1
  498. package/dist/providers/TrackingProvider.js +1 -1
  499. package/dist/providers/navigationAdapter.default.js +1 -1
  500. package/dist/tokens/base.js +1 -1
  501. package/dist/tokens/color-theme.js +1 -1
  502. package/dist/tokens/colors.js +1 -1
  503. package/dist/tokens/index.js +1 -1
  504. package/dist/tokens/layout.js +1 -1
  505. package/dist/tokens/lazy-styles.js +1 -1
  506. package/dist/tokens/palette-config.js +1 -1
  507. package/dist/tokens/palette.js +1 -1
  508. package/dist/tokens/shadows.js +1 -1
  509. package/dist/tokens/sizes.js +1 -1
  510. package/dist/tokens/spacing.js +1 -1
  511. package/dist/tokens/typography.js +1 -1
  512. package/dist/utils/ResizeSensor.js +1 -1
  513. package/dist/utils/is-dev-env.js +1 -1
  514. package/dist/utils/modules.js +1 -1
  515. package/dist/utils/promise.js +1 -1
  516. package/dist/utils/raf.js +1 -1
  517. package/dist/utils/random.js +1 -1
  518. package/dist/utils/range.js +1 -1
  519. package/dist/utils/react/RenderCache.js +1 -1
  520. package/dist/utils/react/Slots.js +1 -1
  521. package/dist/utils/react/chain.js +1 -1
  522. package/dist/utils/react/disabledProps.js +1 -1
  523. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  524. package/dist/utils/react/index.js +1 -1
  525. package/dist/utils/react/interactions.js +1 -1
  526. package/dist/utils/react/isTextOnly.js +1 -1
  527. package/dist/utils/react/mapProps.js +1 -1
  528. package/dist/utils/react/mergeProps.js +1 -1
  529. package/dist/utils/react/nullableValue.js +1 -1
  530. package/dist/utils/react/resolveIcon.js +1 -1
  531. package/dist/utils/react/sharedStore.js +1 -1
  532. package/dist/utils/react/useBufferedValue.js +1 -1
  533. package/dist/utils/react/useCombinedRefs.js +1 -1
  534. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  535. package/dist/utils/react/useEventBus.js +1 -1
  536. package/dist/utils/react/useId.js +1 -1
  537. package/dist/utils/react/useIsDarwin.js +1 -1
  538. package/dist/utils/react/useKeySymbols.js +1 -1
  539. package/dist/utils/react/useLayoutEffect.js +1 -1
  540. package/dist/utils/react/useLocalStorage.js +1 -1
  541. package/dist/utils/react/useMergeStyles.js +1 -1
  542. package/dist/utils/react/usePopoverSync.js +1 -1
  543. package/dist/utils/react/useQaProps.js +1 -1
  544. package/dist/utils/react/useViewportSize.js +1 -1
  545. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  546. package/dist/utils/selection.js +1 -1
  547. package/dist/utils/styles.js +1 -1
  548. package/dist/utils/tree.js +1 -1
  549. package/dist/utils/warnings.js +1 -1
  550. package/dist/version.js +2 -2
  551. package/docs/components/actions/Button.md +2 -1
  552. package/docs/components/content/Item.md +17 -2
  553. package/docs/components/layout/Board.md +23 -12
  554. package/package.json +5 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonicalize.js","names":[],"sources":["../../src/probe/canonicalize.ts"],"sourcesContent":["/**\n * Normalising generated identifiers out of rendered output.\n *\n * Moved here from `src/eslint-plugin/probe.tsx` so consumers can reach them:\n * that file is not part of the `./eslint-plugin` entry, so nothing outside this\n * repo could import it. `probe.tsx` re-exports them, so its own callers and the\n * defaults registry are unaffected.\n *\n * Both functions exist for the same reason — comparing two renders byte-for-byte\n * requires dropping values that are arbitrary per render but structurally\n * meaningful in aggregate.\n */\n\n/**\n * Replace generated element IDs with positional placeholders.\n *\n * React's `useId` draws from a global counter, so the same tree rendered twice\n * yields `«r0»` then `«r2»` and a byte comparison would fail for every\n * component that labels an input. Rewriting each distinct ID to `«idN»` in\n * order of first appearance keeps the `id` <-> `aria-labelledby` / `for`\n * relationships meaningful — a structural change still shows up as a\n * difference — while dropping the counter's absolute value.\n */\nexport function canonicalizeIds(text: string): string {\n const seen = new Map<string, string>();\n\n const replace = (match: string) => {\n let placeholder = seen.get(match);\n\n if (!placeholder) {\n placeholder = `«id${seen.size}»`;\n seen.set(match, placeholder);\n }\n\n return placeholder;\n };\n\n return (\n text\n // `[^«»]`, not `[^»]`: excluding the OPENING delimiter too keeps this\n // linear. With `[^»]*` an unterminated run of `«` makes the engine scan\n // to the end of the input from every one of them — quadratic, and\n // reachable now that this is published API called on caller-supplied\n // markup rather than only on our own renders (CodeQL js/polynomial-redos).\n // It is also the tighter reading: an unterminated `«r0` should not\n // swallow the next ID.\n .replace(/«[^«»]*»/g, replace)\n // react-aria mints its own counter-based IDs in several shapes:\n // `react-aria1`, `react-aria-1`, and `react-aria-description-0`.\n .replace(/\\breact-aria[\\w-]*?\\d+\\b/g, replace)\n );\n}\n\n/**\n * Replace tasty's generated class names with positional placeholders.\n *\n * The hash is derived from the *input* style object, not the CSS it produces, so\n * two inputs that normalise to identical CSS still get different class names.\n * `<Space>` sets `gap: true` and `<Space gap=\"1x\">` resolves to the same\n * `gap: var(--gap)` — the emitted rules are byte-identical and only the hash\n * differs.\n *\n * Placeholders are assigned in order of first appearance, so this cannot hide a\n * genuine difference: an extra, missing or reordered class shifts the sequence\n * and still compares unequal. Only the arbitrary hash value is normalised away.\n *\n * The pattern requires a digit so it matches `t1iuxaru` / `tp3unhd` without\n * touching all-letter CSS keywords that happen to start with `t` (`translate`,\n * `transform`).\n */\nexport function canonicalizeClassNames(text: string): string {\n const seen = new Map<string, string>();\n\n return text.replace(\n /\\bt(?=[a-z0-9]{6,8}\\b)(?![a-z]+\\b)[a-z0-9]{6,8}\\b/g,\n (match) => {\n let placeholder = seen.get(match);\n\n if (!placeholder) {\n placeholder = `tcls${seen.size}`;\n seen.set(match, placeholder);\n }\n\n return placeholder;\n },\n );\n}\n\n/** Both normalisations, in the order a probe applies them. */\nexport function canonicalize(text: string): string {\n return canonicalizeClassNames(canonicalizeIds(text));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAuBA,SAAgB,gBAAgB,MAAsB;CACpD,MAAM,uBAAO,IAAI,KAAqB;CAEtC,MAAM,WAAW,UAAkB;EACjC,IAAI,cAAc,KAAK,IAAI,MAAM;AAEjC,MAAI,CAAC,aAAa;AAChB,iBAAc,MAAM,KAAK,KAAK;AAC9B,QAAK,IAAI,OAAO,YAAY;;AAG9B,SAAO;;AAGT,QACE,KAQG,QAAQ,aAAa,QAAQ,CAG7B,QAAQ,6BAA6B,QAAQ;;;;;;;;;;;;;;;;;;;AAqBpD,SAAgB,uBAAuB,MAAsB;CAC3D,MAAM,uBAAO,IAAI,KAAqB;AAEtC,QAAO,KAAK,QACV,uDACC,UAAU;EACT,IAAI,cAAc,KAAK,IAAI,MAAM;AAEjC,MAAI,CAAC,aAAa;AAChB,iBAAc,OAAO,KAAK;AAC1B,QAAK,IAAI,OAAO,YAAY;;AAG9B,SAAO;GAEV;;;AAIH,SAAgB,aAAa,MAAsB;AACjD,QAAO,uBAAuB,gBAAgB,KAAK,CAAC"}
@@ -0,0 +1,39 @@
1
+
2
+ //#region src/probe/css.d.ts
3
+ /** One captured pass: the raw CSS text plus any rules the engine rejected. */
4
+ interface CssCapture {
5
+ text: string;
6
+ warnings: string[];
7
+ }
8
+ /**
9
+ * Split a `getCSSTextForNode` dump into individual rules.
10
+ *
11
+ * The dump is one rule per line, including at-rules whose block is inlined onto
12
+ * the same line, so lines are the natural unit.
13
+ */
14
+ declare function splitRules(text: string): string[];
15
+ /**
16
+ * Rules present in `full` but not in `baseline`, in their original order.
17
+ *
18
+ * Set-based rather than positional: the injector is free to reorder or coalesce
19
+ * chunks between passes, and a positional diff would report the whole tail as
20
+ * new the first time that happens.
21
+ */
22
+ declare function diffRules(baseline: string, full: string): string[];
23
+ /**
24
+ * Capture the CSS for a node, collecting the rules the CSS engine refused.
25
+ *
26
+ * jsdom does not merely fail to *resolve* `@container style()` and `@property`
27
+ * rules — it discards them, so a jsdom-derived dump is incomplete rather than
28
+ * unresolved for any component that uses them. tasty reports each rejection
29
+ * through `console.warn`, so collect them rather than suppressing: a caller
30
+ * needs to know when its answer is partial.
31
+ *
32
+ * Matched case-insensitively — tasty emits `[Tasty]` with a capital T, and this
33
+ * repo's own jsdom setup filtered for `[tasty]` for a long time without ever
34
+ * matching.
35
+ */
36
+ declare function captureCss(node: ParentNode): CssCapture;
37
+ //#endregion
38
+ export { CssCapture, captureCss, diffRules, splitRules };
39
+ //# sourceMappingURL=css.d.ts.map
@@ -0,0 +1,79 @@
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
+ import { getCSSTextForNode } from "@tenphi/tasty";
3
+
4
+ //#region src/probe/css.ts
5
+ /**
6
+ * Extracting the CSS a rendered subtree actually caused.
7
+ *
8
+ * The naive approach — read `getCSSTextForNode` for the node you care about —
9
+ * does not work under a `<Root>`, for two independent reasons:
10
+ *
11
+ * 1. `<Root>` declares the whole design-system token block, so the dump is
12
+ * dominated by rules the subtree did not cause (~119KB of ~135KB in Cube
13
+ * Cloud's console-ui).
14
+ * 2. Scoping the query to an inner wrapper looks like the fix and is not:
15
+ * `<Root>` is the `PortalProvider` target, so Dialog / Menu / Tooltip /
16
+ * Select popups mount as *siblings* of that wrapper. Their CSS — and their
17
+ * markup — silently vanish from the result.
18
+ *
19
+ * So measure the whole region twice and subtract: capture the empty harness,
20
+ * mount the subject, capture again, and diff. Portals are inside the measured
21
+ * region in both passes, so they survive.
22
+ */
23
+ /**
24
+ * Split a `getCSSTextForNode` dump into individual rules.
25
+ *
26
+ * The dump is one rule per line, including at-rules whose block is inlined onto
27
+ * the same line, so lines are the natural unit.
28
+ */
29
+ function splitRules(text) {
30
+ return text.split("\n").map((line) => line.trim()).filter(Boolean);
31
+ }
32
+ /**
33
+ * Rules present in `full` but not in `baseline`, in their original order.
34
+ *
35
+ * Set-based rather than positional: the injector is free to reorder or coalesce
36
+ * chunks between passes, and a positional diff would report the whole tail as
37
+ * new the first time that happens.
38
+ */
39
+ function diffRules(baseline, full) {
40
+ const seen = new Set(splitRules(baseline));
41
+ return splitRules(full).filter((rule) => !seen.has(rule));
42
+ }
43
+ /**
44
+ * Capture the CSS for a node, collecting the rules the CSS engine refused.
45
+ *
46
+ * jsdom does not merely fail to *resolve* `@container style()` and `@property`
47
+ * rules — it discards them, so a jsdom-derived dump is incomplete rather than
48
+ * unresolved for any component that uses them. tasty reports each rejection
49
+ * through `console.warn`, so collect them rather than suppressing: a caller
50
+ * needs to know when its answer is partial.
51
+ *
52
+ * Matched case-insensitively — tasty emits `[Tasty]` with a capital T, and this
53
+ * repo's own jsdom setup filtered for `[tasty]` for a long time without ever
54
+ * matching.
55
+ */
56
+ function captureCss(node) {
57
+ const warnings = [];
58
+ const original = console.warn;
59
+ console.warn = (...args) => {
60
+ const first = args[0];
61
+ if (typeof first === "string" && first.toLowerCase().includes("browser rejected css rule")) {
62
+ warnings.push(args.slice(1).map(String).join(" "));
63
+ return;
64
+ }
65
+ original(...args);
66
+ };
67
+ try {
68
+ return {
69
+ text: getCSSTextForNode(node),
70
+ warnings
71
+ };
72
+ } finally {
73
+ console.warn = original;
74
+ }
75
+ }
76
+
77
+ //#endregion
78
+ export { captureCss, diffRules, splitRules };
79
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css.js","names":[],"sources":["../../src/probe/css.ts"],"sourcesContent":["/**\n * Extracting the CSS a rendered subtree actually caused.\n *\n * The naive approach — read `getCSSTextForNode` for the node you care about —\n * does not work under a `<Root>`, for two independent reasons:\n *\n * 1. `<Root>` declares the whole design-system token block, so the dump is\n * dominated by rules the subtree did not cause (~119KB of ~135KB in Cube\n * Cloud's console-ui).\n * 2. Scoping the query to an inner wrapper looks like the fix and is not:\n * `<Root>` is the `PortalProvider` target, so Dialog / Menu / Tooltip /\n * Select popups mount as *siblings* of that wrapper. Their CSS — and their\n * markup — silently vanish from the result.\n *\n * So measure the whole region twice and subtract: capture the empty harness,\n * mount the subject, capture again, and diff. Portals are inside the measured\n * region in both passes, so they survive.\n */\nimport { getCSSTextForNode } from '@tenphi/tasty';\n\n/** One captured pass: the raw CSS text plus any rules the engine rejected. */\nexport interface CssCapture {\n text: string;\n warnings: string[];\n}\n\n/**\n * Split a `getCSSTextForNode` dump into individual rules.\n *\n * The dump is one rule per line, including at-rules whose block is inlined onto\n * the same line, so lines are the natural unit.\n */\nexport function splitRules(text: string): string[] {\n return text\n .split('\\n')\n .map((line) => line.trim())\n .filter(Boolean);\n}\n\n/**\n * Rules present in `full` but not in `baseline`, in their original order.\n *\n * Set-based rather than positional: the injector is free to reorder or coalesce\n * chunks between passes, and a positional diff would report the whole tail as\n * new the first time that happens.\n */\nexport function diffRules(baseline: string, full: string): string[] {\n const seen = new Set(splitRules(baseline));\n\n return splitRules(full).filter((rule) => !seen.has(rule));\n}\n\n/**\n * Capture the CSS for a node, collecting the rules the CSS engine refused.\n *\n * jsdom does not merely fail to *resolve* `@container style()` and `@property`\n * rules — it discards them, so a jsdom-derived dump is incomplete rather than\n * unresolved for any component that uses them. tasty reports each rejection\n * through `console.warn`, so collect them rather than suppressing: a caller\n * needs to know when its answer is partial.\n *\n * Matched case-insensitively — tasty emits `[Tasty]` with a capital T, and this\n * repo's own jsdom setup filtered for `[tasty]` for a long time without ever\n * matching.\n */\nexport function captureCss(node: ParentNode): CssCapture {\n const warnings: string[] = [];\n const original = console.warn;\n\n console.warn = (...args: unknown[]) => {\n const first = args[0];\n\n if (\n typeof first === 'string' &&\n first.toLowerCase().includes('browser rejected css rule')\n ) {\n warnings.push(args.slice(1).map(String).join(' '));\n\n return;\n }\n\n original(...args);\n };\n\n try {\n return { text: getCSSTextForNode(node), warnings };\n } finally {\n console.warn = original;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,SAAgB,WAAW,MAAwB;AACjD,QAAO,KACJ,MAAM,KAAK,CACX,KAAK,SAAS,KAAK,MAAM,CAAC,CAC1B,OAAO,QAAQ;;;;;;;;;AAUpB,SAAgB,UAAU,UAAkB,MAAwB;CAClE,MAAM,OAAO,IAAI,IAAI,WAAW,SAAS,CAAC;AAE1C,QAAO,WAAW,KAAK,CAAC,QAAQ,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC;;;;;;;;;;;;;;;AAgB3D,SAAgB,WAAW,MAA8B;CACvD,MAAM,WAAqB,EAAE;CAC7B,MAAM,WAAW,QAAQ;AAEzB,SAAQ,QAAQ,GAAG,SAAoB;EACrC,MAAM,QAAQ,KAAK;AAEnB,MACE,OAAO,UAAU,YACjB,MAAM,aAAa,CAAC,SAAS,4BAA4B,EACzD;AACA,YAAS,KAAK,KAAK,MAAM,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC;AAElD;;AAGF,WAAS,GAAG,KAAK;;AAGnB,KAAI;AACF,SAAO;GAAE,MAAM,kBAAkB,KAAK;GAAE;GAAU;WAC1C;AACR,UAAQ,OAAO"}
@@ -0,0 +1,4 @@
1
+
2
+ import { canonicalize, canonicalizeClassNames, canonicalizeIds } from "./canonicalize.js";
3
+ import { CssCapture, captureCss, diffRules, splitRules } from "./css.js";
4
+ export { type CssCapture, canonicalize, canonicalizeClassNames, canonicalizeIds, captureCss, diffRules, splitRules };
@@ -0,0 +1,5 @@
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
+ import { canonicalize, canonicalizeClassNames, canonicalizeIds } from "./canonicalize.js";
3
+ import { captureCss, diffRules, splitRules } from "./css.js";
4
+
5
+ export { canonicalize, canonicalizeClassNames, canonicalizeIds, captureCss, diffRules, splitRules };
package/dist/provider.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { EventBusProvider } from "./utils/react/useEventBus.js";
3
3
  import { defaultNavigationAdapter } from "./providers/navigationAdapter.default.js";
4
4
  import { createContext, useContext, useMemo } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { createContext, useContext, useMemo } from "react";
3
3
  import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/providers/navigationAdapter.default.ts
3
3
  /**
4
4
  * Converts a Path object to a string URL
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/tokens/base.ts
3
3
  /**
4
4
  * Base design system tokens.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { DEFAULT_SATURATION, getPaletteConfig, getPaletteVersion, usePaletteVersion } from "./palette-config.js";
3
3
  import { TINT_RECIPE } from "./palette.js";
4
4
  import { useGlobalStyles } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { getPaletteVersion } from "./palette-config.js";
3
3
  import { BASE_TOKENS } from "./base.js";
4
4
  import { lazyStyles } from "./lazy-styles.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { DEFAULT_PALETTE_CONFIG, getPaletteConfig, getPaletteConfigInput, getPaletteVersion, invalidatePaletteTokens, resetPaletteConfig, resolvePaletteConfig, setPaletteConfig, subscribePaletteConfig, usePaletteConfig, usePaletteVersion } from "./palette-config.js";
3
3
  import { BASE_TOKENS } from "./base.js";
4
4
  import { lazyStyles } from "./lazy-styles.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/tokens/layout.ts
3
3
  /**
4
4
  * Layout-related tokens for common UI dimensions.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/tokens/lazy-styles.ts
3
3
  /**
4
4
  * Proxy that defers to `factory()` on every property / enumeration access.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { useSyncExternalStore } from "react";
3
3
 
4
4
  //#region src/tokens/palette-config.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { getPaletteConfig, getPaletteVersion, resolvePaletteConfig } from "./palette-config.js";
3
3
  import { lazyStyles } from "./lazy-styles.js";
4
4
  import { glaze } from "@tenphi/glaze";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/tokens/shadows.ts
3
3
  /**
4
4
  * Shadow tokens using tasty shorthand syntax.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/tokens/sizes.ts
3
3
  /**
4
4
  * Component size values in pixels.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/tokens/spacing.ts
3
3
  /**
4
4
  * Spacing tokens using tasty multiplier syntax.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/tokens/typography.ts
3
3
  /**
4
4
  * Typography presets for headings, text, and special styles.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/ResizeSensor.ts
3
3
  /**
4
4
  * Iterate over each of the provided element(s).
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/is-dev-env.ts
3
3
  function isDevEnv() {
4
4
  if (typeof window !== "undefined" && window.localStorage) try {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/modules.ts
3
3
  function extractModule(promise) {
4
4
  return promise.then((module) => module.default || module);
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/promise.ts
3
3
  function timeout(ms = 30) {
4
4
  return new Promise((resolve) => {
package/dist/utils/raf.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/raf.ts
3
3
  /**
4
4
  * Chains N requestAnimationFrame calls and returns a cancel function.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/random.ts
3
3
  function random(min, max) {
4
4
  const realMin = min < max ? min : max;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/range.ts
3
3
  function range(count) {
4
4
  return Array.from({ length: count }, (_, i) => i);
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { useRef } from "react";
3
3
  import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { mergeProps } from "./mergeProps.js";
3
3
  import { Children, cloneElement, createContext, useContext, useMemo } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/react/chain.ts
3
3
  /**
4
4
  * Calls all functions in the order they were chained with the same arguments.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/react/disabledProps.ts
3
3
  /**
4
4
  * Tags where `disabled` is a real HTML attribute. Browsers refuse to dispatch
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/react/forwardRefWithGenerics.tsx
3
3
  /**
4
4
  * A helper for creating forwardRef components with generic types.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { getDisabledElementProps, omitActivationEventProps } from "./disabledProps.js";
4
4
  import { forwardRefWithGenerics } from "./forwardRefWithGenerics.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { useState } from "react";
3
3
  import { useFocus, useFocusVisible } from "react-aria";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { Children, isValidElement } from "react";
3
3
 
4
4
  //#region src/utils/react/isTextOnly.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/react/mapProps.ts
3
3
  /** Converts AriaButtonProps to CubeButtonProps */
4
4
  function ariaToCubeButtonProps(props) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { mergeIds } from "./useId.js";
4
4
  import { mergeStyles } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/react/nullableValue.ts
3
3
  function castNullableStringValue(props) {
4
4
  return castNullableField(props, ["value", "defaultValue"], "string", (v) => String(v));
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/react/resolveIcon.ts
3
3
  /**
4
4
  * Resolves a dynamic icon prop to its content and slot state.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { useCallback, useRef, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { useEffect, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useCombinedRefs.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { createSharedStore } from "./sharedStore.js";
3
3
  import { useEffect } from "react";
4
4
  import { useFocusVisible } from "react-aria";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useEventBus.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { useSSRSafeId } from "@react-aria/ssr";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useIsDarwin.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { useIsDarwin } from "./useIsDarwin.js";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import * as React$1 from "react";
3
3
 
4
4
  //#region src/utils/react/useLayoutEffect.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useCallback, useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { mergeStyles } from "@tenphi/tasty";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { EventBusContext, useEventBus } from "./useEventBus.js";
3
3
  import { useCallback, useContext, useEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/react/useQaProps.ts
3
3
  /**
4
4
  * Processes QA props.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useViewportSize.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  import { isValidElement } from "react";
3
3
  import { isFragment } from "react-is";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/selection.ts
3
3
  /**
4
4
  * Deduplicate/toggle keys in a selection: if a key appears twice it is
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/styles.ts
3
3
  /**
4
4
  * Split properties into style and non-style properties.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/tree.ts
3
3
  function toFlatTree(tree, includingFolders) {
4
4
  return tree.reduce((result, node) => {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/utils/warnings.ts
3
3
  const SUGGESTED_PROP_MAP = {
4
4
  disabled: "isDisabled",
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.161.0 | Cube Dev Team */
2
2
  //#region src/version.ts
3
- const VERSION = "0.159.0";
3
+ const VERSION = "0.161.0";
4
4
  const TASTY_VERSION = "3.0.1";
5
5
  if (typeof window !== "undefined") {
6
6
  const version = VERSION;
@@ -15,7 +15,7 @@ A versatile action component that triggers commands and navigates users.
15
15
 
16
16
  ## Properties
17
17
 
18
- - **`type`** `'primary' | 'outline' | 'outline-2' | 'clear' | 'link'` (default: `outline`) — Visual style variant of the button (`outline-2` is identical to `outline` but uses `#surface-3` as the base fill; not available for the `special` theme)
18
+ - **`type`** `'primary' | 'outline' | 'outline-2' | 'clear' | 'link' | 'current'` (default: `outline`) — Visual style variant of the button (`outline-2` is identical to `outline` but uses `#surface-3` as the base fill; not available for the `special` theme. `current` derives its colors from the inherited text color and ignores `theme`)
19
19
  - **`theme`** `'default' | 'danger' | 'success' | 'warning' | 'note' | 'special'` (default: `default`) — Semantic colour palette theme
20
20
  - **`size`** `'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'inline' | number` (default: `medium`) — Button size. Use `'inline'` for link-type buttons or a number/string for custom sizes (e.g. `64` or `'8x'`)
21
21
  - **`icon`** — Icon rendered before the content. Can be: ReactNode, `true` (empty slot), or function `({ loading, selected, ...mods }) => ReactNode | true`
@@ -82,6 +82,7 @@ The `mods` prop accepts the following modifiers you can override:
82
82
  - `outline` – Border with transparent background; `isSelected` adds brand-tinted fill.
83
83
  - `clear` – No border, transparent background; `isSelected` adds brand-tinted fill.
84
84
  - `link` – Styled as a textual link.
85
+ - `current` – Fill, border and label are mixed from the inherited text color (`#current`), so the button adopts the color of whatever container it sits in. The resting chip is a `#current.03` fill inside a `#current.08` border, and hover, pressed and selected step the same alpha ramp up from there; the label stays fully opaque. The focus ring stays `#primary-accent-text`, like every other type. Theme-agnostic — there is a single variant, and `theme` has no effect. Use it inside colored containers (alerts, banners, dark overlays, tooltips). `Item` has a `current` type too, shaped like its neutral `item` type instead: borderless and invisible at rest.
85
86
 
86
87
  ### Themes. `theme` prop
87
88