@cube-dev/ui-kit 0.184.0 → 0.185.1

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 (615) hide show
  1. package/README.md +1 -1
  2. package/dist/CHANGELOG.md +40 -0
  3. package/dist/README.md +1 -1
  4. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  5. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  6. package/dist/_internal/hooks/use-event.js +1 -1
  7. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  8. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  9. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  10. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  11. package/dist/_internal/hooks/use-warn.js +1 -1
  12. package/dist/components/Block.js +1 -1
  13. package/dist/components/CollectionItem.js +1 -1
  14. package/dist/components/GlobalStyles.js +19 -18
  15. package/dist/components/GlobalStyles.js.map +1 -1
  16. package/dist/components/GridProvider.js +1 -1
  17. package/dist/components/HiddenInput.js +1 -1
  18. package/dist/components/Root.js +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.js +1 -1
  22. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  23. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  24. package/dist/components/actions/ButtonSplit/context.js +1 -1
  25. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  26. package/dist/components/actions/CommandMenu/styled.js +1 -1
  27. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  28. package/dist/components/actions/ItemActionContext.js +1 -1
  29. package/dist/components/actions/ItemActionsWrapper.js +107 -93
  30. package/dist/components/actions/ItemActionsWrapper.js.map +1 -1
  31. package/dist/components/actions/ItemButton/ItemButton.js +6 -3
  32. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  33. package/dist/components/actions/Link/Link.js +1 -1
  34. package/dist/components/actions/Menu/Menu.js +1 -1
  35. package/dist/components/actions/Menu/MenuItem.js +1 -1
  36. package/dist/components/actions/Menu/MenuSection.js +1 -1
  37. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  38. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  39. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  40. package/dist/components/actions/Menu/context.js +1 -1
  41. package/dist/components/actions/Menu/styled.js +1 -1
  42. package/dist/components/actions/actions-run.js +1 -1
  43. package/dist/components/actions/index.js +1 -1
  44. package/dist/components/actions/use-action.js +3 -5
  45. package/dist/components/actions/use-action.js.map +1 -1
  46. package/dist/components/actions/use-anchored-menu.js +1 -1
  47. package/dist/components/actions/use-context-menu.js +1 -1
  48. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  49. package/dist/components/content/Alert/Alert.js +1 -1
  50. package/dist/components/content/Alert/use-alert.js +1 -1
  51. package/dist/components/content/Avatar/Avatar.js +1 -1
  52. package/dist/components/content/Badge/Badge.js +1 -1
  53. package/dist/components/content/Card/Card.js +1 -1
  54. package/dist/components/content/Content.js +1 -1
  55. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  56. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  57. package/dist/components/content/Disclosure/Disclosure.js +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/InfoBadge/InfoBadge.js +1 -1
  63. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  64. package/dist/components/content/Item/Item.d.ts +7 -0
  65. package/dist/components/content/Item/Item.js +244 -237
  66. package/dist/components/content/Item/Item.js.map +1 -1
  67. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  68. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  69. package/dist/components/content/Layout/GridLayout.js +1 -1
  70. package/dist/components/content/Layout/Layout.js +1 -1
  71. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  72. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  73. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  74. package/dist/components/content/Layout/LayoutContent.js +1 -1
  75. package/dist/components/content/Layout/LayoutContext.js +1 -1
  76. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  77. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  78. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  79. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  80. package/dist/components/content/Layout/LayoutPane.js +1 -1
  81. package/dist/components/content/Layout/LayoutPanel.js +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.d.ts +14 -14
  96. package/dist/components/content/Text.js +1 -1
  97. package/dist/components/content/TextItem/TextItem.js +1 -1
  98. package/dist/components/content/Title.js +1 -1
  99. package/dist/components/content/Tree/Tree.js +1 -1
  100. package/dist/components/content/Tree/TreeNode.js +1 -1
  101. package/dist/components/content/Tree/styled.js +1 -1
  102. package/dist/components/content/Tree/tree-index.js +1 -1
  103. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  104. package/dist/components/content/Tree/use-load-data.js +1 -1
  105. package/dist/components/content/highlightText.js +1 -1
  106. package/dist/components/content/use-auto-tooltip.js +139 -125
  107. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  108. package/dist/components/data/DataTable/DataTable.js +1 -1
  109. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  110. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  111. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  112. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  113. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  114. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  115. package/dist/components/data/TableBase/RowCollection.js +1 -1
  116. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  117. package/dist/components/data/TableBase/TableRow.js +1 -1
  118. package/dist/components/data/TableBase/TableView.js +1 -1
  119. package/dist/components/data/TableBase/column-menu.js +1 -1
  120. package/dist/components/data/TableBase/column-tint.js +1 -1
  121. package/dist/components/data/TableBase/row-menu.js +1 -1
  122. package/dist/components/data/TableBase/styled.js +1 -1
  123. package/dist/components/data/TableBase/table-tree.js +1 -1
  124. package/dist/components/data/TableBase/types.js +1 -1
  125. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  126. package/dist/components/data/TableBase/use-column-order.js +1 -1
  127. package/dist/components/data/TableBase/use-container-width.js +1 -1
  128. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  129. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  130. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  131. package/dist/components/data/TableBase/use-table-search.js +1 -1
  132. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  133. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  134. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  135. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  136. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  137. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  138. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  139. package/dist/components/fields/Checkbox/context.js +1 -1
  140. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  141. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  142. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  143. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  144. package/dist/components/fields/ComboBox/ComboBox.js +90 -43
  145. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  146. package/dist/components/fields/CommandTextArea/CommandTextArea.js +3 -2
  147. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  148. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  149. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  150. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  151. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  152. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  153. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  154. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  155. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  156. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  157. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  158. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  159. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  160. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  161. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  162. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  163. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  164. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  165. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  166. package/dist/components/fields/DatePicker/period.js +1 -1
  167. package/dist/components/fields/DatePicker/props.js +1 -1
  168. package/dist/components/fields/DatePicker/utils.js +1 -1
  169. package/dist/components/fields/FileInput/FileInput.js +1 -1
  170. package/dist/components/fields/FilterListBox/FilterListBox.js +28 -18
  171. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  172. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  173. package/dist/components/fields/Input/Input.js +1 -1
  174. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  175. package/dist/components/fields/ListBox/ListBox.d.ts +2 -2
  176. package/dist/components/fields/ListBox/ListBox.js +1 -2
  177. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  178. package/dist/components/fields/ListBox/optionId.js +16 -0
  179. package/dist/components/fields/ListBox/optionId.js.map +1 -0
  180. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +120 -110
  181. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  182. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  183. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +44 -22
  184. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
  185. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  186. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  187. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  188. package/dist/components/fields/Picker/Picker.js +1 -1
  189. package/dist/components/fields/RadioGroup/Radio.d.ts +2 -2
  190. package/dist/components/fields/RadioGroup/Radio.js +3 -3
  191. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  192. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  193. package/dist/components/fields/RadioGroup/context.js +1 -1
  194. package/dist/components/fields/SearchComboBox/SearchComboBox.js +3 -2
  195. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  196. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  197. package/dist/components/fields/Select/Select.js +3 -2
  198. package/dist/components/fields/Select/Select.js.map +1 -1
  199. package/dist/components/fields/Slider/Gradation.js +1 -1
  200. package/dist/components/fields/Slider/HueSlider.js +1 -1
  201. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  202. package/dist/components/fields/Slider/Slider.js +1 -1
  203. package/dist/components/fields/Slider/SliderBase.js +1 -1
  204. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  205. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  206. package/dist/components/fields/Slider/elements.js +1 -1
  207. package/dist/components/fields/Slider/index.js +1 -1
  208. package/dist/components/fields/Switch/Switch.js +1 -1
  209. package/dist/components/fields/TagInput/TagInput.d.ts +182 -0
  210. package/dist/components/fields/TagInput/TagInput.js +1856 -0
  211. package/dist/components/fields/TagInput/TagInput.js.map +1 -0
  212. package/dist/components/fields/TagInput/TagList.js +355 -0
  213. package/dist/components/fields/TagInput/TagList.js.map +1 -0
  214. package/dist/components/fields/TagInput/index.d.ts +2 -0
  215. package/dist/components/fields/TextArea/TextArea.js +1 -1
  216. package/dist/components/fields/TextInput/TextInput.js +1 -1
  217. package/dist/components/fields/TextInput/TextInputBase.d.ts +6 -0
  218. package/dist/components/fields/TextInput/TextInputBase.js +8 -6
  219. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  220. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  221. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  222. package/dist/components/fields/TriggerActions.js +1 -1
  223. package/dist/components/fields/color/ColorPanel.js +1 -1
  224. package/dist/components/fields/color/channels.js +1 -1
  225. package/dist/components/fields/color/color.js +1 -1
  226. package/dist/components/fields/color/context.js +1 -1
  227. package/dist/components/fields/index.d.ts +2 -0
  228. package/dist/components/form/FieldWrapper/FieldWrapper.js +13 -2
  229. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  230. package/dist/components/form/Form/Field.js +1 -1
  231. package/dist/components/form/Form/Form.js +1 -1
  232. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  233. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  234. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  235. package/dist/components/form/Form/SubmitError.js +1 -1
  236. package/dist/components/form/Form/backend.js +1 -1
  237. package/dist/components/form/Form/index.js +1 -1
  238. package/dist/components/form/Form/modern/actions.js +1 -1
  239. package/dist/components/form/Form/modern/context.js +1 -1
  240. package/dist/components/form/Form/modern/controller.js +1 -1
  241. package/dist/components/form/Form/modern/field-binding.js +1 -1
  242. package/dist/components/form/Form/modern/field.js +1 -1
  243. package/dist/components/form/Form/modern/react.js +1 -1
  244. package/dist/components/form/Form/modern/store.js +1 -1
  245. package/dist/components/form/Form/modern/validation.js +1 -1
  246. package/dist/components/form/Form/modern/values.js +1 -1
  247. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  248. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  249. package/dist/components/form/Form/use-field/use-field.js +1 -1
  250. package/dist/components/form/Form/use-form.js +1 -1
  251. package/dist/components/form/Form/validation.js +1 -1
  252. package/dist/components/form/Label.js +1 -1
  253. package/dist/components/form/legacy-tooltip.js +1 -1
  254. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  255. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  256. package/dist/components/form/validation/use-validation-props.js +1 -1
  257. package/dist/components/form/wrapper.js +1 -1
  258. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  259. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  260. package/dist/components/layout/Board/Board.js +1 -1
  261. package/dist/components/layout/Board/BoardProvider.js +1 -1
  262. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  263. package/dist/components/layout/Board/Widget.js +1 -1
  264. package/dist/components/layout/Board/WidgetHost.js +1 -1
  265. package/dist/components/layout/Board/board-context.js +1 -1
  266. package/dist/components/layout/Board/board-store.js +1 -1
  267. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  268. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  269. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  270. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  271. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  272. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  273. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  274. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  275. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  276. package/dist/components/layout/Board/index.js +1 -1
  277. package/dist/components/layout/Board/responsive-utils.js +1 -1
  278. package/dist/components/layout/Board/use-board-layout.js +1 -1
  279. package/dist/components/layout/Board/use-board-registry.js +1 -1
  280. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  281. package/dist/components/layout/Board/use-board-selection.js +1 -1
  282. package/dist/components/layout/Flex.js +1 -1
  283. package/dist/components/layout/Flow.js +1 -1
  284. package/dist/components/layout/Grid.js +1 -1
  285. package/dist/components/layout/Panel.js +1 -1
  286. package/dist/components/layout/Prefix.js +1 -1
  287. package/dist/components/layout/ResizablePanel.js +1 -1
  288. package/dist/components/layout/Space.js +1 -1
  289. package/dist/components/layout/Suffix.js +1 -1
  290. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  291. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  292. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  293. package/dist/components/navigation/Tabs/TabButton.js +3 -2
  294. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  295. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  296. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  297. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  298. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  299. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  300. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  301. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  302. package/dist/components/navigation/Tabs/styled.js +1 -1
  303. package/dist/components/navigation/Tabs/types.d.ts +1 -1
  304. package/dist/components/navigation/Tabs/types.js +1 -1
  305. package/dist/components/navigation/Tabs/types.js.map +1 -1
  306. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  307. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  308. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  309. package/dist/components/other/Calendar/Calendar.js +1 -1
  310. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  311. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  312. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  313. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  314. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  315. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  316. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  317. package/dist/components/other/Calendar/styled.js +1 -1
  318. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  319. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  320. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  321. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  322. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  323. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  324. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  325. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  326. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  327. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  328. package/dist/components/overlays/Dialog/context.js +1 -1
  329. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  330. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  331. package/dist/components/overlays/Modal/Modal.js +1 -1
  332. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  333. package/dist/components/overlays/Modal/Overlay.js +1 -1
  334. package/dist/components/overlays/Modal/Popover.js +1 -1
  335. package/dist/components/overlays/Modal/Tray.js +1 -1
  336. package/dist/components/overlays/Modal/Underlay.js +1 -1
  337. package/dist/components/overlays/Notifications/Notification.js +1 -1
  338. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  339. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  340. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  341. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  342. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  343. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  344. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  345. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  346. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  347. package/dist/components/overlays/Notifications/index.js +1 -1
  348. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  349. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  350. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  351. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  352. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  353. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  354. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  355. package/dist/components/overlays/Toast/index.js +1 -1
  356. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  357. package/dist/components/overlays/Toast/useToast.js +1 -1
  358. package/dist/components/overlays/Tooltip/Tooltip.js +14 -12
  359. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  360. package/dist/components/overlays/Tooltip/TooltipProvider.d.ts +6 -0
  361. package/dist/components/overlays/Tooltip/TooltipProvider.js +43 -38
  362. package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
  363. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  364. package/dist/components/overlays/Tooltip/context.js +1 -1
  365. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  366. package/dist/components/portal/Portal.js +1 -1
  367. package/dist/components/portal/PortalProvider.js +1 -1
  368. package/dist/components/portal/usePortal.js +1 -1
  369. package/dist/components/shared/DraggableCollection.js +1 -1
  370. package/dist/components/shared/InvalidIcon.js +1 -1
  371. package/dist/components/shared/ValidIcon.js +1 -1
  372. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  373. package/dist/components/status/Spin/Cube.js +1 -1
  374. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  375. package/dist/components/status/Spin/Spin.js +1 -1
  376. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  377. package/dist/data/item-themes.js +1 -1
  378. package/dist/data/themes.js +1 -1
  379. package/dist/eslint-plugin/defaults.generated.js +47 -1
  380. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  381. package/dist/eslint-plugin/index.js +1 -1
  382. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  383. package/dist/i18n/I18nProvider.js +1 -1
  384. package/dist/i18n/createFormatter.js +1 -1
  385. package/dist/i18n/index.js +1 -1
  386. package/dist/i18n/instance.js +1 -1
  387. package/dist/i18n/locales/de-DE/uikit.js +18 -1
  388. package/dist/i18n/locales/en-US/uikit.js +18 -1
  389. package/dist/i18n/locales/en-US/uikit.json.d.ts +22 -2
  390. package/dist/i18n/locales/es-ES/uikit.js +18 -1
  391. package/dist/i18n/locales/es-MX/uikit.js +18 -1
  392. package/dist/i18n/locales/fr-FR/uikit.js +18 -1
  393. package/dist/i18n/locales/it-IT/uikit.js +18 -1
  394. package/dist/i18n/locales/ja-JP/uikit.js +18 -1
  395. package/dist/i18n/locales/nb-NO/uikit.js +18 -1
  396. package/dist/i18n/locales/pt-BR/uikit.js +18 -1
  397. package/dist/i18n/locales/pt-PT/uikit.js +18 -1
  398. package/dist/i18n/locales/sv-SE/uikit.js +18 -1
  399. package/dist/i18n/locales/vi-VN/uikit.js +18 -1
  400. package/dist/i18n/locales.js +1 -1
  401. package/dist/i18n/useFormatter.js +1 -1
  402. package/dist/i18n/useI18n.js +1 -1
  403. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  404. package/dist/icons/AdjustmentsIcon.js +1 -1
  405. package/dist/icons/AiIcon.js +1 -1
  406. package/dist/icons/AreaChartIcon.js +1 -1
  407. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  408. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  409. package/dist/icons/BackwardIcon.js +1 -1
  410. package/dist/icons/BarChartIcon.js +1 -1
  411. package/dist/icons/BellFilledIcon.js +1 -1
  412. package/dist/icons/BellIcon.js +1 -1
  413. package/dist/icons/BooleanIcon.js +1 -1
  414. package/dist/icons/CalendarEditIcon.js +1 -1
  415. package/dist/icons/CalendarIcon.js +1 -1
  416. package/dist/icons/CaretDownIcon.js +1 -1
  417. package/dist/icons/CaretUpIcon.js +1 -1
  418. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  419. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  420. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  421. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  422. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  423. package/dist/icons/ChartBarLineIcon.js +1 -1
  424. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  425. package/dist/icons/ChartBarStackedIcon.js +1 -1
  426. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  427. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  428. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  429. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  430. package/dist/icons/ChartBubbleIcon.js +1 -1
  431. package/dist/icons/ChartDonut2Icon.js +1 -1
  432. package/dist/icons/ChartFunnelIcon.js +1 -1
  433. package/dist/icons/ChartHeatmapIcon.js +1 -1
  434. package/dist/icons/ChartKPIIcon.js +1 -1
  435. package/dist/icons/ChartPie2Icon.js +1 -1
  436. package/dist/icons/ChartScatterIcon.js +1 -1
  437. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  438. package/dist/icons/CheckCircleIcon.js +1 -1
  439. package/dist/icons/CheckIcon.js +1 -1
  440. package/dist/icons/CircleFilledIcon.js +1 -1
  441. package/dist/icons/ClearIcon.js +1 -1
  442. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  443. package/dist/icons/CloseCircleIcon.js +1 -1
  444. package/dist/icons/CloseIcon.js +1 -1
  445. package/dist/icons/CodeIcon.js +1 -1
  446. package/dist/icons/ColumnTotalIcon.js +1 -1
  447. package/dist/icons/CopyIcon.js +1 -1
  448. package/dist/icons/CountIcon.js +1 -1
  449. package/dist/icons/CubeIcon.js +1 -1
  450. package/dist/icons/CubePauseIcon.js +1 -1
  451. package/dist/icons/CubePlayIcon.js +1 -1
  452. package/dist/icons/CurrencyDollarIcon.js +1 -1
  453. package/dist/icons/DangerIcon.js +1 -1
  454. package/dist/icons/DashboardIcon.js +1 -1
  455. package/dist/icons/DatabaseIcon.js +1 -1
  456. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  457. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  458. package/dist/icons/DirectionIcon.js +1 -1
  459. package/dist/icons/DonutIcon.js +1 -1
  460. package/dist/icons/DownIcon.js +1 -1
  461. package/dist/icons/EditIcon.js +1 -1
  462. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  463. package/dist/icons/ExclamationCircleIcon.js +1 -1
  464. package/dist/icons/ExclamationIcon.js +1 -1
  465. package/dist/icons/EyeIcon.js +1 -1
  466. package/dist/icons/EyeInvisibleIcon.js +1 -1
  467. package/dist/icons/FilterIcon.js +1 -1
  468. package/dist/icons/FolderFilledIcon.js +1 -1
  469. package/dist/icons/FolderIcon.js +1 -1
  470. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  471. package/dist/icons/FolderOpenIcon.js +1 -1
  472. package/dist/icons/ForwardIcon.js +1 -1
  473. package/dist/icons/GripVerticalIcon.js +1 -1
  474. package/dist/icons/HierarchyIcon.js +1 -1
  475. package/dist/icons/HierarchyOpenIcon.js +1 -1
  476. package/dist/icons/Icon.js +1 -1
  477. package/dist/icons/InfoCircleIcon.js +1 -1
  478. package/dist/icons/InfoIcon.js +1 -1
  479. package/dist/icons/KeyIcon.js +1 -1
  480. package/dist/icons/LeftIcon.js +1 -1
  481. package/dist/icons/LineChartIcon.js +1 -1
  482. package/dist/icons/LoadingIcon.js +1 -1
  483. package/dist/icons/LockFilledIcon.js +1 -1
  484. package/dist/icons/LockIcon.js +1 -1
  485. package/dist/icons/MoreIcon.js +1 -1
  486. package/dist/icons/NotAllowedIcon.js +1 -1
  487. package/dist/icons/Number123Icon.js +1 -1
  488. package/dist/icons/NumberIcon.js +1 -1
  489. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  490. package/dist/icons/PauseCircleIcon.js +1 -1
  491. package/dist/icons/PauseIcon.js +1 -1
  492. package/dist/icons/PercentageIcon.js +1 -1
  493. package/dist/icons/PieChartIcon.js +1 -1
  494. package/dist/icons/PipetteIcon.js +1 -1
  495. package/dist/icons/PlayCircleIcon.js +1 -1
  496. package/dist/icons/PlayIcon.js +1 -1
  497. package/dist/icons/PlusIcon.js +1 -1
  498. package/dist/icons/ProgressBarIcon.js +1 -1
  499. package/dist/icons/ReloadIcon.js +1 -1
  500. package/dist/icons/ReportIcon.js +1 -1
  501. package/dist/icons/ReturnIcon.js +1 -1
  502. package/dist/icons/RightIcon.js +1 -1
  503. package/dist/icons/RowTotalsIcon.js +1 -1
  504. package/dist/icons/SchemeIcon.js +1 -1
  505. package/dist/icons/SearchIcon.js +1 -1
  506. package/dist/icons/SemanticQueryIcon.js +1 -1
  507. package/dist/icons/SettingsIcon.js +1 -1
  508. package/dist/icons/ShieldFilledIcon.js +1 -1
  509. package/dist/icons/ShieldIcon.js +1 -1
  510. package/dist/icons/SlashIcon.js +1 -1
  511. package/dist/icons/SparklesIcon.js +1 -1
  512. package/dist/icons/SqlIcon.js +1 -1
  513. package/dist/icons/StatsIcon.js +1 -1
  514. package/dist/icons/StopIcon.js +1 -1
  515. package/dist/icons/StringIcon.js +1 -1
  516. package/dist/icons/SubtotalsIcon.js +1 -1
  517. package/dist/icons/SwitchIcon.js +1 -1
  518. package/dist/icons/TableIcon.js +1 -1
  519. package/dist/icons/ThumbsDownIcon.js +1 -1
  520. package/dist/icons/ThumbsUpIcon.js +1 -1
  521. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  522. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  523. package/dist/icons/ThunderboltIcon.js +1 -1
  524. package/dist/icons/TimeIcon.js +1 -1
  525. package/dist/icons/TrashIcon.js +1 -1
  526. package/dist/icons/UnlockIcon.js +1 -1
  527. package/dist/icons/UpIcon.js +1 -1
  528. package/dist/icons/UserGroupIcon.js +1 -1
  529. package/dist/icons/UserIcon.js +1 -1
  530. package/dist/icons/UserLockIcon.js +1 -1
  531. package/dist/icons/ViewIcon.js +1 -1
  532. package/dist/icons/WarningFilledIcon.js +1 -1
  533. package/dist/icons/WarningIcon.js +1 -1
  534. package/dist/icons/wrap-icon.js +1 -1
  535. package/dist/index.d.ts +2 -1
  536. package/dist/index.js +3 -2
  537. package/dist/index.js.map +1 -1
  538. package/dist/probe/canonicalize.js +1 -1
  539. package/dist/probe/css.js +1 -1
  540. package/dist/probe/index.js +1 -1
  541. package/dist/provider.js +1 -1
  542. package/dist/providers/TrackingProvider.js +1 -1
  543. package/dist/providers/navigationAdapter.default.js +1 -1
  544. package/dist/tokens/all-tokens.js +1 -1
  545. package/dist/tokens/base.js +1 -1
  546. package/dist/tokens/color-seed.js +1 -1
  547. package/dist/tokens/color-theme.js +4 -5
  548. package/dist/tokens/color-theme.js.map +1 -1
  549. package/dist/tokens/colors.js +1 -1
  550. package/dist/tokens/layout.js +1 -1
  551. package/dist/tokens/lazy-styles.js +1 -1
  552. package/dist/tokens/legacy-color.js +1 -1
  553. package/dist/tokens/palette-config.d.ts +5 -0
  554. package/dist/tokens/palette-config.js +30 -7
  555. package/dist/tokens/palette-config.js.map +1 -1
  556. package/dist/tokens/palette.js +1 -1
  557. package/dist/tokens/resolve.js +1 -1
  558. package/dist/tokens/shadows.js +1 -1
  559. package/dist/tokens/sizes.js +1 -1
  560. package/dist/tokens/spacing.js +1 -1
  561. package/dist/tokens/typography.d.ts +1 -0
  562. package/dist/tokens/typography.js +10 -1
  563. package/dist/tokens/typography.js.map +1 -1
  564. package/dist/utils/ResizeSensor.js +1 -1
  565. package/dist/utils/colors.js +1 -1
  566. package/dist/utils/dotize.js +1 -1
  567. package/dist/utils/is-dev-env.js +1 -1
  568. package/dist/utils/modules.js +1 -1
  569. package/dist/utils/promise.js +1 -1
  570. package/dist/utils/raf.js +1 -1
  571. package/dist/utils/random.js +1 -1
  572. package/dist/utils/range.js +1 -1
  573. package/dist/utils/react/RenderCache.js +1 -1
  574. package/dist/utils/react/Slots.js +1 -1
  575. package/dist/utils/react/chain.js +1 -1
  576. package/dist/utils/react/disabledProps.js +1 -1
  577. package/dist/utils/react/escapePropagation.js +1 -1
  578. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  579. package/dist/utils/react/index.js +1 -1
  580. package/dist/utils/react/interactions.js +1 -1
  581. package/dist/utils/react/isTextOnly.js +1 -1
  582. package/dist/utils/react/mapProps.js +1 -1
  583. package/dist/utils/react/mergeProps.js +1 -1
  584. package/dist/utils/react/nullableValue.js +1 -1
  585. package/dist/utils/react/programmaticFocus.js +1 -1
  586. package/dist/utils/react/resolveIcon.js +1 -1
  587. package/dist/utils/react/sharedStore.js +1 -1
  588. package/dist/utils/react/useBufferedValue.js +1 -1
  589. package/dist/utils/react/useCombinedRefs.js +1 -1
  590. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  591. package/dist/utils/react/useEventBus.js +1 -1
  592. package/dist/utils/react/useId.js +1 -1
  593. package/dist/utils/react/useIsDarwin.js +1 -1
  594. package/dist/utils/react/useKeySymbols.js +1 -1
  595. package/dist/utils/react/useLayoutEffect.js +1 -1
  596. package/dist/utils/react/useLocalStorage.js +1 -1
  597. package/dist/utils/react/useMergeStyles.js +1 -1
  598. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  599. package/dist/utils/react/usePopoverSync.js +1 -1
  600. package/dist/utils/react/useQaProps.js +1 -1
  601. package/dist/utils/react/useScheme.js +1 -1
  602. package/dist/utils/react/useViewportSize.js +1 -1
  603. package/dist/utils/react/wrapNodeIfPlain.js +3 -4
  604. package/dist/utils/react/wrapNodeIfPlain.js.map +1 -1
  605. package/dist/utils/selection.js +1 -1
  606. package/dist/utils/styles.js +1 -1
  607. package/dist/utils/tree.js +1 -1
  608. package/dist/utils/warnings.js +1 -1
  609. package/dist/version.js +2 -2
  610. package/docs/Usage.md +10 -9
  611. package/docs/components/actions/ItemButton.md +2 -2
  612. package/docs/components/fields/TagInput.md +429 -0
  613. package/docs/components/overlays/TooltipProvider.md +1 -0
  614. package/package.json +1 -1
  615. package/tasty.config.ts +2 -1
