@cube-dev/ui-kit 0.0.0-canary-5dea452 → 0.0.0-canary-b2b6df9

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 (528) hide show
  1. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  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.js +1 -1
  16. package/dist/components/actions/Action/Action.js +1 -1
  17. package/dist/components/actions/Banner/Banner.js +1 -1
  18. package/dist/components/actions/Button/Button.js +1 -1
  19. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  20. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  21. package/dist/components/actions/ButtonSplit/context.js +1 -1
  22. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  23. package/dist/components/actions/CommandMenu/styled.js +1 -1
  24. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  25. package/dist/components/actions/ItemActionContext.js +1 -1
  26. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  27. package/dist/components/actions/Link/Link.js +1 -1
  28. package/dist/components/actions/Menu/Menu.js +1 -1
  29. package/dist/components/actions/Menu/MenuItem.js +1 -1
  30. package/dist/components/actions/Menu/MenuSection.js +1 -1
  31. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  32. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  33. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  34. package/dist/components/actions/Menu/context.js +1 -1
  35. package/dist/components/actions/Menu/styled.js +1 -1
  36. package/dist/components/actions/index.js +1 -1
  37. package/dist/components/actions/use-action.js +1 -1
  38. package/dist/components/actions/use-anchored-menu.js +1 -1
  39. package/dist/components/actions/use-context-menu.js +1 -1
  40. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  41. package/dist/components/content/Alert/Alert.js +1 -1
  42. package/dist/components/content/Alert/use-alert.js +1 -1
  43. package/dist/components/content/Avatar/Avatar.js +1 -1
  44. package/dist/components/content/Badge/Badge.js +1 -1
  45. package/dist/components/content/Card/Card.js +1 -1
  46. package/dist/components/content/Content.js +1 -1
  47. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  48. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  49. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  50. package/dist/components/content/Divider.js +1 -1
  51. package/dist/components/content/Footer.js +1 -1
  52. package/dist/components/content/Header.js +1 -1
  53. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  54. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  55. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  56. package/dist/components/content/Item/Item.js +1 -1
  57. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  58. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  59. package/dist/components/content/Layout/GridLayout.js +1 -1
  60. package/dist/components/content/Layout/Layout.js +1 -1
  61. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  62. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  63. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  64. package/dist/components/content/Layout/LayoutContent.js +1 -1
  65. package/dist/components/content/Layout/LayoutContext.js +1 -1
  66. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  67. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  68. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  69. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  70. package/dist/components/content/Layout/LayoutPane.js +1 -1
  71. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  72. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  73. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  74. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  75. package/dist/components/content/Layout/index.js +1 -1
  76. package/dist/components/content/Layout/utils.js +1 -1
  77. package/dist/components/content/Paragraph.js +1 -1
  78. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  79. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  80. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  81. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  82. package/dist/components/content/Result/Result.js +1 -1
  83. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  84. package/dist/components/content/Tag/Tag.js +1 -1
  85. package/dist/components/content/Text.d.ts +14 -14
  86. package/dist/components/content/Text.js +1 -1
  87. package/dist/components/content/TextItem/TextItem.js +1 -1
  88. package/dist/components/content/Title.js +1 -1
  89. package/dist/components/content/Tree/Tree.js +1 -1
  90. package/dist/components/content/Tree/TreeNode.js +1 -1
  91. package/dist/components/content/Tree/styled.js +1 -1
  92. package/dist/components/content/Tree/tree-index.js +1 -1
  93. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  94. package/dist/components/content/Tree/use-load-data.js +1 -1
  95. package/dist/components/content/highlightText.js +1 -1
  96. package/dist/components/content/use-auto-tooltip.js +1 -1
  97. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  98. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  99. package/dist/components/fields/Checkbox/context.js +1 -1
  100. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +37 -34
  101. package/dist/components/fields/ColorPicker/ColorPicker.js +182 -125
  102. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  103. package/dist/components/fields/{color/ColorPanel.js → ColorPicker/ColorPickerPanel.js} +11 -14
  104. package/dist/components/fields/ColorPicker/ColorPickerPanel.js.map +1 -0
  105. package/dist/components/fields/{color → ColorPicker}/channels.d.ts +1 -1
  106. package/dist/components/fields/{color → ColorPicker}/channels.js +2 -2
  107. package/dist/components/fields/ColorPicker/channels.js.map +1 -0
  108. package/dist/components/fields/ColorPicker/color.d.ts +15 -0
  109. package/dist/components/fields/{color → ColorPicker}/color.js +2 -2
  110. package/dist/components/fields/ColorPicker/color.js.map +1 -0
  111. package/dist/components/fields/ColorPicker/index.d.ts +3 -1
  112. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  113. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  114. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  115. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  116. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  117. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  118. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  119. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  120. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  121. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  122. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  123. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  124. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  125. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  126. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  127. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  128. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  129. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  130. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  131. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  132. package/dist/components/fields/DatePicker/period.js +1 -1
  133. package/dist/components/fields/DatePicker/props.js +1 -1
  134. package/dist/components/fields/DatePicker/utils.js +1 -1
  135. package/dist/components/fields/FileInput/FileInput.js +1 -1
  136. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  137. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  138. package/dist/components/fields/Input/Input.js +1 -1
  139. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  140. package/dist/components/fields/ListBox/ListBox.js +1 -1
  141. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  142. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  143. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  144. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  145. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  146. package/dist/components/fields/PasswordInput/PasswordInput.js +12 -2
  147. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  148. package/dist/components/fields/Picker/Picker.js +1 -1
  149. package/dist/components/fields/RadioGroup/Radio.d.ts +2 -2
  150. package/dist/components/fields/RadioGroup/Radio.js +4 -4
  151. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  152. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  153. package/dist/components/fields/RadioGroup/context.js +1 -1
  154. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  155. package/dist/components/fields/SearchInput/SearchInput.js +17 -4
  156. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  157. package/dist/components/fields/Select/Select.js +1 -1
  158. package/dist/components/fields/Slider/Gradation.js +1 -1
  159. package/dist/components/fields/Slider/HueSlider.js +1 -1
  160. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  161. package/dist/components/fields/Slider/Slider.js +1 -1
  162. package/dist/components/fields/Slider/SliderBase.js +1 -1
  163. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  164. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  165. package/dist/components/fields/Slider/elements.js +1 -1
  166. package/dist/components/fields/Slider/index.js +1 -1
  167. package/dist/components/fields/Switch/Switch.js +1 -1
  168. package/dist/components/fields/TextArea/TextArea.js +12 -5
  169. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  170. package/dist/components/fields/TextInput/TextInput.js +15 -3
  171. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  172. package/dist/components/fields/TextInput/TextInputBase.d.ts +7 -0
  173. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  174. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  175. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  176. package/dist/components/fields/index.d.ts +3 -9
  177. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  178. package/dist/components/form/Form/Field.js +1 -1
  179. package/dist/components/form/Form/Form.js +1 -1
  180. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  181. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  182. package/dist/components/form/Form/SubmitError.js +1 -1
  183. package/dist/components/form/Form/index.js +1 -1
  184. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  185. package/dist/components/form/Form/use-field/use-field.js +1 -1
  186. package/dist/components/form/Form/use-form.js +1 -1
  187. package/dist/components/form/Form/validation.js +1 -1
  188. package/dist/components/form/Label.js +1 -1
  189. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  190. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  191. package/dist/components/form/validation/use-validation-props.js +1 -1
  192. package/dist/components/form/wrapper.js +1 -1
  193. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  194. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  195. package/dist/components/layout/Board/Board.js +1 -1
  196. package/dist/components/layout/Board/BoardProvider.js +1 -1
  197. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  198. package/dist/components/layout/Board/Widget.js +1 -1
  199. package/dist/components/layout/Board/WidgetHost.js +1 -1
  200. package/dist/components/layout/Board/board-context.js +1 -1
  201. package/dist/components/layout/Board/board-store.js +1 -1
  202. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  203. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  204. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  205. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  206. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  207. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  208. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  209. package/dist/components/layout/Board/index.js +1 -1
  210. package/dist/components/layout/Board/responsive-utils.js +1 -1
  211. package/dist/components/layout/Board/use-board-layout.js +1 -1
  212. package/dist/components/layout/Board/use-board-registry.js +1 -1
  213. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  214. package/dist/components/layout/Board/use-board-selection.js +1 -1
  215. package/dist/components/layout/Flex.js +1 -1
  216. package/dist/components/layout/Flow.js +1 -1
  217. package/dist/components/layout/Grid.js +1 -1
  218. package/dist/components/layout/Panel.js +1 -1
  219. package/dist/components/layout/Prefix.js +1 -1
  220. package/dist/components/layout/ResizablePanel.js +1 -1
  221. package/dist/components/layout/Space.js +1 -1
  222. package/dist/components/layout/Suffix.js +1 -1
  223. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  224. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  225. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  226. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  227. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  228. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  229. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  230. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  231. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  232. package/dist/components/navigation/Tabs/styled.js +1 -1
  233. package/dist/components/navigation/Tabs/types.js +1 -1
  234. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  235. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  236. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  237. package/dist/components/other/Calendar/Calendar.js +1 -1
  238. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  239. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  240. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  241. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  242. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  243. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  244. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  245. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  246. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  247. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  248. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  249. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  250. package/dist/components/overlays/Dialog/context.js +1 -1
  251. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  252. package/dist/components/overlays/Modal/Modal.js +1 -1
  253. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  254. package/dist/components/overlays/Modal/Overlay.js +1 -1
  255. package/dist/components/overlays/Modal/Popover.js +1 -1
  256. package/dist/components/overlays/Modal/Tray.js +1 -1
  257. package/dist/components/overlays/Modal/Underlay.js +1 -1
  258. package/dist/components/overlays/Notifications/Notification.js +1 -1
  259. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  260. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  261. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  262. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  263. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  264. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  265. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  266. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  267. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  268. package/dist/components/overlays/Notifications/index.js +1 -1
  269. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  270. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  271. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  272. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  273. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  274. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  275. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  276. package/dist/components/overlays/Toast/index.js +1 -1
  277. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  278. package/dist/components/overlays/Toast/useToast.js +1 -1
  279. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  280. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  281. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  282. package/dist/components/overlays/Tooltip/context.js +1 -1
  283. package/dist/components/portal/Portal.js +1 -1
  284. package/dist/components/portal/PortalProvider.js +1 -1
  285. package/dist/components/portal/usePortal.js +1 -1
  286. package/dist/components/shared/DraggableCollection.js +1 -1
  287. package/dist/components/shared/InvalidIcon.js +1 -1
  288. package/dist/components/shared/ValidIcon.js +1 -1
  289. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  290. package/dist/components/status/Spin/Cube.js +1 -1
  291. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  292. package/dist/components/status/Spin/Spin.js +1 -1
  293. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  294. package/dist/data/item-themes.js +1 -1
  295. package/dist/data/themes.js +1 -1
  296. package/dist/eslint-plugin/defaults.generated.js +1 -1
  297. package/dist/eslint-plugin/index.js +1 -1
  298. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  299. package/dist/i18n/I18nProvider.js +1 -1
  300. package/dist/i18n/createFormatter.js +1 -1
  301. package/dist/i18n/index.js +1 -1
  302. package/dist/i18n/instance.js +1 -1
  303. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  304. package/dist/i18n/locales/en-US/uikit.js +1 -1
  305. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  306. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  307. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  308. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  309. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  310. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  311. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  312. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  313. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  314. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  315. package/dist/i18n/locales.js +1 -1
  316. package/dist/i18n/useFormatter.js +1 -1
  317. package/dist/i18n/useI18n.js +1 -1
  318. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  319. package/dist/icons/AdjustmentsIcon.js +1 -1
  320. package/dist/icons/AiIcon.js +1 -1
  321. package/dist/icons/AreaChartIcon.js +1 -1
  322. package/dist/icons/BackwardIcon.js +1 -1
  323. package/dist/icons/BarChartIcon.js +1 -1
  324. package/dist/icons/BellFilledIcon.js +1 -1
  325. package/dist/icons/BellIcon.js +1 -1
  326. package/dist/icons/BooleanIcon.js +1 -1
  327. package/dist/icons/CalendarEditIcon.js +1 -1
  328. package/dist/icons/CalendarIcon.js +1 -1
  329. package/dist/icons/CaretDownIcon.js +1 -1
  330. package/dist/icons/CaretUpIcon.js +1 -1
  331. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  332. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  333. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  334. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  335. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  336. package/dist/icons/ChartBarLineIcon.js +1 -1
  337. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  338. package/dist/icons/ChartBarStackedIcon.js +1 -1
  339. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  340. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  341. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  342. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  343. package/dist/icons/ChartBubbleIcon.js +1 -1
  344. package/dist/icons/ChartDonut2Icon.js +1 -1
  345. package/dist/icons/ChartFunnelIcon.js +1 -1
  346. package/dist/icons/ChartHeatmapIcon.js +1 -1
  347. package/dist/icons/ChartKPIIcon.js +1 -1
  348. package/dist/icons/ChartPie2Icon.js +1 -1
  349. package/dist/icons/ChartScatterIcon.js +1 -1
  350. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  351. package/dist/icons/CheckCircleIcon.js +1 -1
  352. package/dist/icons/CheckIcon.js +1 -1
  353. package/dist/icons/CircleFilledIcon.js +1 -1
  354. package/dist/icons/ClearIcon.js +1 -1
  355. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  356. package/dist/icons/CloseCircleIcon.js +1 -1
  357. package/dist/icons/CloseIcon.js +1 -1
  358. package/dist/icons/CodeIcon.js +1 -1
  359. package/dist/icons/ColumnTotalIcon.js +1 -1
  360. package/dist/icons/CopyIcon.js +1 -1
  361. package/dist/icons/CountIcon.js +1 -1
  362. package/dist/icons/CubeIcon.js +1 -1
  363. package/dist/icons/CubePauseIcon.js +1 -1
  364. package/dist/icons/CubePlayIcon.js +1 -1
  365. package/dist/icons/CurrencyDollarIcon.js +1 -1
  366. package/dist/icons/DangerIcon.js +1 -1
  367. package/dist/icons/DashboardIcon.js +1 -1
  368. package/dist/icons/DatabaseIcon.js +1 -1
  369. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  370. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  371. package/dist/icons/DirectionIcon.js +1 -1
  372. package/dist/icons/DonutIcon.js +1 -1
  373. package/dist/icons/DownIcon.js +1 -1
  374. package/dist/icons/EditIcon.js +1 -1
  375. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  376. package/dist/icons/ExclamationCircleIcon.js +1 -1
  377. package/dist/icons/ExclamationIcon.js +1 -1
  378. package/dist/icons/EyeIcon.js +1 -1
  379. package/dist/icons/EyeInvisibleIcon.js +1 -1
  380. package/dist/icons/FilterIcon.js +1 -1
  381. package/dist/icons/FolderFilledIcon.js +1 -1
  382. package/dist/icons/FolderIcon.js +1 -1
  383. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  384. package/dist/icons/FolderOpenIcon.js +1 -1
  385. package/dist/icons/ForwardIcon.js +1 -1
  386. package/dist/icons/GripVerticalIcon.js +1 -1
  387. package/dist/icons/HierarchyIcon.js +1 -1
  388. package/dist/icons/HierarchyOpenIcon.js +1 -1
  389. package/dist/icons/Icon.js +1 -1
  390. package/dist/icons/InfoCircleIcon.js +1 -1
  391. package/dist/icons/InfoIcon.js +1 -1
  392. package/dist/icons/KeyIcon.js +1 -1
  393. package/dist/icons/LeftIcon.js +1 -1
  394. package/dist/icons/LineChartIcon.js +1 -1
  395. package/dist/icons/LoadingIcon.js +1 -1
  396. package/dist/icons/LockFilledIcon.js +1 -1
  397. package/dist/icons/LockIcon.js +1 -1
  398. package/dist/icons/MoreIcon.js +1 -1
  399. package/dist/icons/NotAllowedIcon.js +1 -1
  400. package/dist/icons/Number123Icon.js +1 -1
  401. package/dist/icons/NumberIcon.js +1 -1
  402. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  403. package/dist/icons/PauseCircleIcon.js +1 -1
  404. package/dist/icons/PauseIcon.js +1 -1
  405. package/dist/icons/PercentageIcon.js +1 -1
  406. package/dist/icons/PieChartIcon.js +1 -1
  407. package/dist/icons/PipetteIcon.js +1 -1
  408. package/dist/icons/PlayCircleIcon.js +1 -1
  409. package/dist/icons/PlayIcon.js +1 -1
  410. package/dist/icons/PlusIcon.js +1 -1
  411. package/dist/icons/ProgressBarIcon.js +1 -1
  412. package/dist/icons/ReloadIcon.js +1 -1
  413. package/dist/icons/ReportIcon.js +1 -1
  414. package/dist/icons/ReturnIcon.js +1 -1
  415. package/dist/icons/RightIcon.js +1 -1
  416. package/dist/icons/RowTotalsIcon.js +1 -1
  417. package/dist/icons/SchemeIcon.js +1 -1
  418. package/dist/icons/SearchIcon.js +1 -1
  419. package/dist/icons/SemanticQueryIcon.js +1 -1
  420. package/dist/icons/SettingsIcon.js +1 -1
  421. package/dist/icons/ShieldFilledIcon.js +1 -1
  422. package/dist/icons/ShieldIcon.js +1 -1
  423. package/dist/icons/SlashIcon.js +1 -1
  424. package/dist/icons/SparklesIcon.js +1 -1
  425. package/dist/icons/SqlIcon.js +1 -1
  426. package/dist/icons/StatsIcon.js +1 -1
  427. package/dist/icons/StopIcon.js +1 -1
  428. package/dist/icons/StringIcon.js +1 -1
  429. package/dist/icons/SubtotalsIcon.js +1 -1
  430. package/dist/icons/SwitchIcon.js +1 -1
  431. package/dist/icons/TableIcon.js +1 -1
  432. package/dist/icons/ThumbsDownIcon.js +1 -1
  433. package/dist/icons/ThumbsUpIcon.js +1 -1
  434. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  435. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  436. package/dist/icons/ThunderboltIcon.js +1 -1
  437. package/dist/icons/TimeIcon.js +1 -1
  438. package/dist/icons/TrashIcon.js +1 -1
  439. package/dist/icons/UnlockIcon.js +1 -1
  440. package/dist/icons/UpIcon.js +1 -1
  441. package/dist/icons/UserGroupIcon.js +1 -1
  442. package/dist/icons/UserIcon.js +1 -1
  443. package/dist/icons/UserLockIcon.js +1 -1
  444. package/dist/icons/ViewIcon.js +1 -1
  445. package/dist/icons/WarningFilledIcon.js +1 -1
  446. package/dist/icons/WarningIcon.js +1 -1
  447. package/dist/icons/wrap-icon.js +1 -1
  448. package/dist/index.d.ts +5 -7
  449. package/dist/index.js +5 -7
  450. package/dist/index.js.map +1 -1
  451. package/dist/provider.js +1 -1
  452. package/dist/providers/TrackingProvider.js +1 -1
  453. package/dist/providers/navigationAdapter.default.js +1 -1
  454. package/dist/tokens/base.js +1 -1
  455. package/dist/tokens/colors.js +1 -1
  456. package/dist/tokens/index.js +1 -1
  457. package/dist/tokens/layout.js +1 -1
  458. package/dist/tokens/lazy-styles.js +1 -1
  459. package/dist/tokens/palette-config.js +1 -1
  460. package/dist/tokens/palette.js +1 -1
  461. package/dist/tokens/shadows.js +1 -1
  462. package/dist/tokens/sizes.js +1 -1
  463. package/dist/tokens/spacing.js +1 -1
  464. package/dist/tokens/typography.js +1 -1
  465. package/dist/utils/ResizeSensor.js +1 -1
  466. package/dist/utils/index.d.ts +1 -0
  467. package/dist/utils/is-dev-env.js +1 -1
  468. package/dist/utils/modules.js +1 -1
  469. package/dist/utils/promise.js +1 -1
  470. package/dist/utils/raf.js +1 -1
  471. package/dist/utils/random.js +1 -1
  472. package/dist/utils/range.js +1 -1
  473. package/dist/utils/react/RenderCache.js +1 -1
  474. package/dist/utils/react/Slots.js +1 -1
  475. package/dist/utils/react/chain.js +1 -1
  476. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  477. package/dist/utils/react/index.d.ts +1 -0
  478. package/dist/utils/react/index.js +2 -1
  479. package/dist/utils/react/interactions.js +1 -1
  480. package/dist/utils/react/isTextOnly.js +1 -1
  481. package/dist/utils/react/mapProps.js +1 -1
  482. package/dist/utils/react/mergeProps.js +1 -1
  483. package/dist/utils/react/nullableValue.js +1 -1
  484. package/dist/utils/react/resolveIcon.js +1 -1
  485. package/dist/utils/react/sharedStore.js +1 -1
  486. package/dist/utils/react/useBufferedValue.d.ts +56 -0
  487. package/dist/utils/react/useBufferedValue.js +90 -0
  488. package/dist/utils/react/useBufferedValue.js.map +1 -0
  489. package/dist/utils/react/useCombinedRefs.js +1 -1
  490. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  491. package/dist/utils/react/useEventBus.js +1 -1
  492. package/dist/utils/react/useId.js +1 -1
  493. package/dist/utils/react/useIsDarwin.js +1 -1
  494. package/dist/utils/react/useKeySymbols.js +1 -1
  495. package/dist/utils/react/useLayoutEffect.js +1 -1
  496. package/dist/utils/react/useLocalStorage.js +1 -1
  497. package/dist/utils/react/useMergeStyles.js +1 -1
  498. package/dist/utils/react/usePopoverSync.js +1 -1
  499. package/dist/utils/react/useQaProps.js +1 -1
  500. package/dist/utils/react/useViewportSize.js +1 -1
  501. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  502. package/dist/utils/selection.js +1 -1
  503. package/dist/utils/styles.js +1 -1
  504. package/dist/utils/tree.js +1 -1
  505. package/dist/utils/warnings.js +1 -1
  506. package/dist/version.js +2 -2
  507. package/docs/components/fields/ColorPicker.md +144 -85
  508. package/package.json +1 -1
  509. package/dist/components/fields/ColorInput/ColorInput.d.ts +0 -67
  510. package/dist/components/fields/ColorInput/ColorInput.js +0 -230
  511. package/dist/components/fields/ColorInput/ColorInput.js.map +0 -1
  512. package/dist/components/fields/ColorInput/index.d.ts +0 -2
  513. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +0 -50
  514. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +0 -259
  515. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +0 -1
  516. package/dist/components/fields/ColorSwatchGroup/index.d.ts +0 -2
  517. package/dist/components/fields/color/ColorPanel.js.map +0 -1
  518. package/dist/components/fields/color/ColorSwatch.d.ts +0 -22
  519. package/dist/components/fields/color/ColorSwatch.js +0 -58
  520. package/dist/components/fields/color/ColorSwatch.js.map +0 -1
  521. package/dist/components/fields/color/channels.js.map +0 -1
  522. package/dist/components/fields/color/color.d.ts +0 -21
  523. package/dist/components/fields/color/color.js.map +0 -1
  524. package/dist/components/fields/color/context.js +0 -20
  525. package/dist/components/fields/color/context.js.map +0 -1
  526. package/dist/components/fields/color/index.d.ts +0 -4
  527. package/docs/components/fields/ColorInput.md +0 -284
  528. package/docs/components/fields/ColorSwatchGroup.md +0 -206
