@cube-dev/ui-kit 0.0.0-canary-18e2ad5 → 0.0.0-canary-bba0d60

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 (571) 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.js +1 -1
  15. package/dist/components/actions/Action/Action.js +1 -1
  16. package/dist/components/actions/Banner/Banner.js +1 -1
  17. package/dist/components/actions/Button/Button.js +1 -1
  18. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  19. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  20. package/dist/components/actions/ButtonSplit/context.js +1 -1
  21. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  22. package/dist/components/actions/CommandMenu/styled.js +1 -1
  23. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  24. package/dist/components/actions/ItemActionContext.js +1 -1
  25. package/dist/components/actions/ItemActionsWrapper.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/actions-run.js +1 -1
  37. package/dist/components/actions/index.js +1 -1
  38. package/dist/components/actions/use-action.js +1 -1
  39. package/dist/components/actions/use-anchored-menu.js +1 -1
  40. package/dist/components/actions/use-context-menu.js +1 -1
  41. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  42. package/dist/components/content/Alert/Alert.js +1 -1
  43. package/dist/components/content/Alert/use-alert.js +1 -1
  44. package/dist/components/content/Avatar/Avatar.js +1 -1
  45. package/dist/components/content/Badge/Badge.js +1 -1
  46. package/dist/components/content/Card/Card.js +1 -1
  47. package/dist/components/content/Content.js +1 -1
  48. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  49. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  50. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  51. package/dist/components/content/Divider.js +1 -1
  52. package/dist/components/content/Footer.js +1 -1
  53. package/dist/components/content/Header.js +1 -1
  54. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  55. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  56. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  57. package/dist/components/content/Item/Item.js +1 -1
  58. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  59. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  60. package/dist/components/content/Layout/GridLayout.js +1 -1
  61. package/dist/components/content/Layout/Layout.js +1 -1
  62. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  63. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  64. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  65. package/dist/components/content/Layout/LayoutContent.js +1 -1
  66. package/dist/components/content/Layout/LayoutContext.js +1 -1
  67. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  68. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  69. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  70. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  71. package/dist/components/content/Layout/LayoutPane.js +1 -1
  72. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  73. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  74. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  75. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  76. package/dist/components/content/Layout/index.js +1 -1
  77. package/dist/components/content/Layout/utils.js +1 -1
  78. package/dist/components/content/Paragraph.js +1 -1
  79. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  80. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  81. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  82. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  83. package/dist/components/content/Result/Result.js +1 -1
  84. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  85. package/dist/components/content/Tag/Tag.js +1 -1
  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/data/DataTable/DataTable.js +1 -1
  98. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  99. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  100. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  101. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  102. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  103. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  104. package/dist/components/data/TableBase/RowCollection.js +1 -1
  105. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  106. package/dist/components/data/TableBase/TableRow.js +1 -1
  107. package/dist/components/data/TableBase/TableView.js +1 -1
  108. package/dist/components/data/TableBase/column-menu.js +1 -1
  109. package/dist/components/data/TableBase/column-tint.js +1 -1
  110. package/dist/components/data/TableBase/row-menu.js +1 -1
  111. package/dist/components/data/TableBase/styled.js +1 -1
  112. package/dist/components/data/TableBase/table-tree.js +1 -1
  113. package/dist/components/data/TableBase/types.js +1 -1
  114. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  115. package/dist/components/data/TableBase/use-column-order.js +1 -1
  116. package/dist/components/data/TableBase/use-container-width.js +1 -1
  117. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  118. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  119. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  120. package/dist/components/data/TableBase/use-table-search.js +1 -1
  121. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  122. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  123. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  124. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  125. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  126. package/dist/components/fields/Checkbox/Checkbox.d.ts +1 -1
  127. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  128. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  129. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +1 -1
  130. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  131. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  132. package/dist/components/fields/Checkbox/context.js +1 -1
  133. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  134. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  135. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  136. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  137. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  138. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  139. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  140. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  141. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  142. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  143. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  144. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  145. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  146. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  147. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  148. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  149. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  150. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  151. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  152. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  153. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  154. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  155. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  156. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  157. package/dist/components/fields/DatePicker/period.js +1 -1
  158. package/dist/components/fields/DatePicker/props.js +1 -1
  159. package/dist/components/fields/DatePicker/utils.js +1 -1
  160. package/dist/components/fields/FileInput/FileInput.d.ts +1 -1
  161. package/dist/components/fields/FileInput/FileInput.js +1 -1
  162. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  163. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  164. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  165. package/dist/components/fields/Input/Input.js +1 -1
  166. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  167. package/dist/components/fields/ListBox/ListBox.js +1 -1
  168. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  169. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  170. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  171. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  172. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  173. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  174. package/dist/components/fields/Picker/Picker.js +1 -1
  175. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  176. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +1 -1
  177. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  178. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  179. package/dist/components/fields/RadioGroup/context.js +1 -1
  180. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  181. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  182. package/dist/components/fields/Select/Select.js +1 -1
  183. package/dist/components/fields/Slider/Gradation.js +1 -1
  184. package/dist/components/fields/Slider/HueSlider.js +1 -1
  185. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  186. package/dist/components/fields/Slider/Slider.js +1 -1
  187. package/dist/components/fields/Slider/SliderBase.js +1 -1
  188. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  189. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  190. package/dist/components/fields/Slider/elements.js +1 -1
  191. package/dist/components/fields/Slider/index.js +1 -1
  192. package/dist/components/fields/Slider/types.d.ts +1 -1
  193. package/dist/components/fields/Switch/Switch.d.ts +1 -1
  194. package/dist/components/fields/Switch/Switch.js +1 -1
  195. package/dist/components/fields/Switch/Switch.js.map +1 -1
  196. package/dist/components/fields/TextArea/TextArea.js +1 -1
  197. package/dist/components/fields/TextInput/TextInput.js +1 -1
  198. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  199. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  200. package/dist/components/fields/TextInputMapper/TextInputMapper.d.ts +1 -1
  201. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  202. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  203. package/dist/components/fields/TriggerActions.js +1 -1
  204. package/dist/components/fields/color/ColorPanel.js +1 -1
  205. package/dist/components/fields/color/channels.js +1 -1
  206. package/dist/components/fields/color/color.js +1 -1
  207. package/dist/components/fields/color/context.js +1 -1
  208. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  209. package/dist/components/form/Form/Field.js +1 -1
  210. package/dist/components/form/Form/Form.js +1 -1
  211. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  212. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  213. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  214. package/dist/components/form/Form/SubmitError.js +1 -1
  215. package/dist/components/form/Form/backend.js +1 -1
  216. package/dist/components/form/Form/index.js +1 -1
  217. package/dist/components/form/Form/modern/actions.js +1 -1
  218. package/dist/components/form/Form/modern/context.js +1 -1
  219. package/dist/components/form/Form/modern/controller.js +1 -1
  220. package/dist/components/form/Form/modern/field-binding.js +1 -1
  221. package/dist/components/form/Form/modern/field.js +1 -1
  222. package/dist/components/form/Form/modern/react.js +1 -1
  223. package/dist/components/form/Form/modern/store.js +1 -1
  224. package/dist/components/form/Form/modern/validation.js +1 -1
  225. package/dist/components/form/Form/modern/values.js +1 -1
  226. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  227. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  228. package/dist/components/form/Form/use-field/use-field.js +1 -1
  229. package/dist/components/form/Form/use-form.js +1 -1
  230. package/dist/components/form/Form/validation.js +1 -1
  231. package/dist/components/form/Label.js +1 -1
  232. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  233. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  234. package/dist/components/form/validation/use-validation-props.js +1 -1
  235. package/dist/components/form/wrapper.js +1 -1
  236. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  237. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  238. package/dist/components/layout/Board/Board.js +1 -1
  239. package/dist/components/layout/Board/BoardProvider.js +1 -1
  240. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  241. package/dist/components/layout/Board/Widget.js +1 -1
  242. package/dist/components/layout/Board/WidgetHost.js +1 -1
  243. package/dist/components/layout/Board/board-context.js +1 -1
  244. package/dist/components/layout/Board/board-store.js +1 -1
  245. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  246. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  247. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  248. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  249. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  250. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  251. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  252. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  253. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  254. package/dist/components/layout/Board/index.js +1 -1
  255. package/dist/components/layout/Board/responsive-utils.js +1 -1
  256. package/dist/components/layout/Board/use-board-layout.js +1 -1
  257. package/dist/components/layout/Board/use-board-registry.js +1 -1
  258. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  259. package/dist/components/layout/Board/use-board-selection.js +1 -1
  260. package/dist/components/layout/Flex.js +1 -1
  261. package/dist/components/layout/Flow.js +1 -1
  262. package/dist/components/layout/Grid.js +1 -1
  263. package/dist/components/layout/Panel.js +1 -1
  264. package/dist/components/layout/Prefix.js +1 -1
  265. package/dist/components/layout/ResizablePanel.js +1 -1
  266. package/dist/components/layout/Space.js +1 -1
  267. package/dist/components/layout/Suffix.js +1 -1
  268. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  269. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  270. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  271. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  272. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  273. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  274. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  275. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  276. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  277. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  278. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  279. package/dist/components/navigation/Tabs/styled.js +1 -1
  280. package/dist/components/navigation/Tabs/types.js +1 -1
  281. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  282. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  283. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  284. package/dist/components/other/Calendar/Calendar.js +1 -1
  285. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  286. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  287. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  288. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  289. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  290. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  291. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  292. package/dist/components/other/Calendar/styled.js +1 -1
  293. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  294. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  295. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  296. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  297. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  298. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  299. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  300. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  301. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  302. package/dist/components/overlays/Dialog/context.js +1 -1
  303. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  304. package/dist/components/overlays/Modal/Modal.js +1 -1
  305. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  306. package/dist/components/overlays/Modal/Overlay.js +1 -1
  307. package/dist/components/overlays/Modal/Popover.js +1 -1
  308. package/dist/components/overlays/Modal/Tray.js +1 -1
  309. package/dist/components/overlays/Modal/Underlay.js +1 -1
  310. package/dist/components/overlays/Notifications/Notification.js +1 -1
  311. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  312. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  313. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  314. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  315. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  316. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  317. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  318. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  319. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  320. package/dist/components/overlays/Notifications/index.js +1 -1
  321. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  322. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  323. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  324. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  325. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  326. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  327. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  328. package/dist/components/overlays/Toast/index.js +1 -1
  329. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  330. package/dist/components/overlays/Toast/useToast.js +1 -1
  331. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  332. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  333. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  334. package/dist/components/overlays/Tooltip/context.js +1 -1
  335. package/dist/components/portal/Portal.js +1 -1
  336. package/dist/components/portal/PortalProvider.js +1 -1
  337. package/dist/components/portal/usePortal.js +1 -1
  338. package/dist/components/shared/DraggableCollection.js +1 -1
  339. package/dist/components/shared/InvalidIcon.js +1 -1
  340. package/dist/components/shared/ValidIcon.js +1 -1
  341. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  342. package/dist/components/status/Spin/Cube.js +1 -1
  343. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  344. package/dist/components/status/Spin/Spin.js +1 -1
  345. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  346. package/dist/data/item-themes.js +1 -1
  347. package/dist/data/themes.js +1 -1
  348. package/dist/eslint-plugin/defaults.generated.js +1 -1
  349. package/dist/eslint-plugin/index.js +1 -1
  350. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  351. package/dist/i18n/I18nProvider.js +1 -1
  352. package/dist/i18n/createFormatter.js +1 -1
  353. package/dist/i18n/index.js +1 -1
  354. package/dist/i18n/instance.js +1 -1
  355. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  356. package/dist/i18n/locales/en-US/uikit.js +1 -1
  357. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  358. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  359. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  360. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  361. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  362. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  363. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  364. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  365. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  366. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  367. package/dist/i18n/locales.js +1 -1
  368. package/dist/i18n/useFormatter.js +1 -1
  369. package/dist/i18n/useI18n.js +1 -1
  370. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  371. package/dist/icons/AdjustmentsIcon.js +1 -1
  372. package/dist/icons/AiIcon.js +1 -1
  373. package/dist/icons/AreaChartIcon.js +1 -1
  374. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  375. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  376. package/dist/icons/BackwardIcon.js +1 -1
  377. package/dist/icons/BarChartIcon.js +1 -1
  378. package/dist/icons/BellFilledIcon.js +1 -1
  379. package/dist/icons/BellIcon.js +1 -1
  380. package/dist/icons/BooleanIcon.js +1 -1
  381. package/dist/icons/CalendarEditIcon.js +1 -1
  382. package/dist/icons/CalendarIcon.js +1 -1
  383. package/dist/icons/CaretDownIcon.js +1 -1
  384. package/dist/icons/CaretUpIcon.js +1 -1
  385. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  386. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  387. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  388. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  389. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  390. package/dist/icons/ChartBarLineIcon.js +1 -1
  391. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  392. package/dist/icons/ChartBarStackedIcon.js +1 -1
  393. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  394. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  395. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  396. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  397. package/dist/icons/ChartBubbleIcon.js +1 -1
  398. package/dist/icons/ChartDonut2Icon.js +1 -1
  399. package/dist/icons/ChartFunnelIcon.js +1 -1
  400. package/dist/icons/ChartHeatmapIcon.js +1 -1
  401. package/dist/icons/ChartKPIIcon.js +1 -1
  402. package/dist/icons/ChartPie2Icon.js +1 -1
  403. package/dist/icons/ChartScatterIcon.js +1 -1
  404. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  405. package/dist/icons/CheckCircleIcon.js +1 -1
  406. package/dist/icons/CheckIcon.js +1 -1
  407. package/dist/icons/CircleFilledIcon.js +1 -1
  408. package/dist/icons/ClearIcon.js +1 -1
  409. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  410. package/dist/icons/CloseCircleIcon.js +1 -1
  411. package/dist/icons/CloseIcon.js +1 -1
  412. package/dist/icons/CodeIcon.js +1 -1
  413. package/dist/icons/ColumnTotalIcon.js +1 -1
  414. package/dist/icons/CopyIcon.js +1 -1
  415. package/dist/icons/CountIcon.js +1 -1
  416. package/dist/icons/CubeIcon.js +1 -1
  417. package/dist/icons/CubePauseIcon.js +1 -1
  418. package/dist/icons/CubePlayIcon.js +1 -1
  419. package/dist/icons/CurrencyDollarIcon.js +1 -1
  420. package/dist/icons/DangerIcon.js +1 -1
  421. package/dist/icons/DashboardIcon.js +1 -1
  422. package/dist/icons/DatabaseIcon.js +1 -1
  423. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  424. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  425. package/dist/icons/DirectionIcon.js +1 -1
  426. package/dist/icons/DonutIcon.js +1 -1
  427. package/dist/icons/DownIcon.js +1 -1
  428. package/dist/icons/EditIcon.js +1 -1
  429. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  430. package/dist/icons/ExclamationCircleIcon.js +1 -1
  431. package/dist/icons/ExclamationIcon.js +1 -1
  432. package/dist/icons/EyeIcon.js +1 -1
  433. package/dist/icons/EyeInvisibleIcon.js +1 -1
  434. package/dist/icons/FilterIcon.js +1 -1
  435. package/dist/icons/FolderFilledIcon.js +1 -1
  436. package/dist/icons/FolderIcon.js +1 -1
  437. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  438. package/dist/icons/FolderOpenIcon.js +1 -1
  439. package/dist/icons/ForwardIcon.js +1 -1
  440. package/dist/icons/GripVerticalIcon.js +1 -1
  441. package/dist/icons/HierarchyIcon.js +1 -1
  442. package/dist/icons/HierarchyOpenIcon.js +1 -1
  443. package/dist/icons/Icon.js +1 -1
  444. package/dist/icons/InfoCircleIcon.js +1 -1
  445. package/dist/icons/InfoIcon.js +1 -1
  446. package/dist/icons/KeyIcon.js +1 -1
  447. package/dist/icons/LeftIcon.js +1 -1
  448. package/dist/icons/LineChartIcon.js +1 -1
  449. package/dist/icons/LoadingIcon.js +1 -1
  450. package/dist/icons/LockFilledIcon.js +1 -1
  451. package/dist/icons/LockIcon.js +1 -1
  452. package/dist/icons/MoreIcon.js +1 -1
  453. package/dist/icons/NotAllowedIcon.js +1 -1
  454. package/dist/icons/Number123Icon.js +1 -1
  455. package/dist/icons/NumberIcon.js +1 -1
  456. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  457. package/dist/icons/PauseCircleIcon.js +1 -1
  458. package/dist/icons/PauseIcon.js +1 -1
  459. package/dist/icons/PercentageIcon.js +1 -1
  460. package/dist/icons/PieChartIcon.js +1 -1
  461. package/dist/icons/PipetteIcon.js +1 -1
  462. package/dist/icons/PlayCircleIcon.js +1 -1
  463. package/dist/icons/PlayIcon.js +1 -1
  464. package/dist/icons/PlusIcon.js +1 -1
  465. package/dist/icons/ProgressBarIcon.js +1 -1
  466. package/dist/icons/ReloadIcon.js +1 -1
  467. package/dist/icons/ReportIcon.js +1 -1
  468. package/dist/icons/ReturnIcon.js +1 -1
  469. package/dist/icons/RightIcon.js +1 -1
  470. package/dist/icons/RowTotalsIcon.js +1 -1
  471. package/dist/icons/SchemeIcon.js +1 -1
  472. package/dist/icons/SearchIcon.js +1 -1
  473. package/dist/icons/SemanticQueryIcon.js +1 -1
  474. package/dist/icons/SettingsIcon.js +1 -1
  475. package/dist/icons/ShieldFilledIcon.js +1 -1
  476. package/dist/icons/ShieldIcon.js +1 -1
  477. package/dist/icons/SlashIcon.js +1 -1
  478. package/dist/icons/SparklesIcon.js +1 -1
  479. package/dist/icons/SqlIcon.js +1 -1
  480. package/dist/icons/StatsIcon.js +1 -1
  481. package/dist/icons/StopIcon.js +1 -1
  482. package/dist/icons/StringIcon.js +1 -1
  483. package/dist/icons/SubtotalsIcon.js +1 -1
  484. package/dist/icons/SwitchIcon.js +1 -1
  485. package/dist/icons/TableIcon.js +1 -1
  486. package/dist/icons/ThumbsDownIcon.js +1 -1
  487. package/dist/icons/ThumbsUpIcon.js +1 -1
  488. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  489. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  490. package/dist/icons/ThunderboltIcon.js +1 -1
  491. package/dist/icons/TimeIcon.js +1 -1
  492. package/dist/icons/TrashIcon.js +1 -1
  493. package/dist/icons/UnlockIcon.js +1 -1
  494. package/dist/icons/UpIcon.js +1 -1
  495. package/dist/icons/UserGroupIcon.js +1 -1
  496. package/dist/icons/UserIcon.js +1 -1
  497. package/dist/icons/UserLockIcon.js +1 -1
  498. package/dist/icons/ViewIcon.js +1 -1
  499. package/dist/icons/WarningFilledIcon.js +1 -1
  500. package/dist/icons/WarningIcon.js +1 -1
  501. package/dist/icons/wrap-icon.js +1 -1
  502. package/dist/index.js +1 -1
  503. package/dist/probe/canonicalize.js +1 -1
  504. package/dist/probe/css.js +1 -1
  505. package/dist/probe/index.js +1 -1
  506. package/dist/provider.js +1 -1
  507. package/dist/providers/TrackingProvider.js +1 -1
  508. package/dist/providers/navigationAdapter.default.js +1 -1
  509. package/dist/tokens/all-tokens.js +1 -1
  510. package/dist/tokens/base.js +1 -1
  511. package/dist/tokens/color-seed.js +1 -1
  512. package/dist/tokens/color-theme.js +1 -1
  513. package/dist/tokens/colors.js +1 -1
  514. package/dist/tokens/layout.js +1 -1
  515. package/dist/tokens/lazy-styles.js +1 -1
  516. package/dist/tokens/legacy-color.js +1 -1
  517. package/dist/tokens/palette-config.js +1 -1
  518. package/dist/tokens/palette.js +1 -1
  519. package/dist/tokens/resolve.js +1 -1
  520. package/dist/tokens/shadows.js +1 -1
  521. package/dist/tokens/sizes.js +1 -1
  522. package/dist/tokens/spacing.js +1 -1
  523. package/dist/tokens/typography.js +1 -1
  524. package/dist/utils/ResizeSensor.js +1 -1
  525. package/dist/utils/colors.js +1 -1
  526. package/dist/utils/dotize.js +1 -1
  527. package/dist/utils/is-dev-env.js +1 -1
  528. package/dist/utils/modules.js +1 -1
  529. package/dist/utils/promise.js +1 -1
  530. package/dist/utils/raf.js +1 -1
  531. package/dist/utils/random.js +1 -1
  532. package/dist/utils/range.js +1 -1
  533. package/dist/utils/react/RenderCache.js +1 -1
  534. package/dist/utils/react/Slots.js +1 -1
  535. package/dist/utils/react/chain.js +1 -1
  536. package/dist/utils/react/disabledProps.js +1 -1
  537. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  538. package/dist/utils/react/index.js +1 -1
  539. package/dist/utils/react/interactions.js +1 -1
  540. package/dist/utils/react/isTextOnly.js +1 -1
  541. package/dist/utils/react/mapProps.js +1 -1
  542. package/dist/utils/react/mergeProps.js +1 -1
  543. package/dist/utils/react/nullableValue.js +1 -1
  544. package/dist/utils/react/resolveIcon.js +1 -1
  545. package/dist/utils/react/sharedStore.js +1 -1
  546. package/dist/utils/react/useBufferedValue.js +1 -1
  547. package/dist/utils/react/useCombinedRefs.js +1 -1
  548. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  549. package/dist/utils/react/useEventBus.js +1 -1
  550. package/dist/utils/react/useId.js +1 -1
  551. package/dist/utils/react/useIsDarwin.js +1 -1
  552. package/dist/utils/react/useKeySymbols.js +1 -1
  553. package/dist/utils/react/useLayoutEffect.js +1 -1
  554. package/dist/utils/react/useLocalStorage.js +1 -1
  555. package/dist/utils/react/useMergeStyles.js +1 -1
  556. package/dist/utils/react/usePopoverSync.js +1 -1
  557. package/dist/utils/react/useQaProps.js +1 -1
  558. package/dist/utils/react/useScheme.js +1 -1
  559. package/dist/utils/react/useViewportSize.js +1 -1
  560. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  561. package/dist/utils/selection.js +1 -1
  562. package/dist/utils/styles.js +1 -1
  563. package/dist/utils/tree.js +1 -1
  564. package/dist/utils/warnings.js +1 -1
  565. package/dist/version.js +2 -2
  566. package/docs/CreateComponent.md +1 -1
  567. package/docs/FieldProperties.md +10 -3
  568. package/docs/Usage.md +1 -1
  569. package/docs/components/form/Form.md +2 -0
  570. package/docs/modern-form-migration.md +2 -0
  571. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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";
