@cube-dev/ui-kit 0.0.0-canary-bef9600 → 0.0.0-canary-3908511

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 (666) hide show
  1. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  2. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  3. package/dist/_internal/hooks/use-event.js +1 -1
  4. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  5. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  6. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  7. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  8. package/dist/_internal/hooks/use-warn.js +1 -1
  9. package/dist/components/Block.js +1 -1
  10. package/dist/components/CollectionItem.js +1 -1
  11. package/dist/components/GlobalStyles.js +1 -1
  12. package/dist/components/GridProvider.js +1 -1
  13. package/dist/components/HiddenInput.js +1 -1
  14. package/dist/components/Root.d.ts +0 -6
  15. package/dist/components/Root.js +102 -125
  16. package/dist/components/Root.js.map +1 -1
  17. package/dist/components/actions/Action/Action.js +1 -1
  18. package/dist/components/actions/Banner/Banner.js +1 -1
  19. package/dist/components/actions/Button/Button.js +11 -5
  20. package/dist/components/actions/Button/Button.js.map +1 -1
  21. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  22. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  23. package/dist/components/actions/ButtonSplit/context.js +1 -1
  24. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  25. package/dist/components/actions/CommandMenu/styled.js +1 -1
  26. package/dist/components/actions/ItemAction/ItemAction.js +27 -25
  27. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  28. package/dist/components/actions/ItemActionContext.js +1 -1
  29. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  30. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  31. package/dist/components/actions/Link/Link.js +1 -1
  32. package/dist/components/actions/Menu/Menu.js +1 -1
  33. package/dist/components/actions/Menu/MenuCollectionItem.js +4 -7
  34. package/dist/components/actions/Menu/MenuCollectionItem.js.map +1 -1
  35. package/dist/components/actions/Menu/MenuItem.js +60 -69
  36. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  37. package/dist/components/actions/Menu/MenuSection.js +1 -1
  38. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  39. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  40. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  41. package/dist/components/actions/Menu/context.js +1 -1
  42. package/dist/components/actions/Menu/styled.js +1 -4
  43. package/dist/components/actions/Menu/styled.js.map +1 -1
  44. package/dist/components/actions/actions-run.js +1 -1
  45. package/dist/components/actions/index.js +1 -1
  46. package/dist/components/actions/use-action.js +14 -15
  47. package/dist/components/actions/use-action.js.map +1 -1
  48. package/dist/components/actions/use-anchored-menu.js +1 -1
  49. package/dist/components/actions/use-context-menu.js +1 -1
  50. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  51. package/dist/components/content/Alert/Alert.js +1 -1
  52. package/dist/components/content/Alert/use-alert.js +1 -1
  53. package/dist/components/content/Avatar/Avatar.js +1 -1
  54. package/dist/components/content/Badge/Badge.js +1 -1
  55. package/dist/components/content/Card/Card.js +1 -1
  56. package/dist/components/content/Content.js +1 -1
  57. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  58. package/dist/components/content/CopySnippet/CopySnippet.d.ts +8 -8
  59. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  60. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  61. package/dist/components/content/Divider.js +1 -1
  62. package/dist/components/content/Footer.js +1 -1
  63. package/dist/components/content/Header.js +1 -1
  64. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  65. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  66. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  67. package/dist/components/content/Item/Item.js +4 -16
  68. package/dist/components/content/Item/Item.js.map +1 -1
  69. package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
  70. package/dist/components/content/ItemBadge/ItemBadge.js +7 -3
  71. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  72. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  73. package/dist/components/content/Layout/GridLayout.js +1 -1
  74. package/dist/components/content/Layout/Layout.js +28 -15
  75. package/dist/components/content/Layout/Layout.js.map +1 -1
  76. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  77. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  78. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  79. package/dist/components/content/Layout/LayoutContent.js +1 -1
  80. package/dist/components/content/Layout/LayoutContext.js +20 -10
  81. package/dist/components/content/Layout/LayoutContext.js.map +1 -1
  82. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  83. package/dist/components/content/Layout/LayoutFooter.js +12 -9
  84. package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
  85. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  86. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  87. package/dist/components/content/Layout/LayoutPane.js +1 -1
  88. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  89. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  90. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  91. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  92. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  93. package/dist/components/content/Layout/index.js +1 -1
  94. package/dist/components/content/Layout/utils.js +1 -1
  95. package/dist/components/content/Paragraph.js +1 -1
  96. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  97. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  98. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  99. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  100. package/dist/components/content/Result/Result.js +1 -1
  101. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  102. package/dist/components/content/Tag/Tag.js +1 -1
  103. package/dist/components/content/Text.d.ts +14 -14
  104. package/dist/components/content/Text.js +1 -1
  105. package/dist/components/content/TextItem/TextItem.js +1 -1
  106. package/dist/components/content/Title.js +1 -1
  107. package/dist/components/content/Tree/Tree.js +1 -1
  108. package/dist/components/content/Tree/TreeNode.js +1 -1
  109. package/dist/components/content/Tree/styled.js +1 -1
  110. package/dist/components/content/Tree/tree-index.js +1 -1
  111. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  112. package/dist/components/content/Tree/use-load-data.js +1 -1
  113. package/dist/components/content/highlightText.js +1 -1
  114. package/dist/components/content/use-auto-tooltip.js +3 -3
  115. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  116. package/dist/components/data/DataTable/DataTable.js +1 -1
  117. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  118. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  119. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  120. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  121. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  122. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  123. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  124. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  125. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  126. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  127. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  128. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  129. package/dist/components/data/TableBase/RowCollection.js +1 -1
  130. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  131. package/dist/components/data/TableBase/TableRow.js +1 -1
  132. package/dist/components/data/TableBase/TableView.js +1 -1
  133. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  134. package/dist/components/data/TableBase/column-header.js +1 -1
  135. package/dist/components/data/TableBase/column-menu.js +1 -1
  136. package/dist/components/data/TableBase/column-styles.js +1 -1
  137. package/dist/components/data/TableBase/column-tint.js +1 -1
  138. package/dist/components/data/TableBase/row-menu.js +1 -1
  139. package/dist/components/data/TableBase/styled.js +1 -1
  140. package/dist/components/data/TableBase/table-tree.js +1 -1
  141. package/dist/components/data/TableBase/types.js +1 -1
  142. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  143. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  144. package/dist/components/data/TableBase/use-column-order.js +1 -1
  145. package/dist/components/data/TableBase/use-column-window.js +1 -1
  146. package/dist/components/data/TableBase/use-container-width.js +1 -1
  147. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  148. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  149. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  150. package/dist/components/data/TableBase/use-table-search.js +1 -1
  151. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  152. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  153. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  154. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  155. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  156. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  157. package/dist/components/fields/Checkbox/Checkbox.js +2 -2
  158. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  159. package/dist/components/fields/Checkbox/CheckboxGroup.js +5 -5
  160. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  161. package/dist/components/fields/Checkbox/context.js +1 -1
  162. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  163. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  164. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  165. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  166. package/dist/components/fields/ComboBox/ComboBox.d.ts +26 -6
  167. package/dist/components/fields/ComboBox/ComboBox.js +1095 -619
  168. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  169. package/dist/components/fields/ComboBox/comboBoxOptions.js +84 -0
  170. package/dist/components/fields/ComboBox/comboBoxOptions.js.map +1 -0
  171. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  172. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  173. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  174. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  175. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  176. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  177. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  178. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  179. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  180. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  181. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  182. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  183. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  184. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  185. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  186. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  187. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  188. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  189. package/dist/components/fields/DatePicker/parseDate.d.ts +0 -7
  190. package/dist/components/fields/DatePicker/parseDate.js +3 -17
  191. package/dist/components/fields/DatePicker/parseDate.js.map +1 -1
  192. package/dist/components/fields/DatePicker/period.js +1 -1
  193. package/dist/components/fields/DatePicker/props.js +1 -1
  194. package/dist/components/fields/DatePicker/utils.js +1 -1
  195. package/dist/components/fields/FileInput/FileInput.js +1 -1
  196. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  197. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  198. package/dist/components/fields/Input/Input.d.ts +2 -2
  199. package/dist/components/fields/Input/Input.js +2 -2
  200. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  201. package/dist/components/fields/ListBox/ListBox.d.ts +10 -4
  202. package/dist/components/fields/ListBox/ListBox.js +293 -143
  203. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  204. package/dist/components/fields/ListBox/optionId.js +1 -1
  205. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +15 -12
  206. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  207. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  208. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  209. package/dist/components/fields/NumberInput/NumberInput.d.ts +0 -7
  210. package/dist/components/fields/NumberInput/NumberInput.js +136 -128
  211. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  212. package/dist/components/fields/NumberInput/StepButton.js +38 -48
  213. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  214. package/dist/components/fields/PasswordInput/PasswordInput.d.ts +1 -2
  215. package/dist/components/fields/PasswordInput/PasswordInput.js +77 -111
  216. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  217. package/dist/components/fields/Picker/Picker.d.ts +1 -1
  218. package/dist/components/fields/Picker/Picker.js +8 -3
  219. package/dist/components/fields/Picker/Picker.js.map +1 -1
  220. package/dist/components/fields/RadioGroup/Radio.d.ts +12 -12
  221. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  222. package/dist/components/fields/RadioGroup/RadioGroup.js +2 -2
  223. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  224. package/dist/components/fields/RadioGroup/context.js +1 -1
  225. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  226. package/dist/components/fields/SearchInput/SearchInput.d.ts +8 -3
  227. package/dist/components/fields/SearchInput/SearchInput.js +22 -29
  228. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  229. package/dist/components/fields/Select/Select.d.ts +12 -1
  230. package/dist/components/fields/Select/Select.js +365 -207
  231. package/dist/components/fields/Select/Select.js.map +1 -1
  232. package/dist/components/fields/Slider/Gradation.js +1 -1
  233. package/dist/components/fields/Slider/HueSlider.js +1 -1
  234. package/dist/components/fields/Slider/RangeSlider.js +3 -4
  235. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  236. package/dist/components/fields/Slider/Slider.js +1 -1
  237. package/dist/components/fields/Slider/SliderBase.js +1 -1
  238. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  239. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  240. package/dist/components/fields/Slider/elements.js +1 -1
  241. package/dist/components/fields/Slider/index.js +1 -1
  242. package/dist/components/fields/Switch/Switch.js +1 -1
  243. package/dist/components/fields/TagInput/TagInput.js +1 -1
  244. package/dist/components/fields/TagInput/TagList.js +1 -1
  245. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  246. package/dist/components/fields/TagInput/useTagError.js +1 -1
  247. package/dist/components/fields/TextArea/TextArea.d.ts +0 -1
  248. package/dist/components/fields/TextArea/TextArea.js +49 -63
  249. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  250. package/dist/components/fields/TextInput/TextInput.d.ts +1 -1
  251. package/dist/components/fields/TextInput/TextInput.js +42 -46
  252. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  253. package/dist/components/fields/TextInput/TextInputBase.d.ts +6 -2
  254. package/dist/components/fields/TextInput/TextInputBase.js +32 -10
  255. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  256. package/dist/components/fields/TextInput/displayed-validation.js +50 -0
  257. package/dist/components/fields/TextInput/displayed-validation.js.map +1 -0
  258. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  259. package/dist/components/fields/TextInputMapper/TextInputMapper.js +2 -2
  260. package/dist/components/fields/TriggerActions.js +1 -1
  261. package/dist/components/fields/color/ColorPanel.js +1 -1
  262. package/dist/components/fields/color/channels.js +1 -1
  263. package/dist/components/fields/color/color.js +1 -1
  264. package/dist/components/fields/color/context.js +1 -1
  265. package/dist/components/fields/index.d.ts +2 -2
  266. package/dist/components/fields/option-origin-press.js +78 -0
  267. package/dist/components/fields/option-origin-press.js.map +1 -0
  268. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  269. package/dist/components/form/FieldWrapper/field-description.js +1 -1
  270. package/dist/components/form/Form/Field.js +1 -1
  271. package/dist/components/form/Form/Form.js +1 -1
  272. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  273. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  274. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  275. package/dist/components/form/Form/SubmitError.js +1 -1
  276. package/dist/components/form/Form/backend.js +1 -1
  277. package/dist/components/form/Form/index.js +1 -1
  278. package/dist/components/form/Form/modern/actions.js +1 -1
  279. package/dist/components/form/Form/modern/context.js +1 -1
  280. package/dist/components/form/Form/modern/controller.js +1 -1
  281. package/dist/components/form/Form/modern/field-binding.js +1 -1
  282. package/dist/components/form/Form/modern/field.js +1 -1
  283. package/dist/components/form/Form/modern/react.js +1 -1
  284. package/dist/components/form/Form/modern/store.js +1 -1
  285. package/dist/components/form/Form/modern/validation.js +1 -1
  286. package/dist/components/form/Form/modern/values.js +1 -1
  287. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  288. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  289. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  290. package/dist/components/form/Form/use-field/use-field.js +1 -1
  291. package/dist/components/form/Form/use-form.js +1 -1
  292. package/dist/components/form/Form/validation.js +1 -1
  293. package/dist/components/form/Label.js +1 -1
  294. package/dist/components/form/field-chrome.js +1 -1
  295. package/dist/components/form/legacy-tooltip.js +1 -1
  296. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  297. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  298. package/dist/components/form/validation/use-validation-props.js +1 -1
  299. package/dist/components/form/wrapper.js +1 -1
  300. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  301. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  302. package/dist/components/layout/Flex.js +1 -1
  303. package/dist/components/layout/Flow.js +1 -1
  304. package/dist/components/layout/Grid.js +1 -1
  305. package/dist/components/layout/Panel.js +1 -1
  306. package/dist/components/layout/Prefix.js +1 -1
  307. package/dist/components/layout/ResizablePanel.js +1 -1
  308. package/dist/components/layout/Space.js +1 -1
  309. package/dist/components/layout/Suffix.js +1 -1
  310. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  311. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  312. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  313. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  314. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  315. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  316. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  317. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  318. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  319. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  320. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  321. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  322. package/dist/components/navigation/Tabs/styled.js +1 -1
  323. package/dist/components/navigation/Tabs/types.js +1 -1
  324. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  325. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  326. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  327. package/dist/components/other/Calendar/Calendar.js +1 -1
  328. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  329. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  330. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  331. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  332. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  333. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  334. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  335. package/dist/components/other/Calendar/styled.js +1 -1
  336. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  337. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  338. package/dist/components/overlays/AlertDialog/AlertDialog.d.ts +6 -1
  339. package/dist/components/overlays/AlertDialog/AlertDialog.js +3 -2
  340. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  341. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +3 -2
  342. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
  343. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  344. package/dist/components/overlays/Dialog/Dialog.js +28 -14
  345. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  346. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  347. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  348. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +7 -3
  349. package/dist/components/overlays/Dialog/DialogTrigger.js +149 -132
  350. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  351. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  352. package/dist/components/overlays/Dialog/context.js +1 -1
  353. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  354. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  355. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  356. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +83 -0
  357. package/dist/components/overlays/Dialog/use-dialog-open-sync.js.map +1 -0
  358. package/dist/components/overlays/Modal/Modal.js +1 -1
  359. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  360. package/dist/components/overlays/Modal/Overlay.js +3 -2
  361. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  362. package/dist/components/overlays/Modal/Popover.js +1 -1
  363. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  364. package/dist/components/overlays/Modal/Tray.js +1 -1
  365. package/dist/components/overlays/Modal/Underlay.js +1 -1
  366. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  367. package/dist/components/overlays/Notifications/Notification.js +1 -1
  368. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  369. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  370. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  371. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  372. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  373. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  374. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  375. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  376. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  377. package/dist/components/overlays/Notifications/index.js +1 -1
  378. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  379. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  380. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  381. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  382. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  383. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  384. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  385. package/dist/components/overlays/Toast/index.js +1 -1
  386. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  387. package/dist/components/overlays/Toast/useToast.js +1 -1
  388. package/dist/components/overlays/Tooltip/Tooltip.d.ts +8 -0
  389. package/dist/components/overlays/Tooltip/Tooltip.js +16 -22
  390. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  391. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  392. package/dist/components/overlays/Tooltip/TooltipTrigger.d.ts +1 -1
  393. package/dist/components/overlays/Tooltip/TooltipTrigger.js +163 -113
  394. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  395. package/dist/components/overlays/Tooltip/context.js +1 -1
  396. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  397. package/dist/components/overlays/Tooltip/split-trigger-props.js +6 -5
  398. package/dist/components/overlays/Tooltip/split-trigger-props.js.map +1 -1
  399. package/dist/components/portal/Portal.js +1 -1
  400. package/dist/components/portal/PortalProvider.js +1 -1
  401. package/dist/components/portal/usePortal.js +1 -1
  402. package/dist/components/shared/DraggableCollection.js +1 -1
  403. package/dist/components/shared/InvalidIcon.js +1 -1
  404. package/dist/components/shared/ValidIcon.js +1 -1
  405. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  406. package/dist/components/status/Spin/Cube.js +1 -1
  407. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  408. package/dist/components/status/Spin/Spin.js +1 -1
  409. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  410. package/dist/data/item-themes.js +1 -1
  411. package/dist/data/themes.js +1 -1
  412. package/dist/eslint-plugin/defaults.generated.js +11 -17
  413. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  414. package/dist/eslint-plugin/index.js +1 -1
  415. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  416. package/dist/i18n/I18nProvider.js +1 -1
  417. package/dist/i18n/createFormatter.js +1 -1
  418. package/dist/i18n/index.js +1 -1
  419. package/dist/i18n/instance.js +1 -1
  420. package/dist/i18n/locales/de-DE/uikit.js +6 -4
  421. package/dist/i18n/locales/en-US/uikit.js +6 -4
  422. package/dist/i18n/locales/en-US/uikit.json.d.ts +3 -1
  423. package/dist/i18n/locales/es-ES/uikit.js +6 -4
  424. package/dist/i18n/locales/es-MX/uikit.js +6 -4
  425. package/dist/i18n/locales/fr-FR/uikit.js +6 -4
  426. package/dist/i18n/locales/it-IT/uikit.js +6 -4
  427. package/dist/i18n/locales/ja-JP/uikit.js +6 -4
  428. package/dist/i18n/locales/nb-NO/uikit.js +6 -4
  429. package/dist/i18n/locales/pt-BR/uikit.js +6 -4
  430. package/dist/i18n/locales/pt-PT/uikit.js +6 -4
  431. package/dist/i18n/locales/sv-SE/uikit.js +6 -4
  432. package/dist/i18n/locales/vi-VN/uikit.js +6 -4
  433. package/dist/i18n/locales.js +1 -1
  434. package/dist/i18n/namespace.js +1 -1
  435. package/dist/i18n/useFormatter.js +1 -1
  436. package/dist/i18n/useI18n.js +1 -1
  437. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  438. package/dist/icons/AdjustmentsIcon.js +1 -1
  439. package/dist/icons/AiIcon.js +1 -1
  440. package/dist/icons/AreaChartIcon.js +1 -1
  441. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  442. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  443. package/dist/icons/BackwardIcon.js +1 -1
  444. package/dist/icons/BarChartIcon.js +1 -1
  445. package/dist/icons/BellFilledIcon.js +1 -1
  446. package/dist/icons/BellIcon.js +1 -1
  447. package/dist/icons/BooleanIcon.js +1 -1
  448. package/dist/icons/CalendarEditIcon.js +1 -1
  449. package/dist/icons/CalendarIcon.js +1 -1
  450. package/dist/icons/CaretDownIcon.js +1 -1
  451. package/dist/icons/CaretUpIcon.js +1 -1
  452. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  453. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  454. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  455. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  456. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  457. package/dist/icons/ChartBarLineIcon.js +1 -1
  458. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  459. package/dist/icons/ChartBarStackedIcon.js +1 -1
  460. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  461. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  462. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  463. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  464. package/dist/icons/ChartBubbleIcon.js +1 -1
  465. package/dist/icons/ChartDonut2Icon.js +1 -1
  466. package/dist/icons/ChartFunnelIcon.js +1 -1
  467. package/dist/icons/ChartHeatmapIcon.js +1 -1
  468. package/dist/icons/ChartKPIIcon.js +1 -1
  469. package/dist/icons/ChartPie2Icon.js +1 -1
  470. package/dist/icons/ChartScatterIcon.js +1 -1
  471. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  472. package/dist/icons/CheckCircleIcon.js +1 -1
  473. package/dist/icons/CheckIcon.js +1 -1
  474. package/dist/icons/CircleFilledIcon.js +1 -1
  475. package/dist/icons/ClearIcon.js +1 -1
  476. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  477. package/dist/icons/CloseCircleIcon.js +1 -1
  478. package/dist/icons/CloseIcon.js +1 -1
  479. package/dist/icons/CodeIcon.js +1 -1
  480. package/dist/icons/ColumnTotalIcon.js +1 -1
  481. package/dist/icons/CopyIcon.js +1 -1
  482. package/dist/icons/CountIcon.js +1 -1
  483. package/dist/icons/CubeIcon.js +1 -1
  484. package/dist/icons/CubePauseIcon.js +1 -1
  485. package/dist/icons/CubePlayIcon.js +1 -1
  486. package/dist/icons/CurrencyDollarIcon.js +1 -1
  487. package/dist/icons/DangerIcon.js +1 -1
  488. package/dist/icons/DashboardIcon.js +1 -1
  489. package/dist/icons/DatabaseIcon.js +1 -1
  490. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  491. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  492. package/dist/icons/DirectionIcon.js +1 -1
  493. package/dist/icons/DonutIcon.js +1 -1
  494. package/dist/icons/DownIcon.js +1 -1
  495. package/dist/icons/EditIcon.js +1 -1
  496. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  497. package/dist/icons/ExclamationCircleIcon.js +1 -1
  498. package/dist/icons/ExclamationIcon.js +1 -1
  499. package/dist/icons/EyeIcon.js +1 -1
  500. package/dist/icons/EyeInvisibleIcon.js +1 -1
  501. package/dist/icons/FilterIcon.js +1 -1
  502. package/dist/icons/FolderFilledIcon.js +1 -1
  503. package/dist/icons/FolderIcon.js +1 -1
  504. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  505. package/dist/icons/FolderOpenIcon.js +1 -1
  506. package/dist/icons/ForwardIcon.js +1 -1
  507. package/dist/icons/GripVerticalIcon.js +1 -1
  508. package/dist/icons/HierarchyIcon.js +1 -1
  509. package/dist/icons/HierarchyOpenIcon.js +1 -1
  510. package/dist/icons/Icon.js +1 -1
  511. package/dist/icons/InfoCircleIcon.js +1 -1
  512. package/dist/icons/InfoIcon.js +1 -1
  513. package/dist/icons/KeyIcon.js +1 -1
  514. package/dist/icons/LeftIcon.js +1 -1
  515. package/dist/icons/LineChartIcon.js +1 -1
  516. package/dist/icons/LoadingIcon.js +1 -1
  517. package/dist/icons/LockFilledIcon.js +1 -1
  518. package/dist/icons/LockIcon.js +1 -1
  519. package/dist/icons/MoreIcon.js +1 -1
  520. package/dist/icons/NotAllowedIcon.js +1 -1
  521. package/dist/icons/Number123Icon.js +1 -1
  522. package/dist/icons/NumberIcon.js +1 -1
  523. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  524. package/dist/icons/PauseCircleIcon.js +1 -1
  525. package/dist/icons/PauseIcon.js +1 -1
  526. package/dist/icons/PercentageIcon.js +1 -1
  527. package/dist/icons/PieChartIcon.js +1 -1
  528. package/dist/icons/PipetteIcon.js +1 -1
  529. package/dist/icons/PlayCircleIcon.js +1 -1
  530. package/dist/icons/PlayIcon.js +1 -1
  531. package/dist/icons/PlusIcon.js +1 -1
  532. package/dist/icons/ProgressBarIcon.js +1 -1
  533. package/dist/icons/ReloadIcon.js +1 -1
  534. package/dist/icons/ReportIcon.js +1 -1
  535. package/dist/icons/ReturnIcon.js +1 -1
  536. package/dist/icons/RightIcon.js +1 -1
  537. package/dist/icons/RowTotalsIcon.js +1 -1
  538. package/dist/icons/SchemeIcon.js +1 -1
  539. package/dist/icons/SearchIcon.js +1 -1
  540. package/dist/icons/SemanticQueryIcon.js +1 -1
  541. package/dist/icons/SettingsIcon.js +1 -1
  542. package/dist/icons/ShieldFilledIcon.js +1 -1
  543. package/dist/icons/ShieldIcon.js +1 -1
  544. package/dist/icons/SlashIcon.js +1 -1
  545. package/dist/icons/SparklesIcon.js +1 -1
  546. package/dist/icons/SqlIcon.js +1 -1
  547. package/dist/icons/StatsIcon.js +1 -1
  548. package/dist/icons/StopIcon.js +1 -1
  549. package/dist/icons/StringIcon.js +1 -1
  550. package/dist/icons/SubtotalsIcon.js +1 -1
  551. package/dist/icons/SwitchIcon.js +1 -1
  552. package/dist/icons/TableIcon.js +1 -1
  553. package/dist/icons/ThumbsDownIcon.js +1 -1
  554. package/dist/icons/ThumbsUpIcon.js +1 -1
  555. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  556. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  557. package/dist/icons/ThunderboltIcon.js +1 -1
  558. package/dist/icons/TimeIcon.js +1 -1
  559. package/dist/icons/TrashIcon.js +1 -1
  560. package/dist/icons/UnlockIcon.js +1 -1
  561. package/dist/icons/UpIcon.js +1 -1
  562. package/dist/icons/UserGroupIcon.js +1 -1
  563. package/dist/icons/UserIcon.js +1 -1
  564. package/dist/icons/UserLockIcon.js +1 -1
  565. package/dist/icons/ViewIcon.js +1 -1
  566. package/dist/icons/WarningFilledIcon.js +1 -1
  567. package/dist/icons/WarningIcon.js +1 -1
  568. package/dist/icons/wrap-icon.js +1 -1
  569. package/dist/index.d.ts +1 -1
  570. package/dist/index.js +2 -2
  571. package/dist/probe/canonicalize.js +1 -1
  572. package/dist/probe/css.js +1 -1
  573. package/dist/probe/index.js +1 -1
  574. package/dist/provider.js +1 -1
  575. package/dist/providers/TrackingProvider.js +1 -1
  576. package/dist/providers/navigation-url.js +3 -15
  577. package/dist/providers/navigation-url.js.map +1 -1
  578. package/dist/providers/navigationAdapter.default.js +1 -1
  579. package/dist/providers/use-navigation.js +1 -1
  580. package/dist/tokens/all-tokens.js +1 -1
  581. package/dist/tokens/base.js +1 -1
  582. package/dist/tokens/color-seed.js +1 -1
  583. package/dist/tokens/color-theme.js +1 -1
  584. package/dist/tokens/colors.js +1 -1
  585. package/dist/tokens/layout.js +1 -1
  586. package/dist/tokens/lazy-styles.js +1 -1
  587. package/dist/tokens/legacy-color.js +1 -1
  588. package/dist/tokens/palette-config.js +1 -1
  589. package/dist/tokens/palette.js +1 -1
  590. package/dist/tokens/resolve.js +1 -1
  591. package/dist/tokens/shadows.js +1 -1
  592. package/dist/tokens/sizes.js +1 -1
  593. package/dist/tokens/spacing.js +1 -1
  594. package/dist/tokens/typography.js +1 -1
  595. package/dist/utils/ResizeSensor.js +1 -1
  596. package/dist/utils/colors.js +1 -1
  597. package/dist/utils/dotize.js +1 -1
  598. package/dist/utils/is-dev-env.js +1 -1
  599. package/dist/utils/modules.js +1 -1
  600. package/dist/utils/promise.js +1 -1
  601. package/dist/utils/raf.js +1 -1
  602. package/dist/utils/random.js +1 -1
  603. package/dist/utils/range.js +1 -1
  604. package/dist/utils/react/RenderCache.js +1 -1
  605. package/dist/utils/react/Slots.js +1 -1
  606. package/dist/utils/react/chain.js +1 -1
  607. package/dist/utils/react/disabledProps.js +1 -1
  608. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  609. package/dist/utils/react/index.js +1 -1
  610. package/dist/utils/react/interactions.js +1 -1
  611. package/dist/utils/react/isTextOnly.js +1 -1
  612. package/dist/utils/react/mapProps.js +1 -1
  613. package/dist/utils/react/mergeProps.js +1 -1
  614. package/dist/utils/react/nullableValue.js +18 -9
  615. package/dist/utils/react/nullableValue.js.map +1 -1
  616. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  617. package/dist/utils/react/programmaticFocus.js +1 -1
  618. package/dist/utils/react/resolveIcon.js +1 -1
  619. package/dist/utils/react/sharedStore.js +1 -1
  620. package/dist/utils/react/useBufferedValue.js +1 -1
  621. package/dist/utils/react/useCombinedRefs.js +1 -1
  622. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  623. package/dist/utils/react/useEventBus.js +1 -1
  624. package/dist/utils/react/useId.js +1 -1
  625. package/dist/utils/react/useIsDarwin.js +1 -1
  626. package/dist/utils/react/useKeySymbols.js +1 -1
  627. package/dist/utils/react/useLayoutEffect.js +1 -1
  628. package/dist/utils/react/useLocalStorage.js +1 -1
  629. package/dist/utils/react/useMergeStyles.js +1 -1
  630. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  631. package/dist/utils/react/usePopoverSync.js +1 -1
  632. package/dist/utils/react/useQaProps.js +1 -1
  633. package/dist/utils/react/useScheme.js +1 -1
  634. package/dist/utils/react/useViewportSize.js +1 -1
  635. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  636. package/dist/utils/selection.js +1 -1
  637. package/dist/utils/styles.js +1 -1
  638. package/dist/utils/tree.js +1 -1
  639. package/dist/utils/warnings.js +1 -1
  640. package/dist/version.js +2 -2
  641. package/docs/Theming.md +1 -2
  642. package/docs/components/Root.md +1 -1
  643. package/docs/components/actions/Button.md +8 -2
  644. package/docs/components/actions/Link.md +1 -1
  645. package/docs/components/actions/Menu.md +2 -4
  646. package/docs/components/content/InfoBadge.md +2 -0
  647. package/docs/components/content/ItemBadge.md +4 -0
  648. package/docs/components/content/Layout.md +2 -1
  649. package/docs/components/fields/ComboBox.md +25 -18
  650. package/docs/components/fields/FilterListBox.md +2 -2
  651. package/docs/components/fields/FilterPicker.md +2 -2
  652. package/docs/components/fields/ListBox.md +14 -10
  653. package/docs/components/fields/NumberInput.md +11 -20
  654. package/docs/components/fields/PasswordInput.md +6 -7
  655. package/docs/components/fields/Picker.md +6 -5
  656. package/docs/components/fields/RadioGroup.md +1 -1
  657. package/docs/components/fields/SearchInput.md +7 -6
  658. package/docs/components/fields/Select.md +14 -8
  659. package/docs/components/fields/TextArea.md +4 -3
  660. package/docs/components/fields/TextInput.md +13 -6
  661. package/docs/components/overlays/AlertDialog.md +7 -1
  662. package/docs/components/overlays/Dialog.md +5 -5
  663. package/docs/components/overlays/DialogTrigger.md +6 -6
  664. package/docs/components/overlays/Tooltip.md +17 -6
  665. package/docs/components/overlays/TooltipTrigger.md +2 -0
  666. package/package.json +1 -1