@@ -1,16 +1,16 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { formatColor, getContrastingColor, toHex } from "./color.js";
4
- import { CHANNELS, COLOR_SPACES, COLOR_SPACE_HINTS, COLOR_SPACE_LABELS } from "./channels.js";
5
4
  import { __Radio } from "../RadioGroup/Radio.js";
6
5
  import { __Slider } from "../Slider/Slider.js";
6
+ import { CHANNELS, COLOR_SPACES, COLOR_SPACE_HINTS, COLOR_SPACE_LABELS } from "./channels.js";
7
7
  import { tasty } from "@tenphi/tasty";
8
8
  import { useMemo } from "react";
9
9
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
10
10
 
11
- //#region src/components/fields/color/ColorPanel.tsx
11
+ //#region src/components/fields/ColorPicker/ColorPickerPanel.tsx
12
12
  const PanelElement = tasty({
13
- qa: "ColorPanel",
13
+ qa: "ColorPickerPanel",
14
14
  styles: {
15
15
  display: "grid",
16
16
  flow: "row",
@@ -104,12 +104,11 @@ function ChannelRow({ channel, color, isDisabled, onChange }) {
104
104
  ] });
105
105
  }
106
106
  /**
107
- * The popover body shared by `ColorInput` and `ColorPicker`: a preview, a
108
- * switch between the three color concepts, and one gradient slider per channel
109
- * of the active one.
107
+ * The popover body of `ColorPicker`: a preview, a switch between the three
108
+ * color concepts, and one gradient slider per channel of the active one.
110
109
  */
