@cube-dev/ui-kit 0.124.0 → 0.124.2

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 (424) hide show
  1. package/dist/CHANGELOG.md +14 -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.js +1 -1
  20. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  21. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  22. package/dist/components/actions/ButtonSplit/context.js +1 -1
  23. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  24. package/dist/components/actions/CommandMenu/styled.js +1 -1
  25. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  26. package/dist/components/actions/ItemActionContext.js +1 -1
  27. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  28. package/dist/components/actions/Link/Link.js +1 -1
  29. package/dist/components/actions/Menu/Menu.js +1 -1
  30. package/dist/components/actions/Menu/MenuItem.js +1 -1
  31. package/dist/components/actions/Menu/MenuSection.js +1 -1
  32. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  33. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  35. package/dist/components/actions/Menu/context.js +1 -1
  36. package/dist/components/actions/Menu/styled.js +1 -16
  37. package/dist/components/actions/Menu/styled.js.map +1 -1
  38. package/dist/components/actions/index.js +1 -1
  39. package/dist/components/actions/use-action.js +1 -1
  40. package/dist/components/actions/use-anchored-menu.js +1 -1
  41. package/dist/components/actions/use-context-menu.js +1 -1
  42. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  43. package/dist/components/content/Alert/Alert.js +1 -1
  44. package/dist/components/content/Alert/use-alert.js +1 -1
  45. package/dist/components/content/Avatar/Avatar.js +1 -1
  46. package/dist/components/content/Badge/Badge.js +1 -1
  47. package/dist/components/content/Card/Card.js +1 -1
  48. package/dist/components/content/Content.js +1 -1
  49. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  50. package/dist/components/content/CopySnippet/CopySnippet.js +8 -5
  51. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  52. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  53. package/dist/components/content/Divider.js +1 -1
  54. package/dist/components/content/Footer.js +1 -1
  55. package/dist/components/content/Header.js +1 -1
  56. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  57. package/dist/components/content/Item/Item.js +1 -1
  58. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  59. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  60. package/dist/components/content/Layout/GridLayout.js +1 -1
  61. package/dist/components/content/Layout/Layout.js +1 -1
  62. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  63. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  64. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  65. package/dist/components/content/Layout/LayoutContent.js +1 -1
  66. package/dist/components/content/Layout/LayoutContext.js +1 -1
  67. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  68. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  69. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  70. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  71. package/dist/components/content/Layout/LayoutPane.js +1 -1
  72. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  73. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  74. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  75. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  76. package/dist/components/content/Layout/index.js +1 -1
  77. package/dist/components/content/Layout/utils.js +1 -1
  78. package/dist/components/content/Paragraph.js +1 -1
  79. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  80. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  81. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  82. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  83. package/dist/components/content/Result/Result.js +1 -1
  84. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  85. package/dist/components/content/Tag/Tag.js +1 -1
  86. package/dist/components/content/Text.d.ts +42 -42
  87. package/dist/components/content/Text.js +1 -1
  88. package/dist/components/content/TextItem/TextItem.js +1 -1
  89. package/dist/components/content/Title.js +1 -1
  90. package/dist/components/content/highlightText.js +1 -1
  91. package/dist/components/content/use-auto-tooltip.js +1 -1
  92. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  93. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  94. package/dist/components/fields/Checkbox/context.js +1 -1
  95. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  96. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  97. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  98. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  99. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  100. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  101. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  102. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  103. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  104. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  105. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  106. package/dist/components/fields/DatePicker/intl.js +1 -1
  107. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  108. package/dist/components/fields/DatePicker/props.js +1 -1
  109. package/dist/components/fields/DatePicker/utils.js +1 -1
  110. package/dist/components/fields/FileInput/FileInput.js +1 -1
  111. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  112. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  113. package/dist/components/fields/Input/Input.js +1 -1
  114. package/dist/components/fields/ListBox/ListBox.js +1 -1
  115. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  116. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  117. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  118. package/dist/components/fields/Picker/Picker.js +1 -1
  119. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  120. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  121. package/dist/components/fields/RadioGroup/context.js +1 -1
  122. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  123. package/dist/components/fields/Select/Select.d.ts +1 -830
  124. package/dist/components/fields/Select/Select.js +1 -1
  125. package/dist/components/fields/Slider/Gradation.js +1 -1
  126. package/dist/components/fields/Slider/HueSlider.js +1 -1
  127. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  128. package/dist/components/fields/Slider/Slider.js +1 -1
  129. package/dist/components/fields/Slider/SliderBase.js +1 -1
  130. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  131. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  132. package/dist/components/fields/Slider/elements.js +1 -1
  133. package/dist/components/fields/Slider/index.js +1 -1
  134. package/dist/components/fields/Switch/Switch.js +1 -1
  135. package/dist/components/fields/TextArea/TextArea.js +2 -2
  136. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  137. package/dist/components/fields/TextInput/TextInput.js +1 -1
  138. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  139. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  140. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  141. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  142. package/dist/components/form/Form/Field.js +1 -1
  143. package/dist/components/form/Form/Form.js +1 -1
  144. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  145. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  146. package/dist/components/form/Form/SubmitError.js +1 -1
  147. package/dist/components/form/Form/index.js +1 -1
  148. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  149. package/dist/components/form/Form/use-field/use-field.js +1 -1
  150. package/dist/components/form/Form/use-form.js +1 -1
  151. package/dist/components/form/Form/validation.js +1 -1
  152. package/dist/components/form/Label.js +1 -1
  153. package/dist/components/form/wrapper.js +1 -1
  154. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  155. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  156. package/dist/components/layout/Flex.js +1 -1
  157. package/dist/components/layout/Flow.js +1 -1
  158. package/dist/components/layout/Grid.js +1 -1
  159. package/dist/components/layout/Panel.js +1 -1
  160. package/dist/components/layout/Prefix.js +1 -1
  161. package/dist/components/layout/ResizablePanel.js +1 -1
  162. package/dist/components/layout/Space.js +1 -1
  163. package/dist/components/layout/Suffix.js +1 -1
  164. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  165. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  166. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  167. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  168. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  169. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  170. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  171. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  172. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  173. package/dist/components/navigation/Tabs/styled.js +1 -1
  174. package/dist/components/navigation/Tabs/types.js +1 -1
  175. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  176. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  177. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  178. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  179. package/dist/components/other/Calendar/Calendar.js +1 -1
  180. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  181. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  182. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  183. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  184. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  185. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  186. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  187. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  188. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  189. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  190. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  191. package/dist/components/overlays/Dialog/context.js +1 -1
  192. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  193. package/dist/components/overlays/Modal/Modal.js +1 -1
  194. package/dist/components/overlays/Modal/OpenTransition.js +1 -1
  195. package/dist/components/overlays/Modal/Overlay.js +1 -1
  196. package/dist/components/overlays/Modal/Popover.js +1 -1
  197. package/dist/components/overlays/Modal/Tray.js +1 -1
  198. package/dist/components/overlays/Modal/Underlay.js +1 -1
  199. package/dist/components/overlays/Notifications/Notification.js +1 -1
  200. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  201. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  202. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  203. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  204. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  205. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  206. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  207. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  208. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  209. package/dist/components/overlays/Notifications/index.js +1 -1
  210. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  211. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  212. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  213. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  214. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  215. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  216. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  217. package/dist/components/overlays/Toast/index.js +1 -1
  218. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  219. package/dist/components/overlays/Toast/useToast.js +1 -1
  220. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  221. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  222. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  223. package/dist/components/overlays/Tooltip/context.js +1 -1
  224. package/dist/components/portal/Portal.js +1 -1
  225. package/dist/components/portal/PortalProvider.js +1 -1
  226. package/dist/components/portal/usePortal.js +1 -1
  227. package/dist/components/shared/InvalidIcon.js +1 -1
  228. package/dist/components/shared/ValidIcon.js +1 -1
  229. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  230. package/dist/components/status/Spin/Cube.js +1 -1
  231. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  232. package/dist/components/status/Spin/Spin.js +1 -1
  233. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  234. package/dist/data/item-themes.js +1 -1
  235. package/dist/data/themes.js +1 -1
  236. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  237. package/dist/icons/AdjustmentsIcon.js +1 -1
  238. package/dist/icons/AiIcon.js +1 -1
  239. package/dist/icons/AreaChartIcon.js +1 -1
  240. package/dist/icons/BackwardIcon.js +1 -1
  241. package/dist/icons/BarChartIcon.js +1 -1
  242. package/dist/icons/BellFilledIcon.js +1 -1
  243. package/dist/icons/BellIcon.js +1 -1
  244. package/dist/icons/BooleanIcon.js +1 -1
  245. package/dist/icons/CalendarEditIcon.js +1 -1
  246. package/dist/icons/CalendarIcon.js +1 -1
  247. package/dist/icons/CaretDownIcon.js +1 -1
  248. package/dist/icons/CaretUpIcon.js +1 -1
  249. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  250. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  251. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  252. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  253. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  254. package/dist/icons/ChartBarLineIcon.js +1 -1
  255. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  256. package/dist/icons/ChartBarStackedIcon.js +1 -1
  257. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  258. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  259. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  260. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  261. package/dist/icons/ChartBubbleIcon.js +1 -1
  262. package/dist/icons/ChartDonut2Icon.js +1 -1
  263. package/dist/icons/ChartFunnelIcon.js +1 -1
  264. package/dist/icons/ChartHeatmapIcon.js +1 -1
  265. package/dist/icons/ChartKPIIcon.js +1 -1
  266. package/dist/icons/ChartPie2Icon.js +1 -1
  267. package/dist/icons/ChartScatterIcon.js +1 -1
  268. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  269. package/dist/icons/CheckCircleIcon.js +1 -1
  270. package/dist/icons/CheckIcon.js +1 -1
  271. package/dist/icons/CircleFilledIcon.js +1 -1
  272. package/dist/icons/ClearIcon.js +1 -1
  273. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  274. package/dist/icons/CloseCircleIcon.js +1 -1
  275. package/dist/icons/CloseIcon.js +1 -1
  276. package/dist/icons/CodeIcon.js +1 -1
  277. package/dist/icons/ColumnTotalIcon.js +1 -1
  278. package/dist/icons/CopyIcon.js +1 -1
  279. package/dist/icons/CountIcon.js +1 -1
  280. package/dist/icons/CubeIcon.js +1 -1
  281. package/dist/icons/CubePauseIcon.js +1 -1
  282. package/dist/icons/CubePlayIcon.js +1 -1
  283. package/dist/icons/CurrencyDollarIcon.js +1 -1
  284. package/dist/icons/DangerIcon.js +1 -1
  285. package/dist/icons/DashboardIcon.js +1 -1
  286. package/dist/icons/DatabaseIcon.js +1 -1
  287. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  288. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  289. package/dist/icons/DirectionIcon.js +1 -1
  290. package/dist/icons/DonutIcon.js +1 -1
  291. package/dist/icons/DownIcon.js +1 -1
  292. package/dist/icons/EditIcon.js +1 -1
  293. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  294. package/dist/icons/ExclamationCircleIcon.js +1 -1
  295. package/dist/icons/ExclamationIcon.js +1 -1
  296. package/dist/icons/EyeIcon.js +1 -1
  297. package/dist/icons/EyeInvisibleIcon.js +1 -1
  298. package/dist/icons/FilterIcon.js +1 -1
  299. package/dist/icons/FolderFilledIcon.js +1 -1
  300. package/dist/icons/FolderIcon.js +1 -1
  301. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  302. package/dist/icons/FolderOpenIcon.js +1 -1
  303. package/dist/icons/ForwardIcon.js +1 -1
  304. package/dist/icons/HierarchyIcon.js +1 -1
  305. package/dist/icons/HierarchyOpenIcon.js +1 -1
  306. package/dist/icons/Icon.js +3 -2
  307. package/dist/icons/Icon.js.map +1 -1
  308. package/dist/icons/InfoCircleIcon.js +1 -1
  309. package/dist/icons/InfoIcon.js +1 -1
  310. package/dist/icons/KeyIcon.js +1 -1
  311. package/dist/icons/LeftIcon.js +1 -1
  312. package/dist/icons/LineChartIcon.js +1 -1
  313. package/dist/icons/LoadingIcon.js +1 -1
  314. package/dist/icons/LockFilledIcon.js +1 -1
  315. package/dist/icons/LockIcon.js +1 -1
  316. package/dist/icons/MoreIcon.js +1 -1
  317. package/dist/icons/NotAllowedIcon.js +1 -1
  318. package/dist/icons/Number123Icon.js +1 -1
  319. package/dist/icons/NumberIcon.js +1 -1
  320. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  321. package/dist/icons/PauseCircleIcon.js +1 -1
  322. package/dist/icons/PauseIcon.js +1 -1
  323. package/dist/icons/PercentageIcon.js +1 -1
  324. package/dist/icons/PieChartIcon.js +1 -1
  325. package/dist/icons/PlayCircleIcon.js +1 -1
  326. package/dist/icons/PlayIcon.js +1 -1
  327. package/dist/icons/PlusIcon.js +1 -1
  328. package/dist/icons/ProgressBarIcon.js +1 -1
  329. package/dist/icons/ReloadIcon.js +1 -1
  330. package/dist/icons/ReportIcon.js +1 -1
  331. package/dist/icons/ReturnIcon.js +1 -1
  332. package/dist/icons/RightIcon.js +1 -1
  333. package/dist/icons/RowTotalsIcon.js +1 -1
  334. package/dist/icons/SchemeIcon.js +1 -1
  335. package/dist/icons/SearchIcon.js +1 -1
  336. package/dist/icons/SemanticQueryIcon.js +1 -1
  337. package/dist/icons/SettingsIcon.js +1 -1
  338. package/dist/icons/ShieldFilledIcon.js +1 -1
  339. package/dist/icons/ShieldIcon.js +1 -1
  340. package/dist/icons/SlashIcon.js +1 -1
  341. package/dist/icons/SparklesIcon.js +1 -1
  342. package/dist/icons/SqlIcon.js +1 -1
  343. package/dist/icons/StatsIcon.js +1 -1
  344. package/dist/icons/StopIcon.js +1 -1
  345. package/dist/icons/StringIcon.js +1 -1
  346. package/dist/icons/SubtotalsIcon.js +1 -1
  347. package/dist/icons/SwitchIcon.js +1 -1
  348. package/dist/icons/TableIcon.js +1 -1
  349. package/dist/icons/ThumbsDownIcon.js +1 -1
  350. package/dist/icons/ThumbsUpIcon.js +1 -1
  351. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  352. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  353. package/dist/icons/ThunderboltIcon.js +1 -1
  354. package/dist/icons/TimeIcon.js +1 -1
  355. package/dist/icons/TrashIcon.js +1 -1
  356. package/dist/icons/UnlockIcon.js +1 -1
  357. package/dist/icons/UpIcon.js +1 -1
  358. package/dist/icons/UserGroupIcon.js +1 -1
  359. package/dist/icons/UserIcon.js +1 -1
  360. package/dist/icons/UserLockIcon.js +1 -1
  361. package/dist/icons/ViewIcon.js +1 -1
  362. package/dist/icons/WarningFilledIcon.js +1 -1
  363. package/dist/icons/WarningIcon.js +1 -1
  364. package/dist/icons/wrap-icon.js +1 -1
  365. package/dist/index.js +1 -1
  366. package/dist/node_modules/.pnpm/csstype@3.1.2/node_modules/csstype/index.d.ts +1 -1
  367. package/dist/provider.js +1 -1
  368. package/dist/providers/TrackingProvider.js +1 -1
  369. package/dist/providers/navigationAdapter.default.js +1 -1
  370. package/dist/tokens/base.js +1 -1
  371. package/dist/tokens/colors.js +1 -1
  372. package/dist/tokens/index.js +1 -1
  373. package/dist/tokens/layout.js +1 -1
  374. package/dist/tokens/shadows.js +1 -1
  375. package/dist/tokens/sizes.js +1 -1
  376. package/dist/tokens/spacing.js +1 -1
  377. package/dist/tokens/typography.js +1 -1
  378. package/dist/utils/ResizeSensor.js +1 -1
  379. package/dist/utils/is-dev-env.js +1 -1
  380. package/dist/utils/modules.js +1 -1
  381. package/dist/utils/promise.js +1 -1
  382. package/dist/utils/raf.js +1 -1
  383. package/dist/utils/random.js +1 -1
  384. package/dist/utils/range.js +1 -1
  385. package/dist/utils/react/RenderCache.js +1 -1
  386. package/dist/utils/react/Slots.js +1 -1
  387. package/dist/utils/react/chain.js +1 -1
  388. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  389. package/dist/utils/react/index.js +1 -1
  390. package/dist/utils/react/interactions.js +1 -1
  391. package/dist/utils/react/isTextOnly.js +1 -1
  392. package/dist/utils/react/mapProps.js +1 -1
  393. package/dist/utils/react/mergeProps.js +1 -1
  394. package/dist/utils/react/nullableValue.js +1 -1
  395. package/dist/utils/react/resolveIcon.js +1 -1
  396. package/dist/utils/react/sharedStore.js +1 -1
  397. package/dist/utils/react/useCombinedRefs.js +1 -1
  398. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  399. package/dist/utils/react/useEventBus.js +1 -1
  400. package/dist/utils/react/useId.js +1 -1
  401. package/dist/utils/react/useIsDarwin.js +1 -1
  402. package/dist/utils/react/useKeySymbols.js +1 -1
  403. package/dist/utils/react/useLayoutEffect.js +1 -1
  404. package/dist/utils/react/useLocalStorage.js +1 -1
  405. package/dist/utils/react/useMergeStyles.js +1 -1
  406. package/dist/utils/react/useQaProps.js +1 -1
  407. package/dist/utils/react/useViewportSize.js +1 -1
  408. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  409. package/dist/utils/styles.js +1 -1
  410. package/dist/utils/tree.js +1 -1
  411. package/dist/utils/warnings.js +1 -1
  412. package/dist/version.js +2 -2
  413. package/docs/components/actions/Menu.md +0 -2
  414. package/docs/tasty/README.md +5 -4
  415. package/docs/tasty/adoption.md +6 -4
  416. package/docs/tasty/comparison.md +9 -7
  417. package/docs/tasty/design-system.md +9 -3
  418. package/docs/tasty/dsl.md +42 -0
  419. package/docs/tasty/getting-started.md +11 -9
  420. package/docs/tasty/methodology.md +71 -5
  421. package/docs/tasty/runtime.md +81 -25
  422. package/docs/tasty/ssr.md +2 -2
  423. package/docs/tasty/styles.md +19 -17
  424. package/package.json +2 -2