@@ -1,23 +1,11 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/providers/navigation-url.ts
3
3
  const URL_SCHEME = /^[a-z][a-z\d+.-]*:/i;
4
- /**
5
- * Strips what the URL parser strips: leading and trailing C0 controls and
6
- * spaces. Not `trim()`, which also drops a no-break space the parser keeps.
7
- */
8
- function normalizeNavigationUrl(url) {
9
- let start = 0;
10
- let end = url.length;
11
- while (start < end && url.charCodeAt(start) <= 32) start++;
12
- while (end > start && url.charCodeAt(end - 1) <= 32) end--;
13
- return url.slice(start, end);
14
- }
15
4
  /** A URL scheme or protocol-relative host, rather than an application path. */
16
5
  function isExternalUrl(url) {
17
- const value = normalizeNavigationUrl(url);
18
- return URL_SCHEME.test(value) || value.startsWith("//");
6
+ return URL_SCHEME.test(url) || url.startsWith("//");
19
7
  }
20
8
 
21
9
  //#endregion
22
- export { isExternalUrl, normalizeNavigationUrl };
10
+ export { isExternalUrl };
23
11
  //# sourceMappingURL=navigation-url.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-url.js","names":["URL_SCHEME","normalizeNavigationUrl","url","start","end","length","charCodeAt","slice","isExternalUrl","value","test","startsWith"],"sources":["../../src/providers/navigation-url.ts"],"sourcesContent":["const URL_SCHEME = /^[a-z][a-z\\d+.-]*:/i;\n\n/**\n * Strips what the URL parser strips: leading and trailing C0 controls and\n * spaces. Not `trim()`, which also drops a no-break space the parser keeps.\n */\nexport function normalizeNavigationUrl(url: string): string {\n let start = 0;\n let end = url.length;\n\n while (start < end && url.charCodeAt(start) <= 0x20) start++;\n while (end > start && url.charCodeAt(end - 1) <= 0x20) end--;\n\n return url.slice(start, end);\n}\n\n/** A URL scheme or protocol-relative host, rather than an application path. */\nexport function isExternalUrl(url: string): boolean {\n const value = normalizeNavigationUrl(url);\n\n return URL_SCHEME.test(value) || value.startsWith('//');\n}\n"],"mappings":";;AAAA,MAAMA,aAAa;;;;;AAMnB,SAAgBC,uBAAuBC,KAAqB;CAC1D,IAAIC,QAAQ;CACZ,IAAIC,MAAMF,IAAIG;AAEd,QAAOF,QAAQC,OAAOF,IAAII,WAAWH,MAAM,IAAI,GAAMA;AACrD,QAAOC,MAAMD,SAASD,IAAII,WAAWF,MAAM,EAAE,IAAI,GAAMA;AAEvD,QAAOF,IAAIK,MAAMJ,OAAOC,IAAI;;;AAI9B,SAAgBI,cAAcN,KAAsB;CAClD,MAAMO,QAAQR,uBAAuBC,IAAI;AAEzC,QAAOF,WAAWU,KAAKD,MAAM,IAAIA,MAAME,WAAW,KAAK"}