111
- function ColorPanel(props) {
112
- const { color, space, isDisabled, previewFormat, swatches, input, onChange, onSpaceChange } = props;
110
+ function ColorPickerPanel(props) {
111
+ const { color, space, isDisabled, previewFormat, onChange, onSpaceChange } = props;
113
112
  const colorTokens = useMemo(() => ({
114
113
  "--color-picker-color": toHex(color),
115
114
  "--color-picker-contrast-color": getContrastingColor(color)
@@ -120,7 +119,6 @@ function ColorPanel(props) {
120
119
  return /* @__PURE__ */ jsxs(PanelElement, {
121
120
  style: colorTokens,
122
121
  children: [
123
- input,
124
122
  /* @__PURE__ */ jsx(PreviewElement, { children: formatColor(color, previewFormat) }),
125
123
  /* @__PURE__ */ jsx(__Radio.Tabs, {
126
124
  "aria-label": "Color space",
@@ -141,12 +139,11 @@ function ColorPanel(props) {
141
139
  color,
142
140
  isDisabled,
143
141
  onChange
144
- }, `${space}-${channel.label}`)) }),
145
- swatches
142
+ }, `${space}-${channel.label}`)) })
146
143
  ]
147
144
  });
148
145
  }
149
146
 
150
147
  //#endregion