@@ -8,7 +8,7 @@ import { RefObject } from "react";
8
8
  import { AriaTextFieldProps } from "react-aria";
9
9
 
10
10
  //#region src/components/fields/FileInput/FileInput.d.ts
11
- interface CubeFileInputProps extends BaseProps, PositionStyleProps, ContainerStyleProps, BlockStyleProps, AriaTextFieldProps, FieldBaseProps<string | undefined> {
11
+ interface CubeFileInputProps extends BaseProps, PositionStyleProps, ContainerStyleProps, BlockStyleProps, AriaTextFieldProps, FieldBaseProps<string | null | undefined> {
12
12
  /** The form instance; redeclared for the same reason as in `Checkbox`. */
13
13
  form?: FieldBaseProps['form'];
14
14
  /**
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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 +1 @@
1
- {"version":3,"file":"FileInput.js","names":[],"sources":["../../../../src/components/fields/FileInput/FileInput.tsx"],"sourcesContent":["import { createFocusableRef } from '@react-spectrum/utils';\nimport {\n BaseProps,\n BlockStyleProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n PositionStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n forwardRef,\n RefObject,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { useCombinedRefs } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { Action } from '../../actions';\nimport {\n getValidationMods,\n useFieldProps,\n ValidationIndicator,\n wrapWithField,\n} from '../../form';\n\nimport type { AriaTextFieldProps } from 'react-aria';\nimport type { Props } from '../../../props';\n\nconst FileInputElement = tasty(Action, {\n qa: 'FileInputWrapper',\n styles: {\n display: 'inline-flex',\n position: 'relative',\n preset: 't3',\n padding: '.5x 1x',\n gap: '1x',\n flow: 'row',\n placeItems: 'center start',\n fill: {\n '': '#surface',\n 'drag-hover': '#primary.16',\n ':hover': '#primary.08',\n disabled: '#disabled-surface',\n },\n border: {\n '': true,\n valid: '#success-text.50',\n invalid: '#danger-text.50',\n ':focus-within & :focus-visible': '#primary-text',\n },\n radius: true,\n cursor: '$pointer',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n\n Button: {\n radius: true,\n border: {\n '': '#clear',\n pressed: '#primary.30',\n },\n fill: '#primary.12',\n color: {\n '': '#primary',\n disabled: '#dark.30',\n },\n padding: '.5x (1.5x - 1px)',\n transition: 'theme',\n },\n\n Placeholder: {\n color: '#dark-02',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n width: 'max 100%',\n overflow: 'hidden',\n },\n\n Value: {\n color: '#dark-02',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n width: 'max 100%',\n overflow: 'hidden',\n },\n\n State: {\n display: 'flex',\n placeItems: 'center',\n },\n\n ValidationIcon: {\n $: '> State >',\n display: 'grid',\n placeItems: 'center',\n width: 'min 2x',\n fontSize: '$icon-size',\n },\n\n Input: {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n radius: '$content-radius',\n opacity: 0.01,\n cursor: '$pointer',\n zIndex: 10,\n },\n },\n});\n\nexport interface CubeFileInputProps\n extends BaseProps,\n PositionStyleProps,\n ContainerStyleProps,\n BlockStyleProps,\n AriaTextFieldProps,\n FieldBaseProps<string | undefined> {\n /** The form instance; redeclared for the same reason as in `Checkbox`. */\n form?: FieldBaseProps['form'];\n /**\n * The size of the input\n * @default default\n */\n size?: 'small' | 'default' | 'large' | string;\n /** The input ref */\n inputRef?: RefObject<HTMLInputElement>;\n /** Style map for the input */\n inputStyles?: Styles;\n /**\n * The type of the input\n * @default file\n */\n type?: 'file' | 'text';\n /** Direct input props */\n inputProps?: Props;\n /** The file types that the input should accept */\n accept?: string;\n value?: string;\n onChange?: (value: string) => void;\n placeholder?: string;\n}\n\nfunction extractContents(element, callback) {\n const files = element?.files;\n\n if (files && files.length > 0) {\n const fileReader = new FileReader();\n\n fileReader.onload = function () {\n callback(fileReader.result);\n };\n\n fileReader.readAsText(files[0]);\n }\n}\n\nfunction extractFileNameFromValue(value?: string) {\n return typeof value === 'string'\n ? (value as string).split('\\\\')?.pop()\n : undefined;\n}\n\nfunction FileInput(props: CubeFileInputProps, ref) {\n const { t } = useI18n();\n\n props = useFieldProps(\n { ...props },\n {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n onChange,\n value: props.type === 'file' || !props.type ? value : undefined,\n }),\n },\n );\n\n let {\n id,\n name,\n qa,\n value,\n onChange,\n placeholder,\n inputRef,\n isDisabled,\n isInvalid,\n isValid,\n inputStyles,\n type = 'file',\n inputProps,\n accept,\n form,\n ...otherProps\n } = props;\n\n const [dragHover, setDragHover] = useState(false);\n const defaultValue = useMemo(\n () => (type === 'file' ? value : undefined),\n [type, value],\n );\n const defaultFileName = useMemo(\n () => extractFileNameFromValue(defaultValue),\n [],\n );\n const [fileName, setFileName] = useState<string | undefined>(defaultFileName);\n\n let domRef = useRef(null);\n\n inputRef = useCombinedRefs(inputRef);\n\n const onLocalChange = useCallback(\n (event: any) => {\n const value = event.target.value;\n\n setFileName(extractFileNameFromValue(value));\n\n if (type === 'file') {\n onChange?.(value);\n } else {\n extractContents(event.target, onChange);\n }\n },\n [onChange],\n );\n\n let styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n // Expose imperative interface for ref\n useImperativeHandle(ref, () => ({\n ...createFocusableRef(domRef, inputRef),\n select() {\n if (inputRef?.current) {\n inputRef.current.select();\n }\n },\n getInputElement() {\n return inputRef?.current;\n },\n }));\n\n const fileInput = (\n <FileInputElement\n ref={domRef}\n styles={inputStyles}\n isDisabled={isDisabled}\n mods={{\n selected: !!value,\n 'drag-hover': dragHover,\n ...getValidationMods({ isInvalid, isValid }),\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === 'Space') {\n inputRef?.current?.click();\n }\n }}\n >\n <input\n ref={inputRef}\n id={id}\n name={name}\n accept={accept}\n data-qa={qa || 'FileInput'}\n data-input-type=\"fileinput\"\n data-element=\"Input\"\n disabled={isDisabled}\n type=\"file\"\n multiple={false}\n tabIndex={-1}\n onChange={onLocalChange}\n onDragEnter={() => {\n setDragHover(true);\n }}\n onDragLeave={() => {\n setDragHover(false);\n }}\n onDrop={() => {\n setDragHover(false);\n }}\n {...inputProps}\n />\n <div data-element=\"Button\">\n {t('fileInput.chooseFile', 'Choose file')}\n </div>\n <div data-element={fileName ? 'Value' : 'Placeholder'}>\n {fileName ||\n placeholder ||\n t('fileInput.noFileSelected', 'No file selected')}\n </div>\n <ValidationIndicator isInvalid={isInvalid} isValid={isValid} />\n </FileInputElement>\n );\n\n return wrapWithField(fileInput, domRef, {\n ...props,\n });\n}\n\n/**\n * FileInputs are file inputs that allow users to select local files to\n * upload them to the server.\n */\nconst _FileInput = forwardRef(FileInput);\n\n_FileInput.displayName = 'FileInput';\n\nexport { _FileInput as FileInput };\n"],"mappings":"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"}
1
+ {"version":3,"file":"FileInput.js","names":[],"sources":["../../../../src/components/fields/FileInput/FileInput.tsx"],"sourcesContent":["import { createFocusableRef } from '@react-spectrum/utils';\nimport {\n BaseProps,\n BlockStyleProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n PositionStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n forwardRef,\n RefObject,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { useCombinedRefs } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { Action } from '../../actions';\nimport {\n getValidationMods,\n useFieldProps,\n ValidationIndicator,\n wrapWithField,\n} from '../../form';\n\nimport type { AriaTextFieldProps } from 'react-aria';\nimport type { Props } from '../../../props';\n\nconst FileInputElement = tasty(Action, {\n qa: 'FileInputWrapper',\n styles: {\n display: 'inline-flex',\n position: 'relative',\n preset: 't3',\n padding: '.5x 1x',\n gap: '1x',\n flow: 'row',\n placeItems: 'center start',\n fill: {\n '': '#surface',\n 'drag-hover': '#primary.16',\n ':hover': '#primary.08',\n disabled: '#disabled-surface',\n },\n border: {\n '': true,\n valid: '#success-text.50',\n invalid: '#danger-text.50',\n ':focus-within & :focus-visible': '#primary-text',\n },\n radius: true,\n cursor: '$pointer',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n\n Button: {\n radius: true,\n border: {\n '': '#clear',\n pressed: '#primary.30',\n },\n fill: '#primary.12',\n color: {\n '': '#primary',\n disabled: '#dark.30',\n },\n padding: '.5x (1.5x - 1px)',\n transition: 'theme',\n },\n\n Placeholder: {\n color: '#dark-02',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n width: 'max 100%',\n overflow: 'hidden',\n },\n\n Value: {\n color: '#dark-02',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n width: 'max 100%',\n overflow: 'hidden',\n },\n\n State: {\n display: 'flex',\n placeItems: 'center',\n },\n\n ValidationIcon: {\n $: '> State >',\n display: 'grid',\n placeItems: 'center',\n width: 'min 2x',\n fontSize: '$icon-size',\n },\n\n Input: {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n radius: '$content-radius',\n opacity: 0.01,\n cursor: '$pointer',\n zIndex: 10,\n },\n },\n});\n\nexport interface CubeFileInputProps\n extends BaseProps,\n PositionStyleProps,\n ContainerStyleProps,\n BlockStyleProps,\n AriaTextFieldProps,\n FieldBaseProps<string | null | undefined> {\n /** The form instance; redeclared for the same reason as in `Checkbox`. */\n form?: FieldBaseProps['form'];\n /**\n * The size of the input\n * @default default\n */\n size?: 'small' | 'default' | 'large' | string;\n /** The input ref */\n inputRef?: RefObject<HTMLInputElement>;\n /** Style map for the input */\n inputStyles?: Styles;\n /**\n * The type of the input\n * @default file\n */\n type?: 'file' | 'text';\n /** Direct input props */\n inputProps?: Props;\n /** The file types that the input should accept */\n accept?: string;\n value?: string;\n onChange?: (value: string) => void;\n placeholder?: string;\n}\n\nfunction extractContents(element, callback) {\n const files = element?.files;\n\n if (files && files.length > 0) {\n const fileReader = new FileReader();\n\n fileReader.onload = function () {\n callback(fileReader.result);\n };\n\n fileReader.readAsText(files[0]);\n }\n}\n\nfunction extractFileNameFromValue(value?: string) {\n return typeof value === 'string'\n ? (value as string).split('\\\\')?.pop()\n : undefined;\n}\n\nfunction FileInput(props: CubeFileInputProps, ref) {\n const { t } = useI18n();\n\n props = useFieldProps(\n { ...props },\n {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n onChange,\n value: props.type === 'file' || !props.type ? value : undefined,\n }),\n },\n );\n\n let {\n id,\n name,\n qa,\n value,\n onChange,\n placeholder,\n inputRef,\n isDisabled,\n isInvalid,\n isValid,\n inputStyles,\n type = 'file',\n inputProps,\n accept,\n form,\n ...otherProps\n } = props;\n\n const [dragHover, setDragHover] = useState(false);\n const defaultValue = useMemo(\n () => (type === 'file' ? value : undefined),\n [type, value],\n );\n const defaultFileName = useMemo(\n () => extractFileNameFromValue(defaultValue),\n [],\n );\n const [fileName, setFileName] = useState<string | undefined>(defaultFileName);\n\n let domRef = useRef(null);\n\n inputRef = useCombinedRefs(inputRef);\n\n const onLocalChange = useCallback(\n (event: any) => {\n const value = event.target.value;\n\n setFileName(extractFileNameFromValue(value));\n\n if (type === 'file') {\n onChange?.(value);\n } else {\n extractContents(event.target, onChange);\n }\n },\n [onChange],\n );\n\n let styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n // Expose imperative interface for ref\n useImperativeHandle(ref, () => ({\n ...createFocusableRef(domRef, inputRef),\n select() {\n if (inputRef?.current) {\n inputRef.current.select();\n }\n },\n getInputElement() {\n return inputRef?.current;\n },\n }));\n\n const fileInput = (\n <FileInputElement\n ref={domRef}\n styles={inputStyles}\n isDisabled={isDisabled}\n mods={{\n selected: !!value,\n 'drag-hover': dragHover,\n ...getValidationMods({ isInvalid, isValid }),\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === 'Space') {\n inputRef?.current?.click();\n }\n }}\n >\n <input\n ref={inputRef}\n id={id}\n name={name}\n accept={accept}\n data-qa={qa || 'FileInput'}\n data-input-type=\"fileinput\"\n data-element=\"Input\"\n disabled={isDisabled}\n type=\"file\"\n multiple={false}\n tabIndex={-1}\n onChange={onLocalChange}\n onDragEnter={() => {\n setDragHover(true);\n }}\n onDragLeave={() => {\n setDragHover(false);\n }}\n onDrop={() => {\n setDragHover(false);\n }}\n {...inputProps}\n />\n <div data-element=\"Button\">\n {t('fileInput.chooseFile', 'Choose file')}\n </div>\n <div data-element={fileName ? 'Value' : 'Placeholder'}>\n {fileName ||\n placeholder ||\n t('fileInput.noFileSelected', 'No file selected')}\n </div>\n <ValidationIndicator isInvalid={isInvalid} isValid={isValid} />\n </FileInputElement>\n );\n\n return wrapWithField(fileInput, domRef, {\n ...props,\n });\n}\n\n/**\n * FileInputs are file inputs that allow users to select local files to\n * upload them to the server.\n */\nconst _FileInput = forwardRef(FileInput);\n\n_FileInput.displayName = 'FileInput';\n\nexport { _FileInput as FileInput };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { TextInput } from "../TextInput/TextInput.js";
3
3
  import { _FileInput } from "../FileInput/FileInput.js";
4
4
  import { _NumberInput } from "../NumberInput/NumberInput.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { castNullableNumberValue } from "../../../utils/react/nullableValue.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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { chain } from "../../../utils/react/chain.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useBufferedValue } from "../../../utils/react/useBufferedValue.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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";
@@ -8,7 +8,7 @@ import * as react from "react";
8
8
  import { AriaRadioGroupProps } from "react-aria";
9
9
 
10
10
  //#region src/components/fields/RadioGroup/RadioGroup.d.ts
11
- interface CubeRadioGroupProps extends BaseProps, Omit<AriaRadioGroupProps, 'errorMessage' | 'form'>, ContainerStyleProps, FieldBaseProps<string | undefined> {
11
+ interface CubeRadioGroupProps extends BaseProps, Omit<AriaRadioGroupProps, 'errorMessage' | 'form'>, ContainerStyleProps, FieldBaseProps<string | null | undefined> {
12
12
  groupStyles?: Styles;
13
13
  orientation?: 'horizontal' | 'vertical';
14
14
  value?: string;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { castNullableStringValue } from "../../../utils/react/nullableValue.js";
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.js","names":["mergeProps"],"sources":["../../../../src/components/fields/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\nimport { AriaRadioGroupProps, useFocusRing, useRadioGroup } from 'react-aria';\nimport { useRadioGroupState } from 'react-stately';\n\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport {\n castNullableStringValue,\n WithNullableValue,\n} from '../../../utils/react/nullableValue';\nimport { extractStyles } from '../../../utils/styles';\nimport { CubeItemProps } from '../../content/Item/Item';\nimport { FormScopeMask, useFieldProps, wrapWithField } from '../../form';\n\nimport { RadioContext } from './context';\n\nexport interface CubeRadioGroupProps\n extends BaseProps,\n Omit<AriaRadioGroupProps, 'errorMessage' | 'form'>,\n ContainerStyleProps,\n FieldBaseProps<string | undefined> {\n groupStyles?: Styles;\n orientation?: 'horizontal' | 'vertical';\n value?: string;\n defaultValue?: string;\n onChange?: (value: string) => void;\n /* Size for all radio buttons in the group */\n size?: Omit<CubeItemProps['size'], 'inline'>;\n /* Button type for all button-style radios (ignored in tabs mode). When set to 'primary', selected buttons use 'primary' and non-selected use 'outline' with isSelected appearance */\n buttonType?: CubeItemProps['type'];\n /* Visual type for all radios in the group: radio (default), button, or tabs */\n type?: 'radio' | 'button' | 'tabs';\n}\n\nconst RadioGroupElement = tasty({\n qa: 'RadioGroup',\n styles: {\n display: 'flex',\n placeItems: 'stretch',\n placeContent: 'stretch',\n flow: {\n '': 'column',\n horizontal: 'row wrap',\n 'horizontal & tabs': 'row',\n },\n padding: {\n '': '0',\n tabs: '.5x',\n },\n // The tabs layout is the only one with padding, and a caller that gives the\n // group an explicit width (`width: 100%` inside a popover, say) means the\n // box it can see. Without this the padding is added on top and the group\n // overhangs its container by `1x`.\n boxSizing: 'border-box',\n radius: true,\n fill: {\n '': '#clear',\n 'tabs | disabled': '#surface-4',\n },\n width: 'max-content max-content initial',\n flexShrink: 0,\n gap: {\n '': '1x',\n button: 0,\n tabs: '.5x',\n },\n whiteSpace: 'nowrap',\n // Keyboard focus ring on the group, shown only for button/tabs layouts\n // where individual items are visually merged (button-group) or share a\n // single chrome (tabs) — the classic vertical radio list already shows\n // a per-item focus ring on the radio circle.\n outline: {\n '': '1bw #primary-text.0 / 1bw',\n 'focused & (button | tabs)': '1bw #primary-text / 1bw',\n },\n },\n});\n\nfunction RadioGroup(props: WithNullableValue<CubeRadioGroupProps>, ref) {\n let orientation = props.orientation;\n\n props = castNullableStringValue(props);\n props = useFieldProps(props, { defaultValidationTrigger: 'onChange' });\n\n let {\n qa,\n id,\n isDisabled,\n isRequired,\n labelPosition = 'top',\n isInvalid,\n isValid,\n children,\n styles,\n groupStyles,\n insideForm,\n // orientation, // ignore orientation since it came from the form context\n labelProps: baseLabelProps,\n size,\n buttonType,\n type,\n form,\n ...otherProps\n } = props;\n let domRef = useObjectRef(ref);\n\n styles = extractStyles(otherProps, CONTAINER_STYLES, styles);\n\n let state = useRadioGroupState(props);\n\n // Set default orientation based on type\n if (orientation == null) {\n orientation =\n type === 'button' || type === 'tabs' ? 'horizontal' : 'vertical';\n }\n\n let { radioGroupProps: fieldProps, labelProps } = useRadioGroup(\n { ...props, orientation },\n state,\n );\n\n // Keyboard-only focus ring on the group container (button/tabs layouts).\n // `within: true` tracks focus on any descendant radio. We read\n // `isFocusVisible` (not `isFocused`), which is keyboard-gated — mouse\n // clicks on a radio focus the input but leave `isFocusVisible` false.\n let { isFocusVisible: isFocusWithinVisible, focusProps: groupFocusProps } =\n useFocusRing({ within: true });\n\n let radioGroup = (\n <RadioGroupElement\n id={id}\n qa={qa || 'RadioGroup'}\n styles={styles}\n data-input-type=\"radiogroup\"\n data-radio-button-group={type === 'button' ? '' : undefined}\n mods={{\n horizontal: orientation === 'horizontal',\n 'inside-form': insideForm,\n 'side-label': labelPosition === 'side',\n button: type === 'button',\n tabs: type === 'tabs',\n focused: isFocusWithinVisible,\n }}\n {...groupFocusProps}\n >\n <FormScopeMask\n value={{\n isRequired,\n isInvalid,\n isValid,\n isDisabled,\n }}\n >\n <RadioContext.Provider\n value={{\n state,\n name: props.name,\n size,\n buttonType,\n type,\n isDisabled,\n }}\n >\n {children}\n </RadioContext.Provider>\n </FormScopeMask>\n </RadioGroupElement>\n );\n\n return wrapWithField(radioGroup, domRef, {\n ...props,\n fieldProps,\n labelProps: mergeProps(baseLabelProps, labelProps),\n });\n}\n\n/**\n * Radio groups allow users to select a single option from a list of mutually exclusive options.\n * All possible options are exposed up front for users to compare.\n */\nconst _RadioGroup = forwardRef(RadioGroup);\n\n(_RadioGroup as any).cubeInputType = 'RadioGroup';\n_RadioGroup.displayName = 'RadioGroup';\n\nexport { _RadioGroup as RadioGroup };\n"],"mappings":";;;;;;;;;;;;;;;;AA0CA,MAAM,oBAAoB,MAAM;CAC9B,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,YAAY;EACZ,cAAc;EACd,MAAM;GACJ,IAAI;GACJ,YAAY;GACZ,qBAAqB;GACtB;EACD,SAAS;GACP,IAAI;GACJ,MAAM;GACP;EAKD,WAAW;EACX,QAAQ;EACR,MAAM;GACJ,IAAI;GACJ,mBAAmB;GACpB;EACD,OAAO;EACP,YAAY;EACZ,KAAK;GACH,IAAI;GACJ,QAAQ;GACR,MAAM;GACP;EACD,YAAY;EAKZ,SAAS;GACP,IAAI;GACJ,6BAA6B;GAC9B;EACF;CACF,CAAC;AAEF,SAAS,WAAW,OAA+C,KAAK;CACtE,IAAI,cAAc,MAAM;AAExB,SAAQ,wBAAwB,MAAM;AACtC,SAAQ,cAAc,OAAO,EAAE,0BAA0B,YAAY,CAAC;CAEtE,IAAI,EACF,IACA,IACA,YACA,YACA,gBAAgB,OAChB,WACA,SACA,UACA,QACA,aACA,YAEA,YAAY,gBACZ,MACA,YACA,MACA,MACA,GAAG,eACD;CACJ,IAAI,SAAS,aAAa,IAAI;AAE9B,UAAS,cAAc,YAAY,kBAAkB,OAAO;CAE5D,IAAI,QAAQ,mBAAmB,MAAM;AAGrC,KAAI,eAAe,KACjB,eACE,SAAS,YAAY,SAAS,SAAS,eAAe;CAG1D,IAAI,EAAE,iBAAiB,YAAY,eAAe,cAChD;EAAE,GAAG;EAAO;EAAa,EACzB,MACD;CAMD,IAAI,EAAE,gBAAgB,sBAAsB,YAAY,oBACtD,aAAa,EAAE,QAAQ,MAAM,CAAC;AA2ChC,QAAO,cAxCL,oBAAC;EACK;EACJ,IAAI,MAAM;EACF;EACR,mBAAgB;EAChB,2BAAyB,SAAS,WAAW,KAAK;EAClD,MAAM;GACJ,YAAY,gBAAgB;GAC5B,eAAe;GACf,cAAc,kBAAkB;GAChC,QAAQ,SAAS;GACjB,MAAM,SAAS;GACf,SAAS;GACV;EACD,GAAI;YAEJ,oBAAC;GACC,OAAO;IACL;IACA;IACA;IACA;IACD;aAED,oBAAC,aAAa;IACZ,OAAO;KACL;KACA,MAAM,MAAM;KACZ;KACA;KACA;KACA;KACD;IAEA;KACqB;IACV;GACE,EAGW,QAAQ;EACvC,GAAG;EACH;EACA,YAAYA,aAAW,gBAAgB,WAAW;EACnD,CAAC;;;;;;AAOJ,MAAM,cAAc,WAAW,WAAW;AAE1C,AAAC,YAAoB,gBAAgB;AACrC,YAAY,cAAc"}
1
+ {"version":3,"file":"RadioGroup.js","names":["mergeProps"],"sources":["../../../../src/components/fields/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\nimport { AriaRadioGroupProps, useFocusRing, useRadioGroup } from 'react-aria';\nimport { useRadioGroupState } from 'react-stately';\n\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport {\n castNullableStringValue,\n WithNullableValue,\n} from '../../../utils/react/nullableValue';\nimport { extractStyles } from '../../../utils/styles';\nimport { CubeItemProps } from '../../content/Item/Item';\nimport { FormScopeMask, useFieldProps, wrapWithField } from '../../form';\n\nimport { RadioContext } from './context';\n\nexport interface CubeRadioGroupProps\n extends BaseProps,\n Omit<AriaRadioGroupProps, 'errorMessage' | 'form'>,\n ContainerStyleProps,\n FieldBaseProps<string | null | undefined> {\n groupStyles?: Styles;\n orientation?: 'horizontal' | 'vertical';\n value?: string;\n defaultValue?: string;\n onChange?: (value: string) => void;\n /* Size for all radio buttons in the group */\n size?: Omit<CubeItemProps['size'], 'inline'>;\n /* Button type for all button-style radios (ignored in tabs mode). When set to 'primary', selected buttons use 'primary' and non-selected use 'outline' with isSelected appearance */\n buttonType?: CubeItemProps['type'];\n /* Visual type for all radios in the group: radio (default), button, or tabs */\n type?: 'radio' | 'button' | 'tabs';\n}\n\nconst RadioGroupElement = tasty({\n qa: 'RadioGroup',\n styles: {\n display: 'flex',\n placeItems: 'stretch',\n placeContent: 'stretch',\n flow: {\n '': 'column',\n horizontal: 'row wrap',\n 'horizontal & tabs': 'row',\n },\n padding: {\n '': '0',\n tabs: '.5x',\n },\n // The tabs layout is the only one with padding, and a caller that gives the\n // group an explicit width (`width: 100%` inside a popover, say) means the\n // box it can see. Without this the padding is added on top and the group\n // overhangs its container by `1x`.\n boxSizing: 'border-box',\n radius: true,\n fill: {\n '': '#clear',\n 'tabs | disabled': '#surface-4',\n },\n width: 'max-content max-content initial',\n flexShrink: 0,\n gap: {\n '': '1x',\n button: 0,\n tabs: '.5x',\n },\n whiteSpace: 'nowrap',\n // Keyboard focus ring on the group, shown only for button/tabs layouts\n // where individual items are visually merged (button-group) or share a\n // single chrome (tabs) — the classic vertical radio list already shows\n // a per-item focus ring on the radio circle.\n outline: {\n '': '1bw #primary-text.0 / 1bw',\n 'focused & (button | tabs)': '1bw #primary-text / 1bw',\n },\n },\n});\n\nfunction RadioGroup(props: WithNullableValue<CubeRadioGroupProps>, ref) {\n let orientation = props.orientation;\n\n props = castNullableStringValue(props);\n props = useFieldProps(props, { defaultValidationTrigger: 'onChange' });\n\n let {\n qa,\n id,\n isDisabled,\n isRequired,\n labelPosition = 'top',\n isInvalid,\n isValid,\n children,\n styles,\n groupStyles,\n insideForm,\n // orientation, // ignore orientation since it came from the form context\n labelProps: baseLabelProps,\n size,\n buttonType,\n type,\n form,\n ...otherProps\n } = props;\n let domRef = useObjectRef(ref);\n\n styles = extractStyles(otherProps, CONTAINER_STYLES, styles);\n\n let state = useRadioGroupState(props);\n\n // Set default orientation based on type\n if (orientation == null) {\n orientation =\n type === 'button' || type === 'tabs' ? 'horizontal' : 'vertical';\n }\n\n let { radioGroupProps: fieldProps, labelProps } = useRadioGroup(\n { ...props, orientation },\n state,\n );\n\n // Keyboard-only focus ring on the group container (button/tabs layouts).\n // `within: true` tracks focus on any descendant radio. We read\n // `isFocusVisible` (not `isFocused`), which is keyboard-gated — mouse\n // clicks on a radio focus the input but leave `isFocusVisible` false.\n let { isFocusVisible: isFocusWithinVisible, focusProps: groupFocusProps } =\n useFocusRing({ within: true });\n\n let radioGroup = (\n <RadioGroupElement\n id={id}\n qa={qa || 'RadioGroup'}\n styles={styles}\n data-input-type=\"radiogroup\"\n data-radio-button-group={type === 'button' ? '' : undefined}\n mods={{\n horizontal: orientation === 'horizontal',\n 'inside-form': insideForm,\n 'side-label': labelPosition === 'side',\n button: type === 'button',\n tabs: type === 'tabs',\n focused: isFocusWithinVisible,\n }}\n {...groupFocusProps}\n >\n <FormScopeMask\n value={{\n isRequired,\n isInvalid,\n isValid,\n isDisabled,\n }}\n >\n <RadioContext.Provider\n value={{\n state,\n name: props.name,\n size,\n buttonType,\n type,\n isDisabled,\n }}\n >\n {children}\n </RadioContext.Provider>\n </FormScopeMask>\n </RadioGroupElement>\n );\n\n return wrapWithField(radioGroup, domRef, {\n ...props,\n fieldProps,\n labelProps: mergeProps(baseLabelProps, labelProps),\n });\n}\n\n/**\n * Radio groups allow users to select a single option from a list of mutually exclusive options.\n * All possible options are exposed up front for users to compare.\n */\nconst _RadioGroup = forwardRef(RadioGroup);\n\n(_RadioGroup as any).cubeInputType = 'RadioGroup';\n_RadioGroup.displayName = 'RadioGroup';\n\nexport { _RadioGroup as RadioGroup };\n"],"mappings":";;;;;;;;;;;;;;;;AA0CA,MAAM,oBAAoB,MAAM;CAC9B,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,YAAY;EACZ,cAAc;EACd,MAAM;GACJ,IAAI;GACJ,YAAY;GACZ,qBAAqB;GACtB;EACD,SAAS;GACP,IAAI;GACJ,MAAM;GACP;EAKD,WAAW;EACX,QAAQ;EACR,MAAM;GACJ,IAAI;GACJ,mBAAmB;GACpB;EACD,OAAO;EACP,YAAY;EACZ,KAAK;GACH,IAAI;GACJ,QAAQ;GACR,MAAM;GACP;EACD,YAAY;EAKZ,SAAS;GACP,IAAI;GACJ,6BAA6B;GAC9B;EACF;CACF,CAAC;AAEF,SAAS,WAAW,OAA+C,KAAK;CACtE,IAAI,cAAc,MAAM;AAExB,SAAQ,wBAAwB,MAAM;AACtC,SAAQ,cAAc,OAAO,EAAE,0BAA0B,YAAY,CAAC;CAEtE,IAAI,EACF,IACA,IACA,YACA,YACA,gBAAgB,OAChB,WACA,SACA,UACA,QACA,aACA,YAEA,YAAY,gBACZ,MACA,YACA,MACA,MACA,GAAG,eACD;CACJ,IAAI,SAAS,aAAa,IAAI;AAE9B,UAAS,cAAc,YAAY,kBAAkB,OAAO;CAE5D,IAAI,QAAQ,mBAAmB,MAAM;AAGrC,KAAI,eAAe,KACjB,eACE,SAAS,YAAY,SAAS,SAAS,eAAe;CAG1D,IAAI,EAAE,iBAAiB,YAAY,eAAe,cAChD;EAAE,GAAG;EAAO;EAAa,EACzB,MACD;CAMD,IAAI,EAAE,gBAAgB,sBAAsB,YAAY,oBACtD,aAAa,EAAE,QAAQ,MAAM,CAAC;AA2ChC,QAAO,cAxCL,oBAAC;EACK;EACJ,IAAI,MAAM;EACF;EACR,mBAAgB;EAChB,2BAAyB,SAAS,WAAW,KAAK;EAClD,MAAM;GACJ,YAAY,gBAAgB;GAC5B,eAAe;GACf,cAAc,kBAAkB;GAChC,QAAQ,SAAS;GACjB,MAAM,SAAS;GACf,SAAS;GACV;EACD,GAAI;YAEJ,oBAAC;GACC,OAAO;IACL;IACA;IACA;IACA;IACD;aAED,oBAAC,aAAa;IACZ,OAAO;KACL;KACA,MAAM,MAAM;KACZ;KACA;KACA;KACA;KACD;IAEA;KACqB;IACV;GACE,EAGW,QAAQ;EACvC,GAAG;EACH;EACA,YAAYA,aAAW,gBAAgB,WAAW;EACnD,CAAC;;;;;;AAOJ,MAAM,cAAc,WAAW,WAAW;AAE1C,AAAC,YAAoB,gBAAgB;AACrC,YAAY,cAAc"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
 
4
4
  //#region src/components/fields/RadioGroup/context.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { usePopoverSync } from "../../../utils/react/usePopoverSync.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { chain } from "../../../utils/react/chain.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useBufferedValue } from "../../../utils/react/useBufferedValue.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { forwardRefWithGenerics } from "../../../utils/react/forwardRefWithGenerics.js";
4
4
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { SliderGradationElement, SliderGradeElement } from "./elements.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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { __Slider } from "./Slider.js";
3
3
  import { forwardRef, useCallback, useMemo, useState } 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { Gradation } from "./Gradation.js";
3
3
  import { _SliderBase } from "./SliderBase.js";
4
4
  import { SliderThumb } from "./SliderThumb.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps } from "../../../utils/react/mergeProps.js";
4
4
  import { Gradation } from "./Gradation.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { forwardRefWithGenerics } from "../../../utils/react/forwardRefWithGenerics.js";
4
4
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { getValidationMods } from "../../form/validation/resolve-validation-props.js";
4
4
  import { SliderThumbElement } from "./elements.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { getValidationMods } from "../../form/validation/resolve-validation-props.js";
3
3
  import { SliderTrackContainerElement } from "./elements.js";
4
4
  import { useMemo } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
 
4
4
  //#region src/components/fields/Slider/elements.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { __RangeSlider } from "./RangeSlider.js";
3
3
  import { __Slider } from "./Slider.js";
4
4
  import { __HueSlider } from "./HueSlider.js";
@@ -5,7 +5,7 @@ import { BasePropsWithoutChildren, BlockStyleProps, OuterStyleProps, Styles } fr
5
5
  import { AriaSliderProps } from "react-aria";
6
6
 
7
7
  //#region src/components/fields/Slider/types.d.ts
8
- interface CubeSliderBaseProps<T> extends Omit<AriaSliderProps<T>, 'label' | 'form'>, BasePropsWithoutChildren, OuterStyleProps, FieldBaseProps<T | undefined>, BlockStyleProps {
8
+ interface CubeSliderBaseProps<T> extends Omit<AriaSliderProps<T>, 'label' | 'form'>, BasePropsWithoutChildren, OuterStyleProps, FieldBaseProps<T | null | undefined>, BlockStyleProps {
9
9
  inputStyles?: Styles;
10
10
  gradation?: string[];
11
11
  inputWidth?: string;
@@ -6,7 +6,7 @@ import * as react from "react";
6
6
  import { AriaSwitchProps, useSwitch } from "react-aria";
7
7
 
8
8
  //#region src/components/fields/Switch/Switch.d.ts
9
- interface CubeSwitchProps extends BaseProps, OuterStyleProps, BlockStyleProps, FieldBaseProps<boolean | undefined>, ToggleSelectionProps, AriaSwitchProps {
9
+ interface CubeSwitchProps extends BaseProps, OuterStyleProps, BlockStyleProps, FieldBaseProps<boolean | null | undefined>, ToggleSelectionProps, AriaSwitchProps {
10
10
  /** The form instance; redeclared for the same reason as in `Checkbox`. */
11
11
  form?: FieldBaseProps['form'];
12
12
  inputStyles?: Styles;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useId as useId$2 } from "../../../utils/react/useId.js";
4
4
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","names":["useId","useFocus","mergeProps","Text"],"sources":["../../../../src/components/fields/Switch/Switch.tsx"],"sourcesContent":["import { useFocusableRef } from '@react-spectrum/utils';\nimport {\n BaseProps,\n BLOCK_STYLES,\n BlockStyleProps,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef, useRef } from 'react';\nimport { AriaSwitchProps, useHover, useSwitch } from 'react-aria';\nimport { useToggleState } from 'react-stately';\n\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { FieldBaseProps, ToggleSelectionProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport {\n castNullableIsSelected,\n WithNullableSelected,\n} from '../../../utils/react/nullableValue';\nimport { useId } from '../../../utils/react/useId';\nimport { extractStyles } from '../../../utils/styles';\nimport { Text } from '../../content/Text';\nimport { getValidationMods, useFieldProps, wrapWithField } from '../../form';\nimport { HiddenInput } from '../../HiddenInput';\n\nconst SwitchWrapperElement = tasty({\n as: 'label',\n styles: {\n display: 'flex',\n position: 'relative',\n placeItems: {\n '': 'center stretch',\n 'side-label': 'baseline stretch',\n },\n gap: '1x',\n width: 'max max-content',\n color: '#dark-02',\n },\n});\n\nconst SwitchElement = tasty({\n qa: 'Switch',\n styles: {\n boxSizing: 'border-box',\n position: 'relative',\n verticalAlign: 'baseline',\n placeSelf: 'center',\n radius: 'round',\n fill: {\n '': '#surface',\n checked: '#primary',\n 'invalid & checked': '#danger',\n 'valid & checked': '#success',\n disabled: '#border.5',\n 'disabled & checked': '#border',\n },\n color: {\n '': '#dark-03',\n checked: '#white',\n },\n border: {\n '': '#dark-05',\n checked: '#primary-text',\n disabled: '#dark-05.5',\n invalid: '#danger',\n valid: '#success',\n },\n width: {\n '': '5x 5x',\n 'size=medium': '4x 4x',\n 'size=small': '3x 3x',\n },\n height: {\n '': '3x 3x',\n 'size=medium': '2.5x 2.5x',\n 'size=small': '2x 2x',\n },\n outline: {\n '': '#primary-text.0',\n focused: '1bw #primary-text',\n },\n outlineOffset: 1,\n transition: 'theme',\n cursor: '$pointer',\n\n Thumb: {\n position: 'absolute',\n width: {\n '': '2x 2x',\n 'size=medium': '1.5x 1.5x',\n 'size=small': '1.25x 1.25x',\n },\n height: {\n '': '2x 2x',\n 'size=medium': '1.5x 1.5x',\n 'size=small': '1.25x 1.25x',\n },\n radius: 'round',\n fill: {\n '': '#current',\n disabled: '#current.5',\n 'disabled & checked': '#white.8',\n },\n top: {\n '': '.375x',\n 'size=medium': '.375x',\n 'size=small': '.25x',\n },\n left: {\n '': '.375x',\n 'size=medium': '.375x',\n 'size=small': '.25x',\n checked: '2.25x',\n 'checked & size=medium': '1.75x',\n 'checked & size=small': '1.25x',\n },\n transition: 'left, theme',\n cursor: '$pointer',\n },\n },\n});\n\nconst PROP_STYLES = [...OUTER_STYLES, ...BLOCK_STYLES];\n\nexport interface CubeSwitchProps\n extends BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n FieldBaseProps<boolean | undefined>,\n ToggleSelectionProps,\n AriaSwitchProps {\n /** The form instance; redeclared for the same reason as in `Checkbox`. */\n form?: FieldBaseProps['form'];\n inputStyles?: Styles;\n isLoading?: boolean;\n size?: 'large' | 'medium' | 'small';\n}\n\nfunction Switch(props: WithNullableSelected<CubeSwitchProps>, ref) {\n props = castNullableIsSelected(props);\n props = useFieldProps(props, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n isSelected: value != null ? value : false,\n isIndeterminate: false,\n onChange: onChange,\n }),\n });\n\n let {\n qa,\n isDisabled = false,\n children,\n label,\n insideForm,\n isLoading,\n labelPosition,\n inputStyles,\n isInvalid,\n isValid,\n size = 'medium',\n form,\n } = props;\n\n const id = useId(props.id);\n\n let styles = extractStyles(props, PROP_STYLES);\n\n let { isFocused, focusProps } = useFocus({ isDisabled }, true);\n let { hoverProps, isHovered } = useHover({ isDisabled });\n\n let inputRef = useRef(null);\n let domRef = useFocusableRef(ref, inputRef);\n\n let { inputProps } = useSwitch(props, useToggleState(props), inputRef);\n\n const mods = {\n checked: inputProps.checked,\n disabled: isDisabled,\n hovered: isHovered,\n focused: isFocused,\n ...getValidationMods({ isInvalid, isValid }),\n 'inside-form': insideForm,\n 'side-label': labelPosition === 'side',\n };\n\n const switchField = (\n <SwitchWrapperElement\n qa=\"SwitchWrapper\"\n mods={mods}\n data-size={size}\n styles={styles}\n {...hoverProps}\n >\n <HiddenInput\n qa={qa || 'Switch'}\n data-input-type=\"switch\"\n {...mergeProps(inputProps, focusProps)}\n ref={inputRef}\n id={id}\n />\n <SwitchElement mods={mods} data-size={size} styles={inputStyles}>\n <div data-element=\"Thumb\" aria-hidden=\"true\" />\n </SwitchElement>\n {children ? <Text nowrap>{children}</Text> : null}\n {isLoading ? (\n <>\n {label ? <>&nbsp;</> : null}\n <LoadingIcon />\n </>\n ) : null}\n </SwitchWrapperElement>\n );\n\n return wrapWithField(switchField, domRef, {\n ...props,\n id,\n labelProps: {\n ...props.labelProps,\n for: id,\n },\n children: null,\n inputStyles,\n });\n}\n\n/**\n * Switches allow users to turn an individual option on or off.\n * They are usually used to activate or deactivate a specific setting.\n */\nlet _Switch = forwardRef(Switch);\n\n(_Switch as any).cubeInputType = 'Checkbox';\n_Switch.displayName = 'Switch';\n\nexport { _Switch as Switch };\nexport type { AriaSwitchProps };\nexport { useSwitch };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Switch.js","names":["useId","useFocus","mergeProps","Text"],"sources":["../../../../src/components/fields/Switch/Switch.tsx"],"sourcesContent":["import { useFocusableRef } from '@react-spectrum/utils';\nimport {\n BaseProps,\n BLOCK_STYLES,\n BlockStyleProps,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef, useRef } from 'react';\nimport { AriaSwitchProps, useHover, useSwitch } from 'react-aria';\nimport { useToggleState } from 'react-stately';\n\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { FieldBaseProps, ToggleSelectionProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport {\n castNullableIsSelected,\n WithNullableSelected,\n} from '../../../utils/react/nullableValue';\nimport { useId } from '../../../utils/react/useId';\nimport { extractStyles } from '../../../utils/styles';\nimport { Text } from '../../content/Text';\nimport { getValidationMods, useFieldProps, wrapWithField } from '../../form';\nimport { HiddenInput } from '../../HiddenInput';\n\nconst SwitchWrapperElement = tasty({\n as: 'label',\n styles: {\n display: 'flex',\n position: 'relative',\n placeItems: {\n '': 'center stretch',\n 'side-label': 'baseline stretch',\n },\n gap: '1x',\n width: 'max max-content',\n color: '#dark-02',\n },\n});\n\nconst SwitchElement = tasty({\n qa: 'Switch',\n styles: {\n boxSizing: 'border-box',\n position: 'relative',\n verticalAlign: 'baseline',\n placeSelf: 'center',\n radius: 'round',\n fill: {\n '': '#surface',\n checked: '#primary',\n 'invalid & checked': '#danger',\n 'valid & checked': '#success',\n disabled: '#border.5',\n 'disabled & checked': '#border',\n },\n color: {\n '': '#dark-03',\n checked: '#white',\n },\n border: {\n '': '#dark-05',\n checked: '#primary-text',\n disabled: '#dark-05.5',\n invalid: '#danger',\n valid: '#success',\n },\n width: {\n '': '5x 5x',\n 'size=medium': '4x 4x',\n 'size=small': '3x 3x',\n },\n height: {\n '': '3x 3x',\n 'size=medium': '2.5x 2.5x',\n 'size=small': '2x 2x',\n },\n outline: {\n '': '#primary-text.0',\n focused: '1bw #primary-text',\n },\n outlineOffset: 1,\n transition: 'theme',\n cursor: '$pointer',\n\n Thumb: {\n position: 'absolute',\n width: {\n '': '2x 2x',\n 'size=medium': '1.5x 1.5x',\n 'size=small': '1.25x 1.25x',\n },\n height: {\n '': '2x 2x',\n 'size=medium': '1.5x 1.5x',\n 'size=small': '1.25x 1.25x',\n },\n radius: 'round',\n fill: {\n '': '#current',\n disabled: '#current.5',\n 'disabled & checked': '#white.8',\n },\n top: {\n '': '.375x',\n 'size=medium': '.375x',\n 'size=small': '.25x',\n },\n left: {\n '': '.375x',\n 'size=medium': '.375x',\n 'size=small': '.25x',\n checked: '2.25x',\n 'checked & size=medium': '1.75x',\n 'checked & size=small': '1.25x',\n },\n transition: 'left, theme',\n cursor: '$pointer',\n },\n },\n});\n\nconst PROP_STYLES = [...OUTER_STYLES, ...BLOCK_STYLES];\n\nexport interface CubeSwitchProps\n extends BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n FieldBaseProps<boolean | null | undefined>,\n ToggleSelectionProps,\n AriaSwitchProps {\n /** The form instance; redeclared for the same reason as in `Checkbox`. */\n form?: FieldBaseProps['form'];\n inputStyles?: Styles;\n isLoading?: boolean;\n size?: 'large' | 'medium' | 'small';\n}\n\nfunction Switch(props: WithNullableSelected<CubeSwitchProps>, ref) {\n props = castNullableIsSelected(props);\n props = useFieldProps(props, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n isSelected: value != null ? value : false,\n isIndeterminate: false,\n onChange: onChange,\n }),\n });\n\n let {\n qa,\n isDisabled = false,\n children,\n label,\n insideForm,\n isLoading,\n labelPosition,\n inputStyles,\n isInvalid,\n isValid,\n size = 'medium',\n form,\n } = props;\n\n const id = useId(props.id);\n\n let styles = extractStyles(props, PROP_STYLES);\n\n let { isFocused, focusProps } = useFocus({ isDisabled }, true);\n let { hoverProps, isHovered } = useHover({ isDisabled });\n\n let inputRef = useRef(null);\n let domRef = useFocusableRef(ref, inputRef);\n\n let { inputProps } = useSwitch(props, useToggleState(props), inputRef);\n\n const mods = {\n checked: inputProps.checked,\n disabled: isDisabled,\n hovered: isHovered,\n focused: isFocused,\n ...getValidationMods({ isInvalid, isValid }),\n 'inside-form': insideForm,\n 'side-label': labelPosition === 'side',\n };\n\n const switchField = (\n <SwitchWrapperElement\n qa=\"SwitchWrapper\"\n mods={mods}\n data-size={size}\n styles={styles}\n {...hoverProps}\n >\n <HiddenInput\n qa={qa || 'Switch'}\n data-input-type=\"switch\"\n {...mergeProps(inputProps, focusProps)}\n ref={inputRef}\n id={id}\n />\n <SwitchElement mods={mods} data-size={size} styles={inputStyles}>\n <div data-element=\"Thumb\" aria-hidden=\"true\" />\n </SwitchElement>\n {children ? <Text nowrap>{children}</Text> : null}\n {isLoading ? (\n <>\n {label ? <>&nbsp;</> : null}\n <LoadingIcon />\n </>\n ) : null}\n </SwitchWrapperElement>\n );\n\n return wrapWithField(switchField, domRef, {\n ...props,\n id,\n labelProps: {\n ...props.labelProps,\n for: id,\n },\n children: null,\n inputStyles,\n });\n}\n\n/**\n * Switches allow users to turn an individual option on or off.\n * They are usually used to activate or deactivate a specific setting.\n */\nlet _Switch = forwardRef(Switch);\n\n(_Switch as any).cubeInputType = 'Checkbox';\n_Switch.displayName = 'Switch';\n\nexport { _Switch as Switch };\nexport type { AriaSwitchProps };\nexport { useSwitch };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { chain } from "../../../utils/react/chain.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useBufferedValue } from "../../../utils/react/useBufferedValue.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { chain } from "../../../utils/react/chain.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useBufferedValue } from "../../../utils/react/useBufferedValue.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | 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-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useEffect, useLayoutEffect, useRef } from "react";
4
4
 
@@ -5,7 +5,7 @@ import * as react from "react";
5
5
  import { ComponentType } from "react";
6
6
 
7
7
  //#region src/components/fields/TextInputMapper/TextInputMapper.d.ts
8
- interface CubeTextInputMapperProps extends FieldBaseProps<Record<string, string> | undefined> {
8
+ interface CubeTextInputMapperProps extends FieldBaseProps<Record<string, string> | null | undefined> {
9
9
  qa?: string;
10
10
  actionLabel?: string;
11
11
  isDisabled?: boolean;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-18e2ad5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-bba0d60 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";