@cube-dev/ui-kit 0.137.1 → 0.138.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 (476) hide show
  1. package/dist/CHANGELOG.md +19 -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 +54 -43
  14. package/dist/components/GlobalStyles.js.map +1 -1
  15. package/dist/components/GridProvider.js +1 -1
  16. package/dist/components/HiddenInput.js +1 -1
  17. package/dist/components/Root.js +9 -4
  18. package/dist/components/Root.js.map +1 -1
  19. package/dist/components/actions/Action/Action.js +1 -1
  20. package/dist/components/actions/Banner/Banner.js +1 -1
  21. package/dist/components/actions/Button/Button.d.ts +1 -0
  22. package/dist/components/actions/Button/Button.js +1 -1
  23. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  24. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  25. package/dist/components/actions/ButtonSplit/context.js +1 -1
  26. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  27. package/dist/components/actions/CommandMenu/styled.js +3 -3
  28. package/dist/components/actions/CommandMenu/styled.js.map +1 -1
  29. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  30. package/dist/components/actions/ItemActionContext.js +1 -1
  31. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  32. package/dist/components/actions/Link/Link.js +1 -1
  33. package/dist/components/actions/Menu/Menu.js +1 -1
  34. package/dist/components/actions/Menu/MenuItem.js +1 -1
  35. package/dist/components/actions/Menu/MenuSection.js +1 -1
  36. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  37. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  38. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  39. package/dist/components/actions/Menu/context.js +1 -1
  40. package/dist/components/actions/Menu/styled.js +5 -5
  41. package/dist/components/actions/Menu/styled.js.map +1 -1
  42. package/dist/components/actions/index.js +1 -1
  43. package/dist/components/actions/use-action.js +1 -1
  44. package/dist/components/actions/use-anchored-menu.js +1 -1
  45. package/dist/components/actions/use-context-menu.js +1 -1
  46. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  47. package/dist/components/content/Alert/Alert.js +1 -1
  48. package/dist/components/content/Alert/use-alert.js +1 -1
  49. package/dist/components/content/Avatar/Avatar.js +1 -1
  50. package/dist/components/content/Badge/Badge.js +1 -1
  51. package/dist/components/content/Card/Card.js +2 -2
  52. package/dist/components/content/Card/Card.js.map +1 -1
  53. package/dist/components/content/Content.js +1 -1
  54. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  55. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  56. package/dist/components/content/Disclosure/Disclosure.js +2 -2
  57. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  58. package/dist/components/content/Divider.js +1 -1
  59. package/dist/components/content/Footer.js +1 -1
  60. package/dist/components/content/Header.js +1 -1
  61. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  62. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  63. package/dist/components/content/Item/Item.js +2 -2
  64. package/dist/components/content/Item/Item.js.map +1 -1
  65. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  66. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  67. package/dist/components/content/Layout/GridLayout.js +1 -1
  68. package/dist/components/content/Layout/Layout.js +1 -1
  69. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  70. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  71. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  72. package/dist/components/content/Layout/LayoutContent.js +1 -1
  73. package/dist/components/content/Layout/LayoutContext.js +1 -1
  74. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  75. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  76. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  77. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  78. package/dist/components/content/Layout/LayoutPane.js +2 -2
  79. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  80. package/dist/components/content/Layout/LayoutPanel.js +3 -3
  81. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  82. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  83. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  84. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  85. package/dist/components/content/Layout/index.js +1 -1
  86. package/dist/components/content/Layout/utils.js +1 -1
  87. package/dist/components/content/Paragraph.js +1 -1
  88. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  89. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  90. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  91. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  92. package/dist/components/content/Result/Result.js +1 -1
  93. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  94. package/dist/components/content/Tag/Tag.js +1 -1
  95. package/dist/components/content/Text.js +1 -1
  96. package/dist/components/content/TextItem/TextItem.js +1 -1
  97. package/dist/components/content/Title.js +1 -1
  98. package/dist/components/content/Tree/Tree.js +1 -1
  99. package/dist/components/content/Tree/TreeNode.js +1 -1
  100. package/dist/components/content/Tree/styled.js +1 -1
  101. package/dist/components/content/Tree/tree-index.js +1 -1
  102. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  103. package/dist/components/content/Tree/use-load-data.js +1 -1
  104. package/dist/components/content/highlightText.js +1 -1
  105. package/dist/components/content/use-auto-tooltip.js +1 -1
  106. package/dist/components/fields/Checkbox/Checkbox.js +5 -5
  107. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  108. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  109. package/dist/components/fields/Checkbox/context.js +1 -1
  110. package/dist/components/fields/ComboBox/ComboBox.js +2 -2
  111. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  112. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  113. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  114. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  115. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  116. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  117. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  118. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  119. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  120. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  121. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  122. package/dist/components/fields/DatePicker/intl.js +1 -1
  123. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  124. package/dist/components/fields/DatePicker/props.js +1 -1
  125. package/dist/components/fields/DatePicker/utils.js +1 -1
  126. package/dist/components/fields/FileInput/FileInput.js +3 -3
  127. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  128. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  129. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  130. package/dist/components/fields/Input/Input.js +1 -1
  131. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  132. package/dist/components/fields/ListBox/ListBox.js +1 -1
  133. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  134. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  135. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  136. package/dist/components/fields/Picker/Picker.js +1 -1
  137. package/dist/components/fields/RadioGroup/Radio.js +4 -4
  138. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  139. package/dist/components/fields/RadioGroup/RadioGroup.js +2 -2
  140. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  141. package/dist/components/fields/RadioGroup/context.js +1 -1
  142. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  143. package/dist/components/fields/Select/Select.js +5 -5
  144. package/dist/components/fields/Select/Select.js.map +1 -1
  145. package/dist/components/fields/Slider/Gradation.js +1 -1
  146. package/dist/components/fields/Slider/HueSlider.js +1 -1
  147. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  148. package/dist/components/fields/Slider/Slider.js +1 -1
  149. package/dist/components/fields/Slider/SliderBase.js +1 -1
  150. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  151. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  152. package/dist/components/fields/Slider/elements.js +3 -3
  153. package/dist/components/fields/Slider/elements.js.map +1 -1
  154. package/dist/components/fields/Slider/index.js +1 -1
  155. package/dist/components/fields/Switch/Switch.js +2 -2
  156. package/dist/components/fields/Switch/Switch.js.map +1 -1
  157. package/dist/components/fields/TextArea/TextArea.js +1 -1
  158. package/dist/components/fields/TextInput/TextInput.js +1 -1
  159. package/dist/components/fields/TextInput/TextInputBase.js +3 -3
  160. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  161. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  162. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  163. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  164. package/dist/components/form/Form/Field.js +1 -1
  165. package/dist/components/form/Form/Form.js +1 -1
  166. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  167. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  168. package/dist/components/form/Form/SubmitError.js +1 -1
  169. package/dist/components/form/Form/index.js +1 -1
  170. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  171. package/dist/components/form/Form/use-field/use-field.js +1 -1
  172. package/dist/components/form/Form/use-form.js +1 -1
  173. package/dist/components/form/Form/validation.js +1 -1
  174. package/dist/components/form/Label.js +1 -1
  175. package/dist/components/form/wrapper.js +1 -1
  176. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  177. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  178. package/dist/components/layout/Flex.js +1 -1
  179. package/dist/components/layout/Flow.js +1 -1
  180. package/dist/components/layout/Grid.js +1 -1
  181. package/dist/components/layout/Panel.js +1 -1
  182. package/dist/components/layout/Prefix.js +1 -1
  183. package/dist/components/layout/ResizablePanel.js +2 -2
  184. package/dist/components/layout/ResizablePanel.js.map +1 -1
  185. package/dist/components/layout/Space.js +1 -1
  186. package/dist/components/layout/Suffix.js +1 -1
  187. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  188. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  189. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  190. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  191. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  192. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  193. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  194. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  195. package/dist/components/navigation/Tabs/styled.js +3 -3
  196. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  197. package/dist/components/navigation/Tabs/types.js +1 -1
  198. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  199. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  200. package/dist/components/organisms/FileTabs/FileTabs.js +2 -2
  201. package/dist/components/organisms/FileTabs/FileTabs.js.map +1 -1
  202. package/dist/components/organisms/StatsCard/StatsCard.js +2 -2
  203. package/dist/components/organisms/StatsCard/StatsCard.js.map +1 -1
  204. package/dist/components/other/Calendar/Calendar.js +1 -1
  205. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  206. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  207. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  208. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  209. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  210. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  211. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  212. package/dist/components/overlays/Dialog/Dialog.js +2 -2
  213. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  214. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  215. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  216. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  217. package/dist/components/overlays/Dialog/context.js +1 -1
  218. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  219. package/dist/components/overlays/Modal/Modal.d.ts +2 -1
  220. package/dist/components/overlays/Modal/Modal.js +1 -1
  221. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  222. package/dist/components/overlays/Modal/Overlay.d.ts +1 -0
  223. package/dist/components/overlays/Modal/Overlay.js +1 -1
  224. package/dist/components/overlays/Modal/Popover.js +1 -1
  225. package/dist/components/overlays/Modal/Tray.js +1 -1
  226. package/dist/components/overlays/Modal/Underlay.js +1 -1
  227. package/dist/components/overlays/Modal/types.d.ts +1 -0
  228. package/dist/components/overlays/Notifications/Notification.js +1 -1
  229. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  230. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  231. package/dist/components/overlays/Notifications/NotificationContext.d.ts +2 -0
  232. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  233. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  234. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  235. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  236. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  237. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  238. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  239. package/dist/components/overlays/Notifications/index.js +1 -1
  240. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  241. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  242. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  243. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  244. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  245. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  246. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  247. package/dist/components/overlays/Toast/index.js +1 -1
  248. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  249. package/dist/components/overlays/Toast/useToast.js +1 -1
  250. package/dist/components/overlays/Tooltip/Tooltip.js +7 -7
  251. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  252. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  253. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  254. package/dist/components/overlays/Tooltip/context.js +1 -1
  255. package/dist/components/portal/Portal.js +1 -1
  256. package/dist/components/portal/PortalProvider.d.ts +2 -0
  257. package/dist/components/portal/PortalProvider.js +1 -1
  258. package/dist/components/portal/index.d.ts +1 -0
  259. package/dist/components/portal/usePortal.js +1 -1
  260. package/dist/components/shared/DraggableCollection.js +1 -1
  261. package/dist/components/shared/InvalidIcon.js +1 -1
  262. package/dist/components/shared/ValidIcon.js +1 -1
  263. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +23 -7
  264. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  265. package/dist/components/status/Spin/Cube.js +1 -1
  266. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  267. package/dist/components/status/Spin/Spin.js +1 -1
  268. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  269. package/dist/data/item-themes.js +114 -115
  270. package/dist/data/item-themes.js.map +1 -1
  271. package/dist/data/themes.d.ts +17 -17
  272. package/dist/data/themes.js +18 -18
  273. package/dist/data/themes.js.map +1 -1
  274. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  275. package/dist/icons/AdjustmentsIcon.js +1 -1
  276. package/dist/icons/AiIcon.js +1 -1
  277. package/dist/icons/AreaChartIcon.js +1 -1
  278. package/dist/icons/BackwardIcon.js +1 -1
  279. package/dist/icons/BarChartIcon.js +1 -1
  280. package/dist/icons/BellFilledIcon.js +1 -1
  281. package/dist/icons/BellIcon.js +1 -1
  282. package/dist/icons/BooleanIcon.js +1 -1
  283. package/dist/icons/CalendarEditIcon.js +1 -1
  284. package/dist/icons/CalendarIcon.js +1 -1
  285. package/dist/icons/CaretDownIcon.js +1 -1
  286. package/dist/icons/CaretUpIcon.js +1 -1
  287. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  288. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  289. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  290. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  291. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  292. package/dist/icons/ChartBarLineIcon.js +1 -1
  293. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  294. package/dist/icons/ChartBarStackedIcon.js +1 -1
  295. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  296. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  297. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  298. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  299. package/dist/icons/ChartBubbleIcon.js +1 -1
  300. package/dist/icons/ChartDonut2Icon.js +1 -1
  301. package/dist/icons/ChartFunnelIcon.js +1 -1
  302. package/dist/icons/ChartHeatmapIcon.js +1 -1
  303. package/dist/icons/ChartKPIIcon.js +1 -1
  304. package/dist/icons/ChartPie2Icon.js +1 -1
  305. package/dist/icons/ChartScatterIcon.js +1 -1
  306. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  307. package/dist/icons/CheckCircleIcon.js +1 -1
  308. package/dist/icons/CheckIcon.js +1 -1
  309. package/dist/icons/CircleFilledIcon.js +1 -1
  310. package/dist/icons/ClearIcon.js +1 -1
  311. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  312. package/dist/icons/CloseCircleIcon.js +1 -1
  313. package/dist/icons/CloseIcon.js +1 -1
  314. package/dist/icons/CodeIcon.js +1 -1
  315. package/dist/icons/ColumnTotalIcon.js +1 -1
  316. package/dist/icons/CopyIcon.js +1 -1
  317. package/dist/icons/CountIcon.js +1 -1
  318. package/dist/icons/CubeIcon.js +1 -1
  319. package/dist/icons/CubePauseIcon.js +1 -1
  320. package/dist/icons/CubePlayIcon.js +1 -1
  321. package/dist/icons/CurrencyDollarIcon.js +1 -1
  322. package/dist/icons/DangerIcon.js +1 -1
  323. package/dist/icons/DashboardIcon.js +1 -1
  324. package/dist/icons/DatabaseIcon.js +1 -1
  325. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  326. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  327. package/dist/icons/DirectionIcon.js +1 -1
  328. package/dist/icons/DonutIcon.js +1 -1
  329. package/dist/icons/DownIcon.js +1 -1
  330. package/dist/icons/EditIcon.js +1 -1
  331. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  332. package/dist/icons/ExclamationCircleIcon.js +1 -1
  333. package/dist/icons/ExclamationIcon.js +1 -1
  334. package/dist/icons/EyeIcon.js +1 -1
  335. package/dist/icons/EyeInvisibleIcon.js +1 -1
  336. package/dist/icons/FilterIcon.js +1 -1
  337. package/dist/icons/FolderFilledIcon.js +1 -1
  338. package/dist/icons/FolderIcon.js +1 -1
  339. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  340. package/dist/icons/FolderOpenIcon.js +1 -1
  341. package/dist/icons/ForwardIcon.js +1 -1
  342. package/dist/icons/GripVerticalIcon.js +1 -1
  343. package/dist/icons/HierarchyIcon.js +1 -1
  344. package/dist/icons/HierarchyOpenIcon.js +1 -1
  345. package/dist/icons/Icon.js +1 -1
  346. package/dist/icons/InfoCircleIcon.js +1 -1
  347. package/dist/icons/InfoIcon.js +1 -1
  348. package/dist/icons/KeyIcon.js +1 -1
  349. package/dist/icons/LeftIcon.js +1 -1
  350. package/dist/icons/LineChartIcon.js +1 -1
  351. package/dist/icons/LoadingIcon.js +1 -1
  352. package/dist/icons/LockFilledIcon.js +1 -1
  353. package/dist/icons/LockIcon.js +1 -1
  354. package/dist/icons/MoreIcon.js +1 -1
  355. package/dist/icons/NotAllowedIcon.js +1 -1
  356. package/dist/icons/Number123Icon.js +1 -1
  357. package/dist/icons/NumberIcon.js +1 -1
  358. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  359. package/dist/icons/PauseCircleIcon.js +1 -1
  360. package/dist/icons/PauseIcon.js +1 -1
  361. package/dist/icons/PercentageIcon.js +1 -1
  362. package/dist/icons/PieChartIcon.js +1 -1
  363. package/dist/icons/PlayCircleIcon.js +1 -1
  364. package/dist/icons/PlayIcon.js +1 -1
  365. package/dist/icons/PlusIcon.js +1 -1
  366. package/dist/icons/ProgressBarIcon.js +1 -1
  367. package/dist/icons/ReloadIcon.js +1 -1
  368. package/dist/icons/ReportIcon.js +1 -1
  369. package/dist/icons/ReturnIcon.js +1 -1
  370. package/dist/icons/RightIcon.js +1 -1
  371. package/dist/icons/RowTotalsIcon.js +1 -1
  372. package/dist/icons/SchemeIcon.js +1 -1
  373. package/dist/icons/SearchIcon.js +1 -1
  374. package/dist/icons/SemanticQueryIcon.js +1 -1
  375. package/dist/icons/SettingsIcon.js +1 -1
  376. package/dist/icons/ShieldFilledIcon.js +1 -1
  377. package/dist/icons/ShieldIcon.js +1 -1
  378. package/dist/icons/SlashIcon.js +1 -1
  379. package/dist/icons/SparklesIcon.js +1 -1
  380. package/dist/icons/SqlIcon.js +1 -1
  381. package/dist/icons/StatsIcon.js +1 -1
  382. package/dist/icons/StopIcon.js +1 -1
  383. package/dist/icons/StringIcon.js +1 -1
  384. package/dist/icons/SubtotalsIcon.js +1 -1
  385. package/dist/icons/SwitchIcon.js +1 -1
  386. package/dist/icons/TableIcon.js +1 -1
  387. package/dist/icons/ThumbsDownIcon.js +1 -1
  388. package/dist/icons/ThumbsUpIcon.js +1 -1
  389. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  390. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  391. package/dist/icons/ThunderboltIcon.js +1 -1
  392. package/dist/icons/TimeIcon.js +1 -1
  393. package/dist/icons/TrashIcon.js +1 -1
  394. package/dist/icons/UnlockIcon.js +1 -1
  395. package/dist/icons/UpIcon.js +1 -1
  396. package/dist/icons/UserGroupIcon.js +1 -1
  397. package/dist/icons/UserIcon.js +1 -1
  398. package/dist/icons/UserLockIcon.js +1 -1
  399. package/dist/icons/ViewIcon.js +1 -1
  400. package/dist/icons/WarningFilledIcon.js +1 -1
  401. package/dist/icons/WarningIcon.js +1 -1
  402. package/dist/icons/wrap-icon.js +1 -1
  403. package/dist/index.d.ts +1 -0
  404. package/dist/index.js +3 -1
  405. package/dist/index.js.map +1 -1
  406. package/dist/provider.js +1 -1
  407. package/dist/providers/TrackingProvider.js +1 -1
  408. package/dist/providers/navigationAdapter.default.js +1 -1
  409. package/dist/tokens/base.js +1 -1
  410. package/dist/tokens/colors.d.ts +4 -3
  411. package/dist/tokens/colors.js +93 -83
  412. package/dist/tokens/colors.js.map +1 -1
  413. package/dist/tokens/index.js +1 -1
  414. package/dist/tokens/layout.js +1 -1
  415. package/dist/tokens/palette.js +364 -0
  416. package/dist/tokens/palette.js.map +1 -0
  417. package/dist/tokens/shadows.d.ts +4 -1
  418. package/dist/tokens/shadows.js +9 -6
  419. package/dist/tokens/shadows.js.map +1 -1
  420. package/dist/tokens/sizes.js +1 -1
  421. package/dist/tokens/spacing.js +1 -1
  422. package/dist/tokens/typography.js +1 -1
  423. package/dist/utils/ResizeSensor.js +1 -1
  424. package/dist/utils/is-dev-env.js +1 -1
  425. package/dist/utils/modules.js +1 -1
  426. package/dist/utils/promise.js +1 -1
  427. package/dist/utils/raf.js +1 -1
  428. package/dist/utils/random.js +1 -1
  429. package/dist/utils/range.js +1 -1
  430. package/dist/utils/react/RenderCache.js +1 -1
  431. package/dist/utils/react/Slots.js +1 -1
  432. package/dist/utils/react/chain.js +1 -1
  433. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  434. package/dist/utils/react/index.js +1 -1
  435. package/dist/utils/react/interactions.js +1 -1
  436. package/dist/utils/react/isTextOnly.js +1 -1
  437. package/dist/utils/react/mapProps.js +1 -1
  438. package/dist/utils/react/mergeProps.js +1 -1
  439. package/dist/utils/react/nullableValue.js +1 -1
  440. package/dist/utils/react/resolveIcon.js +1 -1
  441. package/dist/utils/react/sharedStore.js +1 -1
  442. package/dist/utils/react/useCombinedRefs.js +1 -1
  443. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  444. package/dist/utils/react/useEventBus.js +1 -1
  445. package/dist/utils/react/useId.js +1 -1
  446. package/dist/utils/react/useIsDarwin.js +1 -1
  447. package/dist/utils/react/useKeySymbols.js +1 -1
  448. package/dist/utils/react/useLayoutEffect.js +1 -1
  449. package/dist/utils/react/useLocalStorage.js +1 -1
  450. package/dist/utils/react/useMergeStyles.js +1 -1
  451. package/dist/utils/react/usePopoverSync.js +1 -1
  452. package/dist/utils/react/useQaProps.js +1 -1
  453. package/dist/utils/react/useViewportSize.js +1 -1
  454. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  455. package/dist/utils/selection.js +1 -1
  456. package/dist/utils/styles.js +1 -1
  457. package/dist/utils/tree.js +1 -1
  458. package/dist/utils/warnings.js +1 -1
  459. package/dist/version.d.ts +3 -0
  460. package/dist/version.js +13 -5
  461. package/dist/version.js.map +1 -1
  462. package/docs/Usage.md +98 -30
  463. package/docs/components/content/Card.md +1 -1
  464. package/docs/components/content/PrismCode.md +21 -0
  465. package/docs/components/form/Field.md +1 -1
  466. package/docs/components/layout/ResizablePanel.md +1 -1
  467. package/docs/components/organisms/FileTabs.md +1 -1
  468. package/docs/components/organisms/StatsCard.md +1 -1
  469. package/docs/tasty/configuration.md +44 -0
  470. package/docs/tasty/dsl.md +14 -13
  471. package/docs/tasty/methodology.md +26 -0
  472. package/docs/tasty/react-api.md +24 -0
  473. package/docs/tasty/ssr.md +5 -3
  474. package/docs/tasty/styles.md +9 -7
  475. package/docs/tasty/tasty-static.md +15 -0
  476. package/package.json +8 -6