package/README.md CHANGED
@@ -72,7 +72,7 @@ setPaletteConfig((config) => ({ ...config, hue: 235 }));
72
72
  | **Layout** | Flex, Grid, Space, Flow, Panel, ResizablePanel, Prefix, Suffix |
73
73
  | **Actions** | Button, Button.Group, Button.Split, Link, Menu, CommandMenu |
74
74
  | **Content** | Text, Title, Paragraph, Card, Badge, Tag, Avatar, Alert, Skeleton, Placeholder, Disclosure, Divider, CopySnippet, PrismCode |
75
- | **Fields** | TextInput, NumberInput, PasswordInput, SearchInput, TextArea, Select, ComboBox, Checkbox, RadioGroup, Switch, Slider, DatePicker, FileInput, ListBox, FilterListBox, FilterPicker, Picker |
75
+ | **Fields** | TextInput, NumberInput, PasswordInput, SearchInput, TextArea, Select, ComboBox, Checkbox, RadioGroup, Switch, Slider, DatePicker, FileInput, ListBox, FilterListBox, FilterPicker, Picker, TagInput |
76
76
  | **Form** | Form, FieldWrapper, SubmitButton, ResetButton |
77
77
  | **Overlays** | Dialog, AlertDialog, Modal, Tooltip, Toast, Notifications |
