@cube-dev/ui-kit 0.126.0 → 0.127.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 (451) hide show
  1. package/dist/CHANGELOG.md +43 -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/CommandMenu.js.map +1 -1
  25. package/dist/components/actions/CommandMenu/styled.js +1 -1
  26. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  27. package/dist/components/actions/ItemActionContext.js +1 -1
  28. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  29. package/dist/components/actions/Link/Link.js +1 -1
  30. package/dist/components/actions/Menu/Menu.js +1 -1
  31. package/dist/components/actions/Menu/Menu.js.map +1 -1
  32. package/dist/components/actions/Menu/MenuItem.js +1 -1
  33. package/dist/components/actions/Menu/MenuSection.js +1 -1
  34. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  35. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  36. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  37. package/dist/components/actions/Menu/context.js +1 -1
  38. package/dist/components/actions/Menu/styled.js +1 -2
  39. package/dist/components/actions/Menu/styled.js.map +1 -1
  40. package/dist/components/actions/index.js +1 -1
  41. package/dist/components/actions/use-action.js +1 -1
  42. package/dist/components/actions/use-anchored-menu.js +1 -1
  43. package/dist/components/actions/use-context-menu.js +1 -1
  44. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  45. package/dist/components/content/Alert/Alert.js +1 -1
  46. package/dist/components/content/Alert/use-alert.js +1 -1
  47. package/dist/components/content/Avatar/Avatar.js +1 -1
  48. package/dist/components/content/Badge/Badge.js +1 -1
  49. package/dist/components/content/Card/Card.js +1 -1
  50. package/dist/components/content/Content.js +1 -1
  51. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  52. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  53. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  54. package/dist/components/content/Divider.js +1 -1
  55. package/dist/components/content/Footer.js +1 -1
  56. package/dist/components/content/Header.js +1 -1
  57. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  58. package/dist/components/content/Item/Item.js +1 -1
  59. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  60. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  61. package/dist/components/content/Layout/GridLayout.js +1 -1
  62. package/dist/components/content/Layout/Layout.js +1 -1
  63. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  64. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  65. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  66. package/dist/components/content/Layout/LayoutContent.js +1 -1
  67. package/dist/components/content/Layout/LayoutContext.js +1 -1
  68. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  69. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  70. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  71. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  72. package/dist/components/content/Layout/LayoutPane.js +1 -1
  73. package/dist/components/content/Layout/LayoutPanel.js +5 -1
  74. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  75. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  76. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  77. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  78. package/dist/components/content/Layout/index.js +1 -1
  79. package/dist/components/content/Layout/utils.js +1 -1
  80. package/dist/components/content/Paragraph.js +1 -1
  81. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  82. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  83. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  84. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  85. package/dist/components/content/Result/Result.js +1 -1
  86. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  87. package/dist/components/content/Tag/Tag.js +1 -1
  88. package/dist/components/content/Text.js +1 -1
  89. package/dist/components/content/TextItem/TextItem.js +1 -1
  90. package/dist/components/content/Title.js +1 -1
  91. package/dist/components/content/highlightText.js +1 -1
  92. package/dist/components/content/use-auto-tooltip.js +1 -1
  93. package/dist/components/fields/Checkbox/Checkbox.js +2 -2
  94. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  95. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  96. package/dist/components/fields/Checkbox/context.js +1 -1
  97. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  98. package/dist/components/fields/DatePicker/DateInput.d.ts +4 -4
  99. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  100. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  101. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  102. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  103. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  104. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  105. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  106. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  107. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +4 -4
  108. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  109. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  110. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  111. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  112. package/dist/components/fields/DatePicker/intl.js +1 -1
  113. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  114. package/dist/components/fields/DatePicker/props.js +1 -1
  115. package/dist/components/fields/DatePicker/utils.js +1 -1
  116. package/dist/components/fields/FileInput/FileInput.js +1 -1
  117. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  118. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  119. package/dist/components/fields/Input/Input.js +1 -1
  120. package/dist/components/fields/ListBox/ListBox.js +1 -1
  121. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  122. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  123. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  124. package/dist/components/fields/Picker/Picker.js +1 -1
  125. package/dist/components/fields/Picker/Picker.js.map +1 -1
  126. package/dist/components/fields/RadioGroup/Radio.d.ts +1 -0
  127. package/dist/components/fields/RadioGroup/Radio.js +5 -8
  128. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  129. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  130. package/dist/components/fields/RadioGroup/context.js +1 -1
  131. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  132. package/dist/components/fields/Select/Select.d.ts +1 -1
  133. package/dist/components/fields/Select/Select.js +1 -1
  134. package/dist/components/fields/Slider/Gradation.js +1 -1
  135. package/dist/components/fields/Slider/HueSlider.js +1 -1
  136. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  137. package/dist/components/fields/Slider/Slider.js +1 -1
  138. package/dist/components/fields/Slider/SliderBase.js +1 -1
  139. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  140. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  141. package/dist/components/fields/Slider/elements.js +1 -1
  142. package/dist/components/fields/Slider/index.js +1 -1
  143. package/dist/components/fields/Switch/Switch.js +1 -1
  144. package/dist/components/fields/TextArea/TextArea.js +1 -1
  145. package/dist/components/fields/TextInput/TextInput.js +1 -1
  146. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  147. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  148. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  149. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  150. package/dist/components/form/Form/Field.js +1 -1
  151. package/dist/components/form/Form/Form.js +1 -1
  152. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  153. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  154. package/dist/components/form/Form/SubmitError.js +1 -1
  155. package/dist/components/form/Form/index.js +1 -1
  156. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  157. package/dist/components/form/Form/use-field/use-field.js +1 -1
  158. package/dist/components/form/Form/use-form.js +1 -1
  159. package/dist/components/form/Form/validation.js +1 -1
  160. package/dist/components/form/Label.js +1 -1
  161. package/dist/components/form/wrapper.js +1 -1
  162. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  163. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  164. package/dist/components/layout/Flex.js +1 -1
  165. package/dist/components/layout/Flow.js +1 -1
  166. package/dist/components/layout/Grid.js +1 -1
  167. package/dist/components/layout/Grid.js.map +1 -1
  168. package/dist/components/layout/Panel.js +1 -1
  169. package/dist/components/layout/Prefix.js +1 -1
  170. package/dist/components/layout/ResizablePanel.js +1 -1
  171. package/dist/components/layout/Space.js +1 -1
  172. package/dist/components/layout/Suffix.js +1 -1
  173. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  174. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  175. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  176. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  177. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  178. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  179. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  180. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  181. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  182. package/dist/components/navigation/Tabs/styled.js +1 -1
  183. package/dist/components/navigation/Tabs/types.d.ts +4 -2
  184. package/dist/components/navigation/Tabs/types.js +3 -2
  185. package/dist/components/navigation/Tabs/types.js.map +1 -1
  186. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  187. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  188. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  189. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  190. package/dist/components/other/Calendar/Calendar.js +1 -1
  191. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  192. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  193. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  194. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  195. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  196. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  197. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  198. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  199. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  200. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  201. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  202. package/dist/components/overlays/Dialog/context.js +1 -1
  203. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  204. package/dist/components/overlays/Modal/Modal.js +1 -1
  205. package/dist/components/overlays/Modal/OpenTransition.js +1 -1
  206. package/dist/components/overlays/Modal/Overlay.js +1 -1
  207. package/dist/components/overlays/Modal/Popover.js +1 -1
  208. package/dist/components/overlays/Modal/Tray.js +1 -1
  209. package/dist/components/overlays/Modal/Underlay.js +1 -1
  210. package/dist/components/overlays/Notifications/Notification.js +1 -1
  211. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  212. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  213. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  214. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  215. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  216. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  217. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  218. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  219. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  220. package/dist/components/overlays/Notifications/index.js +1 -1
  221. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  222. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  223. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  224. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  225. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  226. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  227. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  228. package/dist/components/overlays/Toast/index.js +1 -1
  229. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  230. package/dist/components/overlays/Toast/useToast.js +1 -1
  231. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  232. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  233. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  234. package/dist/components/overlays/Tooltip/context.js +1 -1
  235. package/dist/components/portal/Portal.js +1 -1
  236. package/dist/components/portal/PortalProvider.js +1 -1
  237. package/dist/components/portal/usePortal.js +1 -1
  238. package/dist/components/shared/InvalidIcon.js +1 -1
  239. package/dist/components/shared/ValidIcon.js +1 -1
  240. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  241. package/dist/components/status/Spin/Cube.js +1 -1
  242. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  243. package/dist/components/status/Spin/Spin.js +1 -1
  244. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  245. package/dist/data/item-themes.js +1 -1
  246. package/dist/data/themes.js +1 -1
  247. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  248. package/dist/icons/AdjustmentsIcon.js +1 -1
  249. package/dist/icons/AiIcon.js +1 -1
  250. package/dist/icons/AreaChartIcon.js +1 -1
  251. package/dist/icons/BackwardIcon.js +1 -1
  252. package/dist/icons/BarChartIcon.js +1 -1
  253. package/dist/icons/BellFilledIcon.js +1 -1
  254. package/dist/icons/BellIcon.js +1 -1
  255. package/dist/icons/BooleanIcon.js +1 -1
  256. package/dist/icons/CalendarEditIcon.js +1 -1
  257. package/dist/icons/CalendarIcon.js +1 -1
  258. package/dist/icons/CaretDownIcon.js +1 -1
  259. package/dist/icons/CaretUpIcon.js +1 -1
  260. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  261. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  262. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  263. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  264. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  265. package/dist/icons/ChartBarLineIcon.js +1 -1
  266. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  267. package/dist/icons/ChartBarStackedIcon.js +1 -1
  268. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  269. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  270. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  271. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  272. package/dist/icons/ChartBubbleIcon.js +1 -1
  273. package/dist/icons/ChartDonut2Icon.js +1 -1
  274. package/dist/icons/ChartFunnelIcon.js +1 -1
  275. package/dist/icons/ChartHeatmapIcon.js +1 -1
  276. package/dist/icons/ChartKPIIcon.js +1 -1
  277. package/dist/icons/ChartPie2Icon.js +1 -1
  278. package/dist/icons/ChartScatterIcon.js +1 -1
  279. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  280. package/dist/icons/CheckCircleIcon.js +1 -1
  281. package/dist/icons/CheckIcon.js +1 -1
  282. package/dist/icons/CircleFilledIcon.js +1 -1
  283. package/dist/icons/ClearIcon.js +1 -1
  284. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  285. package/dist/icons/CloseCircleIcon.js +1 -1
  286. package/dist/icons/CloseIcon.js +1 -1
  287. package/dist/icons/CodeIcon.js +1 -1
  288. package/dist/icons/ColumnTotalIcon.js +1 -1
  289. package/dist/icons/CopyIcon.js +1 -1
  290. package/dist/icons/CountIcon.js +1 -1
  291. package/dist/icons/CubeIcon.js +1 -1
  292. package/dist/icons/CubePauseIcon.js +1 -1
  293. package/dist/icons/CubePlayIcon.js +1 -1
  294. package/dist/icons/CurrencyDollarIcon.js +1 -1
  295. package/dist/icons/DangerIcon.js +1 -1
  296. package/dist/icons/DashboardIcon.js +1 -1
  297. package/dist/icons/DatabaseIcon.js +1 -1
  298. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  299. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  300. package/dist/icons/DirectionIcon.js +1 -1
  301. package/dist/icons/DonutIcon.js +1 -1
  302. package/dist/icons/DownIcon.js +1 -1
  303. package/dist/icons/EditIcon.js +1 -1
  304. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  305. package/dist/icons/ExclamationCircleIcon.js +1 -1
  306. package/dist/icons/ExclamationIcon.js +1 -1
  307. package/dist/icons/EyeIcon.js +1 -1
  308. package/dist/icons/EyeInvisibleIcon.js +1 -1
  309. package/dist/icons/FilterIcon.js +1 -1
  310. package/dist/icons/FolderFilledIcon.js +1 -1
  311. package/dist/icons/FolderIcon.js +1 -1
  312. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  313. package/dist/icons/FolderOpenIcon.js +1 -1
  314. package/dist/icons/ForwardIcon.js +1 -1
  315. package/dist/icons/HierarchyIcon.js +1 -1
  316. package/dist/icons/HierarchyOpenIcon.js +1 -1
  317. package/dist/icons/Icon.js +1 -1
  318. package/dist/icons/InfoCircleIcon.js +1 -1
  319. package/dist/icons/InfoIcon.js +1 -1
  320. package/dist/icons/KeyIcon.js +1 -1
  321. package/dist/icons/LeftIcon.js +1 -1
  322. package/dist/icons/LineChartIcon.js +1 -1
  323. package/dist/icons/LoadingIcon.js +1 -1
  324. package/dist/icons/LockFilledIcon.js +1 -1
  325. package/dist/icons/LockIcon.js +1 -1
  326. package/dist/icons/MoreIcon.js +1 -1
  327. package/dist/icons/NotAllowedIcon.js +1 -1
  328. package/dist/icons/Number123Icon.js +1 -1
  329. package/dist/icons/NumberIcon.js +1 -1
  330. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  331. package/dist/icons/PauseCircleIcon.js +1 -1
  332. package/dist/icons/PauseIcon.js +1 -1
  333. package/dist/icons/PercentageIcon.js +1 -1
  334. package/dist/icons/PieChartIcon.js +1 -1
  335. package/dist/icons/PlayCircleIcon.js +1 -1
  336. package/dist/icons/PlayIcon.js +1 -1
  337. package/dist/icons/PlusIcon.js +1 -1
  338. package/dist/icons/ProgressBarIcon.js +1 -1
  339. package/dist/icons/ReloadIcon.js +1 -1
  340. package/dist/icons/ReportIcon.js +1 -1
  341. package/dist/icons/ReturnIcon.js +1 -1
  342. package/dist/icons/RightIcon.js +1 -1
  343. package/dist/icons/RowTotalsIcon.js +1 -1
  344. package/dist/icons/SchemeIcon.js +1 -1
  345. package/dist/icons/SearchIcon.js +1 -1
  346. package/dist/icons/SemanticQueryIcon.js +1 -1
  347. package/dist/icons/SettingsIcon.js +1 -1
  348. package/dist/icons/ShieldFilledIcon.js +1 -1
  349. package/dist/icons/ShieldIcon.js +1 -1
  350. package/dist/icons/SlashIcon.js +1 -1
  351. package/dist/icons/SparklesIcon.js +1 -1
  352. package/dist/icons/SqlIcon.js +1 -1
  353. package/dist/icons/StatsIcon.js +1 -1
  354. package/dist/icons/StopIcon.js +1 -1
  355. package/dist/icons/StringIcon.js +1 -1
  356. package/dist/icons/SubtotalsIcon.js +1 -1
  357. package/dist/icons/SwitchIcon.js +1 -1
  358. package/dist/icons/TableIcon.js +1 -1
  359. package/dist/icons/ThumbsDownIcon.js +1 -1
  360. package/dist/icons/ThumbsUpIcon.js +1 -1
  361. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  362. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  363. package/dist/icons/ThunderboltIcon.js +1 -1
  364. package/dist/icons/TimeIcon.js +1 -1
  365. package/dist/icons/TrashIcon.js +1 -1
  366. package/dist/icons/UnlockIcon.js +1 -1
  367. package/dist/icons/UpIcon.js +1 -1
  368. package/dist/icons/UserGroupIcon.js +1 -1
  369. package/dist/icons/UserIcon.js +1 -1
  370. package/dist/icons/UserLockIcon.js +1 -1
  371. package/dist/icons/ViewIcon.js +1 -1
  372. package/dist/icons/WarningFilledIcon.js +1 -1
  373. package/dist/icons/WarningIcon.js +1 -1
  374. package/dist/icons/wrap-icon.js +1 -1
  375. package/dist/index.d.ts +2 -2
  376. package/dist/index.js +1 -1
  377. package/dist/provider.js +1 -1
  378. package/dist/providers/TrackingProvider.js +1 -1
  379. package/dist/providers/navigationAdapter.default.js +1 -1
  380. package/dist/tokens/base.js +1 -1
  381. package/dist/tokens/colors.js +1 -1
  382. package/dist/tokens/index.d.ts +1 -1
  383. package/dist/tokens/index.js +1 -1
  384. package/dist/tokens/index.js.map +1 -1
  385. package/dist/tokens/layout.js +1 -1
  386. package/dist/tokens/shadows.js +1 -1
  387. package/dist/tokens/sizes.js +1 -1
  388. package/dist/tokens/spacing.js +1 -1
  389. package/dist/tokens/typography.d.ts +1 -1
  390. package/dist/tokens/typography.js +1 -1
  391. package/dist/utils/ResizeSensor.js +1 -1
  392. package/dist/utils/is-dev-env.js +1 -1
  393. package/dist/utils/modules.js +1 -1
  394. package/dist/utils/promise.js +1 -1
  395. package/dist/utils/raf.js +1 -1
  396. package/dist/utils/random.js +1 -1
  397. package/dist/utils/range.js +1 -1
  398. package/dist/utils/react/RenderCache.js +1 -1
  399. package/dist/utils/react/Slots.js +1 -1
  400. package/dist/utils/react/chain.js +1 -1
  401. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  402. package/dist/utils/react/index.js +1 -1
  403. package/dist/utils/react/interactions.js +1 -1
  404. package/dist/utils/react/isTextOnly.js +1 -1
  405. package/dist/utils/react/mapProps.js +1 -1
  406. package/dist/utils/react/mergeProps.js +1 -1
  407. package/dist/utils/react/nullableValue.js +1 -1
  408. package/dist/utils/react/resolveIcon.js +1 -1
  409. package/dist/utils/react/sharedStore.js +1 -1
  410. package/dist/utils/react/useCombinedRefs.js +1 -1
  411. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  412. package/dist/utils/react/useEventBus.js +1 -1
  413. package/dist/utils/react/useId.js +1 -1
  414. package/dist/utils/react/useIsDarwin.js +1 -1
  415. package/dist/utils/react/useKeySymbols.js +1 -1
  416. package/dist/utils/react/useLayoutEffect.js +1 -1
  417. package/dist/utils/react/useLocalStorage.js +1 -1
  418. package/dist/utils/react/useMergeStyles.js +1 -1
  419. package/dist/utils/react/useQaProps.js +1 -1
  420. package/dist/utils/react/useViewportSize.js +1 -1
  421. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  422. package/dist/utils/selection.js +1 -1
  423. package/dist/utils/styles.d.ts +1 -1
  424. package/dist/utils/styles.js +5 -4
  425. package/dist/utils/styles.js.map +1 -1
  426. package/dist/utils/tree.js +1 -1
  427. package/dist/utils/warnings.js +1 -1
  428. package/dist/version.js +2 -2
  429. package/docs/components/fields/ComboBox.md +27 -0
  430. package/docs/components/fields/FilterListBox.md +25 -0
  431. package/docs/components/fields/FilterPicker.md +34 -0
  432. package/docs/components/fields/ListBox.md +38 -8
  433. package/docs/components/fields/Picker.md +25 -0
  434. package/docs/components/fields/Select.md +2 -0
  435. package/docs/components/navigation/Tabs.md +2 -2
  436. package/docs/tasty/README.md +4 -4
  437. package/docs/tasty/adoption.md +5 -3
  438. package/docs/tasty/comparison.md +24 -25
  439. package/docs/tasty/configuration.md +69 -1
  440. package/docs/tasty/debug.md +11 -9
  441. package/docs/tasty/design-system.md +22 -10
  442. package/docs/tasty/dsl.md +23 -8
  443. package/docs/tasty/getting-started.md +10 -10
  444. package/docs/tasty/injector.md +41 -25
  445. package/docs/tasty/methodology.md +52 -3
  446. package/docs/tasty/{PIPELINE.md → pipeline.md} +1 -1
  447. package/docs/tasty/{runtime.md → react-api.md} +104 -32
  448. package/docs/tasty/ssr.md +139 -81
  449. package/docs/tasty/styles.md +17 -0
  450. package/docs/tasty/tasty-static.md +101 -2
  451. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import { mergeProps } from "./mergeProps.js";
