@cube-dev/ui-kit 0.208.0 → 0.210.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 (613) hide show
  1. package/README.md +1 -1
  2. package/dist/CHANGELOG.md +24 -0
  3. package/dist/README.md +1 -1
  4. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  5. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  6. package/dist/_internal/hooks/use-event.js +1 -1
  7. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  8. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  9. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  10. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  11. package/dist/_internal/hooks/use-warn.js +1 -1
  12. package/dist/components/Block.js +1 -1
  13. package/dist/components/CollectionItem.js +1 -1
  14. package/dist/components/GlobalStyles.js +1 -1
  15. package/dist/components/GridProvider.js +1 -1
  16. package/dist/components/HiddenInput.js +1 -1
  17. package/dist/components/Root.js +5 -2
  18. package/dist/components/Root.js.map +1 -1
  19. package/dist/components/actions/Action/Action.js +1 -1
  20. package/dist/components/actions/Banner/Banner.js +1 -1
  21. package/dist/components/actions/Button/AutoCollapseObserver.js +215 -0
  22. package/dist/components/actions/Button/AutoCollapseObserver.js.map +1 -0
  23. package/dist/components/actions/Button/Button.d.ts +38 -0
  24. package/dist/components/actions/Button/Button.js +73 -13
  25. package/dist/components/actions/Button/Button.js.map +1 -1
  26. package/dist/components/actions/Button/index.js +1 -1
  27. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  28. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  29. package/dist/components/actions/ButtonSplit/context.js +1 -1
  30. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  31. package/dist/components/actions/CommandMenu/styled.js +1 -1
  32. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  33. package/dist/components/actions/ItemActionContext.js +1 -1
  34. package/dist/components/actions/ItemActionsWrapper.js +2 -2
  35. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  36. package/dist/components/actions/Link/Link.js +1 -1
  37. package/dist/components/actions/Menu/Menu.js +1 -1
  38. package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
  39. package/dist/components/actions/Menu/MenuItem.js +1 -1
  40. package/dist/components/actions/Menu/MenuSection.js +1 -1
  41. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  42. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  43. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  44. package/dist/components/actions/Menu/context.js +1 -1
  45. package/dist/components/actions/Menu/styled.js +1 -1
  46. package/dist/components/actions/actions-run.js +1 -1
  47. package/dist/components/actions/use-action.js +1 -1
  48. package/dist/components/actions/use-anchored-menu.js +1 -1
  49. package/dist/components/actions/use-context-menu.js +2 -2
  50. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  51. package/dist/components/content/Alert/Alert.js +1 -1
  52. package/dist/components/content/Alert/use-alert.js +1 -1
  53. package/dist/components/content/Avatar/Avatar.js +1 -1
  54. package/dist/components/content/Badge/Badge.js +1 -1
  55. package/dist/components/content/Card/Card.js +1 -1
  56. package/dist/components/content/Content.js +1 -1
  57. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  58. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  59. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  60. package/dist/components/content/Divider/Divider.js +1 -1
  61. package/dist/components/content/Footer.js +1 -1
  62. package/dist/components/content/Header.js +1 -1
  63. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  64. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  65. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  66. package/dist/components/content/Item/Item.d.ts +0 -9
  67. package/dist/components/content/Item/Item.js +108 -112
  68. package/dist/components/content/Item/Item.js.map +1 -1
  69. package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
  70. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  71. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  72. package/dist/components/content/Layout/GridLayout.js +1 -1
  73. package/dist/components/content/Layout/Layout.js +1 -1
  74. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  75. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  76. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  77. package/dist/components/content/Layout/LayoutContent.js +1 -1
  78. package/dist/components/content/Layout/LayoutContext.js +1 -1
  79. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  80. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  81. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  82. package/dist/components/content/Layout/LayoutHeader.d.ts +6 -0
  83. package/dist/components/content/Layout/LayoutHeader.js +98 -86
  84. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  85. package/dist/components/content/Layout/LayoutPane.js +1 -1
  86. package/dist/components/content/Layout/LayoutPanel.js +2 -2
  87. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  88. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  89. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  90. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  91. package/dist/components/content/Layout/index.js +1 -1
  92. package/dist/components/content/Layout/utils.js +1 -1
  93. package/dist/components/content/Paragraph.js +1 -1
  94. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  95. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  96. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  97. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  98. package/dist/components/content/Result/Result.js +1 -1
  99. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  100. package/dist/components/content/Tag/Tag.js +1 -1
  101. package/dist/components/content/Text.js +1 -1
  102. package/dist/components/content/TextItem/TextItem.js +1 -1
  103. package/dist/components/content/Title.js +1 -1
  104. package/dist/components/content/Tree/Tree.js +1 -1
  105. package/dist/components/content/Tree/TreeNode.js +1 -1
  106. package/dist/components/content/Tree/checked-keys.js +1 -1
  107. package/dist/components/content/Tree/rowId.js +1 -1
  108. package/dist/components/content/Tree/styled.js +1 -1
  109. package/dist/components/content/Tree/tree-index.js +1 -1
  110. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  111. package/dist/components/content/Tree/use-load-data.js +1 -1
  112. package/dist/components/content/highlightText.js +1 -1
  113. package/dist/components/content/use-auto-tooltip.js +233 -111
  114. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  115. package/dist/components/data/DataTable/DataTable.js +1 -1
  116. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  117. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  118. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  119. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  120. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  121. package/dist/components/data/ItemTable/item-table-sections.js +1 -1
  122. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  123. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  124. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  125. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  126. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  127. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  128. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  129. package/dist/components/data/TableBase/RowCollection.js +1 -1
  130. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  131. package/dist/components/data/TableBase/TableRow.js +1 -1
  132. package/dist/components/data/TableBase/TableRowLink.js +1 -1
  133. package/dist/components/data/TableBase/TableView.js +1 -1
  134. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  135. package/dist/components/data/TableBase/column-header.js +1 -1
  136. package/dist/components/data/TableBase/column-menu.js +1 -1
  137. package/dist/components/data/TableBase/column-styles.js +1 -1
  138. package/dist/components/data/TableBase/column-tint.js +1 -1
  139. package/dist/components/data/TableBase/row-menu.js +1 -1
  140. package/dist/components/data/TableBase/styled.js +1 -1
  141. package/dist/components/data/TableBase/table-body-sections.js +1 -1
  142. package/dist/components/data/TableBase/table-tree.js +1 -1
  143. package/dist/components/data/TableBase/types.js +1 -1
  144. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  145. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  146. package/dist/components/data/TableBase/use-column-order.js +1 -1
  147. package/dist/components/data/TableBase/use-column-window.js +1 -1
  148. package/dist/components/data/TableBase/use-container-width.js +1 -1
  149. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  150. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  151. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  152. package/dist/components/data/TableBase/use-table-search.js +1 -1
  153. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  154. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  155. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  156. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  157. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  158. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  159. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  160. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  161. package/dist/components/fields/Checkbox/context.js +1 -1
  162. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  163. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  164. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  165. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  166. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  167. package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
  168. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  169. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  170. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  171. package/dist/components/fields/DatePicker/CalendarPopover.js +1 -1
  172. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  173. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  174. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  175. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  176. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  177. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  178. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  179. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  180. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  181. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  182. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  183. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  184. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  185. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  186. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  187. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  188. package/dist/components/fields/DatePicker/period.js +1 -1
  189. package/dist/components/fields/DatePicker/props.js +1 -1
  190. package/dist/components/fields/DatePicker/utils.js +1 -1
  191. package/dist/components/fields/FileInput/FileInput.js +206 -184
  192. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  193. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  194. package/dist/components/fields/FilterListBox/styled.js +1 -1
  195. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  196. package/dist/components/fields/FilterPicker/FilterTree.js +1 -1
  197. package/dist/components/fields/Input/Input.js +1 -1
  198. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  199. package/dist/components/fields/ListBox/ListBox.js +1 -1
  200. package/dist/components/fields/ListBox/optionId.js +1 -1
  201. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  202. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  203. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  204. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  205. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  206. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  207. package/dist/components/fields/Picker/Picker.js +1 -1
  208. package/dist/components/fields/RadioGroup/Radio.js +2 -4
  209. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  210. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  211. package/dist/components/fields/RadioGroup/context.js +1 -1
  212. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  213. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  214. package/dist/components/fields/Select/Select.js +1 -1
  215. package/dist/components/fields/Slider/Gradation.js +1 -1
  216. package/dist/components/fields/Slider/HueSlider.js +1 -1
  217. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  218. package/dist/components/fields/Slider/Slider.js +1 -1
  219. package/dist/components/fields/Slider/SliderBase.js +1 -1
  220. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  221. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  222. package/dist/components/fields/Slider/elements.js +1 -1
  223. package/dist/components/fields/Slider/index.js +1 -1
  224. package/dist/components/fields/Switch/Switch.js +1 -1
  225. package/dist/components/fields/TagInput/TagInput.js +1 -1
  226. package/dist/components/fields/TagInput/TagList.js +1 -1
  227. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  228. package/dist/components/fields/TagInput/useTagError.js +1 -1
  229. package/dist/components/fields/TextArea/TextArea.js +1 -1
  230. package/dist/components/fields/TextInput/TextInput.js +1 -1
  231. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  232. package/dist/components/fields/TextInput/displayed-validation.js +1 -1
  233. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  234. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  235. package/dist/components/fields/TriggerActions.js +1 -1
  236. package/dist/components/fields/color/ColorPanel.js +1 -1
  237. package/dist/components/fields/color/channels.js +1 -1
  238. package/dist/components/fields/color/color.js +1 -1
  239. package/dist/components/fields/color/context.js +1 -1
  240. package/dist/components/fields/option-origin-press.js +1 -1
  241. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  242. package/dist/components/form/FieldWrapper/field-description.js +1 -1
  243. package/dist/components/form/Form/Field.js +1 -1
  244. package/dist/components/form/Form/Form.js +1 -1
  245. package/dist/components/form/Form/FormContext.js +1 -1
  246. package/dist/components/form/Form/FormElement.js +1 -1
  247. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  248. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  249. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  250. package/dist/components/form/Form/SubmitError.js +1 -1
  251. package/dist/components/form/Form/backend.js +1 -1
  252. package/dist/components/form/Form/index.js +1 -1
  253. package/dist/components/form/Form/modern/actions.js +1 -1
  254. package/dist/components/form/Form/modern/context.js +1 -1
  255. package/dist/components/form/Form/modern/controller.js +1 -1
  256. package/dist/components/form/Form/modern/field-binding.js +1 -1
  257. package/dist/components/form/Form/modern/field.js +1 -1
  258. package/dist/components/form/Form/modern/react.js +1 -1
  259. package/dist/components/form/Form/modern/store.js +1 -1
  260. package/dist/components/form/Form/modern/validation.js +1 -1
  261. package/dist/components/form/Form/modern/values.js +1 -1
  262. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  263. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  264. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  265. package/dist/components/form/Form/use-field/use-field.js +1 -1
  266. package/dist/components/form/Form/use-form.js +1 -1
  267. package/dist/components/form/Form/validation.js +1 -1
  268. package/dist/components/form/Label.js +1 -1
  269. package/dist/components/form/field-chrome.js +1 -1
  270. package/dist/components/form/field-layout.js +1 -1
  271. package/dist/components/form/legacy-tooltip.js +1 -1
  272. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  273. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  274. package/dist/components/form/validation/use-validation-props.js +1 -1
  275. package/dist/components/form/wrapper.js +1 -1
  276. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  277. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  278. package/dist/components/layout/Flex.js +1 -1
  279. package/dist/components/layout/Flow.js +1 -1
  280. package/dist/components/layout/Grid.js +1 -1
  281. package/dist/components/layout/Panel.js +1 -1
  282. package/dist/components/layout/Prefix.js +1 -1
  283. package/dist/components/layout/ResizablePanel.js +1 -1
  284. package/dist/components/layout/Space.js +1 -1
  285. package/dist/components/layout/Suffix.js +1 -1
  286. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  287. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  288. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  289. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  290. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  291. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  292. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  293. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  294. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  295. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  296. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  297. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  298. package/dist/components/navigation/Tabs/segmented-styles.js +1 -1
  299. package/dist/components/navigation/Tabs/styled.js +1 -1
  300. package/dist/components/navigation/Tabs/types.js +1 -1
  301. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  302. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  303. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  304. package/dist/components/other/Calendar/Calendar.js +1 -1
  305. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  306. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  307. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  308. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  309. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  310. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  311. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  312. package/dist/components/other/Calendar/styled.js +1 -1
  313. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  314. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  315. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  316. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  317. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  318. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  319. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  320. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  321. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  322. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  323. package/dist/components/overlays/Dialog/context.js +1 -1
  324. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  325. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  326. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  327. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
  328. package/dist/components/overlays/Dialog/use-dismiss-confirmation.js +1 -1
  329. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
  330. package/dist/components/overlays/Modal/Modal.js +1 -1
  331. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  332. package/dist/components/overlays/Modal/Overlay.js +1 -1
  333. package/dist/components/overlays/Modal/Popover.js +1 -1
  334. package/dist/components/overlays/Modal/Tray.js +1 -1
  335. package/dist/components/overlays/Modal/Underlay.js +1 -1
  336. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  337. package/dist/components/overlays/Notifications/Notification.js +1 -1
  338. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  339. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  340. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  341. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  342. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  343. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  344. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  345. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  346. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  347. package/dist/components/overlays/Notifications/index.js +1 -1
  348. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  349. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  350. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  351. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  352. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  353. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  354. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  355. package/dist/components/overlays/Toast/index.js +1 -1
  356. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  357. package/dist/components/overlays/Toast/useToast.js +1 -1
  358. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  359. package/dist/components/overlays/Tooltip/TooltipProvider.js +20 -7
  360. package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
  361. package/dist/components/overlays/Tooltip/TooltipTrigger.d.ts +1 -0
  362. package/dist/components/overlays/Tooltip/TooltipTrigger.js +223 -101
  363. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  364. package/dist/components/overlays/Tooltip/context.js +1 -1
  365. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  366. package/dist/components/portal/Portal.js +1 -1
  367. package/dist/components/portal/PortalProvider.js +1 -1
  368. package/dist/components/portal/usePortal.js +1 -1
  369. package/dist/components/shared/DraggableCollection.js +1 -1
  370. package/dist/components/shared/InvalidIcon.js +1 -1
  371. package/dist/components/shared/ValidIcon.js +1 -1
  372. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  373. package/dist/components/status/Spin/Cube.js +1 -1
  374. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  375. package/dist/components/status/Spin/Spin.js +1 -1
  376. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  377. package/dist/data/item-themes.js +1 -1
  378. package/dist/data/themes.js +1 -1
  379. package/dist/eslint-plugin/defaults.generated.js +1 -1
  380. package/dist/eslint-plugin/index.js +1 -1
  381. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  382. package/dist/i18n/I18nProvider.js +1 -1
  383. package/dist/i18n/createFormatter.js +1 -1
  384. package/dist/i18n/index.js +1 -1
  385. package/dist/i18n/instance.js +1 -1
  386. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  387. package/dist/i18n/locales/en-US/uikit.js +1 -1
  388. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  389. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  390. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  391. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  392. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  393. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  394. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  395. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  396. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  397. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  398. package/dist/i18n/locales.js +1 -1
  399. package/dist/i18n/namespace.js +1 -1
  400. package/dist/i18n/useFormatter.js +1 -1
  401. package/dist/i18n/useI18n.js +1 -1
  402. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  403. package/dist/icons/AdjustmentsIcon.js +1 -1
  404. package/dist/icons/AiIcon.js +1 -1
  405. package/dist/icons/AreaChartIcon.js +1 -1
  406. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  407. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  408. package/dist/icons/BackwardIcon.js +1 -1
  409. package/dist/icons/BarChartIcon.js +1 -1
  410. package/dist/icons/BellFilledIcon.js +1 -1
  411. package/dist/icons/BellIcon.js +1 -1
  412. package/dist/icons/BooleanIcon.js +1 -1
  413. package/dist/icons/CalendarEditIcon.js +1 -1
  414. package/dist/icons/CalendarIcon.js +1 -1
  415. package/dist/icons/CaretDownIcon.js +1 -1
  416. package/dist/icons/CaretUpIcon.js +1 -1
  417. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  418. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  419. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  420. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  421. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  422. package/dist/icons/ChartBarLineIcon.js +1 -1
  423. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  424. package/dist/icons/ChartBarStackedIcon.js +1 -1
  425. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  426. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  427. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  428. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  429. package/dist/icons/ChartBubbleIcon.js +1 -1
  430. package/dist/icons/ChartDonut2Icon.js +1 -1
  431. package/dist/icons/ChartFunnelIcon.js +1 -1
  432. package/dist/icons/ChartHeatmapIcon.js +1 -1
  433. package/dist/icons/ChartKPIIcon.js +1 -1
  434. package/dist/icons/ChartPie2Icon.js +1 -1
  435. package/dist/icons/ChartScatterIcon.js +1 -1
  436. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  437. package/dist/icons/CheckCircleIcon.js +1 -1
  438. package/dist/icons/CheckIcon.js +1 -1
  439. package/dist/icons/CircleFilledIcon.js +1 -1
  440. package/dist/icons/ClearIcon.js +1 -1
  441. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  442. package/dist/icons/CloseCircleIcon.js +1 -1
  443. package/dist/icons/CloseIcon.js +1 -1
  444. package/dist/icons/CodeIcon.js +1 -1
  445. package/dist/icons/ColumnTotalIcon.js +1 -1
  446. package/dist/icons/CopyIcon.js +1 -1
  447. package/dist/icons/CountIcon.js +1 -1
  448. package/dist/icons/CubeIcon.js +1 -1
  449. package/dist/icons/CubePauseIcon.js +1 -1
  450. package/dist/icons/CubePlayIcon.js +1 -1
  451. package/dist/icons/CurrencyDollarIcon.js +1 -1
  452. package/dist/icons/DangerIcon.js +1 -1
  453. package/dist/icons/DashboardIcon.js +1 -1
  454. package/dist/icons/DatabaseIcon.js +1 -1
  455. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  456. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  457. package/dist/icons/DirectionIcon.js +1 -1
  458. package/dist/icons/DonutIcon.js +1 -1
  459. package/dist/icons/DownIcon.js +1 -1
  460. package/dist/icons/EditIcon.js +1 -1
  461. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  462. package/dist/icons/ExclamationCircleIcon.js +1 -1
  463. package/dist/icons/ExclamationIcon.js +1 -1
  464. package/dist/icons/EyeIcon.js +1 -1
  465. package/dist/icons/EyeInvisibleIcon.js +1 -1
  466. package/dist/icons/FilterIcon.js +1 -1
  467. package/dist/icons/FolderFilledIcon.js +1 -1
  468. package/dist/icons/FolderIcon.js +1 -1
  469. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  470. package/dist/icons/FolderOpenIcon.js +1 -1
  471. package/dist/icons/ForwardIcon.js +1 -1
  472. package/dist/icons/GripVerticalIcon.js +1 -1
  473. package/dist/icons/HierarchyIcon.js +1 -1
  474. package/dist/icons/HierarchyOpenIcon.js +1 -1
  475. package/dist/icons/Icon.js +1 -1
  476. package/dist/icons/InfoCircleIcon.js +1 -1
  477. package/dist/icons/InfoIcon.js +1 -1
  478. package/dist/icons/KeyIcon.js +1 -1
  479. package/dist/icons/LeftIcon.js +1 -1
  480. package/dist/icons/LineChartIcon.js +1 -1
  481. package/dist/icons/LoadingIcon.js +1 -1
  482. package/dist/icons/LockFilledIcon.js +1 -1
  483. package/dist/icons/LockIcon.js +1 -1
  484. package/dist/icons/MoreIcon.js +1 -1
  485. package/dist/icons/NotAllowedIcon.js +1 -1
  486. package/dist/icons/Number123Icon.js +1 -1
  487. package/dist/icons/NumberIcon.js +1 -1
  488. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  489. package/dist/icons/PauseCircleIcon.js +1 -1
  490. package/dist/icons/PauseIcon.js +1 -1
  491. package/dist/icons/PercentageIcon.js +1 -1
  492. package/dist/icons/PieChartIcon.js +1 -1
  493. package/dist/icons/PipetteIcon.js +1 -1
  494. package/dist/icons/PlayCircleIcon.js +1 -1
  495. package/dist/icons/PlayIcon.js +1 -1
  496. package/dist/icons/PlusIcon.js +1 -1
  497. package/dist/icons/ProgressBarIcon.js +1 -1
  498. package/dist/icons/ReloadIcon.js +1 -1
  499. package/dist/icons/ReportIcon.js +1 -1
  500. package/dist/icons/ReturnIcon.js +1 -1
  501. package/dist/icons/RightIcon.js +1 -1
  502. package/dist/icons/RowTotalsIcon.js +1 -1
  503. package/dist/icons/SchemeIcon.js +1 -1
  504. package/dist/icons/SearchIcon.js +1 -1
  505. package/dist/icons/SemanticQueryIcon.js +1 -1
  506. package/dist/icons/SettingsIcon.js +1 -1
  507. package/dist/icons/ShieldFilledIcon.js +1 -1
  508. package/dist/icons/ShieldIcon.js +1 -1
  509. package/dist/icons/SlashIcon.js +1 -1
  510. package/dist/icons/SparklesIcon.js +1 -1
  511. package/dist/icons/SqlIcon.js +1 -1
  512. package/dist/icons/StatsIcon.js +1 -1
  513. package/dist/icons/StopIcon.js +1 -1
  514. package/dist/icons/StringIcon.js +1 -1
  515. package/dist/icons/SubtotalsIcon.js +1 -1
  516. package/dist/icons/SwitchIcon.js +1 -1
  517. package/dist/icons/TableIcon.js +1 -1
  518. package/dist/icons/ThumbsDownIcon.js +1 -1
  519. package/dist/icons/ThumbsUpIcon.js +1 -1
  520. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  521. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  522. package/dist/icons/ThunderboltIcon.js +1 -1
  523. package/dist/icons/TimeIcon.js +1 -1
  524. package/dist/icons/TrashIcon.js +1 -1
  525. package/dist/icons/UnlockIcon.js +1 -1
  526. package/dist/icons/UpIcon.js +1 -1
  527. package/dist/icons/UserGroupIcon.js +1 -1
  528. package/dist/icons/UserIcon.js +1 -1
  529. package/dist/icons/UserLockIcon.js +1 -1
  530. package/dist/icons/ViewIcon.js +1 -1
  531. package/dist/icons/WarningFilledIcon.js +1 -1
  532. package/dist/icons/WarningIcon.js +1 -1
  533. package/dist/icons/wrap-icon.js +1 -1
  534. package/dist/index.js +1 -1
  535. package/dist/probe/canonicalize.js +1 -1
  536. package/dist/probe/css.js +1 -1
  537. package/dist/probe/index.js +1 -1
  538. package/dist/provider.js +1 -1
  539. package/dist/providers/TrackingProvider.js +1 -1
  540. package/dist/providers/navigation-url.js +1 -1
  541. package/dist/providers/navigationAdapter.default.js +1 -1
  542. package/dist/providers/use-navigation.js +1 -1
  543. package/dist/tokens/all-tokens.js +1 -1
  544. package/dist/tokens/base.js +1 -1
  545. package/dist/tokens/color-seed.js +1 -1
  546. package/dist/tokens/color-theme.js +1 -1
  547. package/dist/tokens/colors.js +1 -1
  548. package/dist/tokens/layout.js +1 -1
  549. package/dist/tokens/lazy-styles.js +1 -1
  550. package/dist/tokens/legacy-color.js +1 -1
  551. package/dist/tokens/palette-config.js +1 -1
  552. package/dist/tokens/palette.js +1 -1
  553. package/dist/tokens/resolve.js +1 -1
  554. package/dist/tokens/shadows.js +1 -1
  555. package/dist/tokens/sizes.js +1 -1
  556. package/dist/tokens/spacing.js +1 -1
  557. package/dist/tokens/typography.js +1 -1
  558. package/dist/utils/ResizeSensor.js +1 -1
  559. package/dist/utils/colors.js +1 -1
  560. package/dist/utils/dotize.js +1 -1
  561. package/dist/utils/is-dev-env.js +1 -1
  562. package/dist/utils/modules.js +1 -1
  563. package/dist/utils/promise.js +1 -1
  564. package/dist/utils/raf.js +1 -1
  565. package/dist/utils/random.js +1 -1
  566. package/dist/utils/range.js +1 -1
  567. package/dist/utils/react/RenderCache.js +1 -1
  568. package/dist/utils/react/Slots.js +1 -1
  569. package/dist/utils/react/chain.js +1 -1
  570. package/dist/utils/react/disabledProps.js +1 -1
  571. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  572. package/dist/utils/react/index.js +1 -1
  573. package/dist/utils/react/interactions.js +1 -1
  574. package/dist/utils/react/isTextOnly.js +1 -1
  575. package/dist/utils/react/mapProps.js +1 -1
  576. package/dist/utils/react/mergeProps.js +1 -1
  577. package/dist/utils/react/nullableValue.js +1 -1
  578. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  579. package/dist/utils/react/programmaticFocus.js +1 -1
  580. package/dist/utils/react/resolveIcon.js +1 -1
  581. package/dist/utils/react/sharedStore.js +1 -1
  582. package/dist/utils/react/useBufferedValue.js +1 -1
  583. package/dist/utils/react/useCombinedRefs.js +1 -1
  584. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  585. package/dist/utils/react/useEventBus.js +1 -1
  586. package/dist/utils/react/useId.js +1 -1
  587. package/dist/utils/react/useIsDarwin.js +1 -1
  588. package/dist/utils/react/useKeySymbols.js +1 -1
  589. package/dist/utils/react/useLayoutEffect.js +1 -1
  590. package/dist/utils/react/useLocalStorage.js +1 -1
  591. package/dist/utils/react/useMergeStyles.js +1 -1
  592. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  593. package/dist/utils/react/usePopoverSync.js +1 -1
  594. package/dist/utils/react/useQaProps.js +1 -1
  595. package/dist/utils/react/useScheme.js +1 -1
  596. package/dist/utils/react/useViewportSize.js +1 -1
  597. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  598. package/dist/utils/selection.js +1 -1
  599. package/dist/utils/styles.js +1 -1
  600. package/dist/utils/tree.js +1 -1
  601. package/dist/utils/warnings.js +1 -1
  602. package/dist/version.js +3 -3
  603. package/docs/Usage.md +16 -2
  604. package/docs/components/actions/Button.md +45 -0
  605. package/docs/components/content/Layout.md +9 -0
  606. package/docs/components/fields/FileInput.md +18 -5
  607. package/docs/tasty/ai-agents.md +1 -1
  608. package/docs/tasty/design-system.md +12 -0
  609. package/docs/tasty/dsl.md +20 -0
  610. package/docs/tasty/pipeline.md +1 -1
  611. package/package.json +2 -2
  612. package/tasty.config.generated.ts +1 -1
  613. package/tasty.config.ts +81 -41
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { colorSeed } from "./color-seed.js";
3
3
  import { DEFAULT_HUE, getPaletteConfig, getPaletteVersion, usePaletteValue } from "./palette-config.js";
