@cube-dev/ui-kit 0.194.1 → 0.196.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 (708) hide show
  1. package/dist/CHANGELOG.md +190 -0
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.d.ts +6 -0
  16. package/dist/components/Root.js +125 -102
  17. package/dist/components/Root.js.map +1 -1
  18. package/dist/components/actions/Action/Action.js +1 -1
  19. package/dist/components/actions/Banner/Banner.js +1 -1
  20. package/dist/components/actions/Button/Button.js +11 -5
  21. package/dist/components/actions/Button/Button.js.map +1 -1
  22. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  23. package/dist/components/actions/ButtonSplit/ButtonSplit.d.ts +9 -4
  24. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  25. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  26. package/dist/components/actions/ButtonSplit/context.js +1 -1
  27. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  28. package/dist/components/actions/CommandMenu/styled.js +1 -1
  29. package/dist/components/actions/ItemAction/ItemAction.js +27 -25
  30. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  31. package/dist/components/actions/ItemActionContext.js +1 -1
  32. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  33. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  34. package/dist/components/actions/Link/Link.js +1 -1
  35. package/dist/components/actions/Menu/Menu.js +1 -1
  36. package/dist/components/actions/Menu/MenuCollectionItem.js +7 -4
  37. package/dist/components/actions/Menu/MenuCollectionItem.js.map +1 -1
  38. package/dist/components/actions/Menu/MenuItem.js +69 -60
  39. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  40. package/dist/components/actions/Menu/MenuSection.js +1 -1
  41. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  42. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  43. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  44. package/dist/components/actions/Menu/context.js +1 -1
  45. package/dist/components/actions/Menu/styled.js +1 -4
  46. package/dist/components/actions/Menu/styled.js.map +1 -1
  47. package/dist/components/actions/actions-run.js +1 -1
  48. package/dist/components/actions/index.js +1 -1
  49. package/dist/components/actions/use-action.js +15 -14
  50. package/dist/components/actions/use-action.js.map +1 -1
  51. package/dist/components/actions/use-anchored-menu.js +1 -1
  52. package/dist/components/actions/use-context-menu.js +1 -1
  53. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  54. package/dist/components/content/Alert/Alert.js +1 -1
  55. package/dist/components/content/Alert/use-alert.js +1 -1
  56. package/dist/components/content/Avatar/Avatar.js +1 -1
  57. package/dist/components/content/Badge/Badge.js +1 -1
  58. package/dist/components/content/Card/Card.js +1 -1
  59. package/dist/components/content/Content.js +1 -1
  60. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  61. package/dist/components/content/CopySnippet/CopySnippet.d.ts +14 -14
  62. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  63. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  64. package/dist/components/content/Divider.js +1 -1
  65. package/dist/components/content/Footer.js +1 -1
  66. package/dist/components/content/Header.js +1 -1
  67. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  68. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  69. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  70. package/dist/components/content/Item/Item.js +16 -4
  71. package/dist/components/content/Item/Item.js.map +1 -1
  72. package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
  73. package/dist/components/content/ItemBadge/ItemBadge.js +7 -3
  74. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  75. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  76. package/dist/components/content/Layout/GridLayout.js +1 -1
  77. package/dist/components/content/Layout/Layout.js +29 -15
  78. package/dist/components/content/Layout/Layout.js.map +1 -1
  79. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  80. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  81. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  82. package/dist/components/content/Layout/LayoutContent.js +1 -1
  83. package/dist/components/content/Layout/LayoutContext.js +20 -10
  84. package/dist/components/content/Layout/LayoutContext.js.map +1 -1
  85. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  86. package/dist/components/content/Layout/LayoutFooter.js +12 -9
  87. package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
  88. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  89. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  90. package/dist/components/content/Layout/LayoutPane.d.ts +5 -1
  91. package/dist/components/content/Layout/LayoutPane.js +323 -149
  92. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  93. package/dist/components/content/Layout/LayoutPanel.d.ts +4 -2
  94. package/dist/components/content/Layout/LayoutPanel.js +73 -2
  95. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  96. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  97. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  98. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  99. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  100. package/dist/components/content/Layout/index.js +1 -1
  101. package/dist/components/content/Layout/utils.js +1 -1
  102. package/dist/components/content/Paragraph.js +1 -1
  103. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  104. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  105. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  106. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  107. package/dist/components/content/Result/Result.js +1 -1
  108. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  109. package/dist/components/content/Tag/Tag.js +1 -1
  110. package/dist/components/content/Text.js +1 -1
  111. package/dist/components/content/TextItem/TextItem.js +1 -1
  112. package/dist/components/content/Title.js +1 -1
  113. package/dist/components/content/Tree/Tree.js +1 -1
  114. package/dist/components/content/Tree/TreeNode.js +2 -1
  115. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  116. package/dist/components/content/Tree/styled.js +1 -1
  117. package/dist/components/content/Tree/tree-index.js +1 -1
  118. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  119. package/dist/components/content/Tree/use-load-data.js +1 -1
  120. package/dist/components/content/highlightText.js +1 -1
  121. package/dist/components/content/use-auto-tooltip.js +3 -3
  122. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  123. package/dist/components/data/DataTable/DataTable.js +1 -1
  124. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  125. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  126. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  127. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  128. package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -1
  129. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  130. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  131. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  132. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  133. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  134. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  135. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  136. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  137. package/dist/components/data/TableBase/RowCollection.js +1 -1
  138. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  139. package/dist/components/data/TableBase/TableRow.js +1 -1
  140. package/dist/components/data/TableBase/TableView.js +3 -1
  141. package/dist/components/data/TableBase/TableView.js.map +1 -1
  142. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  143. package/dist/components/data/TableBase/column-header.js +1 -1
  144. package/dist/components/data/TableBase/column-menu.js +1 -1
  145. package/dist/components/data/TableBase/column-styles.js +1 -1
  146. package/dist/components/data/TableBase/column-tint.js +1 -1
  147. package/dist/components/data/TableBase/row-menu.js +1 -1
  148. package/dist/components/data/TableBase/styled.js +1 -1
  149. package/dist/components/data/TableBase/table-tree.js +1 -1
  150. package/dist/components/data/TableBase/types.js +1 -1
  151. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  152. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  153. package/dist/components/data/TableBase/use-column-order.js +1 -1
  154. package/dist/components/data/TableBase/use-column-window.js +1 -1
  155. package/dist/components/data/TableBase/use-container-width.js +1 -1
  156. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  157. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  158. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  159. package/dist/components/data/TableBase/use-table-search.js +1 -1
  160. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  161. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  162. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  163. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  164. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  165. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  166. package/dist/components/fields/Checkbox/Checkbox.js +28 -17
  167. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  168. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +1 -1
  169. package/dist/components/fields/Checkbox/CheckboxGroup.js +6 -6
  170. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  171. package/dist/components/fields/Checkbox/context.js +1 -1
  172. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  173. package/dist/components/fields/ColorPicker/ColorPicker.js +3 -1
  174. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  175. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  176. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +2 -1
  177. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  178. package/dist/components/fields/ComboBox/ComboBox.d.ts +27 -7
  179. package/dist/components/fields/ComboBox/ComboBox.js +1095 -619
  180. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  181. package/dist/components/fields/ComboBox/comboBoxOptions.js +84 -0
  182. package/dist/components/fields/ComboBox/comboBoxOptions.js.map +1 -0
  183. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  184. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  185. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  186. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  187. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  188. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  189. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  190. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  191. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  192. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  193. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  194. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  195. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  196. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  197. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  198. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  199. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  200. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  201. package/dist/components/fields/DatePicker/parseDate.d.ts +7 -0
  202. package/dist/components/fields/DatePicker/parseDate.js +17 -3
  203. package/dist/components/fields/DatePicker/parseDate.js.map +1 -1
  204. package/dist/components/fields/DatePicker/period.js +1 -1
  205. package/dist/components/fields/DatePicker/props.js +1 -1
  206. package/dist/components/fields/DatePicker/utils.js +1 -1
  207. package/dist/components/fields/FileInput/FileInput.js +1 -1
  208. package/dist/components/fields/FilterListBox/FilterListBox.js +2 -1
  209. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  210. package/dist/components/fields/FilterPicker/FilterPicker.js +15 -6
  211. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  212. package/dist/components/fields/Input/Input.d.ts +2 -2
  213. package/dist/components/fields/Input/Input.js +2 -2
  214. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  215. package/dist/components/fields/ListBox/ListBox.d.ts +10 -4
  216. package/dist/components/fields/ListBox/ListBox.js +298 -146
  217. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  218. package/dist/components/fields/ListBox/optionId.js +1 -1
  219. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +150 -139
  220. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  221. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  222. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  223. package/dist/components/fields/NumberInput/NumberInput.d.ts +6 -1
  224. package/dist/components/fields/NumberInput/NumberInput.js +136 -128
  225. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  226. package/dist/components/fields/NumberInput/StepButton.js +38 -48
  227. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  228. package/dist/components/fields/PasswordInput/PasswordInput.d.ts +1 -2
  229. package/dist/components/fields/PasswordInput/PasswordInput.js +77 -111
  230. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  231. package/dist/components/fields/Picker/Picker.d.ts +1 -1
  232. package/dist/components/fields/Picker/Picker.js +22 -8
  233. package/dist/components/fields/Picker/Picker.js.map +1 -1
  234. package/dist/components/fields/RadioGroup/Radio.d.ts +12 -8
  235. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  236. package/dist/components/fields/RadioGroup/RadioGroup.js +2 -2
  237. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  238. package/dist/components/fields/RadioGroup/context.js +1 -1
  239. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  240. package/dist/components/fields/SearchInput/SearchInput.d.ts +8 -3
  241. package/dist/components/fields/SearchInput/SearchInput.js +22 -29
  242. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  243. package/dist/components/fields/Select/Select.d.ts +12 -1
  244. package/dist/components/fields/Select/Select.js +365 -207
  245. package/dist/components/fields/Select/Select.js.map +1 -1
  246. package/dist/components/fields/Slider/Gradation.js +1 -1
  247. package/dist/components/fields/Slider/HueSlider.js +1 -1
  248. package/dist/components/fields/Slider/RangeSlider.js +3 -4
  249. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  250. package/dist/components/fields/Slider/Slider.js +1 -1
  251. package/dist/components/fields/Slider/SliderBase.js +1 -1
  252. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  253. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  254. package/dist/components/fields/Slider/elements.js +1 -1
  255. package/dist/components/fields/Slider/index.js +1 -1
  256. package/dist/components/fields/Switch/Switch.js +101 -101
  257. package/dist/components/fields/Switch/Switch.js.map +1 -1
  258. package/dist/components/fields/TagInput/TagInput.js +336 -330
  259. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  260. package/dist/components/fields/TagInput/TagList.js +1 -1
  261. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  262. package/dist/components/fields/TagInput/useTagError.js +1 -1
  263. package/dist/components/fields/TextArea/TextArea.d.ts +0 -1
  264. package/dist/components/fields/TextArea/TextArea.js +49 -63
  265. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  266. package/dist/components/fields/TextInput/TextInput.d.ts +1 -1
  267. package/dist/components/fields/TextInput/TextInput.js +42 -46
  268. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  269. package/dist/components/fields/TextInput/TextInputBase.d.ts +6 -2
  270. package/dist/components/fields/TextInput/TextInputBase.js +32 -10
  271. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  272. package/dist/components/fields/TextInput/displayed-validation.js +50 -0
  273. package/dist/components/fields/TextInput/displayed-validation.js.map +1 -0
  274. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  275. package/dist/components/fields/TextInputMapper/TextInputMapper.js +20 -17
  276. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  277. package/dist/components/fields/TriggerActions.js +1 -1
  278. package/dist/components/fields/color/ColorPanel.js +3 -1
  279. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  280. package/dist/components/fields/color/channels.js +1 -1
  281. package/dist/components/fields/color/color.js +1 -1
  282. package/dist/components/fields/color/context.js +1 -1
  283. package/dist/components/fields/index.d.ts +2 -2
  284. package/dist/components/fields/option-origin-press.js +78 -0
  285. package/dist/components/fields/option-origin-press.js.map +1 -0
  286. package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +10 -8
  287. package/dist/components/form/FieldWrapper/FieldWrapper.js +214 -158
  288. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  289. package/dist/components/form/FieldWrapper/field-description.js +3 -3
  290. package/dist/components/form/FieldWrapper/field-description.js.map +1 -1
  291. package/dist/components/form/FieldWrapper/types.d.ts +4 -3
  292. package/dist/components/form/Form/Field.js +1 -1
  293. package/dist/components/form/Form/Form.js +1 -1
  294. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  295. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  296. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  297. package/dist/components/form/Form/SubmitError.js +1 -1
  298. package/dist/components/form/Form/backend.js +1 -1
  299. package/dist/components/form/Form/index.js +1 -1
  300. package/dist/components/form/Form/modern/actions.js +1 -1
  301. package/dist/components/form/Form/modern/context.js +1 -1
  302. package/dist/components/form/Form/modern/controller.js +1 -1
  303. package/dist/components/form/Form/modern/field-binding.js +1 -1
  304. package/dist/components/form/Form/modern/field.js +1 -1
  305. package/dist/components/form/Form/modern/react.js +1 -1
  306. package/dist/components/form/Form/modern/store.js +1 -1
  307. package/dist/components/form/Form/modern/validation.js +1 -1
  308. package/dist/components/form/Form/modern/values.js +1 -1
  309. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  310. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  311. package/dist/components/form/Form/use-field/use-field-props.js +34 -22
  312. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  313. package/dist/components/form/Form/use-field/use-field.js +1 -1
  314. package/dist/components/form/Form/use-form.js +1 -1
  315. package/dist/components/form/Form/validation.js +1 -1
  316. package/dist/components/form/Label.js +1 -1
  317. package/dist/components/form/field-chrome.js +15 -0
  318. package/dist/components/form/field-chrome.js.map +1 -0
  319. package/dist/components/form/index.d.ts +1 -1
  320. package/dist/components/form/legacy-tooltip.js +1 -1
  321. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  322. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  323. package/dist/components/form/validation/use-validation-props.js +1 -1
  324. package/dist/components/form/wrapper.d.ts +6 -5
  325. package/dist/components/form/wrapper.js +11 -8
  326. package/dist/components/form/wrapper.js.map +1 -1
  327. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  328. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  329. package/dist/components/layout/Flex.js +1 -1
  330. package/dist/components/layout/Flow.js +1 -1
  331. package/dist/components/layout/Grid.js +1 -1
  332. package/dist/components/layout/Panel.js +1 -1
  333. package/dist/components/layout/Prefix.js +1 -1
  334. package/dist/components/layout/ResizablePanel.js +1 -1
  335. package/dist/components/layout/Space.js +1 -1
  336. package/dist/components/layout/Suffix.js +1 -1
  337. package/dist/components/navigation/Pagination/Pagination.js +3 -1
  338. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  339. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  340. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  341. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  342. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  343. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  344. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  345. package/dist/components/navigation/Tabs/TabPicker.js +2 -1
  346. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  347. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  348. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  349. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  350. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  351. package/dist/components/navigation/Tabs/styled.js +1 -1
  352. package/dist/components/navigation/Tabs/types.js +1 -1
  353. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  354. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  355. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  356. package/dist/components/other/Calendar/Calendar.js +1 -1
  357. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  358. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  359. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  360. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  361. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  362. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  363. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  364. package/dist/components/other/Calendar/styled.js +1 -1
  365. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  366. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  367. package/dist/components/overlays/AlertDialog/AlertDialog.d.ts +6 -1
  368. package/dist/components/overlays/AlertDialog/AlertDialog.js +3 -2
  369. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  370. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.d.ts +15 -4
  371. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +85 -15
  372. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
  373. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  374. package/dist/components/overlays/AlertDialog/types.d.ts +2 -1
  375. package/dist/components/overlays/Dialog/Dialog.js +28 -14
  376. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  377. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  378. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  379. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +7 -3
  380. package/dist/components/overlays/Dialog/DialogTrigger.js +149 -132
  381. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  382. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  383. package/dist/components/overlays/Dialog/context.js +1 -1
  384. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  385. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  386. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  387. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +83 -0
  388. package/dist/components/overlays/Dialog/use-dialog-open-sync.js.map +1 -0
  389. package/dist/components/overlays/Modal/Modal.js +1 -1
  390. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  391. package/dist/components/overlays/Modal/Overlay.js +9 -3
  392. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  393. package/dist/components/overlays/Modal/Popover.js +31 -29
  394. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  395. package/dist/components/overlays/Modal/Tray.js +2 -1
  396. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  397. package/dist/components/overlays/Modal/Underlay.js +1 -1
  398. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  399. package/dist/components/overlays/Notifications/Notification.js +1 -1
  400. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  401. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  402. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  403. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  404. package/dist/components/overlays/Notifications/OverlayContainer.js +18 -32
  405. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  406. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  407. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  408. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  409. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  410. package/dist/components/overlays/Notifications/index.js +1 -1
  411. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  412. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  413. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  414. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  415. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  416. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  417. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  418. package/dist/components/overlays/Toast/index.js +1 -1
  419. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  420. package/dist/components/overlays/Toast/useToast.js +1 -1
  421. package/dist/components/overlays/Tooltip/Tooltip.d.ts +8 -0
  422. package/dist/components/overlays/Tooltip/Tooltip.js +16 -22
  423. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  424. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  425. package/dist/components/overlays/Tooltip/TooltipTrigger.d.ts +1 -1
  426. package/dist/components/overlays/Tooltip/TooltipTrigger.js +163 -113
  427. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  428. package/dist/components/overlays/Tooltip/context.js +1 -1
  429. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  430. package/dist/components/overlays/Tooltip/split-trigger-props.js +6 -5
  431. package/dist/components/overlays/Tooltip/split-trigger-props.js.map +1 -1
  432. package/dist/components/portal/Portal.js +1 -1
  433. package/dist/components/portal/PortalProvider.js +1 -1
  434. package/dist/components/portal/usePortal.js +1 -1
  435. package/dist/components/shared/DraggableCollection.js +1 -1
  436. package/dist/components/shared/InvalidIcon.js +1 -1
  437. package/dist/components/shared/ValidIcon.js +1 -1
  438. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  439. package/dist/components/status/Spin/Cube.js +1 -1
  440. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  441. package/dist/components/status/Spin/Spin.js +1 -1
  442. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  443. package/dist/data/item-themes.js +1 -1
  444. package/dist/data/themes.js +1 -1
  445. package/dist/eslint-plugin/defaults.generated.js +11 -17
  446. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  447. package/dist/eslint-plugin/index.js +1 -1
  448. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  449. package/dist/i18n/I18nProvider.js +1 -1
  450. package/dist/i18n/createFormatter.js +1 -1
  451. package/dist/i18n/index.js +1 -1
  452. package/dist/i18n/instance.js +1 -1
  453. package/dist/i18n/locales/de-DE/uikit.js +6 -4
  454. package/dist/i18n/locales/en-US/uikit.js +6 -4
  455. package/dist/i18n/locales/en-US/uikit.json.d.ts +3 -1
  456. package/dist/i18n/locales/es-ES/uikit.js +6 -4
  457. package/dist/i18n/locales/es-MX/uikit.js +6 -4
  458. package/dist/i18n/locales/fr-FR/uikit.js +6 -4
  459. package/dist/i18n/locales/it-IT/uikit.js +6 -4
  460. package/dist/i18n/locales/ja-JP/uikit.js +6 -4
  461. package/dist/i18n/locales/nb-NO/uikit.js +6 -4
  462. package/dist/i18n/locales/pt-BR/uikit.js +6 -4
  463. package/dist/i18n/locales/pt-PT/uikit.js +6 -4
  464. package/dist/i18n/locales/sv-SE/uikit.js +6 -4
  465. package/dist/i18n/locales/vi-VN/uikit.js +6 -4
  466. package/dist/i18n/locales.js +1 -1
  467. package/dist/i18n/namespace.js +1 -1
  468. package/dist/i18n/useFormatter.js +1 -1
  469. package/dist/i18n/useI18n.js +1 -1
  470. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  471. package/dist/icons/AdjustmentsIcon.js +1 -1
  472. package/dist/icons/AiIcon.js +1 -1
  473. package/dist/icons/AreaChartIcon.js +1 -1
  474. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  475. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  476. package/dist/icons/BackwardIcon.js +1 -1
  477. package/dist/icons/BarChartIcon.js +1 -1
  478. package/dist/icons/BellFilledIcon.js +1 -1
  479. package/dist/icons/BellIcon.js +1 -1
  480. package/dist/icons/BooleanIcon.js +1 -1
  481. package/dist/icons/CalendarEditIcon.js +1 -1
  482. package/dist/icons/CalendarIcon.js +1 -1
  483. package/dist/icons/CaretDownIcon.js +1 -1
  484. package/dist/icons/CaretUpIcon.js +1 -1
  485. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  486. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  487. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  488. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  489. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  490. package/dist/icons/ChartBarLineIcon.js +1 -1
  491. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  492. package/dist/icons/ChartBarStackedIcon.js +1 -1
  493. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  494. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  495. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  496. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  497. package/dist/icons/ChartBubbleIcon.js +1 -1
  498. package/dist/icons/ChartDonut2Icon.js +1 -1
  499. package/dist/icons/ChartFunnelIcon.js +1 -1
  500. package/dist/icons/ChartHeatmapIcon.js +1 -1
  501. package/dist/icons/ChartKPIIcon.js +1 -1
  502. package/dist/icons/ChartPie2Icon.js +1 -1
  503. package/dist/icons/ChartScatterIcon.js +1 -1
  504. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  505. package/dist/icons/CheckCircleIcon.js +1 -1
  506. package/dist/icons/CheckIcon.js +1 -1
  507. package/dist/icons/CircleFilledIcon.js +1 -1
  508. package/dist/icons/ClearIcon.js +1 -1
  509. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  510. package/dist/icons/CloseCircleIcon.js +1 -1
  511. package/dist/icons/CloseIcon.js +1 -1
  512. package/dist/icons/CodeIcon.js +1 -1
  513. package/dist/icons/ColumnTotalIcon.js +1 -1
  514. package/dist/icons/CopyIcon.js +1 -1
  515. package/dist/icons/CountIcon.js +1 -1
  516. package/dist/icons/CubeIcon.js +1 -1
  517. package/dist/icons/CubePauseIcon.js +1 -1
  518. package/dist/icons/CubePlayIcon.js +1 -1
  519. package/dist/icons/CurrencyDollarIcon.js +1 -1
  520. package/dist/icons/DangerIcon.js +1 -1
  521. package/dist/icons/DashboardIcon.js +1 -1
  522. package/dist/icons/DatabaseIcon.js +1 -1
  523. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  524. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  525. package/dist/icons/DirectionIcon.js +1 -1
  526. package/dist/icons/DonutIcon.js +1 -1
  527. package/dist/icons/DownIcon.js +1 -1
  528. package/dist/icons/EditIcon.js +1 -1
  529. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  530. package/dist/icons/ExclamationCircleIcon.js +1 -1
  531. package/dist/icons/ExclamationIcon.js +1 -1
  532. package/dist/icons/EyeIcon.js +1 -1
  533. package/dist/icons/EyeInvisibleIcon.js +1 -1
  534. package/dist/icons/FilterIcon.js +1 -1
  535. package/dist/icons/FolderFilledIcon.js +1 -1
  536. package/dist/icons/FolderIcon.js +1 -1
  537. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  538. package/dist/icons/FolderOpenIcon.js +1 -1
  539. package/dist/icons/ForwardIcon.js +1 -1
  540. package/dist/icons/GripVerticalIcon.js +1 -1
  541. package/dist/icons/HierarchyIcon.js +1 -1
  542. package/dist/icons/HierarchyOpenIcon.js +1 -1
  543. package/dist/icons/Icon.js +1 -1
  544. package/dist/icons/InfoCircleIcon.js +1 -1
  545. package/dist/icons/InfoIcon.js +1 -1
  546. package/dist/icons/KeyIcon.js +1 -1
  547. package/dist/icons/LeftIcon.js +1 -1
  548. package/dist/icons/LineChartIcon.js +1 -1
  549. package/dist/icons/LoadingIcon.js +1 -1
  550. package/dist/icons/LockFilledIcon.js +1 -1
  551. package/dist/icons/LockIcon.js +1 -1
  552. package/dist/icons/MoreIcon.js +1 -1
  553. package/dist/icons/NotAllowedIcon.js +1 -1
  554. package/dist/icons/Number123Icon.js +1 -1
  555. package/dist/icons/NumberIcon.js +1 -1
  556. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  557. package/dist/icons/PauseCircleIcon.js +1 -1
  558. package/dist/icons/PauseIcon.js +1 -1
  559. package/dist/icons/PercentageIcon.js +1 -1
  560. package/dist/icons/PieChartIcon.js +1 -1
  561. package/dist/icons/PipetteIcon.js +1 -1
  562. package/dist/icons/PlayCircleIcon.js +1 -1
  563. package/dist/icons/PlayIcon.js +1 -1
  564. package/dist/icons/PlusIcon.js +1 -1
  565. package/dist/icons/ProgressBarIcon.js +1 -1
  566. package/dist/icons/ReloadIcon.js +1 -1
  567. package/dist/icons/ReportIcon.js +1 -1
  568. package/dist/icons/ReturnIcon.js +1 -1
  569. package/dist/icons/RightIcon.js +1 -1
  570. package/dist/icons/RowTotalsIcon.js +1 -1
  571. package/dist/icons/SchemeIcon.js +1 -1
  572. package/dist/icons/SearchIcon.js +1 -1
  573. package/dist/icons/SemanticQueryIcon.js +1 -1
  574. package/dist/icons/SettingsIcon.js +1 -1
  575. package/dist/icons/ShieldFilledIcon.js +1 -1
  576. package/dist/icons/ShieldIcon.js +1 -1
  577. package/dist/icons/SlashIcon.js +1 -1
  578. package/dist/icons/SparklesIcon.js +1 -1
  579. package/dist/icons/SqlIcon.js +1 -1
  580. package/dist/icons/StatsIcon.js +1 -1
  581. package/dist/icons/StopIcon.js +1 -1
  582. package/dist/icons/StringIcon.js +1 -1
  583. package/dist/icons/SubtotalsIcon.js +1 -1
  584. package/dist/icons/SwitchIcon.js +1 -1
  585. package/dist/icons/TableIcon.js +1 -1
  586. package/dist/icons/ThumbsDownIcon.js +1 -1
  587. package/dist/icons/ThumbsUpIcon.js +1 -1
  588. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  589. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  590. package/dist/icons/ThunderboltIcon.js +1 -1
  591. package/dist/icons/TimeIcon.js +1 -1
  592. package/dist/icons/TrashIcon.js +1 -1
  593. package/dist/icons/UnlockIcon.js +1 -1
  594. package/dist/icons/UpIcon.js +1 -1
  595. package/dist/icons/UserGroupIcon.js +1 -1
  596. package/dist/icons/UserIcon.js +1 -1
  597. package/dist/icons/UserLockIcon.js +1 -1
  598. package/dist/icons/ViewIcon.js +1 -1
  599. package/dist/icons/WarningFilledIcon.js +1 -1
  600. package/dist/icons/WarningIcon.js +1 -1
  601. package/dist/icons/wrap-icon.js +1 -1
  602. package/dist/index.d.ts +3 -3
  603. package/dist/index.js +4 -4
  604. package/dist/probe/canonicalize.js +1 -1
  605. package/dist/probe/css.js +1 -1
  606. package/dist/probe/index.js +1 -1
  607. package/dist/provider.js +1 -1
  608. package/dist/providers/TrackingProvider.js +1 -1
  609. package/dist/providers/navigation-url.js +15 -3
  610. package/dist/providers/navigation-url.js.map +1 -1
  611. package/dist/providers/navigationAdapter.default.js +1 -1
  612. package/dist/providers/use-navigation.js +1 -1
  613. package/dist/shared/form.d.ts +17 -4
  614. package/dist/tokens/all-tokens.js +1 -1
  615. package/dist/tokens/base.js +1 -1
  616. package/dist/tokens/color-seed.js +1 -1
  617. package/dist/tokens/color-theme.js +1 -1
  618. package/dist/tokens/colors.js +1 -1
  619. package/dist/tokens/layout.js +1 -1
  620. package/dist/tokens/lazy-styles.js +1 -1
  621. package/dist/tokens/legacy-color.js +1 -1
  622. package/dist/tokens/palette-config.js +1 -1
  623. package/dist/tokens/palette.js +1 -1
  624. package/dist/tokens/resolve.js +1 -1
  625. package/dist/tokens/shadows.js +1 -1
  626. package/dist/tokens/sizes.js +1 -1
  627. package/dist/tokens/spacing.js +1 -1
  628. package/dist/tokens/typography.js +1 -1
  629. package/dist/utils/ResizeSensor.js +1 -1
  630. package/dist/utils/colors.js +1 -1
  631. package/dist/utils/dotize.js +1 -1
  632. package/dist/utils/is-dev-env.js +1 -1
  633. package/dist/utils/modules.js +1 -1
  634. package/dist/utils/promise.js +1 -1
  635. package/dist/utils/raf.js +1 -1
  636. package/dist/utils/random.js +1 -1
  637. package/dist/utils/range.js +1 -1
  638. package/dist/utils/react/RenderCache.js +1 -1
  639. package/dist/utils/react/Slots.js +1 -1
  640. package/dist/utils/react/chain.js +1 -1
  641. package/dist/utils/react/disabledProps.js +1 -1
  642. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  643. package/dist/utils/react/index.js +1 -1
  644. package/dist/utils/react/interactions.js +1 -1
  645. package/dist/utils/react/isTextOnly.js +1 -1
  646. package/dist/utils/react/mapProps.js +1 -1
  647. package/dist/utils/react/mergeProps.js +1 -1
  648. package/dist/utils/react/nullableValue.js +18 -9
  649. package/dist/utils/react/nullableValue.js.map +1 -1
  650. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  651. package/dist/utils/react/programmaticFocus.js +1 -1
  652. package/dist/utils/react/resolveIcon.js +1 -1
  653. package/dist/utils/react/sharedStore.js +1 -1
  654. package/dist/utils/react/useBufferedValue.js +1 -1
  655. package/dist/utils/react/useCombinedRefs.js +1 -1
  656. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  657. package/dist/utils/react/useEventBus.js +1 -1
  658. package/dist/utils/react/useId.js +1 -1
  659. package/dist/utils/react/useIsDarwin.js +1 -1
  660. package/dist/utils/react/useKeySymbols.js +1 -1
  661. package/dist/utils/react/useLayoutEffect.js +1 -1
  662. package/dist/utils/react/useLocalStorage.js +1 -1
  663. package/dist/utils/react/useMergeStyles.js +1 -1
  664. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  665. package/dist/utils/react/usePopoverSync.js +1 -1
  666. package/dist/utils/react/useQaProps.js +1 -1
  667. package/dist/utils/react/useScheme.js +1 -1
  668. package/dist/utils/react/useViewportSize.js +1 -1
  669. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  670. package/dist/utils/selection.js +1 -1
  671. package/dist/utils/styles.js +1 -1
  672. package/dist/utils/tree.js +1 -1
  673. package/dist/utils/warnings.js +1 -1
  674. package/dist/version.js +2 -2
  675. package/docs/ComplexLayout.md +1 -1
  676. package/docs/CreateComponent.md +2 -0
  677. package/docs/FieldProperties.md +32 -5
  678. package/docs/Theming.md +2 -1
  679. package/docs/Usage.md +2 -0
  680. package/docs/components/Root.md +1 -1
  681. package/docs/components/actions/Button.md +8 -2
  682. package/docs/components/actions/ButtonSplit.md +27 -1
  683. package/docs/components/actions/Link.md +1 -1
  684. package/docs/components/actions/Menu.md +4 -2
  685. package/docs/components/content/InfoBadge.md +2 -0
  686. package/docs/components/content/ItemBadge.md +4 -0
  687. package/docs/components/content/Layout.md +41 -6
  688. package/docs/components/fields/Checkbox.md +4 -3
  689. package/docs/components/fields/ComboBox.md +30 -19
  690. package/docs/components/fields/FilterListBox.md +2 -2
  691. package/docs/components/fields/FilterPicker.md +2 -2
  692. package/docs/components/fields/ListBox.md +14 -10
  693. package/docs/components/fields/NumberInput.md +20 -11
  694. package/docs/components/fields/PasswordInput.md +6 -7
  695. package/docs/components/fields/Picker.md +6 -5
  696. package/docs/components/fields/RadioGroup.md +1 -1
  697. package/docs/components/fields/SearchInput.md +7 -6
  698. package/docs/components/fields/Select.md +14 -8
  699. package/docs/components/fields/Switch.md +4 -3
  700. package/docs/components/fields/TagInput.md +8 -1
  701. package/docs/components/fields/TextArea.md +4 -3
  702. package/docs/components/fields/TextInput.md +13 -6
  703. package/docs/components/overlays/AlertDialog.md +45 -5
  704. package/docs/components/overlays/Dialog.md +5 -5
  705. package/docs/components/overlays/DialogTrigger.md +6 -6
  706. package/docs/components/overlays/Tooltip.md +17 -6
  707. package/docs/components/overlays/TooltipTrigger.md +2 -0
  708. package/package.json +1 -1