151
- export { ColorPanel };
152
- //# sourceMappingURL=ColorPanel.js.map
148
+ export { ColorPickerPanel };
149
+ //# sourceMappingURL=ColorPickerPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPickerPanel.js","names":["Slider","Radio"],"sources":["../../../../src/components/fields/ColorPicker/ColorPickerPanel.tsx"],"sourcesContent":["import { Styles, tasty } from '@tenphi/tasty';\nimport { useMemo } from 'react';\n\nimport { useEvent } from '../../../_internal';\nimport { Radio } from '../RadioGroup';\nimport { Slider } from '../Slider';\n\nimport {\n CHANNELS,\n COLOR_SPACE_HINTS,\n COLOR_SPACE_LABELS,\n COLOR_SPACES,\n ColorChannel,\n ColorSpace,\n} from './channels';\nimport {\n ColorFormat,\n ColorValue,\n formatColor,\n getContrastingColor,\n toHex,\n} from './color';\n\nconst PanelElement = tasty({\n qa: 'ColorPickerPanel',\n styles: {\n display: 'grid',\n flow: 'row',\n gap: '1x',\n padding: '1x',\n width: '34x',\n },\n});\n\nconst PreviewElement = tasty({\n qa: 'ColorPreview',\n styles: {\n display: 'grid',\n placeItems: 'center',\n height: '6x',\n radius: true,\n preset: 's4',\n fill: '(#color-picker, #clear)',\n color: '(#color-picker-contrast, #dark)',\n shadow: 'inset 0 0 0 1bw #dark.1',\n },\n});\n\nconst ChannelsElement = tasty({\n styles: {\n display: 'grid',\n gridColumns: 'max-content 1sf max-content',\n placeItems: 'center stretch',\n gap: '1x',\n },\n});\n\nconst ChannelLabelElement = tasty({\n styles: {\n preset: 'c2',\n color: '#dark-03',\n textAlign: 'center',\n width: '2x',\n },\n});\n\nconst ChannelTrackElement = tasty({\n styles: {\n display: 'grid',\n placeItems: 'center stretch',\n },\n});\n\nconst ChannelValueElement = tasty({\n styles: {\n preset: 's4',\n color: '#dark-02',\n textAlign: 'right',\n whiteSpace: 'nowrap',\n width: '5.5x',\n },\n});\n\n/**\n * The gradient reaches the track through a plain custom property so the track\n * keeps a single cached style rule. A color picker moves its channels\n * continuously, and a fresh `styles` object per frame would emit a fresh CSS\n * rule per frame.\n */\nconst TRACK_STYLES: Styles = {\n height: '1x',\n top: '.5x',\n radius: '1r',\n fill: '#clear',\n image: '$channel-gradient',\n shadow: 'inset 0 0 0 1bw #dark.1',\n Fill: false,\n};\n\n/** A ring keeps the thumb visible wherever it sits on its own gradient. */\nconst THUMB_STYLES: Styles = {\n shadow: '0 0 0 2bw #surface, 0 0 0 3bw #dark.2',\n};\n\nconst THUMB_TOKENS = { '#slider-thumb': '(#color-picker, #surface)' };\n\nconst SPACE_STYLES: Styles = { width: '100%' };\nconst TAB_STYLES: Styles = { flexGrow: 1 };\n\nexport interface ColorPickerPanelProps {\n color: ColorValue;\n space: ColorSpace;\n isDisabled?: boolean;\n /** Notation used for the preview caption. */\n previewFormat: ColorFormat;\n onChange: (color: ColorValue) => void;\n onSpaceChange: (space: ColorSpace) => void;\n}\n\ninterface ChannelRowProps {\n channel: ColorChannel;\n color: ColorValue;\n isDisabled?: boolean;\n onChange: (color: ColorValue) => void;\n}\n\nfunction ChannelRow({ channel, color, isDisabled, onChange }: ChannelRowProps) {\n const max = channel.max(color);\n\n const handleChange = useEvent((value: number) => {\n onChange(channel.apply(color, value));\n });\n\n return (\n <>\n <ChannelLabelElement aria-hidden=\"true\">\n {channel.label}\n </ChannelLabelElement>\n <ChannelTrackElement\n style={{\n '--channel-gradient': `linear-gradient(to right, ${channel.stops(\n color,\n )})`,\n }}\n >\n <Slider\n aria-label={channel.title}\n value={Math.min(channel.value(color), max)}\n minValue={channel.min}\n maxValue={max}\n step={channel.step}\n isDisabled={isDisabled}\n trackStyles={TRACK_STYLES}\n thumbStyles={THUMB_STYLES}\n thumbTokens={THUMB_TOKENS}\n onChange={handleChange}\n />\n </ChannelTrackElement>\n <ChannelValueElement>{channel.display(color)}</ChannelValueElement>\n </>\n );\n}\n\n/**\n * The popover body of `ColorPicker`: a preview, a switch between the three\n * color concepts, and one gradient slider per channel of the active one.\n */\nexport function ColorPickerPanel(props: ColorPickerPanelProps) {\n const { color, space, isDisabled, previewFormat, onChange, onSpaceChange } =\n props;\n\n const colorTokens = useMemo(\n () => ({\n '--color-picker-color': toHex(color),\n '--color-picker-contrast-color': getContrastingColor(color),\n }),\n [color],\n );\n\n const handleSpaceChange = useEvent((value: string) => {\n onSpaceChange(value as ColorSpace);\n });\n\n return (\n <PanelElement style={colorTokens}>\n <PreviewElement>{formatColor(color, previewFormat)}</PreviewElement>\n <Radio.Tabs\n aria-label=\"Color space\"\n value={space}\n isDisabled={isDisabled}\n styles={SPACE_STYLES}\n onChange={handleSpaceChange}\n >\n {COLOR_SPACES.map((item) => (\n <Radio\n key={item}\n value={item}\n aria-label={COLOR_SPACE_LABELS[item]}\n tooltip={COLOR_SPACE_HINTS[item]}\n styles={TAB_STYLES}\n >\n {COLOR_SPACE_LABELS[item]}\n </Radio>\n ))}\n </Radio.Tabs>\n <ChannelsElement>\n {CHANNELS[space].map((channel) => (\n <ChannelRow\n key={`${space}-${channel.label}`}\n channel={channel}\n color={color}\n isDisabled={isDisabled}\n onChange={onChange}\n />\n ))}\n </ChannelsElement>\n </PanelElement>\n );\n}\n"],"mappings":";;;;;;;;;;;AAuBA,MAAM,eAAe,MAAM;CACzB,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,KAAK;EACL,SAAS;EACT,OAAO;EACR;CACF,CAAC;AAEF,MAAM,iBAAiB,MAAM;CAC3B,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,YAAY;EACZ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,OAAO;EACP,QAAQ;EACT;CACF,CAAC;AAEF,MAAM,kBAAkB,MAAM,EAC5B,QAAQ;CACN,SAAS;CACT,aAAa;CACb,YAAY;CACZ,KAAK;CACN,EACF,CAAC;AAEF,MAAM,sBAAsB,MAAM,EAChC,QAAQ;CACN,QAAQ;CACR,OAAO;CACP,WAAW;CACX,OAAO;CACR,EACF,CAAC;AAEF,MAAM,sBAAsB,MAAM,EAChC,QAAQ;CACN,SAAS;CACT,YAAY;CACb,EACF,CAAC;AAEF,MAAM,sBAAsB,MAAM,EAChC,QAAQ;CACN,QAAQ;CACR,OAAO;CACP,WAAW;CACX,YAAY;CACZ,OAAO;CACR,EACF,CAAC;;;;;;;AAQF,MAAM,eAAuB;CAC3B,QAAQ;CACR,KAAK;CACL,QAAQ;CACR,MAAM;CACN,OAAO;CACP,QAAQ;CACR,MAAM;CACP;;AAGD,MAAM,eAAuB,EAC3B,QAAQ,yCACT;AAED,MAAM,eAAe,EAAE,iBAAiB,6BAA6B;AAErE,MAAM,eAAuB,EAAE,OAAO,QAAQ;AAC9C,MAAM,aAAqB,EAAE,UAAU,GAAG;AAmB1C,SAAS,WAAW,EAAE,SAAS,OAAO,YAAY,YAA6B;CAC7E,MAAM,MAAM,QAAQ,IAAI,MAAM;CAE9B,MAAM,eAAe,UAAU,UAAkB;AAC/C,WAAS,QAAQ,MAAM,OAAO,MAAM,CAAC;GACrC;AAEF,QACE;EACE,oBAAC;GAAoB,eAAY;aAC9B,QAAQ;IACW;EACtB,oBAAC;GACC,OAAO,EACL,sBAAsB,6BAA6B,QAAQ,MACzD,MACD,CAAC,IACH;aAED,oBAACA;IACC,cAAY,QAAQ;IACpB,OAAO,KAAK,IAAI,QAAQ,MAAM,MAAM,EAAE,IAAI;IAC1C,UAAU,QAAQ;IAClB,UAAU;IACV,MAAM,QAAQ;IACF;IACZ,aAAa;IACb,aAAa;IACb,aAAa;IACb,UAAU;KACV;IACkB;EACtB,oBAAC,iCAAqB,QAAQ,QAAQ,MAAM,GAAuB;KAClE;;;;;;AAQP,SAAgB,iBAAiB,OAA8B;CAC7D,MAAM,EAAE,OAAO,OAAO,YAAY,eAAe,UAAU,kBACzD;CAEF,MAAM,cAAc,eACX;EACL,wBAAwB,MAAM,MAAM;EACpC,iCAAiC,oBAAoB,MAAM;EAC5D,GACD,CAAC,MAAM,CACR;CAED,MAAM,oBAAoB,UAAU,UAAkB;AACpD,gBAAc,MAAoB;GAClC;AAEF,QACE,qBAAC;EAAa,OAAO;;GACnB,oBAAC,4BAAgB,YAAY,OAAO,cAAc,GAAkB;GACpE,oBAACC,QAAM;IACL,cAAW;IACX,OAAO;IACK;IACZ,QAAQ;IACR,UAAU;cAET,aAAa,KAAK,SACjB,oBAACA;KAEC,OAAO;KACP,cAAY,mBAAmB;KAC/B,SAAS,kBAAkB;KAC3B,QAAQ;eAEP,mBAAmB;OANf,KAOC,CACR;KACS;GACb,oBAAC,6BACE,SAAS,OAAO,KAAK,YACpB,oBAAC;IAEU;IACF;IACK;IACF;MAJL,GAAG,MAAM,GAAG,QAAQ,QAKzB,CACF,GACc;;GACL"}
@@ -1,7 +1,7 @@
1
1
 
2
2
  import "./color.js";
3
3
 