78
78
  | **Navigation** | Tabs, FileTabs |
package/dist/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # @cube-dev/ui-kit
2
2
 
3
+ ## 0.185.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#1434](https://github.com/cube-js/cube-ui-kit/pull/1434) [`e87b77bf`](https://github.com/cube-js/cube-ui-kit/commit/e87b77bf9603557066f7632afec49d1926c90318) Thanks [@tenphi](https://github.com/tenphi)! - Fix `Select`, `Picker`, `FilterPicker` and `ItemButton` triggers, and tabs with actions, growing by the width of their actions run right after mounting. The row reserves that width from a measurement, and the first measurement animated in from 0px, so a trigger widened by its caret over the first 80ms. `FilterPicker` and `Picker` size their popover from the trigger when it opens, so a popover opened in that window came out narrower than the trigger, by a different amount each time. The first measured width now applies at once. Actions revealed on hover still slide in.
8
+
9
+ ## 0.185.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [#1427](https://github.com/cube-js/cube-ui-kit/pull/1427) [`997e22cc`](https://github.com/cube-js/cube-ui-kit/commit/997e22cc5e9eb5c727f2eb6dec90280e435e3435) Thanks [@tenphi](https://github.com/tenphi)! - Add the `t4n` typography preset: 12px text at normal (400) weight, with `t4`'s 18px line height. `t4` is 500 so small text keeps its presence next to 14px body text, and until now it had no lighter option — the only 12px/400 preset was the monospace `s4`, so secondary metadata such as timestamps and counts needed `preset: 't4'` plus a hand-set `fontWeight: 400`. Use `preset: 't4n'` instead.
14
+
15
+ - [#1428](https://github.com/cube-js/cube-ui-kit/pull/1428) [`4d7a65e6`](https://github.com/cube-js/cube-ui-kit/commit/4d7a65e63c1b8d555a4095c6de4cdcf9a91cf270) Thanks [@tenphi](https://github.com/tenphi)! - Add `TagInput`, a multi-value field whose values show as removable chips below a single-line input. Values are committed with Enter or a delimiter (a comma by default), and Enter never submits a surrounding form; pasted lists are split into chips, `validateTag` rejects a value with a message, `normalizeTag` rewrites typed values before they are checked, and `maxTags` caps the list. With `TagInput.Item` options it becomes a combobox that toggles several options in a row, and `allowsCustomValue` lets the user add values that are not in the list. Backspace in the empty input moves to the last chip and the next one removes it; Escape or typing on a chip goes back to the input. `isClearable` adds a button that clears the typed text, and `tagProps` sets per-chip props, including a label and `isDisabled` to lock a value. With `allowsCustomValue`, the custom values already added are listed with the options, so they can be unpicked there too. `inputMode` and `enterKeyHint` pick the virtual keyboard. The field value is a `string[]` and works with `Form` rules.
16
+
17
+ - [#1428](https://github.com/cube-js/cube-ui-kit/pull/1428) [`4d7a65e6`](https://github.com/cube-js/cube-ui-kit/commit/4d7a65e63c1b8d555a4095c6de4cdcf9a91cf270) Thanks [@tenphi](https://github.com/tenphi)! - `TextInputBase` takes an `actions` slot for controls that always sit last in the suffix, after the validation and loading icons and after `suffix` in either position, such as a popover trigger.
18
+
19
+ - [#1427](https://github.com/cube-js/cube-ui-kit/pull/1427) [`997e22cc`](https://github.com/cube-js/cube-ui-kit/commit/997e22cc5e9eb5c727f2eb6dec90280e435e3435) Thanks [@tenphi](https://github.com/tenphi)! - `TooltipProvider` takes a `qa` for the tooltip it renders, and so does every component's `tooltip` object: `<Button tooltip={{ title: 'Copy', qa: 'CopyTooltip' }}>`. Only `tooltipStyles` and `width` used to reach the tooltip, and `Tooltip` itself dropped the `qa` its props accept, so a test could only find a tooltip by `role="tooltip"` — which works while exactly one is open and never says whose it is.
20
+
21
+ ### Patch Changes
22
+
23
+ - [#1429](https://github.com/cube-js/cube-ui-kit/pull/1429) [`694068ba`](https://github.com/cube-js/cube-ui-kit/commit/694068ba678ae34a8efe05017583a7afa4f7933c) Thanks [@tenphi](https://github.com/tenphi)! - Stop `useAutoTooltip` from setting its overflow verdict inside the mount effect. React 19 flushes a sync commit's passive effects before the commit returns, so an overflowing `Button`, `Item`, `TextItem`, `LayoutHeader`, `InlineInput` or `Radio` label made a nested update of every commit it mounted in. ag-grid-react 33 wraps every new row in `flushSync`, so a long table crashed with "Maximum update depth exceeded" once about 50 such rows mounted in one task, for example when it jumped back to its top. Labels now queue their checks for one shared microtask. It reads every pending label, then commits the verdicts that changed in a single `flushSync`, after the commit but still before paint and before any other task. The teardown moved from an unmount effect to the label's callback ref, so React 18 Strict Mode, which replays effects with refs still attached, no longer loses the measurement. After a synchronous `render` in a test, the verdict lands in a microtask: `await act(async () => …)` first, then look the label up, since turning the tooltip on remounts it under `TooltipProvider`.
24
+
25
+ - [#1428](https://github.com/cube-js/cube-ui-kit/pull/1428) [`4d7a65e6`](https://github.com/cube-js/cube-ui-kit/commit/4d7a65e63c1b8d555a4095c6de4cdcf9a91cf270) Thanks [@tenphi](https://github.com/tenphi)! - Screen readers now announce the focused option while arrowing through `ComboBox`, `SearchComboBox`, `CommandTextArea` and `FilterListBox` options: `aria-activedescendant` pointed at an id no option had, and in `ComboBox` and `FilterListBox` it also stopped following the arrow keys. `FilterListBox`'s search input now names its list with `aria-controls`.
26
+
27
+ - [#1428](https://github.com/cube-js/cube-ui-kit/pull/1428) [`4d7a65e6`](https://github.com/cube-js/cube-ui-kit/commit/4d7a65e63c1b8d555a4095c6de4cdcf9a91cf270) Thanks [@tenphi](https://github.com/tenphi)! - `ComboBox`, `SearchComboBox` and `CommandTextArea` no longer miss a blur when focus enters and leaves them within one animation frame, as it does in a fast automated test. Commit-on-blur and `onBlur` now run in that case too.
28
+
29
+ - [#1427](https://github.com/cube-js/cube-ui-kit/pull/1427) [`997e22cc`](https://github.com/cube-js/cube-ui-kit/commit/997e22cc5e9eb5c727f2eb6dec90280e435e3435) Thanks [@tenphi](https://github.com/tenphi)! - A `Badge` or `Tag` in a field's `labelSuffix` no longer grows the label row by a pixel. The suffix was wrapped in a block, where an inline-level element sits in a line box whose strut added space under it, so the row measured 21px instead of 20px and the field below stepped out of line with its neighbours. A single-element suffix is now a flex item, centred on the row. Mixed content — text, a fragment, several elements — is wrapped in a `<span>` and keeps flowing inline, spaces included.
30
+
31
+ - [#1427](https://github.com/cube-js/cube-ui-kit/pull/1427) [`997e22cc`](https://github.com/cube-js/cube-ui-kit/commit/997e22cc5e9eb5c727f2eb6dec90280e435e3435) Thanks [@tenphi](https://github.com/tenphi)! - `ItemButton` announces `isSelected` as `aria-pressed`, as its documentation says, instead of `aria-selected`. `aria-selected` is not a state of role `button`, so screen readers ignored it and a toggle or multi-select built from `ItemButton isSelected` read as a plain button. `isSelected={false}` renders `aria-pressed="false"`, so an unpressed toggle announces as one. As on `Button`, it is skipped for a link (`to`) and for a call site's own `role` — a tab or option keeps `aria-selected` — and also for a trigger that reports `aria-expanded`, such as `Disclosure.Trigger`. An explicit `aria-pressed` still wins. A selector that found a selected toggle `ItemButton` by `[aria-selected="true"]` should use `[aria-pressed="true"]`.
32
+
33
+ - [#1427](https://github.com/cube-js/cube-ui-kit/pull/1427) [`997e22cc`](https://github.com/cube-js/cube-ui-kit/commit/997e22cc5e9eb5c727f2eb6dec90280e435e3435) Thanks [@tenphi](https://github.com/tenphi)! - `ListBox` and `FilterListBox` accept their documented style props in TypeScript: `height`, `width`, `flex`, `margin` and the rest of the base, outer and color groups. They were always applied at runtime, but the props type did not declare them, so `<ListBox height="20x">` failed to type-check and callers routed it through `styles` instead.
34
+
35
+ - [#1430](https://github.com/cube-js/cube-ui-kit/pull/1430) [`b4d48336`](https://github.com/cube-js/cube-ui-kit/commit/b4d48336a8f4559f649e5852ebcd10a42a3cce3d) Thanks [@tenphi](https://github.com/tenphi)! - Fix runtime palette changes that stopped recoloring the app in 0.183.0. In the published build, a `setPaletteConfig()` call, or a `<Root palette>` that changed after mount, updated the palette store, but the page kept the tokens of its first render, so the whole UI stayed on the palette it loaded with. `usePaletteConfig()` likewise kept returning its first render's config, and `useColorTheme()` kept injecting a theme's old tokens after the palette changed. All three follow every change again. The bug was in the React Compiler build only, so tests against the source did not show it.
36
+
37
+ - [#1427](https://github.com/cube-js/cube-ui-kit/pull/1427) [`997e22cc`](https://github.com/cube-js/cube-ui-kit/commit/997e22cc5e9eb5c727f2eb6dec90280e435e3435) Thanks [@tenphi](https://github.com/tenphi)! - Fix the caret of a `Select`, `Picker` or `FilterPicker` trigger not opening the dropdown. The trigger keeps an empty placeholder under its actions run to reserve that run's width, and the placeholder stopped every press that reached it. Once the run had been measured it sat right under the caret, so a press there only closed an open dropdown and never opened a closed one. The placeholder now lets presses through; real actions still keep a press on them from pressing the row. The same dead zone covered the padding and gaps of any `ItemButton`'s actions run.
38
+
39
+ - [#1427](https://github.com/cube-js/cube-ui-kit/pull/1427) [`997e22cc`](https://github.com/cube-js/cube-ui-kit/commit/997e22cc5e9eb5c727f2eb6dec90280e435e3435) Thanks [@tenphi](https://github.com/tenphi)! - `Link`, `Button`, `ItemButton` and every other `to`-driven action no longer resolve a `!` or `@` prefixed `to` through the router. The rendered `href` was already correct, but the raw value was resolved too, so `<Link to="!https://cube.dev">` — the documented way to open an external URL in a new tab — made a `HashRouter` warn on every render. Only the stripped path is resolved now.
40
+
41
+ - [#1427](https://github.com/cube-js/cube-ui-kit/pull/1427) [`997e22cc`](https://github.com/cube-js/cube-ui-kit/commit/997e22cc5e9eb5c727f2eb6dec90280e435e3435) Thanks [@tenphi](https://github.com/tenphi)! - Under React 19, a fragment passed as `Result`'s `title` or `subtitle`, or as a field's `description`, is wrapped like any other mixed content again: `Result` renders it in its heading styles instead of as bare text. The check that tells a fragment from a single element used `react-is@18`, which does not recognise React 19 elements, so every fragment was taken for a single element and left unwrapped.
42
+
3
43
  ## 0.184.0
4
44
 
5
45
  ### Minor Changes
package/dist/README.md CHANGED
@@ -72,7 +72,7 @@ setPaletteConfig((config) => ({ ...config, hue: 235 }));
72
72
  | **Layout** | Flex, Grid, Space, Flow, Panel, ResizablePanel, Prefix, Suffix |
73
73
  | **Actions** | Button, Button.Group, Button.Split, Link, Menu, CommandMenu |
74
74
  | **Content** | Text, Title, Paragraph, Card, Badge, Tag, Avatar, Alert, Skeleton, Placeholder, Disclosure, Divider, CopySnippet, PrismCode |
75
- | **Fields** | TextInput, NumberInput, PasswordInput, SearchInput, TextArea, Select, ComboBox, Checkbox, RadioGroup, Switch, Slider, DatePicker, FileInput, ListBox, FilterListBox, FilterPicker, Picker |
75
+ | **Fields** | TextInput, NumberInput, PasswordInput, SearchInput, TextArea, Select, ComboBox, Checkbox, RadioGroup, Switch, Slider, DatePicker, FileInput, ListBox, FilterListBox, FilterPicker, Picker, TagInput |
76
76
  | **Form** | Form, FieldWrapper, SubmitButton, ResetButton |
77
77
  | **Overlays** | Dialog, AlertDialog, Modal, Tooltip, Toast, Notifications |
78
78
  | **Navigation** | Tabs, FileTabs |
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | Cube Dev Team */
2
2
  import { c } from "react-compiler-runtime";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | Cube Dev Team */
2
2
  import { deprecationWarning } from "../../utils/warnings.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import React, { useEffect } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | 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.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | 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.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../utils/react/useLayoutEffect.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | 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.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | Cube Dev Team */
2
2
  import { useEvent } from "../use-event.js";
3
3
  import { Timer } from "./timer.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | 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.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | Cube Dev Team */
2
2
  import { extractStyles } from "../utils/styles.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | 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,5 +1,5 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
2
- import { usePaletteVersion } from "../tokens/palette-config.js";
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | Cube Dev Team */
2
+ import { usePaletteValue } from "../tokens/palette-config.js";
3
3
  import { getTokens } from "../tokens/all-tokens.js";
4
4
  import { c } from "react-compiler-runtime";
5
5
  import { useGlobalStyles, useRawCSS } from "@tenphi/tasty";
@@ -264,27 +264,28 @@ const STATIC_CSS = `
264
264
  }
265
265
  `;
266
266
  function GlobalStyles(props) {
267
- const $ = c(7);
267
+ const $ = c(8);
268
268
  const { bodyStyles, font, monospaceFont } = props;
269
- usePaletteVersion();
269
+ const tokens = usePaletteValue(getTokens);
270
270
  let styles;
271
- if ($[0] !== bodyStyles) {
272
- styles = { ...getTokens() };
271
+ if ($[0] !== bodyStyles || $[1] !== tokens) {
272
+ styles = { ...tokens };
273
273
  Object.assign(styles, BODY_STYLES);
274
274
  if (bodyStyles) Object.assign(styles, bodyStyles);
275
275
  $[0] = bodyStyles;
276
- $[1] = styles;
277
- } else styles = $[1];
276
+ $[1] = tokens;
277
+ $[2] = styles;
278
+ } else styles = $[2];
278
279
  const bodyTokenStyles = styles;
279
280
  let t0;
280
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
281
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
281
282
  t0 = { id: "cube-ui-kit-tokens" };
282
- $[2] = t0;
283
- } else t0 = $[2];
283
+ $[3] = t0;
284
+ } else t0 = $[3];
284
285
  useGlobalStyles("body", bodyTokenStyles, t0);
285
286
  let t1;
286
287
  let t2;
287
- if ($[3] !== font || $[4] !== monospaceFont) {
288
+ if ($[4] !== font || $[5] !== monospaceFont) {
288
289
  t1 = () => {
289
290
  return `
290
291
  html {
@@ -295,13 +296,13 @@ function GlobalStyles(props) {
295
296
  ${STATIC_CSS}`;
296
297
  };
297
298
  t2 = [font, monospaceFont];
298
- $[3] = font;
299
- $[4] = monospaceFont;
300
- $[5] = t1;
301
- $[6] = t2;
299
+ $[4] = font;
300
+ $[5] = monospaceFont;
301
+ $[6] = t1;
302
+ $[7] = t2;
302
303
  } else {
303
- t1 = $[5];
304
- t2 = $[6];
304
+ t1 = $[6];
305
+ t2 = $[7];
305
306
  }
306
307
  useRawCSS(t1, t2);
307
308
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalStyles.js","names":["useGlobalStyles","useRawCSS","useMemo","getTokens","usePaletteVersion","Styles","GlobalStylesProps","bodyStyles","key","fonts","fontDisplay","publicUrl","font","monospaceFont","applyLegacyTokens","BODY_STYLES","overscrollBehaviorY","fill","fontFamily","margin","padding","color","preset","letterSpacing","STATIC_CSS","GlobalStyles","props","$","_c","paletteVersion","styles","Object","assign","bodyTokenStyles","t0","Symbol","for","id","t1","t2","fontValue","monospaceFontValue"],"sources":["../../src/components/GlobalStyles.tsx"],"sourcesContent":["import { useGlobalStyles, useRawCSS } from '@tenphi/tasty';\nimport { useMemo } from 'react';\n\nimport { getTokens } from '../tokens';\nimport { usePaletteVersion } from '../tokens/palette-config';\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-scheme=\"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(--s3-font-family, var(--font-mono));\n text-align: left;\n font-weight: var(--s3-font-weight, 400);\n font-size: var(--s3-font-size, 14px);\n line-height: var(--s3-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: oklch(from var(--primary-color) l c h / .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: oklch(from var(--primary-color) l c h / .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 /* HTML/XML tag names — same hue as keywords (see Colors / CodeSyntax) */\n .token.tag {\n color: var(--code-keyword-color);\n }\n\n /* Attributes / properties / selectors / built-ins — cyan */\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 /*\n * prism-react-renderer flattens nested markup tokens and prefixes parent\n * types onto each leaf (e.g. \\`token tag attr-value\\`). Re-assert leaf\n * colors so the bare \\`.token.tag\\` rule does not wash the whole tag.\n */\n .token.tag.attr-name {\n color: var(--code-attribute-color);\n }\n\n .token.tag.attr-value {\n color: var(--code-string-color);\n }\n\n .token.tag.punctuation {\n color: var(--code-punctuation-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 // Re-resolve the tokens whenever the palette is re-seeded at runtime (see\n // `src/tokens/palette-config.ts`). Nothing else has to re-render: every color\n // in the kit compiles to `var(--<name>-color)`, so replacing this one rule\n // recolors the whole UI.\n const paletteVersion = usePaletteVersion();\n\n // Merge token styles with body styles. getTokens() resolves glaze colors\n // against the current palette config, memoized against its version.\n const bodyTokenStyles = useMemo((): Styles => {\n const styles: Styles = { ...getTokens() };\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, paletteVersion]);\n\n // Apply tokens and body styles via useGlobalStyles.\n //\n // Replacement does not depend on the `id`: tasty keys its injection slot on\n // `id ?? selector`, so `'body'` on its own already disposes the previous block\n // before writing the new one — which is what removes stale `@hc` rules when the\n // palette is re-seeded, rather than shadowing them. The `id` buys two other\n // things. It gives the token block its own slot, so a host app calling\n // `useGlobalStyles('body', …)` for its own body styles cannot evict ours (and\n // vice versa) — they would otherwise share the `'body'` slot and dispose each\n // other on every change. And under SSR it makes the collector key stable and\n // last-write-wins, instead of content-hashed and first-write-wins.\n useGlobalStyles('body', bodyTokenStyles, { id: 'cube-ui-kit-tokens' });\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":";;;;;;;;;;;;;;AA0BA,MAAMe,cAAsB;CAC1BC,qBAAqB;CACrBC,MAAM;CACNC,YAAY;CACZ,0BAA0B;CAC1B,2BAA2B;CAC3BC,QAAQ;CACRC,SAAS;CACTC,OAAO;CACPC,QAAQ;CACRC,eAAe;CAChB;AAGD,MAAMC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgPnB,SAAOC,aAAAC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACL,MAAA,EAAArB,YAAAK,MAAAC,kBAA4Ca;AAMrBtB,oBAAmB;CAAC,IAAA0B;AAAA,KAAAH,EAAA,OAAApB,YAAA;AAKzCuB,WAAuB,EAAA,GAAK3B,WAAU,EAAG;AAGzC4B,SAAMC,OAAQF,QAAQf,YAAY;AAIlC,MAAIR,WACFwB,QAAMC,OAAQF,QAAQvB,WAAW;AAClCoB,IAAA,KAAApB;AAAAoB,IAAA,KAAAG;OAAAA,UAAAH,EAAA;CAVH,MAAAM,kBAYEH;CAC+B,IAAAI;AAAA,KAAAP,EAAA,OAAAQ,OAAAC,IAAA,4BAAA,EAAA;AAaQF,OAAA,EAAAG,IAAM,sBAAsB;AAAAV,IAAA,KAAAO;OAAAA,MAAAP,EAAA;AAArE3B,iBAAgB,QAAQiC,iBAAiBC,GAA6B;CAAA,IAAAI;CAAA,IAAAC;AAAA,KAAAZ,EAAA,OAAAf,QAAAe,EAAA,OAAAd,eAAA;AAG5DyB,aAAA;AAE6D,UAE9D;;;mBAHW1B,OAAA,GAAUA,KAAI,MAAd,GAMM;mBALGC,gBAAA,GAAmBA,cAAa,MAAhC,GAMM;;EAEnCW;;AACGe,OAAA,CAAC3B,MAAMC,cAAc;AAAAc,IAAA,KAAAf;AAAAe,IAAA,KAAAd;AAAAc,IAAA,KAAAW;AAAAX,IAAA,KAAAY;QAAA;AAAAD,OAAAX,EAAA;AAAAY,OAAAZ,EAAA;;AAXxB1B,WAAUqC,IAWPC,GAAsB;AAAA,QAElB"}
1
+ {"version":3,"file":"GlobalStyles.js","names":["useGlobalStyles","useRawCSS","useMemo","getTokens","usePaletteValue","Styles","GlobalStylesProps","bodyStyles","key","fonts","fontDisplay","publicUrl","font","monospaceFont","applyLegacyTokens","BODY_STYLES","overscrollBehaviorY","fill","fontFamily","margin","padding","color","preset","letterSpacing","STATIC_CSS","GlobalStyles","props","$","_c","tokens","styles","Object","assign","bodyTokenStyles","t0","Symbol","for","id","t1","t2","fontValue","monospaceFontValue"],"sources":["../../src/components/GlobalStyles.tsx"],"sourcesContent":["import { useGlobalStyles, useRawCSS } from '@tenphi/tasty';\nimport { useMemo } from 'react';\n\nimport { getTokens } from '../tokens';\nimport { usePaletteValue } from '../tokens/palette-config';\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-scheme=\"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(--s3-font-family, var(--font-mono));\n text-align: left;\n font-weight: var(--s3-font-weight, 400);\n font-size: var(--s3-font-size, 14px);\n line-height: var(--s3-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: oklch(from var(--primary-color) l c h / .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: oklch(from var(--primary-color) l c h / .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 /* HTML/XML tag names — same hue as keywords (see Colors / CodeSyntax) */\n .token.tag {\n color: var(--code-keyword-color);\n }\n\n /* Attributes / properties / selectors / built-ins — cyan */\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 /*\n * prism-react-renderer flattens nested markup tokens and prefixes parent\n * types onto each leaf (e.g. \\`token tag attr-value\\`). Re-assert leaf\n * colors so the bare \\`.token.tag\\` rule does not wash the whole tag.\n */\n .token.tag.attr-name {\n color: var(--code-attribute-color);\n }\n\n .token.tag.attr-value {\n color: var(--code-string-color);\n }\n\n .token.tag.punctuation {\n color: var(--code-punctuation-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 // Re-resolve the tokens whenever the palette is re-seeded at runtime (see\n // `src/tokens/palette-config.ts`). Nothing else has to re-render: every color\n // in the kit compiles to `var(--<name>-color)`, so replacing this one rule\n // recolors the whole UI. `getTokens()` returns a new map only when the palette\n // changes, and taking it as the store value makes it the memo's dependency —\n // a version listed in the deps but never read is dropped by React Compiler.\n const tokens = usePaletteValue(getTokens);\n\n // Merge token styles with body styles.\n const bodyTokenStyles = useMemo((): Styles => {\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 }, [tokens, bodyStyles]);\n\n // Apply tokens and body styles via useGlobalStyles.\n //\n // Replacement does not depend on the `id`: tasty keys its injection slot on\n // `id ?? selector`, so `'body'` on its own already disposes the previous block\n // before writing the new one — which is what removes stale `@hc` rules when the\n // palette is re-seeded, rather than shadowing them. The `id` buys two other\n // things. It gives the token block its own slot, so a host app calling\n // `useGlobalStyles('body', …)` for its own body styles cannot evict ours (and\n // vice versa) — they would otherwise share the `'body'` slot and dispose each\n // other on every change. And under SSR it makes the collector key stable and\n // last-write-wins, instead of content-hashed and first-write-wins.\n useGlobalStyles('body', bodyTokenStyles, { id: 'cube-ui-kit-tokens' });\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":";;;;;;;;;;;;;;AA0BA,MAAMe,cAAsB;CAC1BC,qBAAqB;CACrBC,MAAM;CACNC,YAAY;CACZ,0BAA0B;CAC1B,2BAA2B;CAC3BC,QAAQ;CACRC,SAAS;CACTC,OAAO;CACPC,QAAQ;CACRC,eAAe;CAChB;AAGD,MAAMC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgPnB,SAAOC,aAAAC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACL,MAAA,EAAArB,YAAAK,MAAAC,kBAA4Ca;CAQ5C,MAAAG,SAAezB,gBAAgBD,UAAU;CAAC,IAAA2B;AAAA,KAAAH,EAAA,OAAApB,cAAAoB,EAAA,OAAAE,QAAA;AAIxCC,WAAuB,EAAA,GAAKD,QAAQ;AAGpCE,SAAMC,OAAQF,QAAQf,YAAY;AAIlC,MAAIR,WACFwB,QAAMC,OAAQF,QAAQvB,WAAW;AAClCoB,IAAA,KAAApB;AAAAoB,IAAA,KAAAE;AAAAF,IAAA,KAAAG;OAAAA,UAAAH,EAAA;CAVH,MAAAM,kBAYEH;CACuB,IAAAI;AAAA,KAAAP,EAAA,OAAAQ,OAAAC,IAAA,4BAAA,EAAA;AAagBF,OAAA,EAAAG,IAAM,sBAAsB;AAAAV,IAAA,KAAAO;OAAAA,MAAAP,EAAA;AAArE3B,iBAAgB,QAAQiC,iBAAiBC,GAA6B;CAAA,IAAAI;CAAA,IAAAC;AAAA,KAAAZ,EAAA,OAAAf,QAAAe,EAAA,OAAAd,eAAA;AAG5DyB,aAAA;AAE6D,UAE9D;;;mBAHW1B,OAAA,GAAUA,KAAI,MAAd,GAMM;mBALGC,gBAAA,GAAmBA,cAAa,MAAhC,GAMM;;EAEnCW;;AACGe,OAAA,CAAC3B,MAAMC,cAAc;AAAAc,IAAA,KAAAf;AAAAe,IAAA,KAAAd;AAAAc,IAAA,KAAAW;AAAAX,IAAA,KAAAY;QAAA;AAAAD,OAAAX,EAAA;AAAAY,OAAAZ,EAAA;;AAXxB1B,WAAUqC,IAWPC,GAAsB;AAAA,QAElB"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | 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.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
 
4
4
  //#region src/components/HiddenInput.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | Cube Dev Team */
2
2
  import { extractStyles } from "../utils/styles.js";
3
3
  import { AMBIENT_PREDEFINED_STATES } from "../utils/react/useScheme.js";
4
4
  import { EventBusProvider } from "../utils/react/useEventBus.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useAction } from "../use-action.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | 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 { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { getDisabledElementProps } from "../../../utils/react/disabledProps.js";
4
4
  import { mergeProps } from "../../../utils/react/mergeProps.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | Cube Dev Team */
2
2
  import { useSlotProps } from "../../../utils/react/Slots.js";
3
3
  import { Space } from "../../layout/Space.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps } from "../../../utils/react/mergeProps.js";
4
4
  import { ButtonSplitContext } from "./context.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | 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.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | 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 { LoadingIcon } from "../../../icons/LoadingIcon.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
 
4
4
  //#region src/components/actions/CommandMenu/styled.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { TooltipProvider } from "../../overlays/Tooltip/TooltipProvider.js";
4
4
  import { CURRENT_CLEAR_STYLES, CURRENT_OUTLINE_STYLES, CURRENT_PRIMARY_STYLES, DANGER_CLEAR_STYLES, DANGER_OUTLINE_STYLES, DANGER_PRIMARY_STYLES, DEFAULT_CLEAR_STYLES, DEFAULT_OUTLINE_STYLES, DEFAULT_PRIMARY_STYLES, ITEM_ACTION_BASE_STYLES, NOTE_CLEAR_STYLES, NOTE_OUTLINE_STYLES, NOTE_PRIMARY_STYLES, SPECIAL_CLEAR_STYLES, SPECIAL_OUTLINE_STYLES, SPECIAL_PRIMARY_STYLES, SUCCESS_CLEAR_STYLES, SUCCESS_OUTLINE_STYLES, SUCCESS_PRIMARY_STYLES, WARNING_CLEAR_STYLES, WARNING_OUTLINE_STYLES, WARNING_PRIMARY_STYLES } from "../../../data/item-themes.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.184.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.185.1 | Cube Dev Team */
2
2
  import { c } from "react-compiler-runtime";
3
3
  import { createContext, useContext } from "react";
4
4
  import { jsx } from "react/jsx-runtime";