4
4
  import { tintRecipe } from "./palette.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { parseSrgbColor } from "../utils/colors.js";
3
3
  import { srgbToHex } from "@tenphi/glaze";
4
4
  //#region src/tokens/legacy-color.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { colorSeed } from "./color-seed.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useSyncExternalStore } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { SURFACE_SATURATION_SHARE, getPaletteConfig, getPaletteVersion, resolvePaletteConfig } from "./palette-config.js";
3
3
  import { lazyStyles } from "./lazy-styles.js";
4
4
  import { apcaContrast, glaze, okhslToLinearSrgb, variantToOkhsl } from "@tenphi/glaze";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../utils/react/useLayoutEffect.js";
3
3
  import { warn } from "../utils/warnings.js";
4
4
  import { getPaletteVersion, usePaletteVersion } from "./palette-config.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { hslToSrgb, okhslToOklch, okhslToSrgb, okhstToOkhsl, oklabToOkhsl, parseHexAlpha } from "@tenphi/glaze";
3
3
  //#region src/utils/colors.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  //#region src/utils/dotize.ts
3
3
  /**
4
4
  * Flattens a nested object into dot paths: `{ a: { b: 1 } }` becomes
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  //#region src/utils/is-dev-env.ts
3
3
  /**
4
4
  * `NODE_ENV` as the environment that is actually running reports it, or
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { useRef } from "react";
3
3
  import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
4
4
  //#region src/utils/react/RenderCache.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { mergeProps } from "./mergeProps.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { Children, cloneElement, createContext, useContext } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { mergeProps } from "./mergeProps.js";
3
3
  //#region src/utils/react/disabledProps.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  //#region src/utils/react/forwardRefWithGenerics.tsx
3
3
  /**
4
4
  * @deprecated Declare a ref prop on a generic component, or preserve an
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { useLayoutEffect } from "./useLayoutEffect.js";
4
4
  import { mergeProps } from "./mergeProps.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useRef, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { Children, isValidElement } from "react";
3
3
  //#region src/utils/react/isTextOnly.ts
4
4
  function isTextOnly(children) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  //#region src/utils/react/nullableValue.ts
3
3
  function castNullableStringValue(props, emptyValue = "") {
4
4
  return castNullableField(props, ["value", "defaultValue"], "string", (v) => String(v), emptyValue);
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  //#region src/utils/react/overlayKeyPropagation.ts
3
3
  /**
4
4
  * Keys whose final handling belongs to the overlay around a control, not to
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  //#region src/utils/react/programmaticFocus.ts
3
3
  /**
4
4
  * Telling focus the user moved from focus a component moved for them.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { isDevEnv } from "../is-dev-env.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { useCallback, useRef, useState } from "react";
4
4
  //#region src/utils/react/useBufferedValue.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useEffect, useRef } from "react";
4
4
  //#region src/utils/react/useCombinedRefs.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { createSharedStore } from "./sharedStore.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useEffect } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef } from "react";
4
4
  //#region src/utils/react/useEventBus.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import "react/compiler-runtime";
4
4
  import { useEffect, useRef, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useEffect, useState } from "react";
4
4
  //#region src/utils/react/useIsDarwin.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { useIsDarwin } from "./useIsDarwin.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  //#region src/utils/react/useKeySymbols.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import * as React$1 from "react";
3
3
  //#region src/utils/react/useLayoutEffect.tsx
4
4
  const useLayoutEffect$1 = typeof window !== "undefined" ? React$1.useLayoutEffect : React$1.useEffect;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useSyncExternalStore } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { mergeStyles } from "@tenphi/tasty";
3
3
  import { useMemo } from "react";
4
4
  //#region src/utils/react/useMergeStyles.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { getEventTarget, nodeContains } from "@react-aria/utils";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { EventBusContext, useEventBus } from "./useEventBus.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useContext, useEffect, useEffectEvent, useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { useSyncExternalStore } from "react";
3
3
  //#region src/utils/react/useScheme.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useEffect, useState } from "react";
4
4
  //#region src/utils/react/useViewportSize.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { Fragment, isValidElement } from "react";
3
3
  //#region src/utils/react/wrapNodeIfPlain.ts
4
4
  function wrapNodeIfPlain(children, render) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { isSelector, mergeStyles } from "@tenphi/tasty";
3
3
  //#region src/utils/styles.ts
4
4
  function isRecord(value) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.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.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  import { isDevEnvOrTest } from "./is-dev-env.js";
3
3
  //#region src/utils/warnings.ts
4
4
  const SUGGESTED_PROP_MAP = {
package/dist/version.js CHANGED
@@ -1,7 +1,7 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.210.0 | Cube Dev Team */
2
2
  //#region src/version.ts