3
3
  import { Children, cloneElement, createContext, useContext, useMemo } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.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.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  //#region src/utils/react/forwardRefWithGenerics.tsx
3
3
  /**
4
4
  * A helper for creating forwardRef components with generic types.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { forwardRefWithGenerics } from "./forwardRefWithGenerics.js";
4
4
  import { isTextOnly } from "./isTextOnly.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import { useState } from "react";
3
3
  import { useFocus, useFocusVisible } from "react-aria";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import { Children, isValidElement } from "react";
3
3
 
4
4
  //#region src/utils/react/isTextOnly.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.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.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.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.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  //#region src/utils/react/nullableValue.ts
3
3
  function castNullableStringValue(props) {
4
4
  return castNullableField(props, ["value", "defaultValue"], "string", (v) => String(v));
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.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.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import { useEffect, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useCombinedRefs.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import { createSharedStore } from "./sharedStore.js";
3
3
  import { useEffect } from "react";
4
4
  import { useFocusVisible } from "react-aria";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import React, { createContext, useCallback, useContext, useEffect, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useEventBus.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { useSSRSafeId } from "@react-aria/ssr";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useIsDarwin.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import { useIsDarwin } from "./useIsDarwin.js";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import * as React$1 from "react";
3
3
 
4
4
  //#region src/utils/react/useLayoutEffect.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useCallback, useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import { mergeStyles } from "@tenphi/tasty";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.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.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useViewportSize.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  import { isValidElement } from "react";
3
3
  import { isFragment } from "react-is";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.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
@@ -13,7 +13,7 @@ import { Styles } from "@tenphi/tasty";
13
13
  * @param propMap - Props-to-style alias map (e.g. `{ bg: 'fill' }`).
14
14
  * @param ignoreList - Properties to skip during extraction.
15
15
  */