1
+ {"version":3,"file":"navigation-url.js","names":["URL_SCHEME","isExternalUrl","url","test","startsWith"],"sources":["../../src/providers/navigation-url.ts"],"sourcesContent":["const URL_SCHEME = /^[a-z][a-z\\d+.-]*:/i;\n\n/** A URL scheme or protocol-relative host, rather than an application path. */\nexport function isExternalUrl(url: string): boolean {\n return URL_SCHEME.test(url) || url.startsWith('//');\n}\n"],"mappings":";;AAAA,MAAMA,aAAa;;AAGnB,SAAgBC,cAAcC,KAAsB;AAClD,QAAOF,WAAWG,KAAKD,IAAI,IAAIA,IAAIE,WAAW,KAAK"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/providers/navigationAdapter.default.ts
3
3
  /**
4
4
  * Converts a Path object to a string URL
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { defaultNavigationAdapter } from "./navigationAdapter.default.js";
3
3
  import { UIKitContext } from "../provider.js";
4
4
  import { useContext } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { getPaletteVersion } from "./palette-config.js";
3
3
  import { BASE_TOKENS } from "./base.js";
4
4
  import { lazyStyles } from "./lazy-styles.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/tokens/base.ts
3
3
  /**
4
4
  * Base design system tokens.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { glaze } from "@tenphi/glaze";
3
3
 
4
4
  //#region src/tokens/color-seed.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { colorSeed } from "./color-seed.js";
3
3
  import { DEFAULT_HUE, DEFAULT_SATURATION, getPaletteConfig, getPaletteVersion, usePaletteValue } from "./palette-config.js";
4
4
  import { tintRecipe } from "./palette.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { getPaletteVersion } from "./palette-config.js";
3
3
  import { BASE_TOKENS } from "./base.js";
4
4
  import { lazyStyles } from "./lazy-styles.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/tokens/layout.ts
3
3
  /**
4
4
  * Layout-related tokens for common UI dimensions.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/tokens/lazy-styles.ts
3
3
  /**
4
4
  * Proxy that defers to `factory()` on every property / enumeration access.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { parseSrgbColor } from "../utils/colors.js";
3
3
  import { srgbToHex } from "@tenphi/glaze";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { colorSeed } from "./color-seed.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useSyncExternalStore } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { SURFACE_SATURATION_SHARE, getPaletteConfig, getPaletteVersion, resolvePaletteConfig } from "./palette-config.js";
3
3
  import { lazyStyles } from "./lazy-styles.js";
4
4
  import { apcaContrast, glaze, okhslToLinearSrgb, variantToOkhsl } from "@tenphi/glaze";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../utils/react/useLayoutEffect.js";
3
3
  import { subscribeScheme } from "../utils/react/useScheme.js";
4
4
  import { warn } from "../utils/warnings.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/tokens/shadows.ts
3
3
  /**
4
4
  * Shadow tokens using tasty shorthand syntax.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/tokens/sizes.ts
3
3
  /**
4
4
  * Component size values in pixels.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/tokens/spacing.ts
3
3
  /**
4
4
  * Spacing tokens using tasty multiplier syntax.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/tokens/typography.ts
3
3
  /**
4
4
  * Typography presets for headings, text, and special styles.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/ResizeSensor.ts
3
3
  /**
4
4
  * Iterate over each of the provided element(s).
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { hslToSrgb, okhslToOklch, okhslToSrgb, okhstToOkhsl, oklabToOkhsl, parseHexAlpha } from "@tenphi/glaze";
3
3
 
4
4
  //#region src/utils/colors.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/dotize.ts
3
3
  /**
4
4
  * Flattens a nested object into dot paths: `{ a: { b: 1 } }` becomes
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/is-dev-env.ts
3
3
  /**
4
4
  * `NODE_ENV` as the environment that is actually running reports it, or
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/modules.ts
3
3
  function extractModule(promise) {
4
4
  return promise.then((module) => module.default || module);
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/promise.ts
3
3
  function timeout(ms = 30) {
4
4
  return new Promise((resolve) => {
package/dist/utils/raf.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/raf.ts
3
3
  /**
4
4
  * Chains N requestAnimationFrame calls and returns a cancel function.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/random.ts
3
3
  function random(min, max) {
4
4
  const realMin = min < max ? min : max;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/range.ts
3
3
  function range(count) {
4
4
  return Array.from({ length: count }, (_, i) => i);
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { useRef } from "react";
3
3
  import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { mergeProps } from "./mergeProps.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { Children, cloneElement, createContext, useContext } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/react/chain.ts
3
3
  /**
4
4
  * Calls all functions in the order they were chained with the same arguments.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/react/disabledProps.ts
3
3
  /**
4
4
  * Tags where `disabled` is a real HTML attribute. Browsers refuse to dispatch
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/react/forwardRefWithGenerics.tsx
3
3
  /**
4
4
  * @deprecated Declare a ref prop on a generic component, or preserve an
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { useLayoutEffect } from "./useLayoutEffect.js";
4
4
  import { mergeProps } from "./mergeProps.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useRef, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { Children, isValidElement } from "react";
3
3
 
4
4
  //#region src/utils/react/isTextOnly.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/react/mapProps.ts
3
3
  /** Converts AriaButtonProps to CubeButtonProps */
4
4
  function ariaToCubeButtonProps(props) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { mergeIds } from "./useId.js";
4
4
  import { mergeStyles } from "@tenphi/tasty";
@@ -1,21 +1,30 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/react/nullableValue.ts
3
- function castNullableStringValue(props) {
4
- return castNullableField(props, ["value", "defaultValue"], "string", (v) => String(v));
3
+ function castNullableStringValue(props, emptyValue = "") {
4
+ return castNullableField(props, ["value", "defaultValue"], "string", (v) => String(v), emptyValue);
5
5
  }
6
6
  function castNullableNumberValue(props) {
7
- return castNullableField(props, ["value", "defaultValue"], "number", (v) => Number(v));
7
+ return castNullableField(props, ["value", "defaultValue"], "number", (v) => Number(v), NaN);
8
8
  }
9
9
  function castNullableArrayValue(props) {
10
- return castNullableField(props, ["value", "defaultValue"], "object", (v) => Array.isArray(v) ? v : []);
10
+ return castNullableField(props, ["value", "defaultValue"], "object", (v) => Array.isArray(v) ? v : [], []);
11
11
  }
12
12
  function castNullableIsSelected(props) {
13
- return castNullableField(props, ["isSelected", "defaultSelected"], "boolean", (v) => !!v);
13
+ return castNullableField(props, ["isSelected", "defaultSelected"], "boolean", (v) => !!v, false);
14
14
  }
15
- function castNullableField(props, keys, type, cast) {
15
+ /**
16
+ * Replaces `null` in `keys` and casts a value of the wrong `type`.
17
+ *
18
+ * The first key is the controlled one, and its `null` becomes `emptyValue`. Pass the control's own
19
+ * empty value (`''`, `NaN`, `[]`, or `null` where React Stately takes it) so that `null` means
20
+ * "controlled, no value": the field stays controlled and clears. Left out, `null` becomes
21
+ * `undefined`, which switches the control to uncontrolled mode and keeps its last value on screen.
22
+ * `null` in the other keys (`defaultValue`) always becomes `undefined`.
23
+ */
24
+ function castNullableField(props, keys, type, cast, emptyValue) {
16
25
  props = { ...props };
17
- keys.forEach((key) => {
18
- if (props[key] === null) props[key] = void 0;
26
+ keys.forEach((key, index) => {
27
+ if (props[key] === null) props[key] = index === 0 ? emptyValue : void 0;
19
28
  if (type && cast && props[key] != null && typeof props[key] != type) {
20
29
  props[key] = cast(props[key]);
21
30
  console.warn("Wrong value type in", props, "in keys", JSON.stringify(keys));
@@ -1 +1 @@
1
- {"version":3,"file":"nullableValue.js","names":["Props","castNullableStringValue","props","T","castNullableField","v","String","castNullableNumberValue","Number","castNullableArrayValue","Array","isArray","castNullableIsSelected","castNullableSelectedKey","keys","type","cast","k","forEach","key","undefined","console","warn","JSON","stringify","WithNullableValue","Omit","value","defaultValue","WithNullableSelected","isSelected","defaultSelected","WithNullableSelectedKey","selectedKey","defaultSelectedKey"],"sources":["../../../src/utils/react/nullableValue.ts"],"sourcesContent":["import type { Props } from '../../props';\n\nexport function castNullableStringValue<T>(props: T): T {\n return castNullableField(props, ['value', 'defaultValue'], 'string', (v) =>\n String(v),\n );\n}\n\nexport function castNullableNumberValue<T>(props: T): T {\n return castNullableField(props, ['value', 'defaultValue'], 'number', (v) =>\n Number(v),\n );\n}\n\nexport function castNullableArrayValue<T>(props: T): T {\n return castNullableField(props, ['value', 'defaultValue'], 'object', (v) =>\n Array.isArray(v) ? v : [],\n );\n}\n\nexport function castNullableIsSelected<T>(props: T): T {\n return castNullableField(\n props,\n ['isSelected', 'defaultSelected'],\n 'boolean',\n (v) => !!v,\n );\n}\n\nexport function castNullableSelectedKey<T>(props: T): T {\n return castNullableField(props, ['selectedKey', 'defaultSelectedKey']);\n}\n\nexport function castNullableField<T>(\n props: T,\n keys: string[],\n type?: string,\n cast?: (k: any) => any,\n): T {\n props = { ...props };\n\n keys.forEach((key) => {\n if (props[key] === null) {\n props[key] = undefined;\n }\n\n if (type && cast && props[key] != null && typeof props[key] != type) {\n props[key] = cast(props[key]);\n\n console.warn(\n 'Wrong value type in',\n props,\n 'in keys',\n JSON.stringify(keys),\n );\n }\n });\n\n return props;\n}\n\n// Values are intentionally permissive: the helpers above coerce input models.\n// A generic indexed access unioned with `any` has the same type, but declaration\n// emit can inline its type parameter outside the generic scope.\nexport type WithNullableValue<T extends Props> = Omit<\n T,\n 'value' | 'defaultValue'\n> & {\n value?: any;\n defaultValue?: any;\n};\n\nexport type WithNullableSelected<T extends Props> = Omit<\n T,\n 'isSelected' | 'defaultSelected'\n> & {\n isSelected?: any;\n defaultSelected?: any;\n};\n\nexport type WithNullableSelectedKey<T extends Props> = Omit<\n T,\n 'selectedKey' | 'defaultSelectedKey'\n> & {\n selectedKey?: any;\n defaultSelectedKey?: any;\n};\n"],"mappings":";;AAEA,SAAgBC,wBAA2BC,OAAa;AACtD,QAAOE,kBAAkBF,OAAO,CAAC,SAAS,eAAe,EAAE,WAAWG,MACpEC,OAAOD,EACT,CAAC;;AAGH,SAAgBE,wBAA2BL,OAAa;AACtD,QAAOE,kBAAkBF,OAAO,CAAC,SAAS,eAAe,EAAE,WAAWG,MACpEG,OAAOH,EACT,CAAC;;AAGH,SAAgBI,uBAA0BP,OAAa;AACrD,QAAOE,kBAAkBF,OAAO,CAAC,SAAS,eAAe,EAAE,WAAWG,MACpEK,MAAMC,QAAQN,EAAE,GAAGA,IAAI,EACzB,CAAC;;AAGH,SAAgBO,uBAA0BV,OAAa;AACrD,QAAOE,kBACLF,OACA,CAAC,cAAc,kBAAkB,EACjC,YACCG,MAAM,CAAC,CAACA,EACV;;AAOH,SAAgBD,kBACdF,OACAY,MACAC,MACAC,MACG;AACHd,SAAQ,EAAE,GAAGA,OAAO;AAEpBY,MAAKI,SAASC,QAAQ;AACpB,MAAIjB,MAAMiB,SAAS,KACjBjB,OAAMiB,OAAOC;AAGf,MAAIL,QAAQC,QAAQd,MAAMiB,QAAQ,QAAQ,OAAOjB,MAAMiB,QAAQJ,MAAM;AACnEb,SAAMiB,OAAOH,KAAKd,MAAMiB,KAAK;AAE7BE,WAAQC,KACN,uBACApB,OACA,WACAqB,KAAKC,UAAUV,KACjB,CAAC;;GAEH;AAEF,QAAOZ"}
1
+ {"version":3,"file":"nullableValue.js","names":["Props","castNullableStringValue","props","T","emptyValue","castNullableField","v","String","castNullableNumberValue","Number","NaN","castNullableArrayValue","Array","isArray","castNullableIsSelected","castNullableSelectedKey","keys","type","cast","k","forEach","key","index","undefined","console","warn","JSON","stringify","WithNullableValue","Omit","value","defaultValue","WithNullableSelected","isSelected","defaultSelected","WithNullableSelectedKey","selectedKey","defaultSelectedKey"],"sources":["../../../src/utils/react/nullableValue.ts"],"sourcesContent":["import type { Props } from '../../props';\n\n// Each value helper turns a controlled `null` into the control's own empty\n// value, so `null` means \"controlled, no value\"; see `castNullableField`.\n\nexport function castNullableStringValue<T>(\n props: T,\n /** `null` for controls whose state takes it, such as a radio group. */\n emptyValue: string | null = '',\n): T {\n return castNullableField(\n props,\n ['value', 'defaultValue'],\n 'string',\n (v) => String(v),\n emptyValue,\n );\n}\n\nexport function castNullableNumberValue<T>(props: T): T {\n return castNullableField(\n props,\n ['value', 'defaultValue'],\n 'number',\n (v) => Number(v),\n NaN,\n );\n}\n\nexport function castNullableArrayValue<T>(props: T): T {\n return castNullableField(\n props,\n ['value', 'defaultValue'],\n 'object',\n (v) => (Array.isArray(v) ? v : []),\n [],\n );\n}\n\nexport function castNullableIsSelected<T>(props: T): T {\n return castNullableField(\n props,\n ['isSelected', 'defaultSelected'],\n 'boolean',\n (v) => !!v,\n false,\n );\n}\n\nexport function castNullableSelectedKey<T>(props: T): T {\n return castNullableField(props, ['selectedKey', 'defaultSelectedKey']);\n}\n\n/**\n * Replaces `null` in `keys` and casts a value of the wrong `type`.\n *\n * The first key is the controlled one, and its `null` becomes `emptyValue`. Pass the control's own\n * empty value (`''`, `NaN`, `[]`, or `null` where React Stately takes it) so that `null` means\n * \"controlled, no value\": the field stays controlled and clears. Left out, `null` becomes\n * `undefined`, which switches the control to uncontrolled mode and keeps its last value on screen.\n * `null` in the other keys (`defaultValue`) always becomes `undefined`.\n */\nexport function castNullableField<T>(\n props: T,\n keys: string[],\n type?: string,\n cast?: (k: any) => any,\n emptyValue?: unknown,\n): T {\n props = { ...props };\n\n keys.forEach((key, index) => {\n if (props[key] === null) {\n props[key] = index === 0 ? emptyValue : undefined;\n }\n\n if (type && cast && props[key] != null && typeof props[key] != type) {\n props[key] = cast(props[key]);\n\n console.warn(\n 'Wrong value type in',\n props,\n 'in keys',\n JSON.stringify(keys),\n );\n }\n });\n\n return props;\n}\n\n// Values are intentionally permissive: the helpers above coerce input models.\n// A generic indexed access unioned with `any` has the same type, but declaration\n// emit can inline its type parameter outside the generic scope.\nexport type WithNullableValue<T extends Props> = Omit<\n T,\n 'value' | 'defaultValue'\n> & {\n value?: any;\n defaultValue?: any;\n};\n\nexport type WithNullableSelected<T extends Props> = Omit<\n T,\n 'isSelected' | 'defaultSelected'\n> & {\n isSelected?: any;\n defaultSelected?: any;\n};\n\nexport type WithNullableSelectedKey<T extends Props> = Omit<\n T,\n 'selectedKey' | 'defaultSelectedKey'\n> & {\n selectedKey?: any;\n defaultSelectedKey?: any;\n};\n"],"mappings":";;AAKA,SAAgBC,wBACdC,OAEAE,aAA4B,IACzB;AACH,QAAOC,kBACLH,OACA,CAAC,SAAS,eAAe,EACzB,WACCI,MAAMC,OAAOD,EAAE,EAChBF,WACD;;AAGH,SAAgBI,wBAA2BN,OAAa;AACtD,QAAOG,kBACLH,OACA,CAAC,SAAS,eAAe,EACzB,WACCI,MAAMG,OAAOH,EAAE,EAChBI,IACD;;AAGH,SAAgBC,uBAA0BT,OAAa;AACrD,QAAOG,kBACLH,OACA,CAAC,SAAS,eAAe,EACzB,WACCI,MAAOM,MAAMC,QAAQP,EAAE,GAAGA,IAAI,EAAG,EAClC,EACF,CAAC;;AAGH,SAAgBQ,uBAA0BZ,OAAa;AACrD,QAAOG,kBACLH,OACA,CAAC,cAAc,kBAAkB,EACjC,YACCI,MAAM,CAAC,CAACA,GACT,MACD;;;;;;;;;;;AAgBH,SAAgBD,kBACdH,OACAc,MACAC,MACAC,MACAd,YACG;AACHF,SAAQ,EAAE,GAAGA,OAAO;AAEpBc,MAAKI,SAASC,KAAKC,UAAU;AAC3B,MAAIpB,MAAMmB,SAAS,KACjBnB,OAAMmB,OAAOC,UAAU,IAAIlB,aAAamB;AAG1C,MAAIN,QAAQC,QAAQhB,MAAMmB,QAAQ,QAAQ,OAAOnB,MAAMmB,QAAQJ,MAAM;AACnEf,SAAMmB,OAAOH,KAAKhB,MAAMmB,KAAK;AAE7BG,WAAQC,KACN,uBACAvB,OACA,WACAwB,KAAKC,UAAUX,KACjB,CAAC;;GAEH;AAEF,QAAOd"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/react/overlayKeyPropagation.ts
3
3
  /**
4
4
  * Keys whose final handling belongs to the overlay around a control, not to
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/react/programmaticFocus.ts
3
3
  /**
4
4
  * Telling focus the user moved from focus a component moved for them.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/react/resolveIcon.ts
3
3
  /**
4
4
  * Resolves a dynamic icon prop to its content and slot state.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { isDevEnv } from "../is-dev-env.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { useCallback, useRef, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { createSharedStore } from "./sharedStore.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useEffect } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useEffect, useRef, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useEffect, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { useIsDarwin } from "./useIsDarwin.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import * as React$1 from "react";
3
3
 
4
4
  //#region src/utils/react/useLayoutEffect.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useSyncExternalStore } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { mergeStyles } from "@tenphi/tasty";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { getEventTarget, nodeContains } from "@react-aria/utils";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { EventBusContext, useEventBus } from "./useEventBus.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useContext, useEffect, useEffectEvent, useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/react/useQaProps.ts
3
3
  /**
4
4
  * Processes QA props.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { useSyncExternalStore } from "react";
3
3
 
4
4
  //#region src/utils/react/useScheme.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useEffect, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { Fragment, isValidElement } from "react";
3
3
 
4
4
  //#region src/utils/react/wrapNodeIfPlain.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/selection.ts
3
3
  /**
4
4
  * Deduplicate/toggle keys in a selection: if a key appears twice it is
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { isSelector, mergeStyles } from "@tenphi/tasty";
3
3
 
4
4
  //#region src/utils/styles.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/utils/tree.ts
3
3
  function toFlatTree(tree, includingFolders) {
4
4
  return tree.reduce((result, node) => {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  import { isDevEnvOrTest } from "./is-dev-env.js";
3
3
 
4
4
  //#region src/utils/warnings.ts
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bef9600 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-3908511 | Cube Dev Team */
2
2
  //#region src/version.ts
3
- const VERSION = "0.0.0-canary-bef9600";
3
+ const VERSION = "0.0.0-canary-3908511";
4
4
  const TASTY_VERSION = "3.9.9";
5
5
  if (typeof window !== "undefined") {
6
6
  const version = VERSION;
package/docs/Theming.md CHANGED
@@ -414,7 +414,7 @@ Note the distinction from `contrastLevel`: the level is a config seed the app su
414
414
 
415
415
  ## `<Root palette>`
416
416
 
417
- `<Root>` accepts the same config as a prop. The first mount applies it during render, so the first paint (and SSR output) is already correct. A later change applies in a layout effect, which still lands before paint and does not update other components while `<Root>` renders, so the prop alone is enough — there is no need to call `setPaletteConfig()` before changing it:
417
+ `<Root>` accepts the same config as a prop, applied during render so the first paint is already correct:
418
418
 
419
419
  ```tsx
420
420
  <Root palette={{ accent: userBrandColor }}>
@@ -429,7 +429,6 @@ Removing the prop entirely is the one thing that does _not_ reset the palette
429
429
  This is a convenience wrapper over `setPaletteConfig()`, not a separate scope. **The palette is process-global** — Glaze's own config is, and so is the single `body` rule the tokens are injected into. One palette per process, not per tree and not per request:
430
430
 
431
431
  - Two `<Root>`s with different `palette` props will fight over the same tokens.
432
- - `<Root>`'s layout effect runs after its descendants' layout effects in the same commit, so a `setPaletteConfig()` call from a descendant's layout effect in a commit that also mounts `<Root>` or changes its `palette` loses to the prop. Call it from a passive effect or an event handler instead. A `<Root>` that mounts while another tree is already rendered also applies its palette during its first render, which updates that tree mid-render and makes React warn.
433
432
  - Under SSR, apply the palette in code that runs on **both** server and client. A client-only `setPaletteConfig` disposes and replaces the server-rendered token block on the first render, which is visible as a flash. Per-request palettes are not supported.
434
433
 
435
434
  ## Caveats
@@ -13,7 +13,7 @@ The root application wrapper. Provides theme context, global styles, portal cont
13
13
  - **`navigation`** `NavigationAdapter` — Custom navigation adapter for routing
14
14
  - **`tracking`** `TrackingProps` — Analytics/tracking event configuration
15
15
  - **`tokens`** `Record<string, string>` — Custom design tokens (CSS custom properties)
16
- - **`palette`** `PaletteConfig` — Tune the generated color palette. Every zone — `accent`, `base` and each status theme — takes the same seed: a color, or `{ hue, saturation }`. Plus the global `surfaceMode`, `pastel` and `contrastLevel`. The first mount applies it during render, so the first paint is already correct; a later change applies in a layout effect, still before paint. Describes the whole palette, so dropping a field drops that customization. A convenience wrapper over `setPaletteConfig()` — the palette is process-global, not per tree. See [Theming](../Theming.md)
16
+ - **`palette`** `PaletteConfig` — Tune the generated color palette. Every zone — `accent`, `base` and each status theme — takes the same seed: a color, or `{ hue, saturation }`. Plus the global `surfaceMode`, `pastel` and `contrastLevel`. Applied during render, so the first paint is already correct. Describes the whole palette, so dropping a field drops that customization. A convenience wrapper over `setPaletteConfig()` — the palette is process-global, not per tree. See [Theming](../Theming.md)
17
17
  - **`fonts`** `boolean` — Whether to load default fonts
18
18
  - **`font`** `string` — Custom font family name
19
19
  - **`monospaceFont`** `string` — Custom monospace font family name