package/dist/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @cube-dev/ui-kit
2
2
 
3
+ ## 0.138.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#1145](https://github.com/cube-js/cube-ui-kit/pull/1145) [`20424549`](https://github.com/cube-js/cube-ui-kit/commit/204245492f151d254e109665d16ecb783a33f3cd) Thanks [@tenphi](https://github.com/tenphi)! - **Color system**: migrate to `@tenphi/glaze` and add built-in dark + high-contrast schemes.
8
+
9
+ The color palette is now generated by [Glaze](https://github.com/tenphi/glaze) (OKHSL-based, contrast-aware) and emits three variants per token — light, dark, and high-contrast — wired through tasty's state aliases (`@dark`, `@hc`). Schemes activate from `data-schema="dark" | "light"` and `data-contrast="more" | "less"` on `<html>`, with `prefers-color-scheme` / `prefers-contrast` media-query fallbacks, so apps that opt in get adaptive theming with no per-component changes.
10
+
11
+ - **New surface tokens**: `#surface`, `#surface-2`, `#surface-3` for backgrounds; `#surface-text`, `#surface-text-soft`, `#surface-text-soft-2`, `#surface-2-text`, `#surface-2-text-soft`, `#surface-3-text`, `#surface-3-text-soft` for text. The darkest text tokens are anchored at the bottom of Glaze's lightness window so they match the legacy `#dark` (OKHSL L≈12) in light mode and invert cleanly in dark/HC.
12
+ - **New per-theme accent tokens**: `#primary-accent-surface`, `#primary-accent-text`, `#primary-accent-text-soft`, `#primary-accent-icon`, `#primary-accent-surface-hover`, `#primary-accent-surface-2/3`, plus matching `success-*` / `danger-*` / `warning-*` / `note-*` (and `purple-*` as a primary alias). Used by buttons, banners, tags, etc. The `*-text-soft` variants (`#primary-text-soft`, `#danger-text-soft`, …) are adaptive (mode auto) at AA-floor contrast (cr 4.5/7) — the right anchor for a less-prominent foreground that still meets AA in BOTH light and dark schemes (used as the LINK base color, with `*-text` taking over on hover).
13
+ - **Other new tokens**: `#border`, `#focus`, `#placeholder`, `#disabled`, `#disabled-surface`, `#disabled-surface-text`, `#overlay`, `#shadow-sm` / `#shadow-md` / `#shadow-lg`, and `#surface-inverse` (fixed-mode "always dark" surface for tooltips and other elements that intentionally don't invert). `#disabled-surface` and `#disabled-surface-text` are adaptive contrast-driven tokens (cr ≈ 1.4 / 2.0 vs `#surface`) so the disabled state has perceptually identical "washed-out" look in light, dark, and HC schemes — replacing legacy `#dark.04` / `#dark-04` / `#white.6` patterns that became too contrasty in dark mode.
14
+ - **PrismCode theme**: a new `#code-*` palette (`code-comment`, `code-punctuation`, `code-keyword`, `code-string`, `code-number`, `code-function`, `code-attribute`) with WCAG AA contrast against `#surface` in every scheme; diff insertion / deletion reuse `#success-*` / `#danger-*`.
15
+ - **Backward compatibility**: every legacy color token (`#dark`, `#dark-01`…`#dark-05`, `#text`, `#minor`, `#shadow`, `#light`, `#dark-bg`, `#primary`, `#primary-text`, `#primary-bg`, `#primary-icon`, `#primary-hover`, `#primary-desaturated`, `#primary-disabled`, `#purple-01`…`#purple-04`, the full `#danger-*` / `#success-*` / `#warning-*` / `#note-*` families, `#disabled-surface-text`, `#disabled-surface`, `#focus`, `#pink`, `#clear`) keeps working and now adapts to dark/HC for free via the underlying Glaze tokens.
16
+ - **Removed**: `#white` and `#black` as explicit token definitions — they are tasty built-ins and resolve automatically. The Storybook _Playground_ story was removed (use the dedicated playground).
17
+ - **Storybook helpers**: `withDarkScheme()` and `withHighContrast()` decorators in `src/stories/decorators/withColorScheme.tsx` for previewing components in alternate schemes.
18
+ - **Dependencies**: adds `@tenphi/glaze`; updates `@tenphi/tasty` to a build that emits `data-schema` / `data-contrast` predefined states; updates Storybook to `10.3.6`.
19
+
20
+ Existing apps and components keep rendering identically in light mode (legacy aliases preserve current colors). To opt into dark mode, set `<html data-schema="dark">` (or rely on the user's system preference). Apps using hardcoded `#white` as a "page background" should switch to `#surface` so the body adapts with the scheme.
21
+
3
22
  ## 0.137.1
4
23
 
5
24
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { useEvent } from "./use-event.js";
3
3
 
4
4
  //#region src/_internal/hooks/use-chained-callback.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { useEffect, useRef, useState } from "react";
3
3
 
4
4
  //#region src/_internal/hooks/use-debounced-value.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { deprecationWarning } from "../../utils/warnings.js";
3
3
  import React, { useEffect } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { useSyncRef } from "./use-sync-ref.js";
3
3
  import { useCallback } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { useRef } from "react";
3
3
 
4
4
  //#region src/_internal/hooks/use-is-first-render.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../utils/react/useLayoutEffect.js";
3
3
  import { useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  //#region src/_internal/hooks/use-timer/timer.ts
3
3
  var Timer = class {
4
4
  callback;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { useEvent } from "../use-event.js";
3
3
  import { Timer } from "./timer.js";
4
4
  import { useEffect, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { useEvent } from "./use-event.js";
3
3
  import { warn } from "../../utils/warnings.js";
4
4
  import { useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../utils/styles.js";
3
3
  import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { ItemAction } from "./actions/ItemAction/ItemAction.js";
3
3
  import { ItemBadge } from "./content/ItemBadge/ItemBadge.js";
4
4
  import { Item } from "react-stately";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { TOKENS } from "../tokens/index.js";
3
3
  import { useGlobalStyles, useRawCSS } from "@tenphi/tasty";
4
4
  import { useMemo } from "react";
@@ -6,17 +6,20 @@ import { useMemo } from "react";
6
6
  //#region src/components/GlobalStyles.tsx
7
7
  /**
8
8
  * Body styles applied via useGlobalStyles.
9
- * These use tasty syntax and get processed correctly.
9
+ *
10
+ * `fill` and `color` use scheme-aware Glaze tokens so the whole page flips
11
+ * automatically when `<html data-schema="dark">` (or `prefers-color-scheme: dark`)
12
+ * is active — see `src/tokens/palette.ts` and `src/components/Root.tsx`.
10
13
  */
11
14
  const BODY_STYLES = {
12
15
  overscrollBehaviorY: "none",
13
- fill: "#white",
16
+ fill: "#surface",
14
17
  fontFamily: "var(--font-sans)",
15
18
  "-webkit-font-smoothing": "antialiased",
16
19
  "-moz-osx-font-smoothing": "grayscale",
17
20
  margin: 0,
18
21
  padding: 0,
19
- color: "#dark-02",
22
+ color: "#surface-text-soft",
20
23
  preset: "t3",
21
24
  letterSpacing: "0.02em"
22
25
  };
@@ -31,7 +34,7 @@ const STATIC_CSS = `
31
34
  font-weight: var(--c2-font-weight);
32
35
  font-size: var(--c2-font-size);
33
36
  border: var(--border-width) solid var(--dark-04-color);
34
- background-color: white;
37
+ background-color: var(--surface-color);
35
38
  color: var(--dark-color);
36
39
  border-radius: var(--radius);
37
40
  padding: 0 var(--outline-width);
@@ -72,10 +75,19 @@ const STATIC_CSS = `
72
75
  font-family: var(--font-mono);
73
76
  }
74
77
 
75
- /* Prism Code */
78
+ /*
79
+ * Prism syntax highlighting.
80
+ *
81
+ * All token colors come from the scheme-aware Glaze \`code-*\` palette
82
+ * (defined in src/tokens/palette.ts). Each \`code-*\` token has \`mode: 'auto'\`
83
+ * with a numeric contrast floor of 4.5 against \`#surface\` so every token
84
+ * reads at WCAG AA in light AND dark schemes (AAA in high-contrast).
85
+ * Diff insertion / deletion re-use the adaptive \`success-*\` and \`danger-*\`
86
+ * ramps for both the line bg and the token color.
87
+ */
76
88
  code[class*="language-"],
77
89
  pre[class*="language-"] {
78
- color: var(--dark-color);
90
+ color: var(--surface-text-color);
79
91
  background: none;
80
92
  font-family: var(--font-mono);
81
93
  text-align: left;
@@ -134,87 +146,86 @@ const STATIC_CSS = `
134
146
  white-space: normal;
135
147
  }
136
148
 
149
+ /* Diff (re-uses success/danger ramps; both bg and text adapt to scheme) */
137
150
  .token.inserted-sign {
138
- background-color: #e6ffed;
139
- color: #30A666;
151
+ background-color: var(--success-bg-color);
152
+ color: var(--success-text-color);
140
153
  }
141
154
 
142
155
  .token.inserted {
143
- color: #30A666;
156
+ color: var(--success-text-color);
144
157
  }
145
158
 
146
159
  .token.deleted-sign {
147
- background-color: #ffeef0;
148
- color: var(--danger-color);
160
+ background-color: var(--danger-bg-color);
161
+ color: var(--danger-text-color);
149
162
  }
150
163
 
151
164
  .token.deleted {
152
- color: var(--pink-color);
165
+ color: var(--danger-text-color);
153
166
  }
154
167
 
168
+ /* Comments — subdued gray-ish, AA floor */
155
169
  .token.comment,
156
170
  .token.prolog,
157
171
  .token.doctype,
158
172
  .token.cdata {
159
- color: var(--dark-03-color);
173
+ color: var(--code-comment-color);
160
174
  }
161
175
 
162
- .token.tag,
176
+ /* Operators / punctuation — subdued purple, AA floor */
163
177
  .token.operator,
164
178
  .token.punctuation {
165
- color: #993388;
179
+ color: var(--code-punctuation-color);
166
180
  }
167
181
 
168
182
  .namespace {
169
183
  opacity: .7;
170
184
  }
171
185
 
172
- .token.property,
186
+ /* Keywords / language constructs — violet */
173
187
  .token.boolean,
174
188
  .token.constant,
175
- .token.symbol,
176
- .token.key,
177
- .token.keyword {
178
- color: var(--pink-color);
189
+ .token.keyword,
190
+ .token.atrule {
191
+ color: var(--code-keyword-color);
192
+ font-weight: 500;
179
193
  }
180
194
 
195
+ /* Numbers / numeric entities — orange */
181
196
  .token.entity,
182
197
  .token.number {
183
- color: #30A666;
198
+ color: var(--code-number-color);
184
199
  }
185
200
 
186
- .token.selector,
187
- .token.attr-name,
201
+ /* Strings / character literals / URLs — green */
188
202
  .token.string,
189
203
  .token.char,
190
- .token.builtin {
191
- color: var(--primary-text-color);
192
- }
193
-
204
+ .token.attr-value,
194
205
  .token.url,
195
206
  .language-css .token.string,
196
207
  .style .token.string {
197
- color: var(--dark-color);
198
- }
199
-
200
- .token.attr-value {
201
- color: var(--dark-color);
202
- }
203
-
204
- .token.atrule,
205
- .token.keyword {
206
- font-weight: 500;
208
+ color: var(--code-string-color);
207
209
  }
208
210
 
211
+ /* Names: functions, class names, regex, variables — pink/coral */
209
212
  .token.function,
210
- .token.class-name {
211
- color: var(--pink-color);
212
- }
213
-
213
+ .token.class-name,
214
214
  .token.regex,
215
215
  .token.important,
216
216
  .token.variable {
217
- color: var(--pink-color);
217
+ color: var(--code-function-color);
218
+ }
219
+
220
+ /* Attributes / properties / tags / selectors / built-ins — cyan */
221
+ .token.tag,
222
+ .token.attr-name,
223
+ .token.property,
224
+ .token.symbol,
225
+ .token.key,
226
+ .token.builtin,
227
+ .token.selector {
228
+ color: var(--code-attribute-color);
218
229
  }
219
230
 
220
231
  .token.important,
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalStyles.js","names":[],"sources":["../../src/components/GlobalStyles.tsx"],"sourcesContent":["import { useGlobalStyles, useRawCSS } from '@tenphi/tasty';\nimport { useMemo } from 'react';\n\nimport { TOKENS } from '../tokens';\n\nimport type { Styles } from '@tenphi/tasty';\n\ninterface GlobalStylesProps {\n bodyStyles?: { [key: string]: string };\n fonts?: boolean;\n fontDisplay?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';\n publicUrl?: string;\n font?: string;\n monospaceFont?: string;\n /** @deprecated Tokens are now always applied via useGlobalStyles */\n applyLegacyTokens?: boolean;\n}\n\n/**\n * Body styles applied via useGlobalStyles.\n * These use tasty syntax and get processed correctly.\n */\nconst BODY_STYLES: Styles = {\n overscrollBehaviorY: 'none',\n fill: '#white',\n fontFamily: 'var(--font-sans)',\n '-webkit-font-smoothing': 'antialiased',\n '-moz-osx-font-smoothing': 'grayscale',\n margin: 0,\n padding: 0,\n color: '#dark-02',\n preset: 't3',\n letterSpacing: '0.02em',\n};\n\n// Static CSS that doesn't depend on props\nconst STATIC_CSS = `\n @font-face {\n font-family: text-security-disc;\n src: url(data:font/woff2;base64,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) format('woff2');\n }\n\n kbd {\n font-family: var(--c2-font-family);\n font-weight: var(--c2-font-weight);\n font-size: var(--c2-font-size);\n border: var(--border-width) solid var(--dark-04-color);\n background-color: white;\n color: var(--dark-color);\n border-radius: var(--radius);\n padding: 0 var(--outline-width);\n }\n\n :not([data-qa$=\"Icon\"]) > .tabler-icon {\n font-size: var(--icon-size);\n width: 1em;\n height: 1em;\n min-width: 1em;\n min-height: 1em;\n max-height: 1em;\n stroke-width: var(--stroke-width);\n }\n\n .cube-animation-spin {\n animation: cube-animation-spin 1s linear infinite;\n }\n\n @keyframes cube-animation-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n\n b, strong {\n font-weight: var(--bold-font-weight, 700);\n }\n\n [type=reset], [type=submit], button, html [type=button] {\n -webkit-appearance: none;\n }\n\n code {\n font-family: var(--font-mono);\n }\n\n /* Prism Code */\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n color: var(--dark-color);\n background: none;\n font-family: var(--font-mono);\n text-align: left;\n font-weight: normal;\n font-size: 14px;\n line-height: 20px;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n border-radius: 6px;\n border: none;\n\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n }\n\n pre[class*=\"language-\"]::-moz-selection, pre[class*=\"language-\"] ::-moz-selection,\n code[class*=\"language-\"]::-moz-selection, code[class*=\"language-\"] ::-moz-selection {\n text-shadow: none;\n background: rgb(var(--primary-color-rgb) / .2);\n }\n\n pre[class*=\"language-\"]::selection, pre[class*=\"language-\"] ::selection,\n code[class*=\"language-\"]::selection, code[class*=\"language-\"] ::selection {\n text-shadow: none;\n background: rgb(var(--primary-color-rgb) / .2);\n }\n\n @media print {\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n text-shadow: none;\n }\n }\n\n /* Code blocks */\n pre[class*=\"language-\"] {\n overflow: auto;\n }\n\n :not(pre) > code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n background: transparent;\n }\n\n /* Inline code */\n :not(pre) > code[class*=\"language-\"] {\n border-radius: .3em;\n white-space: normal;\n }\n\n .token.inserted-sign {\n background-color: #e6ffed;\n color: #30A666;\n }\n\n .token.inserted {\n color: #30A666;\n }\n\n .token.deleted-sign {\n background-color: #ffeef0;\n color: var(--danger-color);\n }\n\n .token.deleted {\n color: var(--pink-color);\n }\n\n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n color: var(--dark-03-color);\n }\n\n .token.tag,\n .token.operator,\n .token.punctuation {\n color: #993388;\n }\n\n .namespace {\n opacity: .7;\n }\n\n .token.property,\n .token.boolean,\n .token.constant,\n .token.symbol,\n .token.key,\n .token.keyword {\n color: var(--pink-color);\n }\n\n .token.entity,\n .token.number {\n color: #30A666;\n }\n\n .token.selector,\n .token.attr-name,\n .token.string,\n .token.char,\n .token.builtin {\n color: var(--primary-text-color);\n }\n\n .token.url,\n .language-css .token.string,\n .style .token.string {\n color: var(--dark-color);\n }\n\n .token.attr-value {\n color: var(--dark-color);\n }\n\n .token.atrule,\n .token.keyword {\n font-weight: 500;\n }\n\n .token.function,\n .token.class-name {\n color: var(--pink-color);\n }\n\n .token.regex,\n .token.important,\n .token.variable {\n color: var(--pink-color);\n }\n\n .token.important,\n .token.bold {\n font-weight: bold;\n }\n\n .token.italic {\n font-style: italic;\n }\n\n .token.entity {\n cursor: help;\n }\n`;\n\nexport function GlobalStyles(props: GlobalStylesProps) {\n const { bodyStyles, font, monospaceFont } = props;\n\n // Merge token styles with body styles\n const bodyTokenStyles = useMemo((): Styles => {\n // Start with design tokens\n const styles: Styles = { ...TOKENS };\n\n // Add base body styles\n Object.assign(styles, BODY_STYLES);\n\n // Override with custom body styles if provided\n // Keys are passed through as-is (tasty handles both camelCase and kebab-case)\n if (bodyStyles) {\n Object.assign(styles, bodyStyles);\n }\n\n return styles;\n }, [bodyStyles]);\n\n // Apply tokens and body styles via useGlobalStyles\n useGlobalStyles('body', bodyTokenStyles);\n\n // Apply static CSS and font definitions via useRawCSS\n useRawCSS(() => {\n const fontValue = font ? `${font}, ` : '';\n const monospaceFontValue = monospaceFont ? `${monospaceFont}, ` : '';\n\n return `\n html {\n overscroll-behavior-y: none;\n --font-sans: ${fontValue}system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\", sans-serif;\n --font-mono: ${monospaceFontValue}ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n }\n${STATIC_CSS}`;\n }, [font, monospaceFont]);\n\n return null;\n}\n"],"mappings":";;;;;;;;;;AAsBA,MAAM,cAAsB;CAC1B,qBAAqB;CACrB,MAAM;CACN,YAAY;CACZ,0BAA0B;CAC1B,2BAA2B;CAC3B,QAAQ;CACR,SAAS;CACT,OAAO;CACP,QAAQ;CACR,eAAe;CAChB;AAGD,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmNnB,SAAgB,aAAa,OAA0B;CACrD,MAAM,EAAE,YAAY,MAAM,kBAAkB;AAoB5C,iBAAgB,QAjBQ,cAAsB;EAE5C,MAAM,SAAiB,EAAE,GAAG,QAAQ;AAGpC,SAAO,OAAO,QAAQ,YAAY;AAIlC,MAAI,WACF,QAAO,OAAO,QAAQ,WAAW;AAGnC,SAAO;IACN,CAAC,WAAW,CAAC,CAGwB;AAGxC,iBAAgB;AAId,SAAO;;;mBAHW,OAAO,GAAG,KAAK,MAAM,GAMd;mBALE,gBAAgB,GAAG,cAAc,MAAM,GAMhC;;EAEpC;IACG,CAAC,MAAM,cAAc,CAAC;AAEzB,QAAO"}
1
+ {"version":3,"file":"GlobalStyles.js","names":[],"sources":["../../src/components/GlobalStyles.tsx"],"sourcesContent":["import { useGlobalStyles, useRawCSS } from '@tenphi/tasty';\nimport { useMemo } from 'react';\n\nimport { TOKENS } from '../tokens';\n\nimport type { Styles } from '@tenphi/tasty';\n\ninterface GlobalStylesProps {\n bodyStyles?: { [key: string]: string };\n fonts?: boolean;\n fontDisplay?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';\n publicUrl?: string;\n font?: string;\n monospaceFont?: string;\n /** @deprecated Tokens are now always applied via useGlobalStyles */\n applyLegacyTokens?: boolean;\n}\n\n/**\n * Body styles applied via useGlobalStyles.\n *\n * `fill` and `color` use scheme-aware Glaze tokens so the whole page flips\n * automatically when `<html data-schema=\"dark\">` (or `prefers-color-scheme: dark`)\n * is active — see `src/tokens/palette.ts` and `src/components/Root.tsx`.\n */\nconst BODY_STYLES: Styles = {\n overscrollBehaviorY: 'none',\n fill: '#surface',\n fontFamily: 'var(--font-sans)',\n '-webkit-font-smoothing': 'antialiased',\n '-moz-osx-font-smoothing': 'grayscale',\n margin: 0,\n padding: 0,\n color: '#surface-text-soft',\n preset: 't3',\n letterSpacing: '0.02em',\n};\n\n// Static CSS that doesn't depend on props\nconst STATIC_CSS = `\n @font-face {\n font-family: text-security-disc;\n src: url(data:font/woff2;base64,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) format('woff2');\n }\n\n kbd {\n font-family: var(--c2-font-family);\n font-weight: var(--c2-font-weight);\n font-size: var(--c2-font-size);\n border: var(--border-width) solid var(--dark-04-color);\n background-color: var(--surface-color);\n color: var(--dark-color);\n border-radius: var(--radius);\n padding: 0 var(--outline-width);\n }\n\n :not([data-qa$=\"Icon\"]) > .tabler-icon {\n font-size: var(--icon-size);\n width: 1em;\n height: 1em;\n min-width: 1em;\n min-height: 1em;\n max-height: 1em;\n stroke-width: var(--stroke-width);\n }\n\n .cube-animation-spin {\n animation: cube-animation-spin 1s linear infinite;\n }\n\n @keyframes cube-animation-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n\n b, strong {\n font-weight: var(--bold-font-weight, 700);\n }\n\n [type=reset], [type=submit], button, html [type=button] {\n -webkit-appearance: none;\n }\n\n code {\n font-family: var(--font-mono);\n }\n\n /*\n * Prism syntax highlighting.\n *\n * All token colors come from the scheme-aware Glaze \\`code-*\\` palette\n * (defined in src/tokens/palette.ts). Each \\`code-*\\` token has \\`mode: 'auto'\\`\n * with a numeric contrast floor of 4.5 against \\`#surface\\` so every token\n * reads at WCAG AA in light AND dark schemes (AAA in high-contrast).\n * Diff insertion / deletion re-use the adaptive \\`success-*\\` and \\`danger-*\\`\n * ramps for both the line bg and the token color.\n */\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n color: var(--surface-text-color);\n background: none;\n font-family: var(--font-mono);\n text-align: left;\n font-weight: normal;\n font-size: 14px;\n line-height: 20px;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n border-radius: 6px;\n border: none;\n\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n }\n\n pre[class*=\"language-\"]::-moz-selection, pre[class*=\"language-\"] ::-moz-selection,\n code[class*=\"language-\"]::-moz-selection, code[class*=\"language-\"] ::-moz-selection {\n text-shadow: none;\n background: rgb(var(--primary-color-rgb) / .2);\n }\n\n pre[class*=\"language-\"]::selection, pre[class*=\"language-\"] ::selection,\n code[class*=\"language-\"]::selection, code[class*=\"language-\"] ::selection {\n text-shadow: none;\n background: rgb(var(--primary-color-rgb) / .2);\n }\n\n @media print {\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n text-shadow: none;\n }\n }\n\n /* Code blocks */\n pre[class*=\"language-\"] {\n overflow: auto;\n }\n\n :not(pre) > code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n background: transparent;\n }\n\n /* Inline code */\n :not(pre) > code[class*=\"language-\"] {\n border-radius: .3em;\n white-space: normal;\n }\n\n /* Diff (re-uses success/danger ramps; both bg and text adapt to scheme) */\n .token.inserted-sign {\n background-color: var(--success-bg-color);\n color: var(--success-text-color);\n }\n\n .token.inserted {\n color: var(--success-text-color);\n }\n\n .token.deleted-sign {\n background-color: var(--danger-bg-color);\n color: var(--danger-text-color);\n }\n\n .token.deleted {\n color: var(--danger-text-color);\n }\n\n /* Comments — subdued gray-ish, AA floor */\n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n color: var(--code-comment-color);\n }\n\n /* Operators / punctuation — subdued purple, AA floor */\n .token.operator,\n .token.punctuation {\n color: var(--code-punctuation-color);\n }\n\n .namespace {\n opacity: .7;\n }\n\n /* Keywords / language constructs — violet */\n .token.boolean,\n .token.constant,\n .token.keyword,\n .token.atrule {\n color: var(--code-keyword-color);\n font-weight: 500;\n }\n\n /* Numbers / numeric entities — orange */\n .token.entity,\n .token.number {\n color: var(--code-number-color);\n }\n\n /* Strings / character literals / URLs — green */\n .token.string,\n .token.char,\n .token.attr-value,\n .token.url,\n .language-css .token.string,\n .style .token.string {\n color: var(--code-string-color);\n }\n\n /* Names: functions, class names, regex, variables — pink/coral */\n .token.function,\n .token.class-name,\n .token.regex,\n .token.important,\n .token.variable {\n color: var(--code-function-color);\n }\n\n /* Attributes / properties / tags / selectors / built-ins — cyan */\n .token.tag,\n .token.attr-name,\n .token.property,\n .token.symbol,\n .token.key,\n .token.builtin,\n .token.selector {\n color: var(--code-attribute-color);\n }\n\n .token.important,\n .token.bold {\n font-weight: bold;\n }\n\n .token.italic {\n font-style: italic;\n }\n\n .token.entity {\n cursor: help;\n }\n`;\n\nexport function GlobalStyles(props: GlobalStylesProps) {\n const { bodyStyles, font, monospaceFont } = props;\n\n // Merge token styles with body styles\n const bodyTokenStyles = useMemo((): Styles => {\n // Start with design tokens\n const styles: Styles = { ...TOKENS };\n\n // Add base body styles\n Object.assign(styles, BODY_STYLES);\n\n // Override with custom body styles if provided\n // Keys are passed through as-is (tasty handles both camelCase and kebab-case)\n if (bodyStyles) {\n Object.assign(styles, bodyStyles);\n }\n\n return styles;\n }, [bodyStyles]);\n\n // Apply tokens and body styles via useGlobalStyles\n useGlobalStyles('body', bodyTokenStyles);\n\n // Apply static CSS and font definitions via useRawCSS\n useRawCSS(() => {\n const fontValue = font ? `${font}, ` : '';\n const monospaceFontValue = monospaceFont ? `${monospaceFont}, ` : '';\n\n return `\n html {\n overscroll-behavior-y: none;\n --font-sans: ${fontValue}system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\", sans-serif;\n --font-mono: ${monospaceFontValue}ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n }\n${STATIC_CSS}`;\n }, [font, monospaceFont]);\n\n return null;\n}\n"],"mappings":";;;;;;;;;;;;;AAyBA,MAAM,cAAsB;CAC1B,qBAAqB;CACrB,MAAM;CACN,YAAY;CACZ,0BAA0B;CAC1B,2BAA2B;CAC3B,QAAQ;CACR,SAAS;CACT,OAAO;CACP,QAAQ;CACR,eAAe;CAChB;AAGD,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2NnB,SAAgB,aAAa,OAA0B;CACrD,MAAM,EAAE,YAAY,MAAM,kBAAkB;AAoB5C,iBAAgB,QAjBQ,cAAsB;EAE5C,MAAM,SAAiB,EAAE,GAAG,QAAQ;AAGpC,SAAO,OAAO,QAAQ,YAAY;AAIlC,MAAI,WACF,QAAO,OAAO,QAAQ,WAAW;AAGnC,SAAO;IACN,CAAC,WAAW,CAAC,CAGwB;AAGxC,iBAAgB;AAId,SAAO;;;mBAHW,OAAO,GAAG,KAAK,MAAM,GAMd;mBALE,gBAAgB,GAAG,cAAc,MAAM,GAMhC;;EAEpC;IACG,CAAC,MAAM,cAAc,CAAC;AAEzB,QAAO"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { useCombinedRefs } from "../utils/react/useCombinedRefs.js";
3
3
  import { filterBaseProps, tasty } from "@tenphi/tasty";
4
4
  import { forwardRef, useCallback, useEffect, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
 
4
4
  //#region src/components/HiddenInput.tsx
@@ -1,19 +1,23 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../utils/styles.js";
3
3
  import { EventBusProvider } from "../utils/react/useEventBus.js";
4
4
  import { PortalProvider } from "./portal/PortalProvider.js";
5
- import { VERSION } from "../version.js";
5
+ import { TASTY_VERSION, VERSION } from "../version.js";
6
6
  import { Provider } from "../provider.js";
7
7
  import { TrackingProvider } from "../providers/TrackingProvider.js";
8
8
  import { GlobalStyles } from "./GlobalStyles.js";
9
9
  import { AlertDialogApiProvider } from "./overlays/AlertDialog/AlertDialogApiProvider.js";
10
10
  import { OverlayProvider } from "./overlays/Notifications/OverlayProvider.js";
11
- import { BASE_STYLES, BLOCK_STYLES, configure, filterBaseProps, tasty } from "@tenphi/tasty";
11
+ import { BASE_STYLES, BLOCK_STYLES, configure, filterBaseProps, setGlobalPredefinedStates, tasty } from "@tenphi/tasty";
12
12
  import { useEffect, useRef, useState } from "react";
13
13
  import { jsx, jsxs } from "react/jsx-runtime";
14
14
  import { ModalProvider } from "react-aria";
15
15
 
16
16
  //#region src/components/Root.tsx
17
+ setGlobalPredefinedStates({
18
+ "@dark": "@root(schema=dark) | (!@root(schema) & @media(prefers-color-scheme: dark))",
19
+ "@hc": "@root(contrast=high) | (!@root(contrast) & @media(prefers-contrast: more))"
20
+ });
17
21
  configure({
18
22
  colorSpace: "rgb",
19
23
  units: {
@@ -100,7 +104,8 @@ function Root(allProps) {
100
104
  event: tracking?.event,
101
105
  children: /* @__PURE__ */ jsxs(RootElement, {
102
106
  ref,
103
- "data-tasty": VERSION,
107
+ "data-uikit": VERSION,
108
+ "data-tasty": TASTY_VERSION,
104
109
  "data-font-display": fontDisplay,
105
110
  ...filterBaseProps(props, { eventProps: true }),
106
111
  styles,
@@ -1 +1 @@
1
- {"version":3,"file":"Root.js","names":[],"sources":["../../src/components/Root.tsx"],"sourcesContent":["import {\n BASE_STYLES,\n BaseProps,\n BLOCK_STYLES,\n configure,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { useEffect, useRef, useState } from 'react';\nimport { ModalProvider } from 'react-aria';\n\nimport { Provider } from '../provider';\nimport { NavigationAdapter } from '../providers/navigation.types';\nimport { TrackingProps, TrackingProvider } from '../providers/TrackingProvider';\nimport { EventBusProvider } from '../utils/react/useEventBus';\nimport { extractStyles } from '../utils/styles';\nimport { VERSION } from '../version';\n\nimport { GlobalStyles } from './GlobalStyles';\nimport { AlertDialogApiProvider } from './overlays/AlertDialog';\nimport { OverlayProvider } from './overlays/Notifications/OverlayProvider';\nimport { PortalProvider } from './portal';\n\nconfigure({\n colorSpace: 'rgb',\n units: {\n x: 'var(--gap)',\n r: 'var(--radius)',\n cr: 'var(--card-radius)',\n bw: 'var(--border-width)',\n ow: 'var(--outline-width)',\n },\n recipes: {\n reset: {\n margin: 0,\n padding: 0,\n border: 0,\n outline: 0,\n boxSizing: 'border-box',\n },\n button: {\n appearance: 'none',\n touchAction: 'manipulation',\n textDecoration: 'none',\n '-webkit-tap-highlight-color': 'transparent',\n fill: '#clear',\n color: 'inherit',\n cursor: {\n '': 'default',\n ':is(a)': 'pointer',\n ':is(button)': '$pointer',\n disabled: 'not-allowed',\n },\n },\n input: {\n appearance: 'none',\n wordSpacing: 'initial',\n color: 'inherit',\n fill: '#clear',\n },\n 'input-autofill': {\n '@autofill': ':-webkit-autofill | :autofill',\n appearance: {\n '@autofill': 'none',\n },\n '-webkit-text-fill-color': {\n '': 'currentColor',\n '@autofill': '#primary',\n },\n caretColor: {\n '@autofill': '#primary',\n },\n shadow: {\n '@autofill': '0 0 0 9999rem #surface inset',\n },\n preset: {\n '@autofill': 'inherit',\n },\n '-webkit-opacity': {\n '': false,\n '[disabled]': '1',\n },\n },\n 'input-placeholder': {\n '-webkit-text-fill-color': '#placeholder',\n color: '#placeholder',\n },\n 'input-search-cancel-button': {\n hide: true,\n appearance: 'none',\n },\n },\n});\n\nconst RootElement = tasty({\n id: 'cube-ui-kit-root',\n styles: {\n display: 'contents',\n color: '#dark-02',\n preset: 't3',\n },\n});\n\nconst STYLES = [...BASE_STYLES, ...BLOCK_STYLES];\n\nexport interface CubeRootProps extends BaseProps {\n tokens?: { [key: string]: string };\n bodyStyles?: { [key: string]: string };\n fontDisplay?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';\n fonts?: boolean;\n publicUrl?: string;\n navigation?: NavigationAdapter;\n font?: string;\n monospaceFont?: string;\n /** @deprecated Tokens are now always applied via GlobalStyles */\n applyLegacyTokens?: boolean;\n tracking?: TrackingProps;\n cursorStrategy?: 'web' | 'native';\n}\n\nexport function Root(allProps: CubeRootProps) {\n let {\n children,\n /** Raw css styles for body element */\n bodyStyles,\n fontDisplay = 'swap',\n fonts,\n publicUrl,\n navigation,\n font,\n monospaceFont,\n applyLegacyTokens: _applyLegacyTokens, // deprecated, ignored\n tracking,\n cursorStrategy = 'web',\n style,\n tokens,\n ...props\n } = allProps;\n\n const ref = useRef(null);\n\n const [rootRef, setRootRef] = useState();\n\n useEffect(() => {\n if (!rootRef) {\n // @ts-ignore\n setRootRef(ref?.current);\n }\n }, []);\n\n const styles = extractStyles(props, STYLES);\n\n return (\n <Provider navigation={navigation} root={rootRef}>\n <TrackingProvider event={tracking?.event}>\n <RootElement\n ref={ref}\n data-tasty={VERSION}\n data-font-display={fontDisplay}\n {...filterBaseProps(props, { eventProps: true })}\n styles={styles}\n style={{\n '--pointer': cursorStrategy === 'web' ? 'pointer' : 'default',\n ...style,\n }}\n tokens={tokens}\n >\n <GlobalStyles\n bodyStyles={bodyStyles}\n publicUrl={publicUrl}\n fonts={fonts}\n font={font}\n monospaceFont={monospaceFont}\n fontDisplay={fontDisplay}\n />\n <ModalProvider>\n <PortalProvider value={ref}>\n <EventBusProvider>\n <OverlayProvider>\n <AlertDialogApiProvider>{children}</AlertDialogApiProvider>\n </OverlayProvider>\n </EventBusProvider>\n </PortalProvider>\n </ModalProvider>\n </RootElement>\n </TrackingProvider>\n </Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAuBA,UAAU;CACR,YAAY;CACZ,OAAO;EACL,GAAG;EACH,GAAG;EACH,IAAI;EACJ,IAAI;EACJ,IAAI;EACL;CACD,SAAS;EACP,OAAO;GACL,QAAQ;GACR,SAAS;GACT,QAAQ;GACR,SAAS;GACT,WAAW;GACZ;EACD,QAAQ;GACN,YAAY;GACZ,aAAa;GACb,gBAAgB;GAChB,+BAA+B;GAC/B,MAAM;GACN,OAAO;GACP,QAAQ;IACN,IAAI;IACJ,UAAU;IACV,eAAe;IACf,UAAU;IACX;GACF;EACD,OAAO;GACL,YAAY;GACZ,aAAa;GACb,OAAO;GACP,MAAM;GACP;EACD,kBAAkB;GAChB,aAAa;GACb,YAAY,EACV,aAAa,QACd;GACD,2BAA2B;IACzB,IAAI;IACJ,aAAa;IACd;GACD,YAAY,EACV,aAAa,YACd;GACD,QAAQ,EACN,aAAa,gCACd;GACD,QAAQ,EACN,aAAa,WACd;GACD,mBAAmB;IACjB,IAAI;IACJ,cAAc;IACf;GACF;EACD,qBAAqB;GACnB,2BAA2B;GAC3B,OAAO;GACR;EACD,8BAA8B;GAC5B,MAAM;GACN,YAAY;GACb;EACF;CACF,CAAC;AAEF,MAAM,cAAc,MAAM;CACxB,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CACF,CAAC;AAEF,MAAM,SAAS,CAAC,GAAG,aAAa,GAAG,aAAa;AAiBhD,SAAgB,KAAK,UAAyB;CAC5C,IAAI,EACF,UAEA,YACA,cAAc,QACd,OACA,WACA,YACA,MACA,eACA,mBAAmB,oBACnB,UACA,iBAAiB,OACjB,OACA,QACA,GAAG,UACD;CAEJ,MAAM,MAAM,OAAO,KAAK;CAExB,MAAM,CAAC,SAAS,cAAc,UAAU;AAExC,iBAAgB;AACd,MAAI,CAAC,QAEH,YAAW,KAAK,QAAQ;IAEzB,EAAE,CAAC;CAEN,MAAM,SAAS,cAAc,OAAO,OAAO;AAE3C,QACE,oBAAC;EAAqB;EAAY,MAAM;YACtC,oBAAC;GAAiB,OAAO,UAAU;aACjC,qBAAC;IACM;IACL,cAAY;IACZ,qBAAmB;IACnB,GAAI,gBAAgB,OAAO,EAAE,YAAY,MAAM,CAAC;IACxC;IACR,OAAO;KACL,aAAa,mBAAmB,QAAQ,YAAY;KACpD,GAAG;KACJ;IACO;eAER,oBAAC;KACa;KACD;KACJ;KACD;KACS;KACF;MACb,EACF,oBAAC,2BACC,oBAAC;KAAe,OAAO;eACrB,oBAAC,8BACC,oBAAC,6BACC,oBAAC,0BAAwB,WAAkC,GAC3C,GACD;MACJ,GACH;KACJ;IACG;GACV"}
1
+ {"version":3,"file":"Root.js","names":[],"sources":["../../src/components/Root.tsx"],"sourcesContent":["import {\n BASE_STYLES,\n BaseProps,\n BLOCK_STYLES,\n configure,\n filterBaseProps,\n setGlobalPredefinedStates,\n tasty,\n} from '@tenphi/tasty';\nimport { useEffect, useRef, useState } from 'react';\nimport { ModalProvider } from 'react-aria';\n\nimport { Provider } from '../provider';\nimport { NavigationAdapter } from '../providers/navigation.types';\nimport { TrackingProps, TrackingProvider } from '../providers/TrackingProvider';\nimport { EventBusProvider } from '../utils/react/useEventBus';\nimport { extractStyles } from '../utils/styles';\nimport { TASTY_VERSION, VERSION } from '../version';\n\nimport { GlobalStyles } from './GlobalStyles';\nimport { AlertDialogApiProvider } from './overlays/AlertDialog';\nimport { OverlayProvider } from './overlays/Notifications/OverlayProvider';\nimport { PortalProvider } from './portal';\n\n// Color-scheme aliases for the Glaze-generated palette (see `src/tokens/palette.ts`).\n// Attribute opt-in wins over system preference:\n// <html data-schema=\"dark\"> → forces dark scheme\n// <html data-contrast=\"high\"> → forces high-contrast scheme\n// Otherwise falls back to the user's `prefers-color-scheme` / `prefers-contrast`.\nsetGlobalPredefinedStates({\n '@dark':\n '@root(schema=dark) | (!@root(schema) & @media(prefers-color-scheme: dark))',\n '@hc':\n '@root(contrast=high) | (!@root(contrast) & @media(prefers-contrast: more))',\n});\n\nconfigure({\n colorSpace: 'rgb',\n units: {\n x: 'var(--gap)',\n r: 'var(--radius)',\n cr: 'var(--card-radius)',\n bw: 'var(--border-width)',\n ow: 'var(--outline-width)',\n },\n recipes: {\n reset: {\n margin: 0,\n padding: 0,\n border: 0,\n outline: 0,\n boxSizing: 'border-box',\n },\n button: {\n appearance: 'none',\n touchAction: 'manipulation',\n textDecoration: 'none',\n '-webkit-tap-highlight-color': 'transparent',\n fill: '#clear',\n color: 'inherit',\n cursor: {\n '': 'default',\n ':is(a)': 'pointer',\n ':is(button)': '$pointer',\n disabled: 'not-allowed',\n },\n },\n input: {\n appearance: 'none',\n wordSpacing: 'initial',\n color: 'inherit',\n fill: '#clear',\n },\n 'input-autofill': {\n '@autofill': ':-webkit-autofill | :autofill',\n appearance: {\n '@autofill': 'none',\n },\n '-webkit-text-fill-color': {\n '': 'currentColor',\n '@autofill': '#primary',\n },\n caretColor: {\n '@autofill': '#primary',\n },\n shadow: {\n '@autofill': '0 0 0 9999rem #surface inset',\n },\n preset: {\n '@autofill': 'inherit',\n },\n '-webkit-opacity': {\n '': false,\n '[disabled]': '1',\n },\n },\n 'input-placeholder': {\n '-webkit-text-fill-color': '#placeholder',\n color: '#placeholder',\n },\n 'input-search-cancel-button': {\n hide: true,\n appearance: 'none',\n },\n },\n});\n\nconst RootElement = tasty({\n id: 'cube-ui-kit-root',\n styles: {\n display: 'contents',\n color: '#dark-02',\n preset: 't3',\n },\n});\n\nconst STYLES = [...BASE_STYLES, ...BLOCK_STYLES];\n\nexport interface CubeRootProps extends BaseProps {\n tokens?: { [key: string]: string };\n bodyStyles?: { [key: string]: string };\n fontDisplay?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';\n fonts?: boolean;\n publicUrl?: string;\n navigation?: NavigationAdapter;\n font?: string;\n monospaceFont?: string;\n /** @deprecated Tokens are now always applied via GlobalStyles */\n applyLegacyTokens?: boolean;\n tracking?: TrackingProps;\n cursorStrategy?: 'web' | 'native';\n}\n\nexport function Root(allProps: CubeRootProps) {\n let {\n children,\n /** Raw css styles for body element */\n bodyStyles,\n fontDisplay = 'swap',\n fonts,\n publicUrl,\n navigation,\n font,\n monospaceFont,\n applyLegacyTokens: _applyLegacyTokens, // deprecated, ignored\n tracking,\n cursorStrategy = 'web',\n style,\n tokens,\n ...props\n } = allProps;\n\n const ref = useRef(null);\n\n const [rootRef, setRootRef] = useState();\n\n useEffect(() => {\n if (!rootRef) {\n // @ts-ignore\n setRootRef(ref?.current);\n }\n }, []);\n\n const styles = extractStyles(props, STYLES);\n\n return (\n <Provider navigation={navigation} root={rootRef}>\n <TrackingProvider event={tracking?.event}>\n <RootElement\n ref={ref}\n data-uikit={VERSION}\n data-tasty={TASTY_VERSION}\n data-font-display={fontDisplay}\n {...filterBaseProps(props, { eventProps: true })}\n styles={styles}\n style={{\n '--pointer': cursorStrategy === 'web' ? 'pointer' : 'default',\n ...style,\n }}\n tokens={tokens}\n >\n <GlobalStyles\n bodyStyles={bodyStyles}\n publicUrl={publicUrl}\n fonts={fonts}\n font={font}\n monospaceFont={monospaceFont}\n fontDisplay={fontDisplay}\n />\n <ModalProvider>\n <PortalProvider value={ref}>\n <EventBusProvider>\n <OverlayProvider>\n <AlertDialogApiProvider>{children}</AlertDialogApiProvider>\n </OverlayProvider>\n </EventBusProvider>\n </PortalProvider>\n </ModalProvider>\n </RootElement>\n </TrackingProvider>\n </Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA6BA,0BAA0B;CACxB,SACE;CACF,OACE;CACH,CAAC;AAEF,UAAU;CACR,YAAY;CACZ,OAAO;EACL,GAAG;EACH,GAAG;EACH,IAAI;EACJ,IAAI;EACJ,IAAI;EACL;CACD,SAAS;EACP,OAAO;GACL,QAAQ;GACR,SAAS;GACT,QAAQ;GACR,SAAS;GACT,WAAW;GACZ;EACD,QAAQ;GACN,YAAY;GACZ,aAAa;GACb,gBAAgB;GAChB,+BAA+B;GAC/B,MAAM;GACN,OAAO;GACP,QAAQ;IACN,IAAI;IACJ,UAAU;IACV,eAAe;IACf,UAAU;IACX;GACF;EACD,OAAO;GACL,YAAY;GACZ,aAAa;GACb,OAAO;GACP,MAAM;GACP;EACD,kBAAkB;GAChB,aAAa;GACb,YAAY,EACV,aAAa,QACd;GACD,2BAA2B;IACzB,IAAI;IACJ,aAAa;IACd;GACD,YAAY,EACV,aAAa,YACd;GACD,QAAQ,EACN,aAAa,gCACd;GACD,QAAQ,EACN,aAAa,WACd;GACD,mBAAmB;IACjB,IAAI;IACJ,cAAc;IACf;GACF;EACD,qBAAqB;GACnB,2BAA2B;GAC3B,OAAO;GACR;EACD,8BAA8B;GAC5B,MAAM;GACN,YAAY;GACb;EACF;CACF,CAAC;AAEF,MAAM,cAAc,MAAM;CACxB,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,OAAO;EACP,QAAQ;EACT;CACF,CAAC;AAEF,MAAM,SAAS,CAAC,GAAG,aAAa,GAAG,aAAa;AAiBhD,SAAgB,KAAK,UAAyB;CAC5C,IAAI,EACF,UAEA,YACA,cAAc,QACd,OACA,WACA,YACA,MACA,eACA,mBAAmB,oBACnB,UACA,iBAAiB,OACjB,OACA,QACA,GAAG,UACD;CAEJ,MAAM,MAAM,OAAO,KAAK;CAExB,MAAM,CAAC,SAAS,cAAc,UAAU;AAExC,iBAAgB;AACd,MAAI,CAAC,QAEH,YAAW,KAAK,QAAQ;IAEzB,EAAE,CAAC;CAEN,MAAM,SAAS,cAAc,OAAO,OAAO;AAE3C,QACE,oBAAC;EAAqB;EAAY,MAAM;YACtC,oBAAC;GAAiB,OAAO,UAAU;aACjC,qBAAC;IACM;IACL,cAAY;IACZ,cAAY;IACZ,qBAAmB;IACnB,GAAI,gBAAgB,OAAO,EAAE,YAAY,MAAM,CAAC;IACxC;IACR,OAAO;KACL,aAAa,mBAAmB,QAAQ,YAAY;KACpD,GAAG;KACJ;IACO;eAER,oBAAC;KACa;KACD;KACJ;KACD;KACS;KACF;MACb,EACF,oBAAC,2BACC,oBAAC;KAAe,OAAO;eACrB,oBAAC,8BACC,oBAAC,6BACC,oBAAC,0BAAwB,WAAkC,GAC3C,GACD;MACJ,GACH;KACJ;IACG;GACV"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useAction } from "../use-action.js";
4
4
  import { CONTAINER_STYLES, TEXT_STYLES, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { _Item } from "../../content/Item/Item.js";
4
4
  import { Button } from "../Button/Button.js";
@@ -4,6 +4,7 @@ import { DynamicIcon } from "../../../utils/react/resolveIcon.js";
4
4
  import "../../../utils/react/index.js";
5
5
  import { CubeActionProps } from "../Action/Action.js";
6
6
  import { Mods, Styles } from "@tenphi/tasty";
7
+ import "react";
7
8
  import { OverlayProps } from "react-aria";
8
9
 
9
10
  //#region src/components/actions/Button/Button.d.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps } from "../../../utils/react/mergeProps.js";
4
4
  import { resolveIcon } from "../../../utils/react/resolveIcon.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { useSlotProps } from "../../../utils/react/Slots.js";
3
3
  import { Space } from "../../layout/Space.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps } from "../../../utils/react/mergeProps.js";
4
4
  import { DirectionIcon } from "../../../icons/DirectionIcon.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
 
4
4
  //#region src/components/actions/ButtonSplit/context.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { TooltipProvider } from "../../overlays/Tooltip/TooltipProvider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
 
4
4
  //#region src/components/actions/CommandMenu/styled.tsx
@@ -16,12 +16,12 @@ const StyledCommandMenu = tasty({
16
16
  },
17
17
  placeContent: "stretch",
18
18
  placeItems: "stretch",
19
- fill: "#white",
19
+ fill: "#surface",
20
20
  border: "#border",
21
21
  radius: "(1cr + 1bw)",
22
22
  shadow: {
23
23
  "": false,
24
- "popover | tray": "0px 5px 15px #dark.05"
24
+ "popover | tray": "$shadow"
25
25
  },
26
26
  overflow: "hidden",
27
27
  height: {
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","names":[],"sources":["../../../../src/components/actions/CommandMenu/styled.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\n\nexport const StyledCommandMenu = tasty({\n qa: 'CommandMenu',\n styles: {\n display: 'grid',\n flow: 'row',\n gridColumns: 'minmax(0, 1fr)',\n gridRows: {\n '': 'max-content minmax(0, 1fr)',\n header: 'max-content max-content minmax(0, 1fr)',\n footer: 'max-content minmax(0, 1fr) max-content max-content',\n 'header & footer':\n 'max-content max-content minmax(0, 1fr) max-content max-content',\n },\n placeContent: 'stretch',\n placeItems: 'stretch',\n fill: '#white',\n border: '#border',\n radius: '(1cr + 1bw)',\n shadow: {\n '': false,\n 'popover | tray': '0px 5px 15px #dark.05',\n },\n overflow: 'hidden',\n height: {\n '': 'initial',\n popover: 'initial max-content (50vh - $size-md)',\n tray: 'initial max-content (100vh - $size-md)',\n },\n },\n});\n\nexport const StyledSearchInput = tasty({\n qa: 'SearchInput',\n as: 'input',\n styles: {\n recipe: 'reset input / input-autofill',\n display: 'grid',\n width: '100%',\n color: '#dark',\n border: '#border bottom',\n transition: 'theme',\n radius: 0,\n textAlign: 'left',\n preset: 't3',\n userSelect: 'auto',\n height: '($size + 1x)',\n padding: {\n '': '.5x 1.5x',\n prefix: '0 1.5x 0 .5x',\n },\n\n $size: {\n '': '$size-md',\n 'size=small': '$size-sm',\n 'size=medium': '$size-md',\n 'size=large': '$size-lg',\n },\n\n Placeholder: {\n $: '&::placeholder',\n recipe: 'input-placeholder',\n },\n '&::-webkit-search-cancel-button': {\n recipe: 'input-search-cancel-button',\n },\n },\n});\n\nexport const StyledLoadingWrapper = tasty({\n qa: 'LoadingWrapper',\n styles: {\n display: 'flex',\n padding: '2x',\n placeContent: 'center',\n placeItems: 'center',\n color: '#dark-03',\n },\n});\n\nexport const StyledEmptyState = tasty({\n qa: 'EmptyState',\n styles: {\n display: 'flex',\n padding: '2x',\n placeContent: 'center',\n placeItems: 'center',\n color: '#dark-03',\n preset: 't3',\n },\n});\n\nexport const StyledMenuWrapper = tasty({\n qa: 'MenuWrapper',\n styles: {\n display: 'grid',\n flow: 'row',\n gridColumns: 'minmax(0, 1fr)',\n placeContent: 'stretch',\n placeItems: 'stretch',\n width: '100%',\n overflow: 'auto',\n scrollbar: 'styled',\n },\n});\n"],"mappings":";;;;AAEA,MAAa,oBAAoB,MAAM;CACrC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,aAAa;EACb,UAAU;GACR,IAAI;GACJ,QAAQ;GACR,QAAQ;GACR,mBACE;GACH;EACD,cAAc;EACd,YAAY;EACZ,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;GACN,IAAI;GACJ,kBAAkB;GACnB;EACD,UAAU;EACV,QAAQ;GACN,IAAI;GACJ,SAAS;GACT,MAAM;GACP;EACF;CACF,CAAC;AAEF,MAAa,oBAAoB,MAAM;CACrC,IAAI;CACJ,IAAI;CACJ,QAAQ;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,QAAQ;EACR,WAAW;EACX,QAAQ;EACR,YAAY;EACZ,QAAQ;EACR,SAAS;GACP,IAAI;GACJ,QAAQ;GACT;EAED,OAAO;GACL,IAAI;GACJ,cAAc;GACd,eAAe;GACf,cAAc;GACf;EAED,aAAa;GACX,GAAG;GACH,QAAQ;GACT;EACD,mCAAmC,EACjC,QAAQ,8BACT;EACF;CACF,CAAC;AAEF,MAAa,uBAAuB,MAAM;CACxC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,SAAS;EACT,cAAc;EACd,YAAY;EACZ,OAAO;EACR;CACF,CAAC;AAEF,MAAa,mBAAmB,MAAM;CACpC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,SAAS;EACT,cAAc;EACd,YAAY;EACZ,OAAO;EACP,QAAQ;EACT;CACF,CAAC;AAEF,MAAa,oBAAoB,MAAM;CACrC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,aAAa;EACb,cAAc;EACd,YAAY;EACZ,OAAO;EACP,UAAU;EACV,WAAW;EACZ;CACF,CAAC"}
1
+ {"version":3,"file":"styled.js","names":[],"sources":["../../../../src/components/actions/CommandMenu/styled.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\n\nexport const StyledCommandMenu = tasty({\n qa: 'CommandMenu',\n styles: {\n display: 'grid',\n flow: 'row',\n gridColumns: 'minmax(0, 1fr)',\n gridRows: {\n '': 'max-content minmax(0, 1fr)',\n header: 'max-content max-content minmax(0, 1fr)',\n footer: 'max-content minmax(0, 1fr) max-content max-content',\n 'header & footer':\n 'max-content max-content minmax(0, 1fr) max-content max-content',\n },\n placeContent: 'stretch',\n placeItems: 'stretch',\n fill: '#surface',\n border: '#border',\n radius: '(1cr + 1bw)',\n shadow: {\n '': false,\n // Same as Menu (`src/components/actions/Menu/styled.tsx`) — use the\n // `$shadow` token instead of a literal `#dark.05` shadow so the\n // popover shadow stays a true *dark* shadow in dark mode.\n 'popover | tray': '$shadow',\n },\n overflow: 'hidden',\n height: {\n '': 'initial',\n popover: 'initial max-content (50vh - $size-md)',\n tray: 'initial max-content (100vh - $size-md)',\n },\n },\n});\n\nexport const StyledSearchInput = tasty({\n qa: 'SearchInput',\n as: 'input',\n styles: {\n recipe: 'reset input / input-autofill',\n display: 'grid',\n width: '100%',\n color: '#dark',\n border: '#border bottom',\n transition: 'theme',\n radius: 0,\n textAlign: 'left',\n preset: 't3',\n userSelect: 'auto',\n height: '($size + 1x)',\n padding: {\n '': '.5x 1.5x',\n prefix: '0 1.5x 0 .5x',\n },\n\n $size: {\n '': '$size-md',\n 'size=small': '$size-sm',\n 'size=medium': '$size-md',\n 'size=large': '$size-lg',\n },\n\n Placeholder: {\n $: '&::placeholder',\n recipe: 'input-placeholder',\n },\n '&::-webkit-search-cancel-button': {\n recipe: 'input-search-cancel-button',\n },\n },\n});\n\nexport const StyledLoadingWrapper = tasty({\n qa: 'LoadingWrapper',\n styles: {\n display: 'flex',\n padding: '2x',\n placeContent: 'center',\n placeItems: 'center',\n color: '#dark-03',\n },\n});\n\nexport const StyledEmptyState = tasty({\n qa: 'EmptyState',\n styles: {\n display: 'flex',\n padding: '2x',\n placeContent: 'center',\n placeItems: 'center',\n color: '#dark-03',\n preset: 't3',\n },\n});\n\nexport const StyledMenuWrapper = tasty({\n qa: 'MenuWrapper',\n styles: {\n display: 'grid',\n flow: 'row',\n gridColumns: 'minmax(0, 1fr)',\n placeContent: 'stretch',\n placeItems: 'stretch',\n width: '100%',\n overflow: 'auto',\n scrollbar: 'styled',\n },\n});\n"],"mappings":";;;;AAEA,MAAa,oBAAoB,MAAM;CACrC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,aAAa;EACb,UAAU;GACR,IAAI;GACJ,QAAQ;GACR,QAAQ;GACR,mBACE;GACH;EACD,cAAc;EACd,YAAY;EACZ,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;GACN,IAAI;GAIJ,kBAAkB;GACnB;EACD,UAAU;EACV,QAAQ;GACN,IAAI;GACJ,SAAS;GACT,MAAM;GACP;EACF;CACF,CAAC;AAEF,MAAa,oBAAoB,MAAM;CACrC,IAAI;CACJ,IAAI;CACJ,QAAQ;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,QAAQ;EACR,WAAW;EACX,QAAQ;EACR,YAAY;EACZ,QAAQ;EACR,SAAS;GACP,IAAI;GACJ,QAAQ;GACT;EAED,OAAO;GACL,IAAI;GACJ,cAAc;GACd,eAAe;GACf,cAAc;GACf;EAED,aAAa;GACX,GAAG;GACH,QAAQ;GACT;EACD,mCAAmC,EACjC,QAAQ,8BACT;EACF;CACF,CAAC;AAEF,MAAa,uBAAuB,MAAM;CACxC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,SAAS;EACT,cAAc;EACd,YAAY;EACZ,OAAO;EACR;CACF,CAAC;AAEF,MAAa,mBAAmB,MAAM;CACpC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,SAAS;EACT,cAAc;EACd,YAAY;EACZ,OAAO;EACP,QAAQ;EACT;CACF,CAAC;AAEF,MAAa,oBAAoB,MAAM;CACrC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,aAAa;EACb,cAAc;EACd,YAAY;EACZ,OAAO;EACP,UAAU;EACV,WAAW;EACZ;CACF,CAAC"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { TooltipProvider } from "../../overlays/Tooltip/TooltipProvider.js";
4
4
  import { DANGER_CLEAR_STYLES, DANGER_NEUTRAL_STYLES, DANGER_OUTLINE_STYLES, DANGER_PRIMARY_STYLES, DANGER_SECONDARY_STYLES, DEFAULT_CLEAR_STYLES, DEFAULT_NEUTRAL_STYLES, DEFAULT_OUTLINE_STYLES, DEFAULT_PRIMARY_STYLES, DEFAULT_SECONDARY_STYLES, ITEM_ACTION_BASE_STYLES, NOTE_CLEAR_STYLES, NOTE_NEUTRAL_STYLES, NOTE_OUTLINE_STYLES, NOTE_PRIMARY_STYLES, NOTE_SECONDARY_STYLES, SPECIAL_CLEAR_STYLES, SPECIAL_NEUTRAL_STYLES, SPECIAL_OUTLINE_STYLES, SPECIAL_PRIMARY_STYLES, SPECIAL_SECONDARY_STYLES, SUCCESS_CLEAR_STYLES, SUCCESS_NEUTRAL_STYLES, SUCCESS_OUTLINE_STYLES, SUCCESS_PRIMARY_STYLES, SUCCESS_SECONDARY_STYLES, WARNING_CLEAR_STYLES, WARNING_NEUTRAL_STYLES, WARNING_OUTLINE_STYLES, WARNING_PRIMARY_STYLES, WARNING_SECONDARY_STYLES } from "../../../data/item-themes.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
4
4
  import { ItemActionProvider } from "../ItemActionContext.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { Button } from "../Button/Button.js";
3
3
  import { forwardRef } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { _CollectionItem } from "../../CollectionItem.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { filterCollectionItemProps } from "../../CollectionItem.js";
4
4
  import { _Item } from "../../content/Item/Item.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { TooltipProvider } from "../../overlays/Tooltip/TooltipProvider.js";
3
3
  import { MenuItem } from "./MenuItem.js";
4
4
  import { StyledMenu, StyledSection, StyledSectionHeading } from "./styled.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { SlotProvider } from "../../../utils/react/Slots.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { MenuContext } from "./context.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  import { MenuContext, useMenuContext } from "./context.js";
3
3
  import { SubmenuTriggerContext } from "./SubmenuTriggerContext.js";
4
4
  import { generateRandomId } from "../../../utils/random.js";