@@ -172,9 +172,9 @@ declare const Tabs: react.ComponentType<{
172
172
  description?: react.ReactNode;
173
173
  orientation?: "horizontal" | "vertical" | undefined;
174
174
  key?: react.Key | null | undefined;
175
- onFocusChange?: ((isFocused: boolean) => void) | undefined;
176
- isLoading?: boolean | undefined;
177
175
  labelProps?: Props | undefined;
176
+ isLoading?: boolean | undefined;
177
+ onFocusChange?: ((isFocused: boolean) => void) | undefined;
178
178
  extra?: react.ReactNode;
179
179
  rules?: (any[] | FieldValidationRule)[] | undefined;
180
180
  shouldUpdate?: boolean | ((prevValues: any, nextValues: any) => boolean) | undefined;
@@ -197,6 +197,7 @@ declare const Tabs: react.ComponentType<{
197
197
  fieldProps?: Props | undefined;
198
198
  fieldStyles?: _tenphi_tasty0.Styles | undefined;
199
199
  messageStyles?: _tenphi_tasty0.Styles | undefined;
200
+ isBare?: boolean | undefined;
200
201
  forceField?: boolean | undefined;
201
202
  requiredMark?: boolean | undefined;
202
203
  showValid?: boolean | undefined;
@@ -319,9 +320,9 @@ declare const ButtonGroup: react.ComponentType<{
319
320
  description?: react.ReactNode;
320
321
  orientation?: "horizontal" | "vertical" | undefined;
321
322
  key?: react.Key | null | undefined;
322
- onFocusChange?: ((isFocused: boolean) => void) | undefined;
323
- isLoading?: boolean | undefined;
324
323
  labelProps?: Props | undefined;
324
+ isLoading?: boolean | undefined;
325
+ onFocusChange?: ((isFocused: boolean) => void) | undefined;
325
326
  extra?: react.ReactNode;
326
327
  rules?: (any[] | FieldValidationRule)[] | undefined;
327
328
  shouldUpdate?: boolean | ((prevValues: any, nextValues: any) => boolean) | undefined;
@@ -344,6 +345,7 @@ declare const ButtonGroup: react.ComponentType<{
344
345
  fieldProps?: Props | undefined;
345
346
  fieldStyles?: _tenphi_tasty0.Styles | undefined;
346
347
  messageStyles?: _tenphi_tasty0.Styles | undefined;
348
+ isBare?: boolean | undefined;
347
349
  forceField?: boolean | undefined;
348
350
  requiredMark?: boolean | undefined;
349
351
  showValid?: boolean | undefined;
@@ -476,9 +478,9 @@ declare const __Radio: react.ForwardRefExoticComponent<CubeRadioProps & react.Re
476
478
  description?: react.ReactNode;
477
479
  orientation?: "horizontal" | "vertical" | undefined;
478
480
  key?: react.Key | null | undefined;
479
- onFocusChange?: ((isFocused: boolean) => void) | undefined;
480
- isLoading?: boolean | undefined;
481
481
  labelProps?: Props | undefined;
482
+ isLoading?: boolean | undefined;
483
+ onFocusChange?: ((isFocused: boolean) => void) | undefined;
482
484
  extra?: react.ReactNode;
483
485
  rules?: (any[] | FieldValidationRule)[] | undefined;
484
486
  shouldUpdate?: boolean | ((prevValues: any, nextValues: any) => boolean) | undefined;
@@ -501,6 +503,7 @@ declare const __Radio: react.ForwardRefExoticComponent<CubeRadioProps & react.Re
501
503
  fieldProps?: Props | undefined;
502
504
  fieldStyles?: _tenphi_tasty0.Styles | undefined;
503
505
  messageStyles?: _tenphi_tasty0.Styles | undefined;
506
+ isBare?: boolean | undefined;
504
507
  forceField?: boolean | undefined;
505
508
  requiredMark?: boolean | undefined;
506
509
  showValid?: boolean | undefined;
@@ -623,9 +626,9 @@ declare const __Radio: react.ForwardRefExoticComponent<CubeRadioProps & react.Re
623
626
  description?: react.ReactNode;
624
627
  orientation?: "horizontal" | "vertical" | undefined;
625
628
  key?: react.Key | null | undefined;
626
- onFocusChange?: ((isFocused: boolean) => void) | undefined;
627
- isLoading?: boolean | undefined;
628
629
  labelProps?: Props | undefined;
630
+ isLoading?: boolean | undefined;
631
+ onFocusChange?: ((isFocused: boolean) => void) | undefined;
629
632
  extra?: react.ReactNode;
630
633
  rules?: (any[] | FieldValidationRule)[] | undefined;
631
634
  shouldUpdate?: boolean | ((prevValues: any, nextValues: any) => boolean) | undefined;
@@ -648,6 +651,7 @@ declare const __Radio: react.ForwardRefExoticComponent<CubeRadioProps & react.Re
648
651
  fieldProps?: Props | undefined;
649
652
  fieldStyles?: _tenphi_tasty0.Styles | undefined;
650
653
  messageStyles?: _tenphi_tasty0.Styles | undefined;
654
+ isBare?: boolean | undefined;
651
655
  forceField?: boolean | undefined;
652
656
  requiredMark?: boolean | undefined;
653
657
  showValid?: boolean | undefined;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.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 { getDisabledElementProps, omitActivationEventProps } from "../../../utils/react/disabledProps.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.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 { castNullableStringValue } from "../../../utils/react/nullableValue.js";
@@ -64,7 +64,7 @@ function RadioGroup(rawProps, ref) {
64
64
  let orientation = rawProps.orientation;
65
65
  let t0;
66
66
  if ($[0] !== rawProps) {
67
- t0 = castNullableStringValue(rawProps);
67
+ t0 = castNullableStringValue(rawProps, null);
68
68
  $[0] = rawProps;
69
69
  $[1] = t0;
70
70
  } else t0 = $[1];
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.js","names":["getActiveElement","useObjectRef","BaseProps","CONTAINER_STYLES","ContainerStyleProps","Styles","tasty","forwardRef","useRef","AriaRadioGroupProps","useFocusRing","useRadioGroup","RadioGroupState","useRadioGroupState","FieldBaseProps","mergeProps","castNullableStringValue","WithNullableValue","extractStyles","CubeItemProps","FormScopeMask","useFieldProps","wrapWithField","RadioContext","KeyboardEvent","CubeRadioGroupProps","Omit","groupStyles","orientation","value","defaultValue","onChange","size","Exclude","buttonType","type","RadioGroupElement","qa","styles","display","placeItems","placeContent","flow","horizontal","padding","tabs","boxSizing","radius","fill","width","flexShrink","gap","button","whiteSpace","outline","isFocusedDisabledRadio","element","HTMLInputElement","getAttribute","RadioGroup","rawProps","ref","$","_c","t0","t1","Symbol","for","defaultValidationTrigger","props","id","isDisabled","isRequired","labelPosition","t2","isInvalid","isValid","children","insideForm","labelProps","baseLabelProps","form","otherProps","undefined","domRef","baseState","isArrowKeyRef","t3","setSelectedValue","current","state","t4","radioGroupProps","onKeyDown","onArrowKey","groupProps","t5","event","t6","within","isFocusVisible","isFocusWithinVisible","focusProps","groupFocusProps","T0","t7","t8","t9","t10","t11","t12","t13","t14","focused","t15","t16","name","t17","t18","t19","radioGroup","t20","_RadioGroup","cubeInputType","displayName"],"sources":["../../../../src/components/fields/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import { getActiveElement, useObjectRef } from '@react-aria/utils';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef, useRef } from 'react';\nimport { AriaRadioGroupProps, useFocusRing, useRadioGroup } from 'react-aria';\nimport { RadioGroupState, useRadioGroupState } from 'react-stately';\n\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport {\n castNullableStringValue,\n WithNullableValue,\n} from '../../../utils/react/nullableValue';\nimport { extractStyles } from '../../../utils/styles';\nimport { CubeItemProps } from '../../content/Item/Item';\nimport { FormScopeMask, useFieldProps, wrapWithField } from '../../form';\n\nimport { RadioContext } from './context';\n\nimport type { KeyboardEvent } from 'react';\n\nexport interface CubeRadioGroupProps\n extends BaseProps,\n Omit<AriaRadioGroupProps, 'errorMessage' | 'form' | 'name'>,\n ContainerStyleProps,\n FieldBaseProps<string | null | undefined> {\n groupStyles?: Styles;\n orientation?: 'horizontal' | 'vertical';\n value?: string;\n defaultValue?: string;\n onChange?: (value: string) => void;\n /* Size for all radio buttons in the group */\n size?: Exclude<CubeItemProps['size'], 'inline'>;\n /* Button type for all button-style radios (ignored in tabs mode). When set to 'primary', selected buttons use 'primary' and non-selected use 'outline' with isSelected appearance */\n buttonType?: CubeItemProps['type'];\n /* Visual type for all radios in the group: radio (default), button, or tabs */\n type?: 'radio' | 'button' | 'tabs';\n}\n\nconst RadioGroupElement = tasty({\n qa: 'RadioGroup',\n styles: {\n display: 'flex',\n placeItems: 'stretch',\n placeContent: 'stretch',\n flow: {\n '': 'column',\n horizontal: 'row wrap',\n 'horizontal & tabs': 'row',\n },\n padding: {\n '': '0',\n tabs: '.5x',\n },\n // The tabs layout is the only one with padding, and a caller that gives the\n // group an explicit width (`width: 100%` inside a popover, say) means the\n // box it can see. Without this the padding is added on top and the group\n // overhangs its container by `1x`.\n boxSizing: 'border-box',\n radius: true,\n fill: {\n '': '#clear',\n 'tabs | disabled': '#surface-4',\n },\n width: 'max-content max-content initial',\n flexShrink: 0,\n gap: {\n '': '1x',\n button: 0,\n tabs: '.5x',\n },\n whiteSpace: 'nowrap',\n // Keyboard focus ring on the group, shown only for button/tabs layouts\n // where individual items are visually merged (button-group) or share a\n // single chrome (tabs) — the classic vertical radio list already shows\n // a per-item focus ring on the radio circle.\n outline: {\n '': '1bw #primary-text.0 / 1bw',\n 'focused & (button | tabs)': '1bw #primary-text / 1bw',\n },\n },\n});\n\n/**\n * Whether focus rests on the radio with this value while it is disabled. Only\n * a radio kept focusable for its tooltip can be: a natively disabled one never\n * takes focus (see `Radio`).\n */\nfunction isFocusedDisabledRadio(value: string | null) {\n let element = getActiveElement();\n\n return (\n element instanceof HTMLInputElement &&\n element.type === 'radio' &&\n element.value === value &&\n element.getAttribute('aria-disabled') === 'true'\n );\n}\n\nfunction RadioGroup(rawProps: WithNullableValue<CubeRadioGroupProps>, ref) {\n let orientation = rawProps.orientation;\n\n rawProps = castNullableStringValue(rawProps);\n let props = useFieldProps(rawProps, { defaultValidationTrigger: 'onChange' });\n\n let {\n qa,\n id,\n isDisabled,\n isRequired,\n labelPosition = 'top',\n isInvalid,\n isValid,\n children,\n styles,\n groupStyles,\n insideForm,\n // orientation, // ignore orientation since it came from the form context\n labelProps: baseLabelProps,\n size,\n buttonType,\n type,\n form,\n ...otherProps\n } = props;\n let domRef = useObjectRef(ref);\n\n styles = extractStyles(otherProps, CONTAINER_STYLES, styles);\n\n let baseState = useRadioGroupState(props);\n // The arrow keys focus the next radio and select it. A disabled radio that\n // keeps focus for its tooltip is reached that way too, and has to stop the\n // selection the way a read-only group does: focus moves, the value stays.\n // Only the arrow keys: a click elsewhere or a form reset still selects.\n let isArrowKeyRef = useRef(false);\n let state: RadioGroupState = {\n ...baseState,\n setSelectedValue(value) {\n if (isArrowKeyRef.current && isFocusedDisabledRadio(value)) return;\n\n baseState.setSelectedValue(value);\n },\n };\n\n // Set default orientation based on type\n if (orientation == null) {\n orientation =\n type === 'button' || type === 'tabs' ? 'horizontal' : 'vertical';\n }\n\n // React Aria hands `form` to every radio's input as the id of its `<form>`,\n // so the form instance would render as `form=\"[object Object]\"` on each.\n let { radioGroupProps, labelProps } = useRadioGroup(\n { ...props, orientation, form: undefined },\n state,\n );\n\n let { onKeyDown: onArrowKey, ...groupProps } = radioGroupProps;\n let onKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n isArrowKeyRef.current = true;\n onArrowKey?.(event);\n isArrowKeyRef.current = false;\n };\n\n // Keyboard-only focus ring on the group container (button/tabs layouts).\n // `within: true` tracks focus on any descendant radio. We read\n // `isFocusVisible` (not `isFocused`), which is keyboard-gated — mouse\n // clicks on a radio focus the input but leave `isFocusVisible` false.\n let { isFocusVisible: isFocusWithinVisible, focusProps: groupFocusProps } =\n useFocusRing({ within: true });\n\n let radioGroup = (\n <RadioGroupElement\n // On the group, not on the field wrapper: without a visible label there\n // is no wrapper, and the group would lose its role, its name, the arrow\n // keys and its focus handling with it.\n {...mergeProps(groupProps, groupFocusProps)}\n onKeyDown={onKeyDown}\n // `useRadioGroup` seeds its id once; the current one follows the form\n // binding.\n id={id}\n qa={qa || 'RadioGroup'}\n styles={styles}\n data-input-type=\"radiogroup\"\n data-radio-button-group={type === 'button' ? '' : undefined}\n mods={{\n horizontal: orientation === 'horizontal',\n 'inside-form': insideForm,\n 'side-label': labelPosition === 'side',\n button: type === 'button',\n tabs: type === 'tabs',\n focused: isFocusWithinVisible,\n }}\n >\n <FormScopeMask\n value={{\n isRequired,\n isInvalid,\n isValid,\n isDisabled,\n }}\n >\n <RadioContext.Provider\n value={{\n state,\n name: props.name,\n size,\n buttonType,\n type,\n isDisabled,\n }}\n >\n {children}\n </RadioContext.Provider>\n </FormScopeMask>\n </RadioGroupElement>\n );\n\n return wrapWithField(radioGroup, domRef, {\n ...props,\n labelProps: mergeProps(baseLabelProps, labelProps),\n });\n}\n\n/**\n * Radio groups allow users to select a single option from a list of mutually exclusive options.\n * All possible options are exposed up front for users to compare.\n */\nconst _RadioGroup = forwardRef(RadioGroup);\n\n(_RadioGroup as any).cubeInputType = 'RadioGroup';\n_RadioGroup.displayName = 'RadioGroup';\n\nexport { _RadioGroup as RadioGroup };\n"],"mappings":"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"}
1
+ {"version":3,"file":"RadioGroup.js","names":["getActiveElement","useObjectRef","BaseProps","CONTAINER_STYLES","ContainerStyleProps","Styles","tasty","forwardRef","useRef","AriaRadioGroupProps","useFocusRing","useRadioGroup","RadioGroupState","useRadioGroupState","FieldBaseProps","mergeProps","castNullableStringValue","WithNullableValue","extractStyles","CubeItemProps","FormScopeMask","useFieldProps","wrapWithField","RadioContext","KeyboardEvent","CubeRadioGroupProps","Omit","groupStyles","orientation","value","defaultValue","onChange","size","Exclude","buttonType","type","RadioGroupElement","qa","styles","display","placeItems","placeContent","flow","horizontal","padding","tabs","boxSizing","radius","fill","width","flexShrink","gap","button","whiteSpace","outline","isFocusedDisabledRadio","element","HTMLInputElement","getAttribute","RadioGroup","rawProps","ref","$","_c","t0","t1","Symbol","for","defaultValidationTrigger","props","id","isDisabled","isRequired","labelPosition","t2","isInvalid","isValid","children","insideForm","labelProps","baseLabelProps","form","otherProps","undefined","domRef","baseState","isArrowKeyRef","t3","setSelectedValue","current","state","t4","radioGroupProps","onKeyDown","onArrowKey","groupProps","t5","event","t6","within","isFocusVisible","isFocusWithinVisible","focusProps","groupFocusProps","T0","t7","t8","t9","t10","t11","t12","t13","t14","focused","t15","t16","name","t17","t18","t19","radioGroup","t20","_RadioGroup","cubeInputType","displayName"],"sources":["../../../../src/components/fields/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import { getActiveElement, useObjectRef } from '@react-aria/utils';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef, useRef } from 'react';\nimport { AriaRadioGroupProps, useFocusRing, useRadioGroup } from 'react-aria';\nimport { RadioGroupState, useRadioGroupState } from 'react-stately';\n\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport {\n castNullableStringValue,\n WithNullableValue,\n} from '../../../utils/react/nullableValue';\nimport { extractStyles } from '../../../utils/styles';\nimport { CubeItemProps } from '../../content/Item/Item';\nimport { FormScopeMask, useFieldProps, wrapWithField } from '../../form';\n\nimport { RadioContext } from './context';\n\nimport type { KeyboardEvent } from 'react';\n\nexport interface CubeRadioGroupProps\n extends BaseProps,\n Omit<AriaRadioGroupProps, 'errorMessage' | 'form' | 'name'>,\n ContainerStyleProps,\n FieldBaseProps<string | null | undefined> {\n groupStyles?: Styles;\n orientation?: 'horizontal' | 'vertical';\n value?: string;\n defaultValue?: string;\n onChange?: (value: string) => void;\n /* Size for all radio buttons in the group */\n size?: Exclude<CubeItemProps['size'], 'inline'>;\n /* Button type for all button-style radios (ignored in tabs mode). When set to 'primary', selected buttons use 'primary' and non-selected use 'outline' with isSelected appearance */\n buttonType?: CubeItemProps['type'];\n /* Visual type for all radios in the group: radio (default), button, or tabs */\n type?: 'radio' | 'button' | 'tabs';\n}\n\nconst RadioGroupElement = tasty({\n qa: 'RadioGroup',\n styles: {\n display: 'flex',\n placeItems: 'stretch',\n placeContent: 'stretch',\n flow: {\n '': 'column',\n horizontal: 'row wrap',\n 'horizontal & tabs': 'row',\n },\n padding: {\n '': '0',\n tabs: '.5x',\n },\n // The tabs layout is the only one with padding, and a caller that gives the\n // group an explicit width (`width: 100%` inside a popover, say) means the\n // box it can see. Without this the padding is added on top and the group\n // overhangs its container by `1x`.\n boxSizing: 'border-box',\n radius: true,\n fill: {\n '': '#clear',\n 'tabs | disabled': '#surface-4',\n },\n width: 'max-content max-content initial',\n flexShrink: 0,\n gap: {\n '': '1x',\n button: 0,\n tabs: '.5x',\n },\n whiteSpace: 'nowrap',\n // Keyboard focus ring on the group, shown only for button/tabs layouts\n // where individual items are visually merged (button-group) or share a\n // single chrome (tabs) — the classic vertical radio list already shows\n // a per-item focus ring on the radio circle.\n outline: {\n '': '1bw #primary-text.0 / 1bw',\n 'focused & (button | tabs)': '1bw #primary-text / 1bw',\n },\n },\n});\n\n/**\n * Whether focus rests on the radio with this value while it is disabled. Only\n * a radio kept focusable for its tooltip can be: a natively disabled one never\n * takes focus (see `Radio`).\n */\nfunction isFocusedDisabledRadio(value: string | null) {\n let element = getActiveElement();\n\n return (\n element instanceof HTMLInputElement &&\n element.type === 'radio' &&\n element.value === value &&\n element.getAttribute('aria-disabled') === 'true'\n );\n}\n\nfunction RadioGroup(rawProps: WithNullableValue<CubeRadioGroupProps>, ref) {\n let orientation = rawProps.orientation;\n\n // `null` is the radio group's own \"nothing selected\".\n rawProps = castNullableStringValue(rawProps, null);\n let props = useFieldProps(rawProps, { defaultValidationTrigger: 'onChange' });\n\n let {\n qa,\n id,\n isDisabled,\n isRequired,\n labelPosition = 'top',\n isInvalid,\n isValid,\n children,\n styles,\n groupStyles,\n insideForm,\n // orientation, // ignore orientation since it came from the form context\n labelProps: baseLabelProps,\n size,\n buttonType,\n type,\n form,\n ...otherProps\n } = props;\n let domRef = useObjectRef(ref);\n\n styles = extractStyles(otherProps, CONTAINER_STYLES, styles);\n\n let baseState = useRadioGroupState(props);\n // The arrow keys focus the next radio and select it. A disabled radio that\n // keeps focus for its tooltip is reached that way too, and has to stop the\n // selection the way a read-only group does: focus moves, the value stays.\n // Only the arrow keys: a click elsewhere or a form reset still selects.\n let isArrowKeyRef = useRef(false);\n let state: RadioGroupState = {\n ...baseState,\n setSelectedValue(value) {\n if (isArrowKeyRef.current && isFocusedDisabledRadio(value)) return;\n\n baseState.setSelectedValue(value);\n },\n };\n\n // Set default orientation based on type\n if (orientation == null) {\n orientation =\n type === 'button' || type === 'tabs' ? 'horizontal' : 'vertical';\n }\n\n // React Aria hands `form` to every radio's input as the id of its `<form>`,\n // so the form instance would render as `form=\"[object Object]\"` on each.\n let { radioGroupProps, labelProps } = useRadioGroup(\n { ...props, orientation, form: undefined },\n state,\n );\n\n let { onKeyDown: onArrowKey, ...groupProps } = radioGroupProps;\n let onKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n isArrowKeyRef.current = true;\n onArrowKey?.(event);\n isArrowKeyRef.current = false;\n };\n\n // Keyboard-only focus ring on the group container (button/tabs layouts).\n // `within: true` tracks focus on any descendant radio. We read\n // `isFocusVisible` (not `isFocused`), which is keyboard-gated — mouse\n // clicks on a radio focus the input but leave `isFocusVisible` false.\n let { isFocusVisible: isFocusWithinVisible, focusProps: groupFocusProps } =\n useFocusRing({ within: true });\n\n let radioGroup = (\n <RadioGroupElement\n // Keep semantics and keyboard handling on the group: `isBare` omits\n // the field wrapper.\n {...mergeProps(groupProps, groupFocusProps)}\n onKeyDown={onKeyDown}\n // `useRadioGroup` seeds its id once; the current one follows the form\n // binding.\n id={id}\n qa={qa || 'RadioGroup'}\n styles={styles}\n data-input-type=\"radiogroup\"\n data-radio-button-group={type === 'button' ? '' : undefined}\n mods={{\n horizontal: orientation === 'horizontal',\n 'inside-form': insideForm,\n 'side-label': labelPosition === 'side',\n button: type === 'button',\n tabs: type === 'tabs',\n focused: isFocusWithinVisible,\n }}\n >\n <FormScopeMask\n value={{\n isRequired,\n isInvalid,\n isValid,\n isDisabled,\n }}\n >\n <RadioContext.Provider\n value={{\n state,\n name: props.name,\n size,\n buttonType,\n type,\n isDisabled,\n }}\n >\n {children}\n </RadioContext.Provider>\n </FormScopeMask>\n </RadioGroupElement>\n );\n\n return wrapWithField(radioGroup, domRef, {\n ...props,\n labelProps: mergeProps(baseLabelProps, labelProps),\n });\n}\n\n/**\n * Radio groups allow users to select a single option from a list of mutually exclusive options.\n * All possible options are exposed up front for users to compare.\n */\nconst _RadioGroup = forwardRef(RadioGroup);\n\n(_RadioGroup as any).cubeInputType = 'RadioGroup';\n_RadioGroup.displayName = 'RadioGroup';\n\nexport { _RadioGroup as RadioGroup };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
 
4
4
  //#region src/components/fields/RadioGroup/context.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { usePopoverSync } from "../../../utils/react/usePopoverSync.js";
@@ -1,15 +1,20 @@
1
1
 
2
2
  import { CubeBufferedValueProps, CubeTextInputBaseProps } from "../TextInput/TextInputBase.js";
3
- import "../TextInput/index.js";
4
3
  import * as react from "react";
5
4
  import { useSearchField } from "react-aria";
6
5
  import { SearchFieldProps, useSearchFieldState } from "react-stately";
7
6
 
8
7
  //#region src/components/fields/SearchInput/SearchInput.d.ts
9
8
  interface CubeSearchInputProps extends Omit<CubeTextInputBaseProps, 'name' | 'form' | 'rules' | 'shouldUpdate' | 'validationDelay' | 'validateTrigger' | 'insideForm' | 'idPrefix' | 'validate'>, Omit<SearchFieldProps, 'onKeyDown' | 'onKeyUp' | 'errorMessage' | 'onFocus' | 'onBlur'>, CubeBufferedValueProps {
10
- /** Whether the search input is clearable using ESC keyboard button or clear button inside the input */
9
+ /**
10
+ * Whether the input shows a clear button while it has text. `Escape` clears the input whatever
11
+ * this is set to, as in a native search field.
12
+ */
11
13
  isClearable?: boolean;
12
- /** Callback called when the clear button is pressed */
14
+ /**
15
+ * Called after the text is cleared, by the clear button or by `Escape`. A clear with no text to
16
+ * remove doesn't call it.
17
+ */
13
18
  onClear?: () => void;
14
19
  }
15
20
  declare const SearchInput: react.ForwardRefExoticComponent<Omit<CubeSearchInputProps, "value" | "defaultValue"> & {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
2
2
  import { chain } from "../../../utils/react/chain.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useBufferedValue } from "../../../utils/react/useBufferedValue.js";
@@ -19,7 +19,7 @@ import { useSearchFieldState } from "react-stately";
19
19
 
20
20
  //#region src/components/fields/SearchInput/SearchInput.tsx
21
21
  const SearchInput = forwardRef(function SearchInput(props, ref) {
22
- const $ = c(29);
22
+ const $ = c(27);
23
23
  let t0;
24
24
  if ($[0] !== props) {
25
25
  t0 = castNullableStringValue(props);
@@ -29,8 +29,9 @@ const SearchInput = forwardRef(function SearchInput(props, ref) {
29
29
  props = t0;
30
30
  props = useProviderProps(props);
31
31
  props = useValidationProps(props);
32
- const { isClearable, isInvalid, isValid, onClear, labelProps: userLabelProps, inputProps: userInputProps, isBuffered, ...restProps } = props;
33
- const inputRef = useRef(null);
32
+ const { isClearable, labelProps: userLabelProps, inputProps: userInputProps, inputRef: propsInputRef, isBuffered, ...restProps } = props;
33
+ const localInputRef = useRef(null);
34
+ const inputRef = propsInputRef ?? localInputRef;
34
35
  const buffered = useBufferedValue(restProps.value, restProps.onChange, {
35
36
  isBuffered,
36
37
  isDisabled: restProps.isDisabled,
@@ -78,7 +79,7 @@ const SearchInput = forwardRef(function SearchInput(props, ref) {
78
79
  $[13] = t7;
79
80
  } else t7 = $[13];
80
81
  let t8;
81
- if ($[14] !== clearButtonProps || $[15] !== onClear || $[16] !== restProps.isDisabled || $[17] !== restProps.size || $[18] !== restProps.suffix || $[19] !== showClearButton) {
82
+ if ($[14] !== clearButtonProps || $[15] !== restProps.isDisabled || $[16] !== restProps.size || $[17] !== restProps.suffix || $[18] !== showClearButton) {
82
83
  t8 = restProps.suffix || showClearButton ? /* @__PURE__ */ jsxs(Fragment$1, { children: [restProps.suffix, showClearButton && (() => {
83
84
  const { isDisabled: ariaIsDisabled, ...clearProps } = ariaToCubeButtonProps(clearButtonProps);
84
85
  return /* @__PURE__ */ jsx(ItemActionProvider, {
@@ -87,24 +88,19 @@ const SearchInput = forwardRef(function SearchInput(props, ref) {
87
88
  icon: /* @__PURE__ */ jsx(CloseIcon, {}),
88
89
  size: restProps.size,
89
90
  ...clearProps,
90
- isDisabled: ariaIsDisabled && !restProps.isDisabled ? true : void 0,
91
- onPress: (e) => {
92
- clearButtonProps.onPress?.(e);
93
- onClear?.();
94
- }
91
+ isDisabled: ariaIsDisabled && !restProps.isDisabled ? true : void 0
95
92
  })
96
93
  });
97
94
  })()] }) : void 0;
98
95
  $[14] = clearButtonProps;
99
- $[15] = onClear;
100
- $[16] = restProps.isDisabled;
101
- $[17] = restProps.size;
102
- $[18] = restProps.suffix;
103
- $[19] = showClearButton;
104
- $[20] = t8;
105
- } else t8 = $[20];
96
+ $[15] = restProps.isDisabled;
97
+ $[16] = restProps.size;
98
+ $[17] = restProps.suffix;
99
+ $[18] = showClearButton;
100
+ $[19] = t8;
101
+ } else t8 = $[19];
106
102
  let t9;
107
- if ($[21] !== isInvalid || $[22] !== isValid || $[23] !== mergedLabelProps || $[24] !== ref || $[25] !== restProps || $[26] !== t6 || $[27] !== t8) {
103
+ if ($[20] !== inputRef || $[21] !== mergedLabelProps || $[22] !== ref || $[23] !== restProps || $[24] !== t6 || $[25] !== t8) {
108
104
  t9 = /* @__PURE__ */ jsx(TextInputBase, {
109
105
  ref,
110
106
  labelProps: mergedLabelProps,
@@ -113,20 +109,17 @@ const SearchInput = forwardRef(function SearchInput(props, ref) {
113
109
  type: "search",
114
110
  icon: t7,
115
111
  suffixPosition: "after",
116
- isInvalid,
117
- isValid,
118
112
  ...restProps,
119
113
  suffix: t8
120
114
  });
121
- $[21] = isInvalid;
122
- $[22] = isValid;
123
- $[23] = mergedLabelProps;
124
- $[24] = ref;
125
- $[25] = restProps;
126
- $[26] = t6;
127
- $[27] = t8;
128
- $[28] = t9;
129
- } else t9 = $[28];
115
+ $[20] = inputRef;
116
+ $[21] = mergedLabelProps;
117
+ $[22] = ref;
118
+ $[23] = restProps;
119
+ $[24] = t6;
120
+ $[25] = t8;
121
+ $[26] = t9;
122
+ } else t9 = $[26];
130
123
  return t9;
131
124
  });
132
125
 
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.js","names":["forwardRef","useRef","useSearchField","SearchFieldProps","useSearchFieldState","CloseIcon","SearchIcon","useProviderProps","chain","mergeProps","useBufferedValue","ariaToCubeButtonProps","castNullableStringValue","WithNullableValue","ItemAction","ItemActionProvider","useValidationProps","CubeBufferedValueProps","CubeTextInputBaseProps","TextInputBase","CubeSearchInputProps","Omit","isClearable","onClear","SearchInput","props","ref","$","_c","t0","isInvalid","isValid","labelProps","userLabelProps","inputProps","userInputProps","isBuffered","restProps","inputRef","buffered","value","onChange","isDisabled","isReadOnly","t1","t2","t3","onBlur","reset","t4","fieldProps","state","clearButtonProps","showClearButton","t5","mergedLabelProps","t6","t7","Symbol","for","t8","size","suffix","ariaIsDisabled","clearProps","undefined","e","onPress","t9"],"sources":["../../../../src/components/fields/SearchInput/SearchInput.tsx"],"sourcesContent":["import { forwardRef, useRef } from 'react';\nimport { useSearchField } from 'react-aria';\nimport { SearchFieldProps, useSearchFieldState } from 'react-stately';\n\nimport { CloseIcon } from '../../../icons/CloseIcon';\nimport { SearchIcon } from '../../../icons/SearchIcon';\nimport { useProviderProps } from '../../../provider';\nimport { chain, mergeProps, useBufferedValue } from '../../../utils/react';\nimport { ariaToCubeButtonProps } from '../../../utils/react/mapProps';\nimport {\n castNullableStringValue,\n WithNullableValue,\n} from '../../../utils/react/nullableValue';\nimport { ItemAction, ItemActionProvider } from '../../actions';\nimport { useValidationProps } from '../../form';\nimport {\n CubeBufferedValueProps,\n CubeTextInputBaseProps,\n TextInputBase,\n} from '../TextInput';\n\nexport { useSearchFieldState, useSearchField };\nexport type { SearchFieldProps };\n\nexport interface CubeSearchInputProps\n extends Omit<\n CubeTextInputBaseProps,\n // SearchInput is not form-connected: it holds no persistent value, so\n // form-binding and form-validation props are excluded from the public API.\n | 'name'\n | 'form'\n | 'rules'\n | 'shouldUpdate'\n | 'validationDelay'\n | 'validateTrigger'\n | 'insideForm'\n | 'idPrefix'\n | 'validate'\n >,\n Omit<\n SearchFieldProps,\n 'onKeyDown' | 'onKeyUp' | 'errorMessage' | 'onFocus' | 'onBlur'\n >,\n CubeBufferedValueProps {\n /** Whether the search input is clearable using ESC keyboard button or clear button inside the input */\n isClearable?: boolean;\n /** Callback called when the clear button is pressed */\n onClear?: () => void;\n}\n\nexport const SearchInput = forwardRef(function SearchInput(\n props: WithNullableValue<CubeSearchInputProps>,\n ref,\n) {\n props = castNullableStringValue(props);\n // SearchInput is a standalone control, not a form field, so it does not use `useFieldProps`.\n props = useProviderProps(props);\n props = useValidationProps(props);\n\n let {\n isClearable,\n isInvalid,\n isValid,\n onClear,\n labelProps: userLabelProps,\n inputProps: userInputProps,\n isBuffered,\n ...restProps\n } = props;\n\n let inputRef = useRef<HTMLInputElement>(null);\n\n // Hold the typed text locally until the controlled value catches up — see `useBufferedValue`.\n // Applied before the state hook, so `state.value` (and the clear button) follow the draft.\n let buffered = useBufferedValue(restProps.value, restProps.onChange, {\n isBuffered,\n isDisabled: restProps.isDisabled,\n isReadOnly: restProps.isReadOnly,\n });\n let fieldProps = {\n ...restProps,\n value: buffered.value,\n onChange: buffered.onChange,\n onBlur: chain(restProps.onBlur, buffered.reset),\n };\n\n let state = useSearchFieldState(fieldProps);\n let { labelProps, inputProps, clearButtonProps } = useSearchField(\n fieldProps,\n state,\n inputRef,\n );\n let showClearButton =\n isClearable && state.value !== '' && !restProps.isReadOnly;\n\n // Merge user-provided labelProps with aria labelProps\n const mergedLabelProps = mergeProps(labelProps, userLabelProps);\n\n return (\n <TextInputBase\n ref={ref}\n labelProps={mergedLabelProps}\n inputProps={mergeProps(\n inputProps,\n { 'data-input-type': 'searchinput' },\n userInputProps,\n )}\n inputRef={inputRef}\n type=\"search\"\n icon={<SearchIcon />}\n suffixPosition=\"after\"\n isInvalid={isInvalid}\n isValid={isValid}\n {...restProps}\n suffix={\n restProps.suffix || showClearButton ? (\n <>\n {restProps.suffix}\n {showClearButton &&\n (() => {\n const { isDisabled: ariaIsDisabled, ...clearProps } =\n ariaToCubeButtonProps(clearButtonProps);\n\n return (\n // A disabled FIELD goes through the provider so `current` treats\n // the state as inherited: the field has already faded the colour\n // the button paints from, and fading again multiplied the two to\n // `.12` — all but invisible. Any OTHER reason react-aria\n // disables the button (read-only) leaves the field's text\n // opaque, so that one stays a prop and fades itself.\n <ItemActionProvider isDisabled={restProps.isDisabled}>\n <ItemAction\n icon={<CloseIcon />}\n size={restProps.size}\n // No `type` or `theme` — the default `current` type inherits\n // the input's own text color, which already carries\n // validation state.\n {...clearProps}\n isDisabled={\n ariaIsDisabled && !restProps.isDisabled\n ? true\n : undefined\n }\n onPress={(e) => {\n // Call the original clear functionality\n clearButtonProps.onPress?.(e);\n // Call the onClear callback\n onClear?.();\n }}\n />\n </ItemActionProvider>\n );\n })()}\n </>\n ) : undefined\n }\n />\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"SearchInput.js","names":["forwardRef","RefObject","useRef","useSearchField","SearchFieldProps","useSearchFieldState","CloseIcon","SearchIcon","useProviderProps","chain","mergeProps","useBufferedValue","ariaToCubeButtonProps","castNullableStringValue","WithNullableValue","ItemAction","ItemActionProvider","useValidationProps","CubeBufferedValueProps","CubeTextInputBaseProps","TextInputBase","CubeSearchInputProps","Omit","isClearable","onClear","SearchInput","props","ref","$","_c","t0","labelProps","userLabelProps","inputProps","userInputProps","inputRef","propsInputRef","isBuffered","restProps","localInputRef","HTMLInputElement","buffered","value","onChange","isDisabled","isReadOnly","t1","t2","t3","onBlur","reset","t4","fieldProps","state","clearButtonProps","showClearButton","t5","mergedLabelProps","t6","t7","Symbol","for","t8","size","suffix","ariaIsDisabled","clearProps","undefined","t9"],"sources":["../../../../src/components/fields/SearchInput/SearchInput.tsx"],"sourcesContent":["import { forwardRef, RefObject, useRef } from 'react';\nimport { useSearchField } from 'react-aria';\nimport { SearchFieldProps, useSearchFieldState } from 'react-stately';\n\nimport { CloseIcon } from '../../../icons/CloseIcon';\nimport { SearchIcon } from '../../../icons/SearchIcon';\nimport { useProviderProps } from '../../../provider';\nimport { chain, mergeProps, useBufferedValue } from '../../../utils/react';\nimport { ariaToCubeButtonProps } from '../../../utils/react/mapProps';\nimport {\n castNullableStringValue,\n WithNullableValue,\n} from '../../../utils/react/nullableValue';\nimport { ItemAction } from '../../actions/ItemAction/ItemAction';\nimport { ItemActionProvider } from '../../actions/ItemActionContext';\nimport { useValidationProps } from '../../form';\nimport {\n CubeBufferedValueProps,\n CubeTextInputBaseProps,\n TextInputBase,\n} from '../TextInput/TextInputBase';\n\nexport { useSearchFieldState, useSearchField };\nexport type { SearchFieldProps };\n\nexport interface CubeSearchInputProps\n extends Omit<\n CubeTextInputBaseProps,\n // SearchInput is not form-connected: it holds no persistent value, so\n // form-binding and form-validation props are excluded from the public API.\n | 'name'\n | 'form'\n | 'rules'\n | 'shouldUpdate'\n | 'validationDelay'\n | 'validateTrigger'\n | 'insideForm'\n | 'idPrefix'\n | 'validate'\n >,\n Omit<\n SearchFieldProps,\n 'onKeyDown' | 'onKeyUp' | 'errorMessage' | 'onFocus' | 'onBlur'\n >,\n CubeBufferedValueProps {\n /**\n * Whether the input shows a clear button while it has text. `Escape` clears the input whatever\n * this is set to, as in a native search field.\n */\n isClearable?: boolean;\n /**\n * Called after the text is cleared, by the clear button or by `Escape`. A clear with no text to\n * remove doesn't call it.\n */\n onClear?: () => void;\n}\n\nexport const SearchInput = forwardRef(function SearchInput(\n props: WithNullableValue<CubeSearchInputProps>,\n ref,\n) {\n props = castNullableStringValue(props);\n // SearchInput is a standalone control, not a form field, so it does not use `useFieldProps`.\n props = useProviderProps(props);\n props = useValidationProps(props);\n\n let {\n isClearable,\n labelProps: userLabelProps,\n inputProps: userInputProps,\n inputRef: propsInputRef,\n isBuffered,\n ...restProps\n } = props;\n\n let localInputRef = useRef<HTMLInputElement>(null);\n // The hook and the caller have to see the same element: the clear button\n // hands focus back to the input through this ref.\n let inputRef = (propsInputRef ??\n localInputRef) as RefObject<HTMLInputElement | null>;\n\n // Hold the typed text locally until the controlled value catches up — see `useBufferedValue`.\n // Applied before the state hook, so `state.value` (and the clear button) follow the draft.\n let buffered = useBufferedValue(restProps.value, restProps.onChange, {\n isBuffered,\n isDisabled: restProps.isDisabled,\n isReadOnly: restProps.isReadOnly,\n });\n let fieldProps = {\n ...restProps,\n value: buffered.value,\n onChange: buffered.onChange,\n onBlur: chain(restProps.onBlur, buffered.reset),\n };\n\n let state = useSearchFieldState(fieldProps);\n let { labelProps, inputProps, clearButtonProps } = useSearchField(\n fieldProps,\n state,\n inputRef,\n );\n let showClearButton =\n isClearable && state.value !== '' && !restProps.isReadOnly;\n\n // Merge user-provided labelProps with aria labelProps\n const mergedLabelProps = mergeProps(labelProps, userLabelProps);\n\n return (\n <TextInputBase\n ref={ref}\n labelProps={mergedLabelProps}\n inputProps={mergeProps(\n inputProps,\n { 'data-input-type': 'searchinput' },\n userInputProps,\n )}\n inputRef={inputRef}\n type=\"search\"\n icon={<SearchIcon />}\n suffixPosition=\"after\"\n {...restProps}\n suffix={\n restProps.suffix || showClearButton ? (\n <>\n {restProps.suffix}\n {showClearButton &&\n (() => {\n const { isDisabled: ariaIsDisabled, ...clearProps } =\n ariaToCubeButtonProps(clearButtonProps);\n\n return (\n // A disabled FIELD goes through the provider so `current` treats\n // the state as inherited: the field has already faded the colour\n // the button paints from, and fading again multiplied the two to\n // `.12` — all but invisible. Any OTHER reason react-aria\n // disables the button (read-only) leaves the field's text\n // opaque, so that one stays a prop and fades itself.\n <ItemActionProvider isDisabled={restProps.isDisabled}>\n <ItemAction\n icon={<CloseIcon />}\n size={restProps.size}\n // No `type` or `theme` — the default `current` type inherits\n // the input's own text color, which already carries\n // validation state.\n {...clearProps}\n isDisabled={\n ariaIsDisabled && !restProps.isDisabled\n ? true\n : undefined\n }\n />\n </ItemActionProvider>\n );\n })()}\n </>\n ) : undefined\n }\n />\n );\n});\n"],"mappings":"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"}
@@ -48,9 +48,18 @@ interface CubeSelectBaseProps<T> extends BasePropsWithoutChildren, AriaLabelingP
48
48
  auto?: boolean;
49
49
  });
50
50
  triggerRef?: RefObject<HTMLButtonElement>;
51
+ /**
52
+ * Shows a loading indicator in the trigger. The value can't change while
53
+ * loading: the list doesn't open and typeahead is ignored.
54
+ */
51
55
  isLoading?: boolean;
56
+ /** Replaces the default loading icon shown while `isLoading` is set. */
52
57
  loadingIndicator?: ReactNode;
53
58
  overlayOffset?: number;
59
+ /**
60
+ * @deprecated Has no effect: the whole Select is its trigger. To hide the
61
+ * dropdown caret, pass `rightIcon={null}`.
62
+ */
54
63
  hideTrigger?: boolean;
55
64
  /**
56
65
  * @deprecated Use `triggerStyles` instead
@@ -86,6 +95,7 @@ interface CubeSelectBaseProps<T> extends BasePropsWithoutChildren, AriaLabelingP
86
95
  shouldFlip?: boolean;
87
96
  /** Minimum padding in pixels between the popover and viewport edges */
88
97
  containerPadding?: number;
98
+ /** Additional props for the trigger button element. */
89
99
  inputProps?: Props;
90
100
  type?: 'outline' | 'outline-2' | 'clear' | 'primary' | (string & {});
91
101
  /**
@@ -121,7 +131,8 @@ interface CubeSelectBaseProps<T> extends BasePropsWithoutChildren, AriaLabelingP
121
131
  onOpenChange?: (isOpen: boolean) => void;
122
132
  }
123
133
  interface CubeSelectProps<T> extends CubeSelectBaseProps<T> {
124
- popoverRef?: RefObject<HTMLInputElement>;
134
+ /** The ref for the popover element. */
135
+ popoverRef?: RefObject<HTMLElement | null>;
125
136
  /** The ref for the list box. */
126
137
  listBoxRef?: RefObject<HTMLElement>;
127
138
  size?: 'small' | 'medium' | 'large' | (string & {});