package/docs/tasty/dsl.md CHANGED
@@ -36,6 +36,46 @@ styles: { Title: { preset: 'h3' } }
36
36
  // Targets: <div data-element="Title">
37
37
  ```
38
38
 
39
+ #### Selector Affix (`$`)
40
+
41
+ Control how a sub-element selector attaches to the root selector using the `$` property inside the sub-element's styles:
42
+
43
+ | Pattern | Result | Description |
44
+ |---------|--------|-------------|
45
+ | *(none)* | ` [el]` | Descendant (default) |
46
+ | `>` | `> [el]` | Direct child |
47
+ | `>Body>Row>` | `> [Body] > [Row] > [el]` | Chained elements |
48
+ | `h1` | ` h1` | Tag selector (no key injection) |
49
+ | `h1 >` | ` h1 > [el]` | Key is direct child of tag |
50
+ | `h1 *` | ` h1 *` | Any descendant of tag |
51
+ | `*` | ` *` | All descendants |
52
+ | `::before` | `::before` | Root pseudo (no key) |
53
+ | `@::before` | `[el]::before` | Pseudo on the sub-element |
54
+ | `>@:hover` | `> [el]:hover` | Pseudo-class on the sub-element |
55
+ | `>@.active` | `> [el].active` | Class on the sub-element |
56
+
57
+ Rules for key injection (`[data-element="..."]`):
58
+
59
+ - **Trailing combinator** (`>`, `+`, `~`) — key is injected after it
60
+ - **Uppercase element name** (`Body`, `Row`) — key is injected as descendant
61
+ - **HTML tag** (`h1`, `a`, `span`) — no key injection; the tag IS the selector
62
+ - **Universal selector** (`*`) — no key injection
63
+ - **Pseudo / class / attribute** — no key injection
64
+
65
+ The `@` placeholder marks exactly where `[data-element="..."]` is injected, allowing you to attach pseudo-classes, pseudo-elements, or class selectors directly to the sub-element instead of the root:
66
+
67
+ ```jsx
68
+ const List = tasty({
69
+ styles: {
70
+ Item: {
71
+ $: '>@:last-child',
72
+ border: 'none',
73
+ },
74
+ },
75
+ });
76
+ // → .t0 > [data-element="Item"]:last-child { border: none }
77
+ ```
78
+
39
79
  ### Color Token
40
80
 
41
81
  Named color prefixed with `#` that maps to CSS custom properties. Supports opacity with `.N` suffix:
@@ -53,6 +93,8 @@ mods={{ hovered: true, theme: 'danger' }}
53
93
  // → data-hovered="" data-theme="danger"
54
94
  ```
55
95
 
96
+ Modifiers can also be exposed as top-level component props via `modProps` — see [Runtime — Mod Props](runtime.md#mod-props).
97
+
56
98
  ---
57
99
 
58
100
  ## Color Tokens & Opacity
@@ -1,6 +1,6 @@
1
1
  # Getting Started
2
2
 
3
- This guide walks you from zero to a working Tasty component, then through the optional shared configuration and tooling layers. For a feature overview, see the [README](../README.md). For the full style language reference, see the [Style DSL](dsl.md). For the React API, see the [Runtime API](runtime.md). For the rest of the docs by role or task, see the [Docs Hub](README.md).
3
+ This guide walks you from zero to a working Tasty component, then through the optional shared configuration and tooling layers. It is the right starting point when you already want to try Tasty in code. If you are still deciding whether Tasty fits your team, start with [Comparison](comparison.md) and [Adoption Guide](adoption.md) first. For a feature overview, see the [README](../README.md). For the full style language reference, see the [Style DSL](dsl.md). For the React API, see the [Runtime API](runtime.md). For the rest of the docs by role or task, see the [Docs Hub](README.md).
4
4
 
5
5
  ---
6
6
 
@@ -10,6 +10,8 @@ This guide walks you from zero to a working Tasty component, then through the op
10
10
  - **React** >= 18 (peer dependency)
11
11
  - **Package manager**: pnpm, npm, or yarn
12
12
 
13
+ Tasty can be used immediately in a React app, but it is most compelling for teams building reusable components with intersecting states, variants, tokens, and design-system conventions.
14
+
13
15
  ---
14
16
 
15
17
  ## Install
@@ -177,25 +179,25 @@ export default [
177
179
 
178
180
  ## Choosing a rendering mode
179
181
 
180
- Tasty supports three rendering modes. Pick the one that fits your use case:
182
+ Tasty has two styling approaches. Pick the one that fits your use case, then decide whether your runtime setup also needs server rendering support:
181
183
 
182
- | Mode | Entry point | Best for | Trade-off |
184
+ | Approach | Entry point | Best for | Trade-off |
183
185
  |------|-------------|----------|-----------|
184
- | **Runtime** | `tasty()` from `@tenphi/tasty` | Interactive apps, design systems | CSS generated at runtime; full feature set (styleProps, sub-elements, variants) |
186
+ | **Runtime** | `tasty()` from `@tenphi/tasty` | Interactive apps with reusable stateful components, design systems | CSS generated at runtime; full feature set (styleProps, sub-elements, variants) |
185
187
  | **Zero-runtime** | `tastyStatic()` from `@tenphi/tasty/static` | Static sites, landing pages, SSG | Zero JS overhead; requires Babel plugin; no dynamic props |
186
- | **SSR** | `@tenphi/tasty/ssr/next` or `@tenphi/tasty/ssr/astro` | Next.js, Astro, streaming SSR | Runtime `tasty()` with server-rendered CSS and zero-cost hydration |
187
188
 
188
- All three share the same DSL, tokens, units, and state mappings.
189
+ Both share the same DSL, tokens, units, and state mappings.
189
190
 
190
191
  - Runtime is the default and requires no extra setup beyond `@tenphi/tasty`.
192
+ - If your framework can execute runtime code during server rendering, add SSR support on top of runtime with `@tenphi/tasty/ssr/next`, `@tenphi/tasty/ssr/astro`, or the core SSR API. This still uses `tasty()`; it just collects CSS on the server and hydrates the cache on the client.
191
193
  - Zero-runtime requires the Babel plugin and additional peer dependencies. See [Zero Runtime (tastyStatic)](tasty-static.md).
192
- - SSR works with existing `tasty()` components — wrap your app with a registry or middleware. See [Server-Side Rendering](ssr.md).
194
+ - SSR works with existing `tasty()` components — wrap your app with a registry, middleware, or collector. See [Server-Side Rendering](ssr.md).
193
195
 
194
196
  ---
195
197
 
196
198
  ## Next steps
197
199
 
198
- - **[Docs Hub](README.md)** — Pick the next guide by role, rendering mode, or task
200
+ - **[Docs Hub](README.md)** — Pick the next guide by role, styling approach, or task
199
201
  - **[Methodology](methodology.md)** — The recommended patterns for structuring Tasty components: sub-elements, styleProps, tokens, extension
200
202
  - **[Style DSL](dsl.md)** — State maps, tokens, units, extending semantics, keyframes, @property
201
203
  - **[Runtime API](runtime.md)** — `tasty()` factory, component props, variants, sub-elements, hooks
@@ -212,4 +214,4 @@ All three share the same DSL, tokens, units, and state mappings.
212
214
 
213
215
  - Styles are missing on first render: make sure the file that calls `configure()` is imported before any `tasty()` component renders.
214
216
  - Token or unit values are not what you expect: check your `configure({ tokens, units })` setup, then inspect the generated CSS variables with [Debug Utilities](debug.md).
215
- - You need zero-runtime or SSR instead of the default runtime path: use [Zero Runtime (tastyStatic)](tasty-static.md) or [Server-Side Rendering](ssr.md) rather than trying to retrofit the runtime setup later.
217
+ - You need build-time extraction or server-rendered CSS delivery: use [Zero Runtime (tastyStatic)](tasty-static.md) for extraction, or add [Server-Side Rendering](ssr.md) on top of runtime `tasty()` when your framework renders on the server.
@@ -1,11 +1,13 @@
1
1
  # Methodology
2
2
 
3
- Tasty has opinions about how components should be structured. The patterns described here are not mandatory — Tasty works without them — but following them gets the most out of the engine: better state resolution, cleaner component APIs, simpler overrides, and fewer surprises as the system grows.
3
+ Tasty has opinions about how components should be structured. The patterns described here are not mandatory — Tasty works without them — but following them gets the most out of the engine: deterministic state resolution, cleaner component APIs, simpler overrides, and fewer surprises as the system grows.
4
4
 
5
5
  ---
6
6
 
7
7
  ## Component architecture: root + sub-elements
8
8
 
9
+ This model matters most for design-system authors and platform teams building reusable, stateful components. It turns Tasty's selector guarantees into a component architecture that stays predictable as states, variants, and compound parts accumulate.
10
+
9
11
  ### The model
10
12
 
11
13
  Every Tasty component has a **root element** and zero or more **sub-elements**. The root owns the state context. Sub-elements participate in the same context by default.
@@ -161,6 +163,61 @@ Exposing every CSS property as a prop defeats the purpose of a design system. Th
161
163
 
162
164
  ---
163
165
 
166
+ ## modProps and mods
167
+
168
+ `modProps` expose modifier keys as top-level component props — the modifier equivalent of `styleProps`. Use them when a component has a fixed set of known state modifiers.
169
+
170
+ ```tsx
171
+ const Card = tasty({
172
+ modProps: {
173
+ isLoading: Boolean,
174
+ isSelected: Boolean,
175
+ },
176
+ styles: {
177
+ fill: { '': '#surface', isLoading: '#surface.5' },
178
+ border: { '': '1bw solid #outline', isSelected: '2bw solid #primary' },
179
+ },
180
+ });
181
+
182
+ // Clean prop API — no mods object needed
183
+ <Card isLoading isSelected>Content</Card>
184
+ ```
185
+
186
+ ### When to use which
187
+
188
+ | Pattern | Use when |
189
+ |---|---|
190
+ | `modProps` | The component has a fixed set of known boolean/string states that drive styles. Provides TypeScript autocomplete and a cleaner JSX API. |
191
+ | `mods` prop | The component needs arbitrary or dynamic modifiers that aren't known at definition time. |
192
+ | Both | Combine `modProps` for the known states and `mods` for ad-hoc overrides. Mod props take precedence. |
193
+ | `styleProps` | Exposing CSS properties (layout, sizing) for customization — different from modifiers. |
194
+
195
+ ### Typed modProps vs array form
196
+
197
+ The object form gives precise TypeScript types using JS constructors (`Boolean`, `String`, `Number`) or enum arrays:
198
+
199
+ ```tsx
200
+ const Button = tasty({
201
+ modProps: {
202
+ isLoading: Boolean,
203
+ size: ['small', 'medium', 'large'] as const,
204
+ },
205
+ // ...
206
+ });
207
+
208
+ // TypeScript knows: isLoading?: boolean, size?: 'small' | 'medium' | 'large'
209
+ ```
210
+
211
+ The array form is simpler but types all values as `ModValue`:
212
+
213
+ ```tsx
214
+ modProps: ['isLoading', 'isSelected'] as const,
215
+ ```
216
+
217
+ For the full API reference, see [Runtime — Mod Props](runtime.md#mod-props).
218
+
219
+ ---
220
+
164
221
  ## tokens prop for dynamic values
165
222
 
166
223
  Every Tasty component accepts a `tokens` prop that renders as inline CSS custom properties on the element. This is the mechanism for per-instance dynamic values.
@@ -400,8 +457,9 @@ See [Configuration](configuration.md) for the full `configure()` API.
400
457
  - **Use semantic transition names** (`transition: 'theme 0.3s'`) instead of listing CSS properties
401
458
  - **Use `elements` prop** to declare typed sub-components for compound components
402
459
  - **Use `styleProps`** to define what product engineers can customize
460
+ - **Use `modProps`** to expose known modifier states as clean component props
403
461
  - **Use `tokens` prop** for per-instance dynamic values (progress, user color)
404
- - **Use modifiers** (`mods`) for state-driven style changes instead of runtime `styles` prop changes
462
+ - **Use modifiers** (`mods` or `modProps`) for state-driven style changes instead of runtime `styles` prop changes
405
463
 
406
464
  ### Avoid
407
465
 
@@ -439,11 +497,19 @@ Tasty's enhanced properties provide concise syntax, better composability, and si
439
497
  // Bad: styles object changes every render
440
498
  <Card styles={{ padding: isCompact ? '2x' : '4x' }} />
441
499
 
442
- // Good: use modifiers
443
- <Card mods={{ compact: isCompact }} />
500
+ // Good: use modifiers via modProps
501
+ <Card isCompact={isCompact} />
502
+
503
+ // Or via mods object
504
+ <Card mods={{ isCompact }} />
444
505
 
445
506
  // In the component definition:
446
- padding: { '': '4x', compact: '2x' },
507
+ const Card = tasty({
508
+ modProps: ['isCompact'] as const,
509
+ styles: {
510
+ padding: { '': '4x', isCompact: '2x' },
511
+ },
512
+ });
447
513
  ```