4
- //#region src/components/fields/color/channels.d.ts
4
+ //#region src/components/fields/ColorPicker/channels.d.ts
5
5
  /**
6
6
  * The three color concepts the popover can be driven by. They all edit the
7
7
  * same canonical value — only the axes the user manipulates differ.
@@ -1,7 +1,7 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { fromOkhst, fromOklch, fromRgb, isAchromatic, maxChroma, normalizeHue, toHex, toOkhst, toOklch, toRgb } from "./color.js";
3
3
 
4
- //#region src/components/fields/color/channels.ts
4
+ //#region src/components/fields/ColorPicker/channels.ts
5
5
  /**
6
6
  * The three color concepts the popover can be driven by. They all edit the
7
7
  * same canonical value — only the axes the user manipulates differ.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channels.js","names":[],"sources":["../../../../src/components/fields/ColorPicker/channels.ts"],"sourcesContent":["import {\n ColorValue,\n fromOkhst,\n fromOklch,\n fromRgb,\n isAchromatic,\n maxChroma,\n normalizeHue,\n toHex,\n toOkhst,\n toOklch,\n toRgb,\n} from './color';\n\n/**\n * The three color concepts the popover can be driven by. They all edit the\n * same canonical value — only the axes the user manipulates differ.\n */\nexport const COLOR_SPACES = ['hst', 'lch', 'rgb'] as const;\n\nexport type ColorSpace = (typeof COLOR_SPACES)[number];\n\nexport const COLOR_SPACE_LABELS: Record<ColorSpace, string> = {\n hst: 'HST',\n lch: 'LCH',\n rgb: 'RGB',\n};\n\nexport const COLOR_SPACE_HINTS: Record<ColorSpace, string> = {\n hst: 'OKHST — hue, saturation, tone',\n lch: 'OKLCH — lightness, chroma, hue',\n rgb: 'sRGB — red, green, blue',\n};\n\nexport interface ColorChannel {\n /** Single-letter axis name shown next to the slider. */\n label: string;\n /** Accessible name for the slider. */\n title: string;\n min: number;\n step: number;\n /** The upper bound. Chroma is gamut-bound, so it depends on the color. */\n max: (color: ColorValue) => number;\n value: (color: ColorValue) => number;\n /** The color this channel produces when moved to `value`. */\n apply: (color: ColorValue, value: number) => ColorValue;\n /** Comma-separated gradient stops describing the channel's whole range. */\n stops: (color: ColorValue) => string;\n /** Human-readable rendering of the current channel value. */\n display: (color: ColorValue) => string;\n}\n\nconst constant = (value: number) => () => value;\n\nfunction round(value: number, precision = 2): number {\n const factor = 10 ** precision;\n\n return Math.round(value * factor) / factor;\n}\n\n/**\n * `count` evenly spaced gradient stops, always as hex. Perceptual channels are\n * not linear in sRGB, so a two-stop gradient would misrepresent them —\n * sampling the real conversion keeps the track honest. Hex (rather than an\n * `okhsl()` string) because the gradient reaches the DOM as a raw custom\n * property, without passing through Tasty's color functions.\n */\nfunction ramp(count: number, at: (position: number) => ColorValue): string {\n return Array.from({ length: count }, (_, index) =>\n toHex(at(index / (count - 1))),\n ).join(', ');\n}\n\n/**\n * The hue strip is drawn at full saturation and a fixed OKHSL lightness, which\n * keeps it perceptually even instead of spiking at yellow the way a CSS-HSL\n * rainbow does. Its own saturation and tone stay fixed: the strip is the same\n * in HST and in LCH, where `H` means the same thing.\n */\nconst HUE_STOPS = ramp(25, (position) => ({\n h: position * 360,\n s: 1,\n l: 0.6,\n}));\n\nconst hueChannel: ColorChannel = {\n label: 'H',\n title: 'Hue',\n min: 0,\n // 360° is the same angle as 0°, so the last usable stop is 359 — the range\n // `HueSlider` exposes as well.\n max: constant(359),\n step: 1,\n value: (color) => round(color.h, 1),\n apply: (color, value) => ({ ...color, h: normalizeHue(value) }),\n stops: () => HUE_STOPS,\n display: (color) => `${Math.round(color.h)}°`,\n};\n\nconst saturationChannel: ColorChannel = {\n label: 'S',\n title: 'Saturation',\n min: 0,\n max: constant(100),\n step: 1,\n value: (color) => round(color.s * 100, 1),\n apply: (color, value) => ({ ...color, s: value / 100 }),\n stops: (color) => ramp(7, (position) => ({ ...color, s: position })),\n display: (color) => `${Math.round(color.s * 100)}%`,\n};\n\nconst toneChannel: ColorChannel = {\n label: 'T',\n title: 'Tone',\n min: 0,\n max: constant(100),\n step: 1,\n value: (color) => round(toOkhst(color).t * 100, 1),\n apply: (color, value) =>\n fromOkhst({ h: color.h, s: color.s, t: value / 100 }),\n stops: (color) =>\n ramp(7, (position) => fromOkhst({ h: color.h, s: color.s, t: position })),\n display: (color) => `${Math.round(toOkhst(color).t * 100)}%`,\n};\n\nconst lightnessChannel: ColorChannel = {\n label: 'L',\n title: 'Lightness',\n min: 0,\n max: constant(100),\n step: 1,\n value: (color) => round(toOklch(color).l * 100, 1),\n apply: (color, value) => {\n const { c, h } = toOklch(color);\n\n return fromOklch({ l: value / 100, c, h });\n },\n stops: (color) => {\n const { c, h } = toOklch(color);\n\n return ramp(7, (position) => fromOklch({ l: position, c, h }));\n },\n display: (color) => `${Math.round(toOklch(color).l * 100)}%`,\n};\n\nconst chromaChannel: ColorChannel = {\n label: 'C',\n title: 'Chroma',\n min: 0,\n // Chroma has no fixed ceiling: how far it can go depends on how far the sRGB\n // gamut reaches at the current lightness and hue. Never zero, so the slider\n // always has a range to divide by.\n max: (color) => Math.max(round(maxChroma(color.h, color.l), 4), 0.001),\n step: 0.001,\n value: (color) => round(toOklch(color).c, 4),\n apply: (color, value) => {\n const { l, h } = toOklch(color);\n\n return fromOklch({ l, c: value, h });\n },\n stops: (color) => {\n const { l, h } = toOklch(color);\n const limit = maxChroma(color.h, color.l);\n\n return ramp(7, (position) => fromOklch({ l, c: position * limit, h }));\n },\n display: (color) => toOklch(color).c.toFixed(3),\n};\n\nfunction rgbChannel(\n key: 'r' | 'g' | 'b',\n label: string,\n title: string,\n): ColorChannel {\n const at = (color: ColorValue, value: number) =>\n fromRgb({ ...toRgb(color), [key]: value });\n\n return {\n label,\n title,\n min: 0,\n max: constant(255),\n step: 1,\n value: (color) => toRgb(color)[key],\n apply: (color, value) => {\n const next = at(color, value);\n\n // A gray has no hue of its own, and the conversion invents one. Keeping\n // the authored hue means switching back to HST or LCH resumes where the\n // user left off.\n return isAchromatic(next) ? { ...next, h: color.h } : next;\n },\n // An sRGB channel is linear in the space CSS interpolates gradients in, so\n // the two ends describe the whole ramp exactly.\n stops: (color) => ramp(2, (position) => at(color, position * 255)),\n display: (color) => `${toRgb(color)[key]}`,\n };\n}\n\nexport const CHANNELS: Record<ColorSpace, ColorChannel[]> = {\n hst: [hueChannel, saturationChannel, toneChannel],\n lch: [lightnessChannel, chromaChannel, hueChannel],\n rgb: [\n rgbChannel('r', 'R', 'Red'),\n rgbChannel('g', 'G', 'Green'),\n rgbChannel('b', 'B', 'Blue'),\n ],\n};\n"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+
2
+ import "@tenphi/glaze";
3
+
4
+ //#region src/components/fields/ColorPicker/color.d.ts
5
+ /**
6
+ * Every color format the picker can read and write.
7
+ *
8
+ * `okhsl` and `okhst` are Glaze / Tasty spaces rather than native CSS ones,
9
+ * but Tasty parses both, so the produced strings are usable as style values.
10
+ */
11
+ declare const COLOR_FORMATS: readonly ["hex", "rgb", "hsl", "okhsl", "okhst", "oklch"];
12
+ type ColorFormat = (typeof COLOR_FORMATS)[number];
13
+ //#endregion
14
+ export { COLOR_FORMATS, ColorFormat };
15
+ //# sourceMappingURL=color.d.ts.map
@@ -1,7 +1,7 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { contrastRatioFromLuminance, formatHsl, formatOkhsl, formatOkhst, formatOklch, formatRgb, hslToSrgb, okhslToLinearSrgb, okhslToOkhst, okhslToOklch, okhslToSrgb, okhstToOkhsl, oklabToOkhsl, parseHexAlpha, relativeLuminanceFromLinearRgb, srgbToHex, srgbToOkhsl } from "@tenphi/glaze";
3
3
 
4
- //#region src/components/fields/color/color.ts
4
+ //#region src/components/fields/ColorPicker/color.ts
5
5
  /**
6
6
  * Every color format the picker can read and write.
7
7
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.js","names":[],"sources":["../../../../src/components/fields/ColorPicker/color.ts"],"sourcesContent":["import {\n contrastRatioFromLuminance,\n formatHsl,\n formatOkhsl,\n formatOkhst,\n formatOklch,\n formatRgb,\n hslToSrgb,\n okhslToLinearSrgb,\n okhslToOkhst,\n okhslToOklch,\n okhslToSrgb,\n okhstToOkhsl,\n oklabToOkhsl,\n parseHexAlpha,\n relativeLuminanceFromLinearRgb,\n srgbToHex,\n srgbToOkhsl,\n} from '@tenphi/glaze';\n\nimport type {\n OkhslColor,\n OkhstColor,\n OklchColor,\n RgbColor,\n} from '@tenphi/glaze';\n\nexport type { OkhslColor, OkhstColor, OklchColor, RgbColor };\n\n/**\n * Every color format the picker can read and write.\n *\n * `okhsl` and `okhst` are Glaze / Tasty spaces rather than native CSS ones,\n * but Tasty parses both, so the produced strings are usable as style values.\n */\nexport const COLOR_FORMATS = [\n 'hex',\n 'rgb',\n 'hsl',\n 'okhsl',\n 'okhst',\n 'oklch',\n] as const;\n\nexport type ColorFormat = (typeof COLOR_FORMATS)[number];\n\n/**\n * OKHSL is the canonical space of the picker: it is Glaze's authoring space,\n * every channel is bounded, and — unlike OKLCh — every value inside those\n * bounds is inside the sRGB gamut, so no state can be unrepresentable.\n */\nexport type ColorValue = OkhslColor;\n\nconst FUNCTION_RE = /^([a-z]+)\\(([^()]+)\\)$/;\n/**\n * A number with an optional `%` or `deg` unit.\n *\n * The integer and fraction parts are deliberately written so that no two\n * quantifiers can consume the same digit — `\\d+(?:\\.\\d*)?` rather than\n * `\\d+\\.?\\d*`, whose `\\d+` and `\\d*` can split a digit run n ways and make\n * rejecting a long one quadratic. This runs on whatever the user types.\n */\nconst NUMBER_RE = /^[+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?(?:%|deg)?$/;\n\n/**\n * Saturation below this rounds to `0%` in every output notation, so the color\n * is achromatic for display purposes even when the conversion left a residue.\n */\nconst ACHROMATIC_SATURATION = 5e-5;\n\nfunction clamp(value: number, min: number, max: number): number {\n return value < min ? min : value > max ? max : value;\n}\n\nexport function normalizeHue(hue: number): number {\n if (!Number.isFinite(hue)) return 0;\n\n return ((hue % 360) + 360) % 360;\n}\n\n/**\n * The color carries no meaningful hue: every conversion out of it invents an\n * angle, so callers that need one should keep the hue they already had.\n */\nexport function isAchromatic(color: ColorValue): boolean {\n return color.s < ACHROMATIC_SATURATION;\n}\n\n/** Both channel objects describe the same color, within display precision. */\nexport function isSameColor(a?: ColorValue | null, b?: ColorValue | null) {\n if (!a || !b) return a === b;\n\n return (\n Math.abs(a.h - b.h) < 1e-6 &&\n Math.abs(a.s - b.s) < 1e-6 &&\n Math.abs(a.l - b.l) < 1e-6\n );\n}\n\n/**\n * Split a color-function body into its numeric arguments, dropping the alpha\n * component. Both the modern space-separated and the legacy comma-separated\n * syntaxes are accepted.\n *\n * Each argument keeps its unit so the caller can tell `50%` from `50`.\n */\nfunction splitArguments(body: string): string[] | null {\n const [values, ...rest] = body.split('/');\n\n // More than one slash is never valid syntax.\n if (rest.length > 1) return null;\n\n const args = values\n .trim()\n .split(values.includes(',') ? ',' : /\\s+/)\n .map((part) => part.trim())\n .filter(Boolean);\n\n // Legacy `rgba(r, g, b, a)` / `hsla(h, s, l, a)` carry alpha as a fourth\n // argument. Alpha is not part of the value, so it is dropped either way.\n if (args.length === 4) args.pop();\n\n return args.every((arg) => NUMBER_RE.test(arg)) ? args : null;\n}\n\n/** Parse an argument that may carry a `%` unit. `scale` is the 100% value. */\nfunction scalar(arg: string, scale: number): number {\n return arg.endsWith('%') ? (parseFloat(arg) / 100) * scale : parseFloat(arg);\n}\n\nfunction hueArgument(arg: string): number {\n // A percentage is not a valid hue angle.\n return arg.endsWith('%') ? NaN : normalizeHue(parseFloat(arg));\n}\n\nexport function fromRgb(color: RgbColor): ColorValue {\n const [h, s, l] = srgbToOkhsl([\n clamp(color.r, 0, 255) / 255,\n clamp(color.g, 0, 255) / 255,\n clamp(color.b, 0, 255) / 255,\n ]);\n\n return { h: normalizeHue(h), s: clamp(s, 0, 1), l: clamp(l, 0, 1) };\n}\n\nexport function toRgb(color: ColorValue): RgbColor {\n const [r, g, b] = okhslToSrgb(color.h, color.s, color.l);\n\n return {\n r: Math.round(clamp(r, 0, 1) * 255),\n g: Math.round(clamp(g, 0, 1) * 255),\n b: Math.round(clamp(b, 0, 1) * 255),\n };\n}\n\nexport function fromOkhst(color: OkhstColor): ColorValue {\n const { h, s, l } = okhstToOkhsl({\n h: normalizeHue(color.h),\n s: clamp(color.s, 0, 1),\n t: clamp(color.t, 0, 1),\n });\n\n return { h: normalizeHue(h), s: clamp(s, 0, 1), l: clamp(l, 0, 1) };\n}\n\nexport function toOkhst(color: ColorValue): OkhstColor {\n const { t } = okhslToOkhst(color);\n\n return { h: color.h, s: color.s, t: clamp(t, 0, 1) };\n}\n\n/**\n * The largest OKLCh chroma that stays inside the sRGB gamut for the given hue\n * and OKHSL lightness — that is exactly what OKHSL saturation `1` means.\n */\nexport function maxChroma(hue: number, lightness: number): number {\n return okhslToOklch(normalizeHue(hue), 1, clamp(lightness, 0, 1))[1];\n}\n\nexport function toOklch(color: ColorValue): OklchColor {\n const [l, c, h] = okhslToOklch(color.h, color.s, color.l);\n\n return { l, c, h: normalizeHue(h) };\n}\n\n/**\n * OKLCh addresses colors outside the sRGB gamut, so chroma is clipped to the\n * gamut boundary at the requested lightness before it is stored. Hue is taken\n * from the input rather than from the conversion, which loses it at zero\n * chroma.\n */\nexport function fromOklch(color: OklchColor): ColorValue {\n const h = normalizeHue(color.h);\n const c = Math.max(color.c, 0);\n const radians = (h * Math.PI) / 180;\n const [, s, l] = oklabToOkhsl([\n clamp(color.l, 0, 1),\n c * Math.cos(radians),\n c * Math.sin(radians),\n ]);\n const limit = maxChroma(h, l);\n\n return {\n h,\n s: limit > 0 ? (c >= limit ? 1 : clamp(s, 0, 1)) : 0,\n l: clamp(l, 0, 1),\n };\n}\n\nexport function toHex(color: ColorValue): string {\n return srgbToHex(okhslToSrgb(color.h, color.s, color.l));\n}\n\n/**\n * Read any supported color notation into the canonical space. Returns `null`\n * for anything that is not a real color — that is what lets the picker reject\n * partial input instead of guessing.\n *\n * Named CSS colors (`red`, `rebeccapurple`) are intentionally not supported,\n * matching `glaze.color()`.\n */\nexport function parseColor(input: string): ColorValue | null {\n const text = input.trim().toLowerCase();\n\n if (!text) return null;\n\n if (text.startsWith('#')) {\n const parsed = parseHexAlpha(text);\n\n return parsed ? fromRgb(rgbFromSrgb(parsed.rgb)) : null;\n }\n\n const match = FUNCTION_RE.exec(text);\n\n if (!match) return null;\n\n const [, name, body] = match;\n const args = splitArguments(body);\n\n if (!args || args.length !== 3) return null;\n\n switch (name) {\n case 'rgb':\n case 'rgba': {\n const [r, g, b] = args.map((arg) => scalar(arg, 255));\n\n return anyNaN(r, g, b) ? null : fromRgb({ r, g, b });\n }\n case 'hsl':\n case 'hsla': {\n const h = hueArgument(args[0]);\n const s = scalar(args[1], 100) / 100;\n const l = scalar(args[2], 100) / 100;\n\n if (anyNaN(h, s, l)) return null;\n\n return fromRgb(rgbFromSrgb(hslToSrgb(h, clamp(s, 0, 1), clamp(l, 0, 1))));\n }\n case 'okhsl': {\n const h = hueArgument(args[0]);\n const s = scalar(args[1], 100) / 100;\n const l = scalar(args[2], 100) / 100;\n\n if (anyNaN(h, s, l)) return null;\n\n return { h, s: clamp(s, 0, 1), l: clamp(l, 0, 1) };\n }\n case 'okhst': {\n const h = hueArgument(args[0]);\n const s = scalar(args[1], 100) / 100;\n const t = scalar(args[2], 100) / 100;\n\n if (anyNaN(h, s, t)) return null;\n\n return fromOkhst({ h, s, t });\n }\n case 'oklch': {\n // In `oklch()` a percentage means 1 for lightness and 0.4 for chroma.\n const l = scalar(args[0], 1);\n const c = scalar(args[1], 0.4);\n const h = hueArgument(args[2]);\n\n return anyNaN(l, c, h) ? null : fromOklch({ l, c, h });\n }\n default:\n return null;\n }\n}\n\nfunction anyNaN(...values: number[]): boolean {\n return values.some((value) => !Number.isFinite(value));\n}\n\nfunction rgbFromSrgb([r, g, b]: [number, number, number]): RgbColor {\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n/** Serialize the canonical color into one of the supported notations. */\nexport function formatColor(color: ColorValue, format: ColorFormat): string {\n // An achromatic color has no meaningful hue, and the conversions leave\n // whatever angle the source happened to carry. Zero reads better.\n const gray = isAchromatic(color);\n const hue = gray ? 0 : color.h;\n const saturation = color.s * 100;\n const lightness = color.l * 100;\n\n switch (format) {\n case 'rgb':\n return formatRgb(hue, saturation, lightness);\n case 'hsl': {\n const text = formatHsl(hue, saturation, lightness);\n\n // CSS HSL derives its hue from the sRGB channels, which is undefined\n // when they are equal — Glaze emits whatever the formula produces. Every\n // other notation carries the hue through, so only HSL needs this.\n return gray ? text.replace(/\\(-?[\\d.]+/, '(0') : text;\n }\n case 'okhsl':\n return formatOkhsl(hue, saturation, lightness);\n case 'okhst':\n return formatOkhst(hue, saturation, toOkhst(color).t * 100);\n case 'oklch':\n return formatOklch(hue, saturation, lightness);\n default:\n return toHex(color);\n }\n}\n\n/**\n * Which notation a string is written in, or `null` when it is not a color.\n * Used to keep the user's own notation while still normalizing the value.\n */\nexport function detectFormat(input: string): ColorFormat | null {\n const text = input.trim().toLowerCase();\n\n if (!parseColor(text)) return null;\n\n if (text.startsWith('#')) return 'hex';\n\n const name = FUNCTION_RE.exec(text)?.[1];\n\n switch (name) {\n case 'rgb':\n case 'rgba':\n return 'rgb';\n case 'hsl':\n case 'hsla':\n return 'hsl';\n case 'okhsl':\n return 'okhsl';\n case 'okhst':\n return 'okhst';\n case 'oklch':\n return 'oklch';\n default:\n return null;\n }\n}\n\n/**\n * Black or white — whichever the WCAG contrast ratio favors on the given\n * color. Keeps the popover preview label readable at any lightness. Returns a\n * literal hex rather than a token, because the answer is measured against this\n * exact fill and must not adapt with the color scheme.\n */\nexport function getContrastingColor(color: ColorValue): '#000000' | '#ffffff' {\n const luminance = relativeLuminanceFromLinearRgb(\n okhslToLinearSrgb(color.h, color.s, color.l),\n );\n\n return contrastRatioFromLuminance(luminance, 0) >=\n contrastRatioFromLuminance(1, luminance)\n ? '#000000'\n : '#ffffff';\n}\n"],"mappings":"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"}
@@ -1,2 +1,4 @@
1
1
 
2
- import { ColorPicker, CubeColorPickerProps } from "./ColorPicker.js";
2
+ import { COLOR_FORMATS, ColorFormat } from "./color.js";
3
+ import { COLOR_SPACES, ColorSpace } from "./channels.js";
4
+ import { ColorPicker, ColorPickerFormatMode, CubeColorPickerProps } from "./ColorPicker.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
4
4
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | 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 { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  //#region src/components/fields/CommandTextArea/caretPosition.ts
3
3
  const MIRROR_STYLES = [
4
4
  "boxSizing",
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { getCaretRect } from "./caretPosition.js";
3
3
  import { useEffect, useLayoutEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | 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 { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | 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 { getValidationMods } from "../../form/validation/resolve-validation-props.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | 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 { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
3
3
  import { CalendarIcon } from "../../../icons/CalendarIcon.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { Space } from "../../layout/Space.js";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { DatePickerSegment } from "./DatePickerSegment.js";
4
4
  import { formatSegments } from "./utils.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
  import { useRef } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | 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 { Space } from "../../layout/Space.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | 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 { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { _PeriodPicker } from "./PeriodPicker.js";
3
3
  import { forwardRef } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | 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 { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { _PeriodPicker } from "./PeriodPicker.js";
3
3
  import { forwardRef } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | 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 { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { _PeriodPicker } from "./PeriodPicker.js";
3
3
  import { forwardRef } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { _PeriodPicker } from "./PeriodPicker.js";
3
3
  import { forwardRef } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { parseAbsolute } from "@internationalized/date";
3
3
 
4
4
  //#region src/components/fields/DatePicker/parseDate.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { CalendarDate, startOfMonth, startOfWeek, startOfYear, toCalendarDate } from "@internationalized/date";
3
3
 
4
4
  //#region src/components/fields/DatePicker/period.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  //#region src/components/fields/DatePicker/props.ts
3
3
  const DEFAULT_DATE_PROPS = {
4
4
  granularity: "day",
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { useImperativeHandle, useRef } from "react";
3
3
  import { createDOMRef } from "@react-spectrum/utils";
4
4
  import { createFocusManager } from "@react-aria/focus";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | 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 { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { _Text } from "../../content/Text.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { _FileInput } from "../FileInput/FileInput.js";
3
3
  import { TextInput } from "../TextInput/TextInput.js";
4
4
  import { _NumberInput } from "../NumberInput/NumberInput.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { DraggableCollection } from "../../shared/DraggableCollection.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | 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 { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
4
4
  import { Portal } from "../../portal/Portal.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  //#region src/components/fields/ListBoxPopover/listNavigation.ts
3
3
  /**
4
4
  * Walks a collection (possibly nested under sections) and collects the keys of
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { useCallback, useEffect, useRef } from "react";
3
3
 
4
4
  //#region src/components/fields/ListBoxPopover/useCompositeFocus.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
4
4
  import { castNullableNumberValue } from "../../../utils/react/nullableValue.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { useI18n } from "../../../i18n/useI18n.js";
3
3
  import { DirectionIcon } from "../../../icons/DirectionIcon.js";
4
4
  import { Button } from "../../actions/index.js";
@@ -1,5 +1,7 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
+ import { chain } from "../../../utils/react/chain.js";
2
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
+ import { useBufferedValue } from "../../../utils/react/useBufferedValue.js";
3
5
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
4
6
  import { useI18n } from "../../../i18n/useI18n.js";
5
7
  import { EyeIcon } from "../../../icons/EyeIcon.js";
@@ -23,11 +25,19 @@ function PasswordInput(props, ref) {
23
25
  })
24
26
  });
25
27
  let [type, setType] = useState("password");
26
- let { labelProps: userLabelProps, suffix, multiLine, inputRef: propsInputRef, ...rest } = props;
28
+ let { labelProps: userLabelProps, suffix, multiLine, inputRef: propsInputRef, isBuffered, ...rest } = props;
27
29
  let localInputRef = useRef(null);
28
30
  let inputRef = propsInputRef ?? localInputRef;
31
+ let buffered = useBufferedValue(rest.value, rest.onChange, {
32
+ isBuffered,
33
+ isDisabled: rest.isDisabled,
34
+ isReadOnly: rest.isReadOnly
35
+ });
29
36
  let { labelProps, inputProps } = useTextField({
30
37
  ...rest,
38
+ value: buffered.value,
39
+ onChange: buffered.onChange,
40
+ onBlur: chain(rest.onBlur, buffered.reset),
31
41
  type
32
42
  }, inputRef);
33
43
  const mergedLabelProps = mergeProps$1(labelProps, userLabelProps);
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordInput.js","names":["mergeProps"],"sources":["../../../../src/components/fields/PasswordInput/PasswordInput.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef, useCallback, useRef, useState } from 'react';\nimport { useTextField } from 'react-aria';\n\nimport { useI18n } from '../../../i18n';\nimport { EyeIcon, EyeInvisibleIcon } from '../../../icons';\nimport { mergeProps } from '../../../utils/react';\nimport {\n castNullableStringValue,\n WithNullableValue,\n} from '../../../utils/react/nullableValue';\nimport { ItemAction } from '../../actions';\nimport { useFieldProps } from '../../form';\nimport { CubeTextInputBaseProps, TextInputBase } from '../TextInput';\n\nexport interface CubePasswordInputProps\n extends WithNullableValue<CubeTextInputBaseProps> {}\n\nfunction PasswordInput(\n props: CubePasswordInputProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const { t } = useI18n();\n\n props = castNullableStringValue(props);\n props = useFieldProps(props, {\n defaultValidationTrigger: 'onBlur',\n valuePropsMapper: ({ value, onChange }) => ({\n value: value?.toString() ?? '',\n onChange,\n }),\n });\n\n let [type, setType] = useState('password');\n let {\n labelProps: userLabelProps,\n suffix,\n multiLine,\n inputRef: propsInputRef,\n ...rest\n } = props;\n let localInputRef = useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n let inputRef = propsInputRef ?? localInputRef;\n let { labelProps, inputProps } = useTextField(\n {\n ...rest,\n type,\n },\n inputRef,\n );\n\n // Merge user-provided labelProps with aria labelProps\n const mergedLabelProps = mergeProps(labelProps, userLabelProps);\n\n const toggleType = useCallback(() => {\n setType((type) => (type === 'password' ? 'text' : 'password'));\n }, []);\n\n const wrappedSuffix = (\n <>\n {suffix}\n <ItemAction\n type=\"clear\"\n tooltip={t('passwordInput.toggleMasking', 'Toggle masking')}\n icon={type === 'password' ? <EyeInvisibleIcon /> : <EyeIcon />}\n onPress={toggleType}\n />\n </>\n );\n\n return (\n <TextInputBase\n ref={ref}\n labelProps={mergedLabelProps}\n inputProps={{ ...inputProps, 'data-input-type': 'passwordinput' }}\n inputRef={inputRef}\n inputStyles={{ paddingRight: '4x' }}\n type={type}\n suffixPosition=\"after\"\n suffix={wrappedSuffix}\n multiLine={multiLine}\n {...rest}\n />\n );\n}\n\n/**\n * PasswordInputs are password inputs that allow users to input passwords or code entries\n * with a keyboard. Various decorations can be displayed around the field to\n * communicate the entry requirements.\n */\nconst _PasswordInput = forwardRef(PasswordInput);\n\n(_PasswordInput as any).cubeInputType = 'Text';\n_PasswordInput.displayName = 'PasswordInput';\n\nexport { _PasswordInput as PasswordInput };\n"],"mappings":";;;;;;;;;;;;;;AAiBA,SAAS,cACP,OACA,KACA;CACA,MAAM,EAAE,MAAM,SAAS;AAEvB,SAAQ,wBAAwB,MAAM;AACtC,SAAQ,cAAc,OAAO;EAC3B,0BAA0B;EAC1B,mBAAmB,EAAE,OAAO,gBAAgB;GAC1C,OAAO,OAAO,UAAU,IAAI;GAC5B;GACD;EACF,CAAC;CAEF,IAAI,CAAC,MAAM,WAAW,SAAS,WAAW;CAC1C,IAAI,EACF,YAAY,gBACZ,QACA,WACA,UAAU,eACV,GAAG,SACD;CACJ,IAAI,gBAAgB,OAA+C,KAAK;CACxE,IAAI,WAAW,iBAAiB;CAChC,IAAI,EAAE,YAAY,eAAe,aAC/B;EACE,GAAG;EACH;EACD,EACD,SACD;CAGD,MAAM,mBAAmBA,aAAW,YAAY,eAAe;CAE/D,MAAM,aAAa,kBAAkB;AACnC,WAAS,SAAU,SAAS,aAAa,SAAS,WAAY;IAC7D,EAAE,CAAC;CAEN,MAAM,gBACJ,8CACG,QACD,oBAAC;EACC,MAAK;EACL,SAAS,EAAE,+BAA+B,iBAAiB;EAC3D,MAAM,SAAS,aAAa,oBAAC,qBAAmB,GAAG,oBAAC,YAAU;EAC9D,SAAS;GACT,IACD;AAGL,QACE,oBAAC;EACM;EACL,YAAY;EACZ,YAAY;GAAE,GAAG;GAAY,mBAAmB;GAAiB;EACvD;EACV,aAAa,EAAE,cAAc,MAAM;EAC7B;EACN,gBAAe;EACf,QAAQ;EACG;EACX,GAAI;GACJ;;;;;;;AASN,MAAM,iBAAiB,WAAW,cAAc;AAEhD,AAAC,eAAuB,gBAAgB;AACxC,eAAe,cAAc"}
1
+ {"version":3,"file":"PasswordInput.js","names":["mergeProps"],"sources":["../../../../src/components/fields/PasswordInput/PasswordInput.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef, useCallback, useRef, useState } from 'react';\nimport { useTextField } from 'react-aria';\n\nimport { useI18n } from '../../../i18n';\nimport { EyeIcon, EyeInvisibleIcon } from '../../../icons';\nimport { chain, mergeProps, useBufferedValue } from '../../../utils/react';\nimport {\n castNullableStringValue,\n WithNullableValue,\n} from '../../../utils/react/nullableValue';\nimport { ItemAction } from '../../actions';\nimport { useFieldProps } from '../../form';\nimport { CubeTextInputBaseProps, TextInputBase } from '../TextInput';\n\nexport interface CubePasswordInputProps\n extends WithNullableValue<CubeTextInputBaseProps> {}\n\nfunction PasswordInput(\n props: CubePasswordInputProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const { t } = useI18n();\n\n props = castNullableStringValue(props);\n props = useFieldProps(props, {\n defaultValidationTrigger: 'onBlur',\n valuePropsMapper: ({ value, onChange }) => ({\n value: value?.toString() ?? '',\n onChange,\n }),\n });\n\n let [type, setType] = useState('password');\n let {\n labelProps: userLabelProps,\n suffix,\n multiLine,\n inputRef: propsInputRef,\n isBuffered,\n ...rest\n } = props;\n let localInputRef = useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n let inputRef = propsInputRef ?? localInputRef;\n\n // Hold the typed text locally until the controlled value catches up — see `useBufferedValue`.\n let buffered = useBufferedValue(rest.value, rest.onChange, {\n isBuffered,\n isDisabled: rest.isDisabled,\n isReadOnly: rest.isReadOnly,\n });\n\n let { labelProps, inputProps } = useTextField(\n {\n ...rest,\n value: buffered.value,\n onChange: buffered.onChange,\n onBlur: chain(rest.onBlur, buffered.reset),\n type,\n },\n inputRef,\n );\n\n // Merge user-provided labelProps with aria labelProps\n const mergedLabelProps = mergeProps(labelProps, userLabelProps);\n\n const toggleType = useCallback(() => {\n setType((type) => (type === 'password' ? 'text' : 'password'));\n }, []);\n\n const wrappedSuffix = (\n <>\n {suffix}\n <ItemAction\n type=\"clear\"\n tooltip={t('passwordInput.toggleMasking', 'Toggle masking')}\n icon={type === 'password' ? <EyeInvisibleIcon /> : <EyeIcon />}\n onPress={toggleType}\n />\n </>\n );\n\n return (\n <TextInputBase\n ref={ref}\n labelProps={mergedLabelProps}\n inputProps={{ ...inputProps, 'data-input-type': 'passwordinput' }}\n inputRef={inputRef}\n inputStyles={{ paddingRight: '4x' }}\n type={type}\n suffixPosition=\"after\"\n suffix={wrappedSuffix}\n multiLine={multiLine}\n {...rest}\n />\n );\n}\n\n/**\n * PasswordInputs are password inputs that allow users to input passwords or code entries\n * with a keyboard. Various decorations can be displayed around the field to\n * communicate the entry requirements.\n */\nconst _PasswordInput = forwardRef(PasswordInput);\n\n(_PasswordInput as any).cubeInputType = 'Text';\n_PasswordInput.displayName = 'PasswordInput';\n\nexport { _PasswordInput as PasswordInput };\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,SAAS,cACP,OACA,KACA;CACA,MAAM,EAAE,MAAM,SAAS;AAEvB,SAAQ,wBAAwB,MAAM;AACtC,SAAQ,cAAc,OAAO;EAC3B,0BAA0B;EAC1B,mBAAmB,EAAE,OAAO,gBAAgB;GAC1C,OAAO,OAAO,UAAU,IAAI;GAC5B;GACD;EACF,CAAC;CAEF,IAAI,CAAC,MAAM,WAAW,SAAS,WAAW;CAC1C,IAAI,EACF,YAAY,gBACZ,QACA,WACA,UAAU,eACV,YACA,GAAG,SACD;CACJ,IAAI,gBAAgB,OAA+C,KAAK;CACxE,IAAI,WAAW,iBAAiB;CAGhC,IAAI,WAAW,iBAAiB,KAAK,OAAO,KAAK,UAAU;EACzD;EACA,YAAY,KAAK;EACjB,YAAY,KAAK;EAClB,CAAC;CAEF,IAAI,EAAE,YAAY,eAAe,aAC/B;EACE,GAAG;EACH,OAAO,SAAS;EAChB,UAAU,SAAS;EACnB,QAAQ,MAAM,KAAK,QAAQ,SAAS,MAAM;EAC1C;EACD,EACD,SACD;CAGD,MAAM,mBAAmBA,aAAW,YAAY,eAAe;CAE/D,MAAM,aAAa,kBAAkB;AACnC,WAAS,SAAU,SAAS,aAAa,SAAS,WAAY;IAC7D,EAAE,CAAC;CAEN,MAAM,gBACJ,8CACG,QACD,oBAAC;EACC,MAAK;EACL,SAAS,EAAE,+BAA+B,iBAAiB;EAC3D,MAAM,SAAS,aAAa,oBAAC,qBAAmB,GAAG,oBAAC,YAAU;EAC9D,SAAS;GACT,IACD;AAGL,QACE,oBAAC;EACM;EACL,YAAY;EACZ,YAAY;GAAE,GAAG;GAAY,mBAAmB;GAAiB;EACvD;EACV,aAAa,EAAE,cAAc,MAAM;EAC7B;EACN,gBAAe;EACf,QAAQ;EACG;EACX,GAAI;GACJ;;;;;;;AASN,MAAM,iBAAiB,WAAW,cAAc;AAEhD,AAAC,eAAuB,gBAAgB;AACxC,eAAe,cAAc"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { _Text } from "../../content/Text.js";
@@ -6,7 +6,7 @@ import { WithNullableValue } from "../../../utils/react/nullableValue.js";
6
6
  import { CubeRadioGroupProps, _RadioGroup } from "./RadioGroup.js";
7
7
  import { BaseProps, OuterStyleProps } from "@tenphi/tasty";
8
8
  import * as react from "react";
9
- import { AriaRadioProps, useRadio as useRadio$1 } from "react-aria";
9
+ import { AriaRadioProps, useRadio } from "react-aria";
10
10
 
11
11
  //#region src/components/fields/RadioGroup/Radio.d.ts
12
12
  interface CubeRadioProps extends BaseProps, AriaRadioProps, Omit<FieldBaseProps, 'tooltip'>, OuterStyleProps {
@@ -58,5 +58,5 @@ declare const __Radio: react.ForwardRefExoticComponent<CubeRadioProps & react.Re
58
58
  Button: react.ForwardRefExoticComponent<CubeRadioProps & react.RefAttributes<unknown>>;
59
59
  };
60
60
  //#endregion
61
- export { AriaRadioProps, CubeRadioProps, __Radio, useRadio$1 as useRadio };
61
+ export { AriaRadioProps, CubeRadioProps, __Radio, useRadio };
62
62
  //# sourceMappingURL=Radio.d.ts.map
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-5dea452 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b2b6df9 | 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 { useFocus as useFocus$1 } from "../../../utils/react/interactions.js";
@@ -13,7 +13,7 @@ import { _RadioGroup } from "./RadioGroup.js";
13
13
  import { OUTER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
14
14
  import { forwardRef, useMemo, useRef } from "react";
15
15
  import { jsx, jsxs } from "react/jsx-runtime";
16
- import { useHover, useRadio as useRadio$1 } from "react-aria";
16
+ import { useHover, useRadio } from "react-aria";
17
17
  import { useFocusableRef } from "@react-spectrum/utils";
18
18
 
19
19
  //#region src/components/fields/RadioGroup/Radio.tsx
@@ -162,7 +162,7 @@ function Radio(props, ref) {
162
162
  let { hoverProps, isHovered } = useHover({ isDisabled: effectiveIsDisabled });
163
163
  let inputRef = useRef(null);
164
164
  let domRef = useFocusableRef(ref, inputRef);
165
- let { inputProps, isDisabled: isRadioDisabled, isSelected: isRadioSelected } = useRadio$1({
165
+ let { inputProps, isDisabled: isRadioDisabled, isSelected: isRadioSelected } = useRadio({
166
166
  name,
167
167
  ...props,
168
168
  isDisabled: effectiveIsDisabled
@@ -270,5 +270,5 @@ const __Radio = Object.assign(_Radio, {
270
270
  __Radio.displayName = "Radio";
271
271
 
272
272
  //#endregion
273
- export { __Radio, useRadio$1 as useRadio };
273
+ export { __Radio, useRadio };
274
274
  //# sourceMappingURL=Radio.js.map