16
- declare function extractStyles(props: Record<string, unknown>, styleList?: readonly string[], defaultStyles?: Styles, propMap?: Record<string, string>, ignoreList?: readonly string[]): Styles;
16
+ declare function extractStyles(props: object, styleList?: readonly string[], defaultStyles?: Styles, propMap?: Record<string, string>, ignoreList?: readonly string[]): Styles;
17
17
  //#endregion
18
18
  export { extractStyles };
19
19
  //# sourceMappingURL=styles.d.ts.map
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  //#region src/utils/styles.ts
3
3
  /**
4
4
  * Split properties into style and non-style properties.
@@ -14,14 +14,15 @@
14
14
  function extractStyles(props, styleList = [], defaultStyles, propMap, ignoreList = []) {
15
15
  const ignoreSet = new Set(ignoreList);
16
16
  const styleSet = new Set(styleList);
17
+ const record = props;
17
18
  const styles = {
18
19
  ...defaultStyles,
19
- ...!ignoreSet.has("styles") && props.styles && typeof props.styles === "object" ? props.styles : void 0
20
+ ...!ignoreSet.has("styles") && record.styles && typeof record.styles === "object" ? record.styles : void 0
20
21
  };
21
- for (const prop of Object.keys(props)) {
22
+ for (const prop of Object.keys(record)) {
22
23
  if (ignoreSet.has(prop)) continue;
23
24
  const styleName = propMap?.[prop] ?? prop;
24
- if (styleSet.has(styleName)) styles[styleName] = props[prop];
25
+ if (styleSet.has(styleName)) styles[styleName] = record[prop];
25
26
  }
26
27
  return styles;
27
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":[],"sources":["../../src/utils/styles.ts"],"sourcesContent":["import type { Styles } from '@tenphi/tasty';\n\n/**\n * Split properties into style and non-style properties.\n * Collects style-related props from `props` (based on `styleList`)\n * and merges them with `defaultStyles` and `props.styles`.\n *\n * @param props - Component prop map.\n * @param styleList - List of style property names to extract.\n * @param defaultStyles - Default style map of the component.\n * @param propMap - Props-to-style alias map (e.g. `{ bg: 'fill' }`).\n * @param ignoreList - Properties to skip during extraction.\n */\nexport function extractStyles(\n props: Record<string, unknown>,\n styleList: readonly string[] = [],\n defaultStyles?: Styles,\n propMap?: Record<string, string>,\n ignoreList: readonly string[] = [],\n): Styles {\n const ignoreSet = new Set(ignoreList);\n const styleSet = new Set(styleList);\n\n const styles: Styles = {\n ...defaultStyles,\n ...(!ignoreSet.has('styles') &&\n props.styles &&\n typeof props.styles === 'object'\n ? (props.styles as Styles)\n : undefined),\n };\n\n for (const prop of Object.keys(props)) {\n if (ignoreSet.has(prop)) continue;\n\n const styleName = propMap?.[prop] ?? prop;\n\n if (styleSet.has(styleName)) {\n styles[styleName] = props[prop] as Styles[keyof Styles];\n }\n }\n\n return styles;\n}\n"],"mappings":";;;;;;;;;;;;;AAaA,SAAgB,cACd,OACA,YAA+B,EAAE,EACjC,eACA,SACA,aAAgC,EAAE,EAC1B;CACR,MAAM,YAAY,IAAI,IAAI,WAAW;CACrC,MAAM,WAAW,IAAI,IAAI,UAAU;CAEnC,MAAM,SAAiB;EACrB,GAAG;EACH,GAAI,CAAC,UAAU,IAAI,SAAS,IAC5B,MAAM,UACN,OAAO,MAAM,WAAW,WACnB,MAAM,SACP;EACL;AAED,MAAK,MAAM,QAAQ,OAAO,KAAK,MAAM,EAAE;AACrC,MAAI,UAAU,IAAI,KAAK,CAAE;EAEzB,MAAM,YAAY,UAAU,SAAS;AAErC,MAAI,SAAS,IAAI,UAAU,CACzB,QAAO,aAAa,MAAM;;AAI9B,QAAO"}
1
+ {"version":3,"file":"styles.js","names":[],"sources":["../../src/utils/styles.ts"],"sourcesContent":["import type { Styles } from '@tenphi/tasty';\n\n/**\n * Split properties into style and non-style properties.\n * Collects style-related props from `props` (based on `styleList`)\n * and merges them with `defaultStyles` and `props.styles`.\n *\n * @param props - Component prop map.\n * @param styleList - List of style property names to extract.\n * @param defaultStyles - Default style map of the component.\n * @param propMap - Props-to-style alias map (e.g. `{ bg: 'fill' }`).\n * @param ignoreList - Properties to skip during extraction.\n */\nexport function extractStyles(\n props: object,\n styleList: readonly string[] = [],\n defaultStyles?: Styles,\n propMap?: Record<string, string>,\n ignoreList: readonly string[] = [],\n): Styles {\n const ignoreSet = new Set(ignoreList);\n const styleSet = new Set(styleList);\n const record = props as Record<string, unknown>;\n\n const styles: Styles = {\n ...defaultStyles,\n ...(!ignoreSet.has('styles') &&\n record.styles &&\n typeof record.styles === 'object'\n ? (record.styles as Styles)\n : undefined),\n };\n\n for (const prop of Object.keys(record)) {\n if (ignoreSet.has(prop)) continue;\n\n const styleName = propMap?.[prop] ?? prop;\n\n if (styleSet.has(styleName)) {\n styles[styleName] = record[prop] as Styles[keyof Styles];\n }\n }\n\n return styles;\n}\n"],"mappings":";;;;;;;;;;;;;AAaA,SAAgB,cACd,OACA,YAA+B,EAAE,EACjC,eACA,SACA,aAAgC,EAAE,EAC1B;CACR,MAAM,YAAY,IAAI,IAAI,WAAW;CACrC,MAAM,WAAW,IAAI,IAAI,UAAU;CACnC,MAAM,SAAS;CAEf,MAAM,SAAiB;EACrB,GAAG;EACH,GAAI,CAAC,UAAU,IAAI,SAAS,IAC5B,OAAO,UACP,OAAO,OAAO,WAAW,WACpB,OAAO,SACR;EACL;AAED,MAAK,MAAM,QAAQ,OAAO,KAAK,OAAO,EAAE;AACtC,MAAI,UAAU,IAAI,KAAK,CAAE;EAEzB,MAAM,YAAY,UAAU,SAAS;AAErC,MAAI,SAAS,IAAI,UAAU,CACzB,QAAO,aAAa,OAAO;;AAI/B,QAAO"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.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.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  //#region src/utils/warnings.ts
3
3
  const SUGGESTED_PROP_MAP = {
4
4
  disabled: "isDisabled",
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.126.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.127.0 | Cube Dev Team */
2
2
  //#region src/version.ts
3
- const VERSION = "0.126.0";
3
+ const VERSION = "0.127.0";
4
4
  if (typeof window !== "undefined") {
5
5
  const version = VERSION;
6
6
  window.CubeUIKit = window.CubeUIKit || { version };
@@ -271,6 +271,31 @@ const [selectedKey, setSelectedKey] = useState(null);
271
271
  </ComboBox>
272
272
  ```
273
273
 
274
+ ### With Sections (Dynamic)
275
+
276
+ Sections and items can be defined dynamically using the `items` prop with a render function. Pass hierarchical data where each section contains a `children` array.
277
+
278
+ ```jsx
279
+ const categories = [
280
+ { name: 'Fruits', children: [
281
+ { key: 'apple', label: 'Apple' },
282
+ { key: 'banana', label: 'Banana' },
283
+ ]},
284
+ { name: 'Vegetables', children: [
285
+ { key: 'carrot', label: 'Carrot' },
286
+ { key: 'broccoli', label: 'Broccoli' },
287
+ ]},
288
+ ];
289
+
290
+ <ComboBox label="Food" placeholder="Select food..." items={categories}>
291
+ {(category) => (
292
+ <ComboBox.Section key={category.name} title={category.name} items={category.children}>
293
+ {(item) => <ComboBox.Item key={item.key}>{item.label}</ComboBox.Item>}
294
+ </ComboBox.Section>
295
+ )}
296
+ </ComboBox>
297
+ ```
298
+
274
299
  ### With Disabled Items
275
300
 
276
301
  ```jsx
@@ -395,6 +420,8 @@ const fruits = [
395
420
 
396
421
  ### Virtualized List
397
422
 
423
+ For large datasets, use the `items` prop with a render function. This enables automatic virtualization — only visible items are rendered in the DOM, providing smooth scrolling even with thousands of items. Virtualization is disabled when sections are present.
424
+
398
425
  ```jsx
399
426
  const items = Array.from({ length: 1000 }, (_, i) => ({
400
427
  key: `item-${i}`,
@@ -230,6 +230,31 @@ Groups related items together with an optional heading.
230
230
  </FilterListBox>
231
231
  ```
232
232
 
233
+ ### With Sections (Dynamic)
234
+
235
+ Sections and items can be defined dynamically using the `items` prop with a render function. Pass hierarchical data where each section contains a `children` array.
236
+
237
+ ```jsx
238
+ const categories = [
239
+ { name: 'Fruits', children: [
240
+ { key: 'apple', label: 'Apple' },
241
+ { key: 'banana', label: 'Banana' },
242
+ ]},
243
+ { name: 'Vegetables', children: [
244
+ { key: 'carrot', label: 'Carrot' },
245
+ { key: 'broccoli', label: 'Broccoli' },
246
+ ]},
247
+ ];
248
+
249
+ <FilterListBox label="Choose an ingredient" searchPlaceholder="Search ingredients..." items={categories}>
250
+ {(category) => (
251
+ <FilterListBox.Section key={category.name} title={category.name} items={category.children}>
252
+ {(item) => <FilterListBox.Item key={item.key}>{item.label}</FilterListBox.Item>}
253
+ </FilterListBox.Section>
254
+ )}
255
+ </FilterListBox>
256
+ ```
257
+
233
258
  ### With Descriptions
234
259
 
235
260
  ```jsx
@@ -234,6 +234,40 @@ For large datasets or dynamic content, use the `items` prop with a render functi
234
234
  </FilterPicker>
235
235
  ```
236
236
 
237
+ ### Dynamic Sections Pattern
238
+
239
+ For hierarchical data with sections, use the `items` prop with nested render functions. Each section contains a `children` array of items.
240
+
241
+ ```jsx
242
+ const categories = [
243
+ { name: 'Fruits', children: [
244
+ { key: 'apple', label: 'Apple' },
245
+ { key: 'banana', label: 'Banana' },
246
+ ]},
247
+ { name: 'Vegetables', children: [
248
+ { key: 'carrot', label: 'Carrot' },
249
+ { key: 'broccoli', label: 'Broccoli' },
250
+ ]},
251
+ ];
252
+
253
+ <FilterPicker
254
+ label="Choose items"
255
+ placeholder="Choose items..."
256
+ searchPlaceholder="Search..."
257
+ items={categories}
258
+ >
259
+ {(category) => (
260
+ <FilterPicker.Section key={category.name} title={category.name} items={category.children}>
261
+ {(item) => (
262
+ <FilterPicker.Item key={item.key} textValue={item.label}>
263
+ {item.label}
264
+ </FilterPicker.Item>
265
+ )}
266
+ </FilterPicker.Section>
267
+ )}
268
+ </FilterPicker>
269
+ ```
270
+
237
271
  **Key Benefits:**
238
272
  - **Virtualization**: Automatically enabled for large lists without sections
239
273
  - **Performance**: Only renders visible items in the DOM
@@ -313,6 +313,31 @@ Groups related items together with an optional heading.
313
313
  </ListBox>
314
314
  ```
315
315
 
316
+ ### With Sections (Dynamic)
317
+
318
+ Sections and items can be defined dynamically using the `items` prop with a render function. Pass hierarchical data where each section contains a `children` array.
319
+
320
+ ```jsx
321
+ const categories = [
322
+ { name: 'Fruits', children: [
323
+ { key: 'apple', label: 'Apple' },
324
+ { key: 'banana', label: 'Banana' },
325
+ ]},
326
+ { name: 'Vegetables', children: [
327
+ { key: 'carrot', label: 'Carrot' },
328
+ { key: 'broccoli', label: 'Broccoli' },
329
+ ]},
330
+ ];
331
+
332
+ <ListBox label="Select food items" selectionMode="single" items={categories}>
333
+ {(category) => (
334
+ <ListBox.Section key={category.name} title={category.name} items={category.children}>
335
+ {(item) => <ListBox.Item key={item.key}>{item.label}</ListBox.Item>}
336
+ </ListBox.Section>
337
+ )}
338
+ </ListBox>
339
+ ```
340
+
316
341
  ### Multiple Selection
317
342
 
318
343
  ```jsx
@@ -694,15 +719,20 @@ This component supports all [Field properties](../../FieldProperties.md) when us
694
719
 
695
720
  ### Virtualization
696
721
 
697
- ListBox automatically enables virtualization when:
698
- - No sections are present (sections disable virtualization)
699
- - Provides smooth scrolling even with large datasets
700
- - Only visible items are rendered in the DOM
701
- - Uses `@tanstack/react-virtual` for efficient rendering
702
- - Automatically measures item heights for consistent scrolling
703
- - Supports items with varying heights (descriptions, complex content)
722
+ For large datasets, use the `items` prop with a render function. This enables automatic virtualization — only visible items are rendered in the DOM, providing smooth scrolling even with thousands of items.
723
+
724
+ ```jsx
725
+ const items = Array.from({ length: 1000 }, (_, i) => ({
726
+ key: `item-${i}`,
727
+ label: `Item ${i + 1}`,
728
+ }));
729
+
730
+ <ListBox label="Large Dataset" selectionMode="single" items={items}>
731
+ {(item) => <ListBox.Item key={item.key}>{item.label}</ListBox.Item>}
732
+ </ListBox>
733
+ ```
704
734
 
705
- **Note**: Virtualization is transparent to the user - no configuration needed. It works automatically when you have a flat list without sections.
735
+ **Note**: Virtualization is disabled when sections are present. For very large datasets, prefer a flat list structure.
706
736
 
707
737
  ### Optimization Tips
708
738
 
@@ -425,6 +425,31 @@ Organize items into logical groups with section headers.
425
425
  </Picker>
426
426
  ```
427
427
 
428
+ ### With Sections (Dynamic)
429
+
430
+ Sections and items can be defined dynamically using the `items` prop with a render function. Pass hierarchical data where each section contains a `children` array.
431
+
432
+ ```jsx
433
+ const categories = [
434
+ { name: 'Fruits', children: [
435
+ { key: 'apple', label: 'Apple' },
436
+ { key: 'banana', label: 'Banana' },
437
+ ]},
438
+ { name: 'Vegetables', children: [
439
+ { key: 'carrot', label: 'Carrot' },
440
+ { key: 'broccoli', label: 'Broccoli' },
441
+ ]},
442
+ ];
443
+
444
+ <Picker label="Favorite Food" placeholder="Select a food" items={categories}>
445
+ {(category) => (
446
+ <Picker.Section key={category.name} title={category.name} items={category.children}>
447
+ {(item) => <Picker.Item key={item.key}>{item.label}</Picker.Item>}
448
+ </Picker.Section>
449
+ )}
450
+ </Picker>
451
+ ```
452
+
428
453
  ### Different Sizes
429
454
 
430
455
  Picker supports three sizes: small, medium (default), and large.
@@ -386,6 +386,8 @@ Groups related options together with an optional heading.
386
386
 
387
387
  ### With Sections (Dynamic)
388
388
 
389
+ Sections and items can be defined dynamically using the `items` prop with a render function.
390
+
389
391
  ```jsx
390
392
  const groups = [
391
393
  {
@@ -112,12 +112,12 @@ For individual tabs:
112
112
 
113
113
  ### Sizes
114
114
 
115
- - `xsmall` - Extra small size with t4 typography (radio type only)
115
+ - `xsmall` - Extra small size with t4 typography
116
116
  - `small` - Small size with t3m typography (default)
117
117
  - `medium` - Default size with t3m typography
118
118
  - `large` - Larger tabs with t3m typography
119
119
 
120
- **Note:** Radio type only supports `medium` and `large` sizes, which are mapped to smaller Item sizes internally.
120
+ **Note:** Radio type supports `large` (default, 40px total) and `medium` (32px total) sizes, mapped to Item button sizes `medium` (32px) and `xsmall` (24px) respectively.
121
121
 
122
122
  ## Compound Components
123
123
 
@@ -6,18 +6,18 @@ Tasty is a styling engine for design systems that turns component state into det
6
6
 
7
7
  - **New to Tasty**: [Getting Started](getting-started.md) for installation, the first component, optional shared `configure()`, ESLint, editor tooling, and rendering mode selection.
8
8
  - **Learning the component model**: [Methodology](methodology.md) for root + sub-elements, `styleProps`, tokens, extension, and recommended boundaries between `styles`, `style`, and wrappers.
9
- - **Evaluating the selector model**: [Style rendering pipeline](PIPELINE.md) for how mutually exclusive selectors make stateful styling deterministic.
9
+ - **Evaluating the selector model**: [Style rendering pipeline](pipeline.md) for how mutually exclusive selectors make stateful styling deterministic.
10
10
  - **Evaluating fit**: [Comparison](comparison.md) for tool-selection context, then [Adoption Guide](adoption.md) for audience fit and rollout strategy inside a design system.
11
11
 
12
12
  ## By Role
13
13
 
14
- - **Application developer using an existing design system**: [Getting Started](getting-started.md), then [Runtime API](runtime.md).
14
+ - **Application developer using an existing design system**: [Getting Started](getting-started.md), then [React API](react-api.md).
15
15
  - **Design-system author**: [Methodology](methodology.md), [Building a Design System](design-system.md), [Configuration](configuration.md), and [Adoption Guide](adoption.md).
16
16
  - **Platform or tooling engineer**: [Configuration](configuration.md), [Zero Runtime (tastyStatic)](tasty-static.md), [Server-Side Rendering](ssr.md), and [Debug Utilities](debug.md).
17
17
 
18
18
  ## By Styling Approach
19
19
 
20
- - **Runtime React components**: [Runtime API](runtime.md)
20
+ - **React components**: [React API](react-api.md)
21
21
  - **Zero-runtime / build-time extraction**: [Zero Runtime (tastyStatic)](tasty-static.md)
22
22
  - **Runtime `tasty()` with server collection and hydration**: [Server-Side Rendering](ssr.md)
23
23
 
@@ -27,5 +27,5 @@ Tasty is a styling engine for design systems that turns component state into det
27
27
  - **Look up a property handler**: [Style Properties](styles.md)
28
28
  - **Define tokens, units, recipes, keyframes, or properties globally**: [Configuration](configuration.md)
29
29
  - **Debug generated CSS or cache behavior**: [Debug Utilities](debug.md)
30
- - **Understand how selector generation works internally**: [Style rendering pipeline](PIPELINE.md)
30
+ - **Understand how selector generation works internally**: [Style rendering pipeline](pipeline.md)
31
31
  - **Understand runtime injection internals**: [Style Injector](injector.md)
@@ -13,7 +13,7 @@ Tasty is not the surface your product engineers interact with directly. It sits
13
13
  ```
14
14
  Product code
15
15
  └─ DS components (Button, Card, Layout, ...)
16
- └─ Tasty engine (tasty(), configure(), hooks)
16
+ └─ Tasty engine (tasty(), configure(), style functions)
17
17
  └─ CSS (mutually exclusive selectors, tokens, custom properties)
18
18
  ```
19
19
 
@@ -64,7 +64,7 @@ Tasty provides the engine. The DS team defines the language that runs on it. Her
64
64
  | **Units** | Custom multiplier units (`x`, `r`, `bw`, or your own) | `configure({ units })` |
65
65
  | **State aliases** | Responsive breakpoints, theme modes, feature flags | `configure({ states })` |
66
66
  | **Recipes** | Reusable style bundles (card, elevated, input-reset) | `configure({ recipes })` |
67
- | **Typography** | Preset definitions (h1-h6, t1-t4, etc.) | `configure({ tokens: generateTypographyTokens(...) })` |
67
+ | **Typography** | Preset definitions (h1-h6, t1-t4, etc.) | `configure({ presets: { ... } })` |
68
68
  | **Style props** | Which CSS properties each component exposes as React props | `styleProps` in each component |
69
69
  | **Sub-elements** | Inner parts of compound components (Title, Icon, Content) | `elements` + capitalized keys in `styles` |
70
70
  | **Override rules** | How product engineers extend or constrain components | Styled wrappers via `tasty(Base, { ... })` |
@@ -270,6 +270,8 @@ const LoadingButton = tasty(Button, {
270
270
  </Space>
271
271
  ```
272
272
 
273
+ **Components are server components by default.** All `tasty()` components and style functions are hook-free, so they work as React Server Components without `'use client'`. In server-only contexts (Next.js RSC, Astro without `client:*` directives), they produce zero client JavaScript. Product engineers only add `'use client'` when their component needs actual React interactivity (state, effects, event handlers), never because of styling.
274
+
273
275
  **No cascade/specificity concerns.** Tasty's mutually exclusive selectors mean extending a component cannot accidentally break another. Import order, class name collisions, and specificity arithmetic are non-issues.
274
276
 
275
277
  ---
@@ -289,7 +291,7 @@ const LoadingButton = tasty(Button, {
289
291
  - [Methodology](methodology.md) -- the recommended patterns for structuring Tasty components
290
292
  - [Building a Design System](design-system.md) -- practical guide to building a DS layer with Tasty
291
293
  - [Style DSL](dsl.md) -- state maps, tokens, units, extending semantics, keyframes, @property
292
- - [Runtime API](runtime.md) -- `tasty()` factory, component props, variants, sub-elements, hooks
294
+ - [React API](react-api.md) -- `tasty()` factory, component props, variants, sub-elements, style functions
293
295
  - [Configuration](configuration.md) -- tokens, recipes, custom units, style handlers, and TypeScript extensions
294
296
  - [Style Properties](styles.md) -- complete reference for all enhanced style properties
295
297
  - [Comparison](comparison.md) -- positioning and trade-offs vs. other styling systems