3
- const VERSION = "0.208.0";
4
- const TASTY_VERSION = "3.17.1";
3
+ const VERSION = "0.210.0";
4
+ const TASTY_VERSION = "3.18.0";
5
5
  if (typeof window !== "undefined") {
6
6
  const version = VERSION;
7
7
  const tastyVersion = TASTY_VERSION;
package/docs/Usage.md CHANGED
@@ -412,7 +412,7 @@ Most components are a design contract: customize them through their own props (`
412
412
  The package's `tasty.config.ts` lists the other components as `protectedComponents`, and `tasty/no-protected-restyle` from `@tenphi/eslint-plugin-tasty` 1.12.0 or newer reports a restyle of one in your code:
413
413
 
414
414
  - instance `styles`, and every `*Styles` prop such as `inputStyles`;
415
- - style props other than the ones that place or size the component (`width`, `height`, `gridArea`, `margin`, `inset`, …). Containers (`Card`, `Panel`, `ResizablePanel`, `Content`, `Header`, `Footer`, `Alert`, `Result`, `Skeleton`, and `Layout` and `GridLayout` with their sub-components) also keep the ones that lay out their content: `display`, `padding`, `gap`, `flow`, `place*`, `align*`, `justify*`, `grid*`, `overflow` and `scrollbar`. `Placeholder` keeps `radius`, the shape of what it stands in for. Root `styles` that sets only allowed props passes too;
415
+ - style props other than the ones that place or size the component (`width`, `height`, `gridArea`, `margin`, `inset`, …). Containers (`Card`, `Panel`, `ResizablePanel`, `Content`, `Header`, `Footer`, `Alert`, `Result`, `Skeleton`, and `Layout` and `GridLayout` with their sub-components) also keep the ones that lay out their content: `display`, `padding`, `gap`, `flow`, `place*`, `align*`, `justify*`, `grid*`, `overflow`, `scrollbar`, `textAlign`, and `container` for container queries. A container that draws no fill and no border of its own (`Layout`, `GridLayout`, `Panel`, `ResizablePanel`, `Content`, `Header` and `Footer`) also keeps `fill` and `border`. `Layout`'s sections (`Layout.Content`, `Header`, `Footer`, `Toolbar`, `Block`, `Flex`, `Grid`, `Center` and `Container`) keep `fill`, but not `border`: the border that separates stacked sections is UI Kit's. `Placeholder` keeps `radius`, the shape of what it stands in for. Root `styles` that sets only allowed props passes too;
416
416
  - `tasty()` wrappers that restyle a protected component, and wrappers of those wrappers.
417
417
 
418
418
  On an input, the style props that place or size it act on its outer element: the field wrapper when it renders (see [Field properties](./FieldProperties.md)), the input itself otherwise. Its `styles` always style the input, so a root `styles` that only sizes it passes the rule but sizes the input inside the field, not the field. To size the input alone, beside a side label for example, use its `controlWidth` prop. Input components take no other style props.
@@ -447,7 +447,7 @@ An intended override takes a disable comment with its reason on the line before
447
447
 
448
448
  With this rule on, `tasty/no-styles-prop` can stay off, so the primitives keep their `styles`.
449
449
 
450
- The same `extends` gives the plugin's other rules the names UI Kit defines: its tokens, presets and recipes, and the `@dark`, `@hc` and `@reduced-motion` state aliases. `tasty/valid-color-token`, `tasty/valid-custom-property`, `tasty/valid-preset`, `tasty/valid-recipe`, `tasty/valid-state-key` and `tasty/no-unknown-state-alias` then report only names that don't exist. The tokens include the ones a component's docs offer you, to read inside that component or set on it, such as a dialog's `$dialog-padding-h` or a layout's `$content-padding`. A component's other custom properties are internal and can change, so the rules report them too. List what your app defines itself, in its own `configure()` or `tokens`, in its own config, which adds to the lists it extends:
450
+ The same `extends` gives the plugin's other rules the names UI Kit defines: its tokens, presets and recipes, and the `@dark`, `@hc`, `@mobile` and `@reduced-motion` state aliases. `tasty/valid-color-token`, `tasty/valid-custom-property`, `tasty/valid-preset`, `tasty/valid-recipe`, `tasty/valid-state-key` and `tasty/no-unknown-state-alias` then report only names that don't exist. The tokens include the ones a component's docs offer you, to read inside that component or set on it, such as a dialog's `$dialog-padding-h` or a layout's `$content-padding`. A component's other custom properties are internal and can change, so the rules report them too. List what your app defines itself, in its own `configure()` or `tokens`, in its own config, which adds to the lists it extends:
451
451
 
452
452
  ```ts
453
453
  // tasty.config.ts
@@ -525,6 +525,20 @@ const Spinner = tasty({
525
525
 
526
526
  It follows the system preference alone, with no attribute opt-in.
527
527
 
528
+ ### Mobile
529
+
530
+ `<Root>` also registers `@mobile`, a viewport narrower than 920px (`@media(w < 920px)`), the width below which the desktop layout stops fitting. `<Button collapseState>` collapses there. Use it for the same breakpoint in your own styles:
531
+
532
+ ```tsx
533
+ const Toolbar = tasty({
534
+ styles: {
535
+ flow: { '': 'row', '@mobile': 'column' },
536
+ },
537
+ });
538
+ ```
539
+
540
+ An app that defines `@mobile` itself in `configure({ states })` replaces this one; Tasty warns in development when the two values differ. For a breakpoint of a container rather than the viewport, use a container query, such as `@(page, w < 864px)`.
541
+
528
542
  ## Icons
529
543
 
530
544
  Icons live in `src/icons/`. Use existing icons when possible; otherwise use `@tabler/icons-react`.
@@ -22,6 +22,10 @@ A versatile action component that triggers commands and navigates users.
22
22
  - **`icon`** — Icon rendered before the content. Can be: ReactNode, `true` (empty slot), or function `({ loading, selected, ...mods }) => ReactNode | true`
23
23
  - **`rightIcon`** — Icon rendered after the content. Can be: ReactNode, `true` (empty slot), or function `({ loading, selected, ...mods }) => ReactNode | true`
24
24
  - **`children`** `ReactNode` — Button label or custom content
25
+ - **`collapseState`** `boolean | string` — When the button collapses to fit a narrow window or container: `true` for `@mobile` (a viewport narrower than 920px), or any state or condition, such as `'@compact'`, `'@(page, w < 864px)'` or `'@media(w < 600px)'`. See [Collapsing](#collapsing)
26
+ - **`isCollapsed`** `boolean` — Collapses the button from JavaScript. The button collapses when any of `collapseState`, `isCollapsed` and `autoCollapse` says so
27
+ - **`autoCollapse`** `boolean` — Collapses the button when the row it sits in, its parent element, can't fit every child at full width, and expands it when the row can. See [Collapsing](#collapsing)
28
+ - **`shortLabel`** `ReactNode` — The label shown while the button is collapsed, beside its icon if it has one
25
29
  - **`label`** `string` — **Deprecated.** Use `children` for visible text and `aria-label` for the accessible name of an icon-only button
26
30
  - **`tooltip`** `string | boolean | object` — Tooltip content. Use a string for simple text, `true` for auto tooltip on overflow, or an object with `{ title, auto, placement, ...tooltipProps }`
27
31
  - **`defaultTooltipPlacement`** `Placement` (default: `top`) — Default placement for the button's tooltip
@@ -75,6 +79,8 @@ The `mods` prop accepts the following modifiers you can override:
75
79
  - **`has-right-icon`** `boolean` — Indicates that the button has a trailing icon
76
80
  - **`single-icon`** `boolean` — Icon-only button without text
77
81
  - **`text-only`** `boolean` — Button has only text content, no icons
82
+ - **`collapsed`** `boolean` — Collapsed by `isCollapsed` or `autoCollapse`. `collapseState` collapses through CSS, so it sets no modifier; read the `@collapsed` state instead
83
+ - **`collapse`** `'icon' | 'label'` — What a collapsing button collapses to: its icon, or its `shortLabel`
78
84
 
79
85
  ## Variants
80
86
 
@@ -164,6 +170,45 @@ import { IconPlus } from '@tabler/icons-react';
164
170
  </Button>;
165
171
  ```
166
172
 
173
+ ### Collapsing
174
+
175
+ A button can collapse to fit a narrow window or container. Collapsed, a button with an icon shows only the icon: its label stays its accessible name and shows as its tooltip. A button with a `shortLabel` shows that instead, beside its icon.
176
+
177
+ ```jsx
178
+ {/* Icon only on `@mobile`, a viewport narrower than 920px */}
179
+ <Button icon={<IconShare />} collapseState>
180
+ Share
181
+ </Button>
182
+
183
+ {/* Icon only while a named container is narrower than 864px */}
184
+ <Button icon={<IconShare />} collapseState="@(page, w < 864px)">
185
+ Share
186
+ </Button>
187
+
188
+ {/* "Add" while collapsed */}
189
+ <Button icon={<IconPlus />} collapseState shortLabel="Add">
190
+ Add new item
191
+ </Button>
192
+
193
+ {/* Collapsed from JavaScript */}
194
+ <Button icon={<IconDownload />} isCollapsed={isCompact}>
195
+ Download CSV
196
+ </Button>
197
+
198
+ {/* Collapsed while its row can't fit every label */}
199
+ <Space>
200
+ <Button icon={<IconCertificate />} autoCollapse>Certify</Button>
201
+ <Button icon={<IconDownload />} autoCollapse>Load all</Button>
202
+ </Space>
203
+ ```
204
+
205
+ - **The condition is CSS.** `collapseState` takes the same states and conditions as a `styles` map, and crossing it re-renders only the button, once, to turn its tooltip on or off. It becomes the button's `@collapsed` state, which a caller's `styles` can read too.
206
+ - **A container condition needs its container.** `@(page, …)` reads the nearest ancestor named `page`. Where there is none, a dialog portaled out of the page say, the button keeps its full look.
207
+ - **`autoCollapse` measures instead of using a breakpoint.** A breakpoint can't tell whether the labels fit: their length changes with the content and the language. `autoCollapse` collapses the button when its row, its parent element, can't fit every child at full width, and expands it when the row can. The row's width has to come from its own container, a block, `flex: 1` or a fixed width: a row as wide as its content always fits. A row that wraps or stacks its children makes room that way, so its buttons don't collapse. The buttons with `autoCollapse` in one row collapse together, and a sibling that grows or has an auto margin doesn't keep them collapsed.
208
+ - **Any trigger collapses it.** `collapseState`, `isCollapsed` and `autoCollapse` combine: the button collapses when any of them says so.
209
+ - **Something to collapse to.** A button with neither an icon nor a `shortLabel` has nothing to collapse to, and warns. Raw children, content other than text, don't collapse.
210
+ - **A short label is the accessible name while it shows.** Keep it a shortened form of the full label, so the name still matches what a user sees.
211
+
167
212
  ### Link Button
168
213
 
169
214
  ```jsx
@@ -110,6 +110,7 @@ A semantic page header with title, breadcrumbs, subtitle, and action areas.
110
110
 
111
111
  - **`title`** `ReactNode` — Page/section title. A string title that runs out of room is truncated and shown in full in a tooltip; when the title and `extra` both overflow, they share the shortfall
112
112
  - **`level`** `1-6` (default: `3`) — Heading level for accessibility
113
+ - **`titlePreset`** `h1-h6` (default: the preset of `level`) — The title's typography preset, apart from its level: `level={1} titlePreset="h3"` gives an `h1` in the document outline that looks like an `h3`
113
114
  - **`breadcrumbs`** `[label, href][]` — Navigation breadcrumbs
114
115
  - **`subtitle`** `ReactNode` — Text below the title
115
116
  - **`suffix`** `ReactNode` — Content next to the title
@@ -451,6 +452,14 @@ A variant of Layout that enables CSS Grid for the content area.
451
452
  </Layout>
452
453
  ```
453
454
 
455
+ ### Page Title Sized Apart From Its Level
456
+
457
+ A page keeps one `h1`, but in an app's chrome it often looks like an `h3`. `titlePreset` sets the title's look; `level` still sets its heading element.
458
+
459
+ ```jsx
460
+ <Layout.Header title="Page title" level={1} titlePreset="h3" />
461
+ ```
462
+
454
463
  ### With Back Button
455
464
 
456
465
  ```jsx