448
514
 
449
515
  Modifiers are compiled into exclusive selectors once. Changing `styles` at runtime forces Tasty to regenerate and re-inject CSS.
@@ -74,6 +74,86 @@ For predefined style prop lists (`FLOW_STYLES`, `POSITION_STYLES`, `DIMENSION_ST
74
74
 
75
75
  ---
76
76
 
77
+ ## Mod Props
78
+
79
+ Use `modProps` to expose modifier keys as direct component props instead of requiring the `mods` object:
80
+
81
+ ```jsx
82
+ // Before: mods object
83
+ <Button mods={{ isLoading: true, size: 'large' }}>Submit</Button>
84
+
85
+ // After: mod props
86
+ <Button isLoading size="large">Submit</Button>
87
+ ```
88
+
89
+ ### Array form
90
+
91
+ List modifier key names. Types default to `ModValue` (`boolean | string | number | undefined | null`):
92
+
93
+ ```jsx
94
+ const Button = tasty({
95
+ modProps: ['isLoading', 'isSelected'] as const,
96
+ styles: {
97
+ fill: { '': '#surface', isLoading: '#surface.5' },
98
+ border: { '': '1bw solid #outline', isSelected: '2bw solid #primary' },
99
+ },
100
+ });
101
+
102
+ <Button isLoading isSelected>Submit</Button>
103
+ // Renders: <button data-is-loading="" data-is-selected="">Submit</button>
104
+ ```
105
+
106
+ ### Object form (typed)
107
+
108
+ Map modifier names to type descriptors for precise TypeScript types:
109
+
110
+ ```tsx
111
+ const Button = tasty({
112
+ modProps: {
113
+ isLoading: Boolean, // isLoading?: boolean
114
+ isSelected: Boolean, // isSelected?: boolean
115
+ size: ['small', 'medium', 'large'] as const, // size?: 'small' | 'medium' | 'large'
116
+ },
117
+ styles: {
118
+ padding: { '': '2x 4x', 'size=small': '1x 2x', 'size=large': '3x 6x' },
119
+ fill: { '': '#surface', isLoading: '#surface.5' },
120
+ },
121
+ });
122
+
123
+ <Button isLoading size="large">Submit</Button>
124
+ // Renders: <button data-is-loading="" data-size="large">Submit</button>
125
+ ```
126
+
127
+ Available type descriptors:
128
+
129
+ | Descriptor | TypeScript type | Example |
130
+ |---|---|---|
131
+ | `Boolean` | `boolean` | `isLoading: Boolean` |
132
+ | `String` | `string` | `label: String` |
133
+ | `Number` | `number` | `count: Number` |
134
+ | `['a', 'b'] as const` | `'a' \| 'b'` | `size: ['sm', 'md', 'lg'] as const` |
135
+
136
+ ### Merge with `mods`
137
+
138
+ Mod props and the `mods` object can be used together. Mod props take precedence:
139
+
140
+ ```jsx
141
+ <Button mods={{ isLoading: false, extra: true }} isLoading>
142
+ // isLoading=true wins (from mod prop), extra=true preserved from mods
143
+ ```
144
+
145
+ ### When to use `modProps` vs `mods`
146
+
147
+ | Use case | Recommendation |
148
+ |---|---|
149
+ | Component has a fixed set of known modifiers | `modProps` — cleaner API, better TypeScript autocomplete |
150
+ | Component needs arbitrary/dynamic modifiers | `mods` — open-ended `Record<string, ModValue>` |
151
+ | Both fixed and dynamic | Combine: `modProps` for known keys, `mods` for ad-hoc |
152
+
153
+ For architecture guidance on when to use modifiers vs `styleProps`, see [Methodology — modProps and mods](methodology.md#modprops-and-mods).
154
+
155
+ ---
156
+
77
157
  ## Variants
78
158
 
79
159
  Define named style variations. Only CSS for variants actually used at runtime is injected:
@@ -178,31 +258,7 @@ const Card = tasty({
178
258
 
179
259
  ### Selector Affix (`$`)
180
260
 
181
- Control how a sub-element selector attaches to the root selector using the `$` property inside the sub-element's styles:
182
-
183
- | Pattern | Result | Description |
184
- |---------|--------|-------------|
185
- | *(none)* | ` [el]` | Descendant (default) |
186
- | `>` | `> [el]` | Direct child |
187
- | `>Body>Row>` | `> [Body] > [Row] > [el]` | Chained elements |
188
- | `::before` | `::before` | Root pseudo (no key) |
189
- | `@::before` | `[el]::before` | Pseudo on the sub-element |
190
- | `>@:hover` | `> [el]:hover` | Pseudo-class on the sub-element |
191
- | `>@.active` | `> [el].active` | Class on the sub-element |
192
-
193
- The `@` placeholder marks exactly where the `[data-element="..."]` selector is injected, allowing you to attach pseudo-classes, pseudo-elements, or class selectors directly to the sub-element instead of the root:
194
-
195
- ```jsx
196
- const List = tasty({
197
- styles: {
198
- Item: {
199
- $: '>@:last-child',
200
- border: 'none',
201
- },
202
- },
203
- });
204
- // → .t0 > [data-element="Item"]:last-child { border: none }
205
- ```
261
+ The `$` property inside a sub-element's styles controls how its selector attaches to the root selector combinators, HTML tags, pseudo-elements, the `@` placeholder, and more. For the full reference table and injection rules, see [DSL — Selector Affix](dsl.md#selector-affix-).
206
262
 
207
263
  For the mental model behind sub-elements — how they share root state context and how this differs from BEM — see [Methodology — Component architecture](methodology.md#component-architecture-root--sub-elements).
208
264
 
package/docs/tasty/ssr.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Server-Side Rendering (SSR)
2
2
 
3
- Tasty supports server-side rendering with zero-cost client hydration. Your existing `tasty()` components work unchanged -- SSR is opt-in and requires no per-component modifications. For the broader docs map, see the [Docs Hub](README.md).
3
+ Tasty supports server-side rendering with zero-cost client hydration. This does **not** introduce a separate styling engine: SSR uses the same runtime `tasty()` pipeline you already use on the client, then adds server-side CSS collection and client-side cache hydration. Your existing `tasty()` components work unchanged, and SSR remains opt-in with no per-component modifications. For the broader docs map, see the [Docs Hub](README.md).
4
4
 
5
5
  ---
6
6
 
@@ -18,7 +18,7 @@ The Astro integration (`@tenphi/tasty/ssr/astro`) has no additional dependencies
18
18
 
19
19
  ## How It Works
20
20
 
21
- During server rendering, `useStyles()` detects a `ServerStyleCollector` and collects CSS into it instead of trying to access the DOM. The collector accumulates all styles, serializes them as `<style>` tags and a cache state script in the HTML. On the client, `hydrateTastyCache()` pre-populates the injector cache so that `useStyles()` skips the rendering pipeline entirely during hydration.
21
+ When the environment can execute runtime React code during server rendering, the same `tasty()` and `useStyles()` calls can run there too. In Next.js, generic React SSR, and Astro islands, Tasty simply changes where that runtime-generated CSS goes: `useStyles()` detects a `ServerStyleCollector` and collects CSS into it instead of trying to access the DOM. The collector accumulates all styles, serializes them as `<style>` tags and a cache state script in the HTML. On the client, `hydrateTastyCache()` pre-populates the injector cache so that `useStyles()` skips the rendering pipeline entirely during hydration.
22
22
 
23
23
  ```
24
24
  Server Client
@@ -146,37 +146,39 @@ Individual props `marginTop`, `marginRight`, `marginBottom`, `marginLeft`, `marg
146
146
 
147
147
  ### `width`
148
148
 
149
- Element width with min/max control.
149
+ Element width with min/max control. One, two, or three values set `min-width`, `width`, and `max-width` together.
150
150
 
151
- **Syntax:** `[value]` | `[min max]` | `[min value max]` | `[modifier value]`
151
+ **Positional syntax:**
152
152
 
153
- **Modifiers:** `min`, `max`, `fixed`
153
+ | Value | min-width | width | max-width |
154
+ |-------|-----------|-------|-----------|
155
+ | `"10x"` | initial | `10x` | initial |
156
+ | `"1x 10x"` | `1x` | auto | `10x` |
157
+ | `"1x 5x 10x"` | `1x` | `5x` | `10x` |
158
+ | `"0 100% 800px"` | `0` | `100%` | `800px` |
159
+ | `"initial 100% 1400px"` | initial | `100%` | `1400px` |
160
+
161
+ **Modifier syntax:**
162
+
163
+ | Value | min-width | width | max-width |
164
+ |-------|-----------|-------|-----------|
165
+ | `"min 2x"` | `2x` | auto | initial |
166
+ | `"max 100%"` | initial | auto | `100%` |
167
+ | `"fixed 200px"` | `200px` | `200px` | `200px` |
154
168
 
155
169
  **Keywords:** `stretch`, `max-content`, `min-content`, `fit-content`
156
170
 
157
171
  | Value | Effect |
158
172
  |-------|--------|
159
- | `"10x"` | Width `10x`, min `initial`, max `initial` |
160
- | `"1x 10x"` | Width `auto`, min `1x`, max `10x` |
161
- | `"1x 5x 10x"` | Min `1x`, width `5x`, max `10x` |
162
- | `"min 2x"` | Min-width `2x`, width `auto`, max `initial` |
163
- | `"max 100%"` | Max-width `100%`, width `auto`, min `initial` |
164
- | `"fixed 200px"` | Min, width, and max all set to `200px` |
165
173
  | `"stretch"` | Fill available space (cross-browser) |
166
- | `true` | Width `auto`, min `initial`, max `initial` |
174
+ | `true` | Reset to `auto` / `initial` / `initial` |
167
175
  | Number | Converted to `px` |
168
176
 
169
177
  Separate `minWidth` and `maxWidth` props are supported and override values from the `width` syntax.
170
178
 
171
179
  ### `height`
172
180
 
173
- Element height. Same syntax and modifiers as `width`.
174
-
175
- **Syntax:** `[value]` | `[min max]` | `[min value max]` | `[modifier value]`
176
-
177
- **Modifiers:** `min`, `max`, `fixed`
178
-
179
- **Keywords:** `max-content`, `min-content`, `fit-content`
181
+ Element height. Same syntax, modifiers, and positional patterns as `width`.
180
182
 
181
183
  Separate `minHeight` and `maxHeight` props are supported and override values from the `height` syntax.
182
184
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cube-dev/ui-kit",
3
- "version": "0.124.0",
3
+ "version": "0.124.2",
4
4
  "type": "module",
5
5
  "description": "UIKit for Cube Projects",
6
6
  "repository": {
@@ -45,7 +45,7 @@
45
45
  "@react-types/shared": "^3.32.1",
46
46
  "@tabler/icons-react": "^3.31.0",
47
47
  "@tanstack/react-virtual": "^3.13.12",
48
- "@tenphi/tasty": "0.14.0",
48
+ "@tenphi/tasty": "0.15.2",
49
49
  "clipboard-copy": "^4.0.1",
50
50
  "clsx": "^1.1.1",
51
51
  "diff": "^8.0.3",