@cube-dev/ui-kit 0.152.0 → 0.154.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (535) hide show
  1. package/README.md +17 -0
  2. package/dist/CHANGELOG.md +111 -0
  3. package/dist/README.md +17 -0
  4. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  5. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  6. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  7. package/dist/_internal/hooks/use-event.js +1 -1
  8. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  9. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  10. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  11. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  12. package/dist/_internal/hooks/use-warn.js +1 -1
  13. package/dist/components/Block.js +1 -1
  14. package/dist/components/CollectionItem.js +1 -1
  15. package/dist/components/GlobalStyles.js +3 -2
  16. package/dist/components/GlobalStyles.js.map +1 -1
  17. package/dist/components/GridProvider.js +1 -1
  18. package/dist/components/HiddenInput.js +1 -1
  19. package/dist/components/Root.d.ts +16 -0
  20. package/dist/components/Root.js +7 -3
  21. package/dist/components/Root.js.map +1 -1
  22. package/dist/components/actions/Action/Action.js +1 -1
  23. package/dist/components/actions/Banner/Banner.js +1 -1
  24. package/dist/components/actions/Button/Button.js +1 -1
  25. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  26. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  27. package/dist/components/actions/ButtonSplit/context.js +1 -1
  28. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  29. package/dist/components/actions/CommandMenu/styled.js +1 -1
  30. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  31. package/dist/components/actions/ItemActionContext.js +1 -1
  32. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  33. package/dist/components/actions/Link/Link.js +1 -1
  34. package/dist/components/actions/Menu/Menu.js +1 -1
  35. package/dist/components/actions/Menu/MenuItem.js +1 -1
  36. package/dist/components/actions/Menu/MenuSection.js +1 -1
  37. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  38. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  39. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  40. package/dist/components/actions/Menu/context.js +1 -1
  41. package/dist/components/actions/Menu/styled.js +1 -1
  42. package/dist/components/actions/index.js +1 -1
  43. package/dist/components/actions/use-action.js +1 -1
  44. package/dist/components/actions/use-anchored-menu.js +1 -1
  45. package/dist/components/actions/use-context-menu.js +1 -1
  46. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  47. package/dist/components/content/Alert/Alert.js +1 -1
  48. package/dist/components/content/Alert/use-alert.js +1 -1
  49. package/dist/components/content/Avatar/Avatar.js +1 -1
  50. package/dist/components/content/Badge/Badge.js +1 -1
  51. package/dist/components/content/Card/Card.js +1 -1
  52. package/dist/components/content/Content.js +1 -1
  53. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  54. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  55. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  56. package/dist/components/content/Divider.js +1 -1
  57. package/dist/components/content/Footer.js +1 -1
  58. package/dist/components/content/Header.js +1 -1
  59. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  60. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  61. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  62. package/dist/components/content/Item/Item.js +1 -1
  63. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  64. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  65. package/dist/components/content/Layout/GridLayout.js +1 -1
  66. package/dist/components/content/Layout/Layout.js +1 -1
  67. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  68. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  69. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  70. package/dist/components/content/Layout/LayoutContent.js +1 -1
  71. package/dist/components/content/Layout/LayoutContext.js +1 -1
  72. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  73. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  74. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  75. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  76. package/dist/components/content/Layout/LayoutPane.js +1 -1
  77. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  78. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  79. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  80. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  81. package/dist/components/content/Layout/index.js +1 -1
  82. package/dist/components/content/Layout/utils.js +1 -1
  83. package/dist/components/content/Paragraph.js +1 -1
  84. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  85. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  86. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  87. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  88. package/dist/components/content/Result/Result.js +1 -1
  89. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  90. package/dist/components/content/Tag/Tag.js +1 -1
  91. package/dist/components/content/Text.js +1 -1
  92. package/dist/components/content/TextItem/TextItem.js +1 -1
  93. package/dist/components/content/Title.js +1 -1
  94. package/dist/components/content/Tree/Tree.js +1 -1
  95. package/dist/components/content/Tree/TreeNode.js +1 -1
  96. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  97. package/dist/components/content/Tree/styled.js +1 -1
  98. package/dist/components/content/Tree/tree-index.js +1 -1
  99. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  100. package/dist/components/content/Tree/use-load-data.js +1 -1
  101. package/dist/components/content/highlightText.js +1 -1
  102. package/dist/components/content/use-auto-tooltip.js +1 -1
  103. package/dist/components/fields/Checkbox/Checkbox.d.ts +2 -2
  104. package/dist/components/fields/Checkbox/Checkbox.js +2 -2
  105. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  106. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  107. package/dist/components/fields/Checkbox/context.js +1 -1
  108. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  109. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  110. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  111. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  112. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  113. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  114. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  115. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  116. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  117. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  118. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  119. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  120. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  121. package/dist/components/fields/DatePicker/MonthPicker.d.ts +12 -0
  122. package/dist/components/fields/DatePicker/MonthPicker.js +19 -0
  123. package/dist/components/fields/DatePicker/MonthPicker.js.map +1 -0
  124. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +28 -0
  125. package/dist/components/fields/DatePicker/PeriodPicker.js +131 -0
  126. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -0
  127. package/dist/components/fields/DatePicker/QuarterPicker.d.ts +12 -0
  128. package/dist/components/fields/DatePicker/QuarterPicker.js +19 -0
  129. package/dist/components/fields/DatePicker/QuarterPicker.js.map +1 -0
  130. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  131. package/dist/components/fields/DatePicker/WeekPicker.d.ts +12 -0
  132. package/dist/components/fields/DatePicker/WeekPicker.js +19 -0
  133. package/dist/components/fields/DatePicker/WeekPicker.js.map +1 -0
  134. package/dist/components/fields/DatePicker/YearPicker.d.ts +12 -0
  135. package/dist/components/fields/DatePicker/YearPicker.js +19 -0
  136. package/dist/components/fields/DatePicker/YearPicker.js.map +1 -0
  137. package/dist/components/fields/DatePicker/index.d.ts +7 -1
  138. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  139. package/dist/components/fields/DatePicker/period.d.ts +35 -0
  140. package/dist/components/fields/DatePicker/period.js +58 -0
  141. package/dist/components/fields/DatePicker/period.js.map +1 -0
  142. package/dist/components/fields/DatePicker/props.js +1 -1
  143. package/dist/components/fields/DatePicker/utils.js +1 -1
  144. package/dist/components/fields/FileInput/FileInput.js +1 -1
  145. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  146. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  147. package/dist/components/fields/Input/Input.js +1 -1
  148. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  149. package/dist/components/fields/ListBox/ListBox.js +1 -1
  150. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  151. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  152. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  153. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  154. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  155. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  156. package/dist/components/fields/Picker/Picker.js +1 -1
  157. package/dist/components/fields/RadioGroup/Radio.js +2 -2
  158. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  159. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  160. package/dist/components/fields/RadioGroup/context.js +1 -1
  161. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  162. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  163. package/dist/components/fields/Select/Select.js +1 -1
  164. package/dist/components/fields/Slider/Gradation.js +1 -1
  165. package/dist/components/fields/Slider/HueSlider.js +1 -1
  166. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  167. package/dist/components/fields/Slider/Slider.js +1 -1
  168. package/dist/components/fields/Slider/SliderBase.js +1 -1
  169. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  170. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  171. package/dist/components/fields/Slider/elements.js +1 -1
  172. package/dist/components/fields/Slider/index.js +1 -1
  173. package/dist/components/fields/Switch/Switch.d.ts +2 -2
  174. package/dist/components/fields/Switch/Switch.js +1 -1
  175. package/dist/components/fields/Switch/Switch.js.map +1 -1
  176. package/dist/components/fields/TextArea/TextArea.js +1 -1
  177. package/dist/components/fields/TextInput/TextInput.js +1 -1
  178. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  179. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  180. package/dist/components/fields/index.d.ts +6 -0
  181. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  182. package/dist/components/form/Form/Field.js +1 -1
  183. package/dist/components/form/Form/Form.js +1 -1
  184. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  185. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  186. package/dist/components/form/Form/SubmitError.js +1 -1
  187. package/dist/components/form/Form/index.js +1 -1
  188. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  189. package/dist/components/form/Form/use-field/use-field.js +1 -1
  190. package/dist/components/form/Form/use-form.js +1 -1
  191. package/dist/components/form/Form/validation.js +1 -1
  192. package/dist/components/form/Label.js +1 -1
  193. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  194. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  195. package/dist/components/form/validation/use-validation-props.js +1 -1
  196. package/dist/components/form/wrapper.js +1 -1
  197. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  198. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  199. package/dist/components/layout/Board/Board.js +1 -1
  200. package/dist/components/layout/Board/BoardProvider.js +1 -1
  201. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  202. package/dist/components/layout/Board/Widget.js +1 -1
  203. package/dist/components/layout/Board/WidgetHost.js +1 -1
  204. package/dist/components/layout/Board/board-context.js +1 -1
  205. package/dist/components/layout/Board/board-store.js +1 -1
  206. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  207. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  208. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  209. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  210. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  211. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  212. package/dist/components/layout/Board/index.js +1 -1
  213. package/dist/components/layout/Board/responsive-utils.js +1 -1
  214. package/dist/components/layout/Board/use-board-layout.js +1 -1
  215. package/dist/components/layout/Board/use-board-registry.js +1 -1
  216. package/dist/components/layout/Flex.js +1 -1
  217. package/dist/components/layout/Flow.js +1 -1
  218. package/dist/components/layout/Grid.js +1 -1
  219. package/dist/components/layout/Panel.js +1 -1
  220. package/dist/components/layout/Prefix.js +1 -1
  221. package/dist/components/layout/ResizablePanel.js +1 -1
  222. package/dist/components/layout/Space.js +1 -1
  223. package/dist/components/layout/Suffix.js +1 -1
  224. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  225. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  226. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  227. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  228. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  229. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  230. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  231. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  232. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  233. package/dist/components/navigation/Tabs/styled.js +1 -1
  234. package/dist/components/navigation/Tabs/types.js +1 -1
  235. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  236. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  237. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  238. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  239. package/dist/components/other/Calendar/Calendar.js +12 -3
  240. package/dist/components/other/Calendar/Calendar.js.map +1 -1
  241. package/dist/components/other/Calendar/CalendarCell.js +4 -2
  242. package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
  243. package/dist/components/other/Calendar/CalendarGrid.js +35 -13
  244. package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
  245. package/dist/components/other/Calendar/PeriodCalendar.js +229 -0
  246. package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -0
  247. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  248. package/dist/components/other/CubeLogo/CubeLogo.d.ts +10 -3
  249. package/dist/components/other/CubeLogo/CubeLogo.js +31 -4
  250. package/dist/components/other/CubeLogo/CubeLogo.js.map +1 -1
  251. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  252. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  253. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  254. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  255. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  256. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  257. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  258. package/dist/components/overlays/Dialog/context.js +1 -1
  259. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  260. package/dist/components/overlays/Modal/Modal.js +1 -1
  261. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  262. package/dist/components/overlays/Modal/Overlay.js +1 -1
  263. package/dist/components/overlays/Modal/Popover.js +1 -1
  264. package/dist/components/overlays/Modal/Tray.js +1 -1
  265. package/dist/components/overlays/Modal/Underlay.js +1 -1
  266. package/dist/components/overlays/Notifications/Notification.js +1 -1
  267. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  268. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  269. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  270. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  271. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  272. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  273. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  274. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  275. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  276. package/dist/components/overlays/Notifications/index.js +1 -1
  277. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  278. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  279. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  280. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  281. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  282. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  283. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  284. package/dist/components/overlays/Toast/index.js +1 -1
  285. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  286. package/dist/components/overlays/Toast/useToast.js +1 -1
  287. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  288. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  289. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  290. package/dist/components/overlays/Tooltip/context.js +1 -1
  291. package/dist/components/portal/Portal.js +1 -1
  292. package/dist/components/portal/PortalProvider.js +1 -1
  293. package/dist/components/portal/usePortal.js +1 -1
  294. package/dist/components/shared/DraggableCollection.js +1 -1
  295. package/dist/components/shared/InvalidIcon.js +1 -1
  296. package/dist/components/shared/ValidIcon.js +1 -1
  297. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  298. package/dist/components/status/Spin/Cube.js +1 -1
  299. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  300. package/dist/components/status/Spin/Spin.js +1 -1
  301. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  302. package/dist/data/item-themes.js +1 -1
  303. package/dist/data/themes.d.ts +5 -5
  304. package/dist/data/themes.js +6 -6
  305. package/dist/data/themes.js.map +1 -1
  306. package/dist/eslint-plugin/defaults.generated.js +1 -1
  307. package/dist/eslint-plugin/index.js +1 -1
  308. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  309. package/dist/i18n/I18nProvider.js +1 -1
  310. package/dist/i18n/createFormatter.js +1 -1
  311. package/dist/i18n/index.js +1 -1
  312. package/dist/i18n/instance.js +1 -1
  313. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  314. package/dist/i18n/locales/en-US/uikit.js +1 -1
  315. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  316. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  317. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  318. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  319. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  320. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  321. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  322. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  323. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  324. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  325. package/dist/i18n/locales.js +1 -1
  326. package/dist/i18n/useFormatter.js +1 -1
  327. package/dist/i18n/useI18n.js +1 -1
  328. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  329. package/dist/icons/AdjustmentsIcon.js +1 -1
  330. package/dist/icons/AiIcon.js +1 -1
  331. package/dist/icons/AreaChartIcon.js +1 -1
  332. package/dist/icons/BackwardIcon.js +1 -1
  333. package/dist/icons/BarChartIcon.js +1 -1
  334. package/dist/icons/BellFilledIcon.js +1 -1
  335. package/dist/icons/BellIcon.js +1 -1
  336. package/dist/icons/BooleanIcon.js +1 -1
  337. package/dist/icons/CalendarEditIcon.js +1 -1
  338. package/dist/icons/CalendarIcon.js +1 -1
  339. package/dist/icons/CaretDownIcon.js +1 -1
  340. package/dist/icons/CaretUpIcon.js +1 -1
  341. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  342. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  343. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  344. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  345. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  346. package/dist/icons/ChartBarLineIcon.js +1 -1
  347. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  348. package/dist/icons/ChartBarStackedIcon.js +1 -1
  349. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  350. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  351. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  352. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  353. package/dist/icons/ChartBubbleIcon.js +1 -1
  354. package/dist/icons/ChartDonut2Icon.js +1 -1
  355. package/dist/icons/ChartFunnelIcon.js +1 -1
  356. package/dist/icons/ChartHeatmapIcon.js +1 -1
  357. package/dist/icons/ChartKPIIcon.js +1 -1
  358. package/dist/icons/ChartPie2Icon.js +1 -1
  359. package/dist/icons/ChartScatterIcon.js +1 -1
  360. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  361. package/dist/icons/CheckCircleIcon.js +1 -1
  362. package/dist/icons/CheckIcon.js +1 -1
  363. package/dist/icons/CircleFilledIcon.js +1 -1
  364. package/dist/icons/ClearIcon.js +1 -1
  365. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  366. package/dist/icons/CloseCircleIcon.js +1 -1
  367. package/dist/icons/CloseIcon.js +1 -1
  368. package/dist/icons/CodeIcon.js +1 -1
  369. package/dist/icons/ColumnTotalIcon.js +1 -1
  370. package/dist/icons/CopyIcon.js +1 -1
  371. package/dist/icons/CountIcon.js +1 -1
  372. package/dist/icons/CubeIcon.js +1 -1
  373. package/dist/icons/CubePauseIcon.js +1 -1
  374. package/dist/icons/CubePlayIcon.js +1 -1
  375. package/dist/icons/CurrencyDollarIcon.js +1 -1
  376. package/dist/icons/DangerIcon.js +1 -1
  377. package/dist/icons/DashboardIcon.js +1 -1
  378. package/dist/icons/DatabaseIcon.js +1 -1
  379. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  380. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  381. package/dist/icons/DirectionIcon.js +1 -1
  382. package/dist/icons/DonutIcon.js +1 -1
  383. package/dist/icons/DownIcon.js +1 -1
  384. package/dist/icons/EditIcon.js +1 -1
  385. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  386. package/dist/icons/ExclamationCircleIcon.js +1 -1
  387. package/dist/icons/ExclamationIcon.js +1 -1
  388. package/dist/icons/EyeIcon.js +1 -1
  389. package/dist/icons/EyeInvisibleIcon.js +1 -1
  390. package/dist/icons/FilterIcon.js +1 -1
  391. package/dist/icons/FolderFilledIcon.js +1 -1
  392. package/dist/icons/FolderIcon.js +1 -1
  393. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  394. package/dist/icons/FolderOpenIcon.js +1 -1
  395. package/dist/icons/ForwardIcon.js +1 -1
  396. package/dist/icons/GripVerticalIcon.js +1 -1
  397. package/dist/icons/HierarchyIcon.js +1 -1
  398. package/dist/icons/HierarchyOpenIcon.js +1 -1
  399. package/dist/icons/Icon.js +1 -1
  400. package/dist/icons/InfoCircleIcon.js +1 -1
  401. package/dist/icons/InfoIcon.js +1 -1
  402. package/dist/icons/KeyIcon.js +1 -1
  403. package/dist/icons/LeftIcon.js +1 -1
  404. package/dist/icons/LineChartIcon.js +1 -1
  405. package/dist/icons/LoadingIcon.js +1 -1
  406. package/dist/icons/LockFilledIcon.js +1 -1
  407. package/dist/icons/LockIcon.js +1 -1
  408. package/dist/icons/MoreIcon.js +1 -1
  409. package/dist/icons/NotAllowedIcon.js +1 -1
  410. package/dist/icons/Number123Icon.js +1 -1
  411. package/dist/icons/NumberIcon.js +1 -1
  412. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  413. package/dist/icons/PauseCircleIcon.js +1 -1
  414. package/dist/icons/PauseIcon.js +1 -1
  415. package/dist/icons/PercentageIcon.js +1 -1
  416. package/dist/icons/PieChartIcon.js +1 -1
  417. package/dist/icons/PlayCircleIcon.js +1 -1
  418. package/dist/icons/PlayIcon.js +1 -1
  419. package/dist/icons/PlusIcon.js +1 -1
  420. package/dist/icons/ProgressBarIcon.js +1 -1
  421. package/dist/icons/ReloadIcon.js +1 -1
  422. package/dist/icons/ReportIcon.js +1 -1
  423. package/dist/icons/ReturnIcon.js +1 -1
  424. package/dist/icons/RightIcon.js +1 -1
  425. package/dist/icons/RowTotalsIcon.js +1 -1
  426. package/dist/icons/SchemeIcon.js +1 -1
  427. package/dist/icons/SearchIcon.js +1 -1
  428. package/dist/icons/SemanticQueryIcon.js +1 -1
  429. package/dist/icons/SettingsIcon.js +1 -1
  430. package/dist/icons/ShieldFilledIcon.js +1 -1
  431. package/dist/icons/ShieldIcon.js +1 -1
  432. package/dist/icons/SlashIcon.js +1 -1
  433. package/dist/icons/SparklesIcon.js +1 -1
  434. package/dist/icons/SqlIcon.js +1 -1
  435. package/dist/icons/StatsIcon.js +1 -1
  436. package/dist/icons/StopIcon.js +1 -1
  437. package/dist/icons/StringIcon.js +1 -1
  438. package/dist/icons/SubtotalsIcon.js +1 -1
  439. package/dist/icons/SwitchIcon.js +1 -1
  440. package/dist/icons/TableIcon.js +1 -1
  441. package/dist/icons/ThumbsDownIcon.js +1 -1
  442. package/dist/icons/ThumbsUpIcon.js +1 -1
  443. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  444. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  445. package/dist/icons/ThunderboltIcon.js +1 -1
  446. package/dist/icons/TimeIcon.js +1 -1
  447. package/dist/icons/TrashIcon.js +1 -1
  448. package/dist/icons/UnlockIcon.js +1 -1
  449. package/dist/icons/UpIcon.js +1 -1
  450. package/dist/icons/UserGroupIcon.js +1 -1
  451. package/dist/icons/UserIcon.js +1 -1
  452. package/dist/icons/UserLockIcon.js +1 -1
  453. package/dist/icons/ViewIcon.js +1 -1
  454. package/dist/icons/WarningFilledIcon.js +1 -1
  455. package/dist/icons/WarningIcon.js +1 -1
  456. package/dist/icons/wrap-icon.js +1 -1
  457. package/dist/index.d.ts +12 -5
  458. package/dist/index.js +12 -5
  459. package/dist/index.js.map +1 -1
  460. package/dist/provider.js +1 -1
  461. package/dist/providers/TrackingProvider.js +1 -1
  462. package/dist/providers/navigationAdapter.default.js +1 -1
  463. package/dist/shared/form.d.ts +27 -1
  464. package/dist/shared/index.d.ts +1 -1
  465. package/dist/tokens/base.js +1 -1
  466. package/dist/tokens/colors.d.ts +41 -2
  467. package/dist/tokens/colors.js +77 -9
  468. package/dist/tokens/colors.js.map +1 -1
  469. package/dist/tokens/index.d.ts +3 -2
  470. package/dist/tokens/index.js +23 -16
  471. package/dist/tokens/index.js.map +1 -1
  472. package/dist/tokens/layout.js +1 -1
  473. package/dist/tokens/lazy-styles.js +10 -6
  474. package/dist/tokens/lazy-styles.js.map +1 -1
  475. package/dist/tokens/palette-config.d.ts +222 -0
  476. package/dist/tokens/palette-config.js +309 -0
  477. package/dist/tokens/palette-config.js.map +1 -0
  478. package/dist/tokens/palette.d.ts +45 -5
  479. package/dist/tokens/palette.js +578 -405
  480. package/dist/tokens/palette.js.map +1 -1
  481. package/dist/tokens/shadows.js +1 -1
  482. package/dist/tokens/sizes.js +1 -1
  483. package/dist/tokens/spacing.js +1 -1
  484. package/dist/tokens/typography.js +1 -1
  485. package/dist/utils/ResizeSensor.js +1 -1
  486. package/dist/utils/is-dev-env.js +1 -1
  487. package/dist/utils/modules.js +1 -1
  488. package/dist/utils/promise.js +1 -1
  489. package/dist/utils/raf.js +1 -1
  490. package/dist/utils/random.js +1 -1
  491. package/dist/utils/range.js +1 -1
  492. package/dist/utils/react/RenderCache.js +1 -1
  493. package/dist/utils/react/Slots.js +1 -1
  494. package/dist/utils/react/chain.js +1 -1
  495. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  496. package/dist/utils/react/index.js +1 -1
  497. package/dist/utils/react/interactions.js +1 -1
  498. package/dist/utils/react/isTextOnly.js +1 -1
  499. package/dist/utils/react/mapProps.js +1 -1
  500. package/dist/utils/react/mergeProps.js +1 -1
  501. package/dist/utils/react/nullableValue.js +1 -1
  502. package/dist/utils/react/resolveIcon.js +1 -1
  503. package/dist/utils/react/sharedStore.js +1 -1
  504. package/dist/utils/react/useCombinedRefs.js +1 -1
  505. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  506. package/dist/utils/react/useEventBus.js +1 -1
  507. package/dist/utils/react/useId.js +1 -1
  508. package/dist/utils/react/useIsDarwin.js +1 -1
  509. package/dist/utils/react/useKeySymbols.js +1 -1
  510. package/dist/utils/react/useLayoutEffect.js +1 -1
  511. package/dist/utils/react/useLocalStorage.js +1 -1
  512. package/dist/utils/react/useMergeStyles.js +1 -1
  513. package/dist/utils/react/usePopoverSync.js +1 -1
  514. package/dist/utils/react/useQaProps.js +1 -1
  515. package/dist/utils/react/useViewportSize.js +1 -1
  516. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  517. package/dist/utils/selection.js +1 -1
  518. package/dist/utils/styles.js +1 -1
  519. package/dist/utils/tree.js +1 -1
  520. package/dist/utils/warnings.js +1 -1
  521. package/dist/version.js +3 -3
  522. package/docs/Colors.md +4 -0
  523. package/docs/Theming.md +375 -0
  524. package/docs/Usage.md +30 -3
  525. package/docs/components/Root.md +1 -0
  526. package/docs/components/fields/PeriodPicker.md +75 -0
  527. package/docs/components/other/CubeLogo.md +27 -1
  528. package/docs/glaze/api.md +156 -8
  529. package/docs/glaze/methodology.md +21 -1
  530. package/docs/glaze/okhst.md +13 -0
  531. package/docs/tasty/README.md +1 -0
  532. package/docs/tasty/ai-agents.md +206 -0
  533. package/docs/tasty/injector.md +15 -0
  534. package/docs/tasty/react-api.md +21 -2
  535. package/package.json +3 -3
@@ -0,0 +1,58 @@
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
+ import { CalendarDate, startOfMonth, startOfWeek, startOfYear, toCalendarDate } from "@internationalized/date";
3
+
4
+ //#region src/components/fields/DatePicker/period.ts
5
+ const MS_PER_DAY = 1440 * 60 * 1e3;
6
+ /** The 1-based quarter (1–4) that a given month (1–12) belongs to. */
7
+ function getQuarter(month) {
8
+ return Math.floor((month - 1) / 3) + 1;
9
+ }
10
+ /**
11
+ * Snap a date to the start of the period it belongs to:
12
+ * - `week` → the first day of its week (locale-aware)
13
+ * - `month` → the 1st of its month
14
+ * - `quarter`→ the 1st of the first month of its quarter
15
+ * - `year` → January 1st
16
+ */
17
+ function snapToPeriod(date, picker, locale) {
18
+ const cd = toCalendarDate(date);
19
+ switch (picker) {
20
+ case "week": return startOfWeek(cd, locale);
21
+ case "month": return startOfMonth(cd);
22
+ case "quarter": {
23
+ const quarterStartMonth = (getQuarter(cd.month) - 1) * 3 + 1;
24
+ return new CalendarDate(cd.year, quarterStartMonth, 1);
25
+ }
26
+ case "year": return startOfYear(cd);
27
+ }
28
+ }
29
+ /**
30
+ * The locale-aware week-of-year number for a date, counted from the first week
31
+ * of that date's calendar year (matches how the value's year is displayed).
32
+ */
33
+ function getWeekNumber(date, locale) {
34
+ const cd = toCalendarDate(date);
35
+ const weekStart = startOfWeek(cd, locale);
36
+ const firstWeekStart = startOfWeek(startOfYear(cd), locale);
37
+ const diffDays = Math.round((weekStart.toDate("UTC").getTime() - firstWeekStart.toDate("UTC").getTime()) / MS_PER_DAY);
38
+ return Math.floor(diffDays / 7) + 1;
39
+ }
40
+ const pad2 = (value) => String(value).padStart(2, "0");
41
+ /**
42
+ * Default formatting of a period value into a compact label, e.g.
43
+ * `2026-08` (month), `2026-Q3` (quarter), `2026` (year), `2026-W33` (week).
44
+ * Consumers can override this via the picker's `formatValue` prop.
45
+ */
46
+ function formatPeriod(date, picker, locale) {
47
+ const cd = toCalendarDate(date);
48
+ switch (picker) {
49
+ case "year": return String(cd.year);
50
+ case "quarter": return `${cd.year}-Q${getQuarter(cd.month)}`;
51
+ case "month": return `${cd.year}-${pad2(cd.month)}`;
52
+ case "week": return `${cd.year}-W${pad2(getWeekNumber(cd, locale))}`;
53
+ }
54
+ }
55
+
56
+ //#endregion
57
+ export { formatPeriod, getQuarter, getWeekNumber, snapToPeriod };
58
+ //# sourceMappingURL=period.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"period.js","names":[],"sources":["../../../../src/components/fields/DatePicker/period.ts"],"sourcesContent":["import {\n CalendarDate,\n startOfMonth,\n startOfWeek,\n startOfYear,\n toCalendarDate,\n} from '@internationalized/date';\nimport { DateValue } from 'react-aria';\n\n/**\n * The period granularity a picker operates on. Unlike React Aria's `granularity`\n * (which controls the smallest *time* unit shown in a date field), this controls\n * which calendar panel is shown and which period a selected value is snapped to.\n */\nexport type PickerType = 'week' | 'month' | 'quarter' | 'year';\n\nconst MS_PER_DAY = 24 * 60 * 60 * 1000;\n\n/** The 1-based quarter (1–4) that a given month (1–12) belongs to. */\nexport function getQuarter(month: number): number {\n return Math.floor((month - 1) / 3) + 1;\n}\n\n/**\n * Snap a date to the start of the period it belongs to:\n * - `week` → the first day of its week (locale-aware)\n * - `month` → the 1st of its month\n * - `quarter`→ the 1st of the first month of its quarter\n * - `year` → January 1st\n */\nexport function snapToPeriod(\n date: DateValue,\n picker: PickerType,\n locale: string,\n): CalendarDate {\n const cd = toCalendarDate(date);\n\n switch (picker) {\n case 'week':\n return startOfWeek(cd, locale);\n case 'month':\n return startOfMonth(cd);\n case 'quarter': {\n const quarterStartMonth = (getQuarter(cd.month) - 1) * 3 + 1;\n return new CalendarDate(cd.year, quarterStartMonth, 1);\n }\n case 'year':\n return startOfYear(cd);\n }\n}\n\n/**\n * The locale-aware week-of-year number for a date, counted from the first week\n * of that date's calendar year (matches how the value's year is displayed).\n */\nexport function getWeekNumber(date: DateValue, locale: string): number {\n const cd = toCalendarDate(date);\n const weekStart = startOfWeek(cd, locale);\n const firstWeekStart = startOfWeek(startOfYear(cd), locale);\n const diffDays = Math.round(\n (weekStart.toDate('UTC').getTime() -\n firstWeekStart.toDate('UTC').getTime()) /\n MS_PER_DAY,\n );\n\n return Math.floor(diffDays / 7) + 1;\n}\n\nconst pad2 = (value: number) => String(value).padStart(2, '0');\n\n/**\n * Default formatting of a period value into a compact label, e.g.\n * `2026-08` (month), `2026-Q3` (quarter), `2026` (year), `2026-W33` (week).\n * Consumers can override this via the picker's `formatValue` prop.\n */\nexport function formatPeriod(\n date: DateValue,\n picker: PickerType,\n locale: string,\n): string {\n const cd = toCalendarDate(date);\n\n switch (picker) {\n case 'year':\n return String(cd.year);\n case 'quarter':\n return `${cd.year}-Q${getQuarter(cd.month)}`;\n case 'month':\n return `${cd.year}-${pad2(cd.month)}`;\n case 'week':\n return `${cd.year}-W${pad2(getWeekNumber(cd, locale))}`;\n }\n}\n"],"mappings":";;;;AAgBA,MAAM,aAAa,OAAU,KAAK;;AAGlC,SAAgB,WAAW,OAAuB;AAChD,QAAO,KAAK,OAAO,QAAQ,KAAK,EAAE,GAAG;;;;;;;;;AAUvC,SAAgB,aACd,MACA,QACA,QACc;CACd,MAAM,KAAK,eAAe,KAAK;AAE/B,SAAQ,QAAR;EACE,KAAK,OACH,QAAO,YAAY,IAAI,OAAO;EAChC,KAAK,QACH,QAAO,aAAa,GAAG;EACzB,KAAK,WAAW;GACd,MAAM,qBAAqB,WAAW,GAAG,MAAM,GAAG,KAAK,IAAI;AAC3D,UAAO,IAAI,aAAa,GAAG,MAAM,mBAAmB,EAAE;;EAExD,KAAK,OACH,QAAO,YAAY,GAAG;;;;;;;AAQ5B,SAAgB,cAAc,MAAiB,QAAwB;CACrE,MAAM,KAAK,eAAe,KAAK;CAC/B,MAAM,YAAY,YAAY,IAAI,OAAO;CACzC,MAAM,iBAAiB,YAAY,YAAY,GAAG,EAAE,OAAO;CAC3D,MAAM,WAAW,KAAK,OACnB,UAAU,OAAO,MAAM,CAAC,SAAS,GAChC,eAAe,OAAO,MAAM,CAAC,SAAS,IACtC,WACH;AAED,QAAO,KAAK,MAAM,WAAW,EAAE,GAAG;;AAGpC,MAAM,QAAQ,UAAkB,OAAO,MAAM,CAAC,SAAS,GAAG,IAAI;;;;;;AAO9D,SAAgB,aACd,MACA,QACA,QACQ;CACR,MAAM,KAAK,eAAe,KAAK;AAE/B,SAAQ,QAAR;EACE,KAAK,OACH,QAAO,OAAO,GAAG,KAAK;EACxB,KAAK,UACH,QAAO,GAAG,GAAG,KAAK,IAAI,WAAW,GAAG,MAAM;EAC5C,KAAK,QACH,QAAO,GAAG,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM;EACrC,KAAK,OACH,QAAO,GAAG,GAAG,KAAK,IAAI,KAAK,cAAc,IAAI,OAAO,CAAC"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { useImperativeHandle, useRef } from "react";
3
3
  import { createDOMRef } from "@react-spectrum/utils";
4
4
  import { createFocusManager } from "@react-aria/focus";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { _FileInput } from "../FileInput/FileInput.js";
3
3
  import { TextInput } from "../TextInput/TextInput.js";
4
4
  import { _NumberInput } from "../NumberInput/NumberInput.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
4
4
  import { castNullableNumberValue } from "../../../utils/react/nullableValue.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useFocus as useFocus$1 } from "../../../utils/react/interactions.js";
@@ -90,7 +90,7 @@ const RadioNormalElement = tasty({ styles: {
90
90
  },
91
91
  color: {
92
92
  "": "#clear",
93
- checked: "#primary",
93
+ checked: "#primary-text",
94
94
  "invalid & checked": "#danger-text",
95
95
  "valid & checked": "#success-text",
96
96
  "disabled | !checked": "#clear",
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","names":["Item","useFocus","mergeProps","RadioGroup"],"sources":["../../../../src/components/fields/RadioGroup/Radio.tsx"],"sourcesContent":["import { useFocusableRef } from '@react-spectrum/utils';\nimport {\n BaseProps,\n filterBaseProps,\n OUTER_STYLES,\n OuterStyleProps,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef, useMemo, useRef } from 'react';\nimport { useHover, useRadio } from 'react-aria';\n\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport { extractStyles } from '../../../utils/styles';\nimport { CubeItemProps, Item } from '../../content/Item/Item';\nimport {\n getValidationMods,\n getValidationTheme,\n INLINE_LABEL_STYLES,\n useFieldProps,\n} from '../../form';\nimport { HiddenInput } from '../../HiddenInput';\nimport { RADIO_SIZE_MAP } from '../../navigation/Tabs/types';\n\nimport { useRadioProvider } from './context';\nimport { RadioGroup } from './RadioGroup';\n\nimport type { AriaRadioProps } from 'react-aria';\n\nexport { AriaRadioProps };\nexport { useRadio };\n\nconst RadioButtonElement = tasty(Item, {\n qa: 'RadioButton',\n as: 'label',\n styles: {\n preset: 't3m',\n lineHeight: '1em',\n flexGrow: 1,\n gridTemplate:\n '\"icon prefix label suffix rightIcon actions\" auto / max-content max-content max-content max-content max-content max-content',\n placeContent: 'center',\n shadow: {\n '': false,\n 'tabs & selected': '$item-shadow',\n 'tabs & selected & disabled': false,\n },\n fill: {\n 'selected & tabs': '#surface',\n 'selected & tabs & disabled': '#surface.6',\n },\n color: {\n 'selected & tabs': '#dark',\n 'selected & tabs & disabled': '#dark.3',\n },\n\n // Mirror the ButtonSplit grouping: the corner radius is shared so the\n // first/last items keep only their outer-side radius and middle items go\n // square; a -1bw left margin overlaps adjacent borders into a single\n // continuous edge. The selected button is bumped above its siblings so its\n // brand-tinted border is visible from all four sides — without the bump\n // the right edge of an adjacent sibling would paint over the selected\n // button's left edge (and vice-versa). Hover / focus-visible bump higher\n // still so they always read on top of the selected highlight.\n radius: {\n '': true,\n '!tabs & !:last-child': '1r left',\n '!tabs & !:first-child': '1r right',\n '!tabs & !:first-child & !:last-child': 0,\n },\n margin: {\n '': 0,\n '!tabs & !:first-child': '-1bw left',\n },\n zIndex: {\n '!tabs & selected': 1,\n },\n\n Label: {\n placeSelf: {\n '': 'center start',\n '!has-prefix & !has-suffix & !has-icon & !has-right-icon': 'center',\n },\n },\n },\n});\n\nconst RadioWrapperElement = tasty({\n as: 'label',\n qa: 'RadioWrapper',\n styles: {\n position: 'relative',\n display: 'grid',\n placeItems: 'center start',\n placeContent: 'center start',\n gap: '1x',\n flow: 'column',\n preset: 'default',\n width: 'min-content',\n radius: true,\n margin: {\n '': '1x right',\n button: '0',\n },\n zIndex: {\n '': 'initial',\n checked: 1,\n },\n flexGrow: 1,\n },\n});\n\nconst RadioNormalElement = tasty({\n styles: {\n display: 'grid',\n placeItems: 'center',\n radius: 'round',\n fill: {\n '': '#surface',\n disabled: '#disabled-surface',\n },\n color: {\n '': '#clear',\n checked: '#primary',\n 'invalid & checked': '#danger-text',\n 'valid & checked': '#success-text',\n 'disabled | !checked': '#clear',\n 'disabled & checked': '#dark.12',\n },\n border: {\n '': '#dark-04',\n checked: '#primary-text',\n invalid: '#danger-text.50',\n valid: '#success-text.50',\n disabled: '#dark.12',\n },\n width: '2x',\n height: '2x',\n outline: {\n '': '#primary-text.0 / 1bw',\n focused: '1bw #primary-text / 1bw',\n },\n transition: 'theme',\n whiteSpace: 'nowrap',\n\n RadioCircle: {\n display: 'block',\n radius: 'round',\n width: '1x',\n height: '1x',\n fill: '#current',\n },\n },\n});\n\nconst RadioCircleElement = <div data-element=\"RadioCircle\" />;\n\nconst RadioLabelElement = tasty({\n qa: 'RadioLabel',\n styles: INLINE_LABEL_STYLES,\n});\n\nexport interface CubeRadioProps\n extends BaseProps,\n AriaRadioProps,\n Omit<FieldBaseProps, 'tooltip'>,\n OuterStyleProps {\n 'aria-label'?: string;\n /* The visual type of the radio button */\n type?: 'button' | 'radio';\n buttonType?: CubeItemProps['type'];\n value?: string;\n /* Size of the button (for button type only) */\n size?: Omit<CubeItemProps['size'], 'inline'>;\n /* Icon to display (for button type only) */\n icon?: CubeItemProps['icon'];\n /* Icon to display on the right (for button type only) */\n rightIcon?: CubeItemProps['rightIcon'];\n /* Prefix element (for button type only) */\n prefix?: CubeItemProps['prefix'];\n /* Suffix element (for button type only) */\n suffix?: CubeItemProps['suffix'];\n /* Description text (for button type only) */\n description?: CubeItemProps['description'];\n /* Tooltip configuration (for button type only) */\n tooltip?: CubeItemProps['tooltip'];\n /* Keyboard shortcut (for button type only) */\n hotkeys?: CubeItemProps['hotkeys'];\n}\n\nfunction Radio(props: CubeRadioProps, ref) {\n props = useFieldProps(props, { defaultValidationTrigger: 'onChange' });\n\n let {\n qa,\n isDisabled,\n isInvalid,\n isValid,\n children,\n label,\n autoFocus,\n labelStyles,\n labelProps,\n type,\n buttonType,\n size,\n icon,\n rightIcon,\n prefix,\n suffix,\n description,\n tooltip,\n hotkeys,\n 'aria-label': ariaLabel,\n form,\n ...otherProps\n } = props;\n\n label = label || children;\n\n let styles = extractStyles(otherProps, OUTER_STYLES);\n\n labelStyles = {\n ...INLINE_LABEL_STYLES,\n ...labelStyles,\n };\n\n let radioGroupProps = useRadioProvider();\n\n let state = radioGroupProps && radioGroupProps.state;\n let name = radioGroupProps && radioGroupProps.name;\n let contextSize = radioGroupProps?.size;\n let contextButtonType = radioGroupProps?.buttonType;\n let contextType = radioGroupProps?.type;\n let contextIsDisabled = radioGroupProps?.isDisabled;\n\n if (!state) {\n throw new Error('CubeUI: The Radio button is used outside the RadioGroup.');\n }\n\n // Determine effective type from props or context\n let effectiveType = type ?? contextType ?? 'radio';\n let isButton = effectiveType === 'button' || effectiveType === 'tabs';\n\n // Determine effective size with priority: prop > context > default\n let effectiveSize: CubeItemProps['size'] = (size ??\n contextSize ??\n 'medium') as CubeItemProps['size'];\n\n // Apply size mapping for tabs mode button radios.\n // API sizes mapped to Item button sizes: large -> medium (40px), medium -> xsmall (32px).\n if (effectiveType === 'tabs' && isButton) {\n effectiveSize =\n RADIO_SIZE_MAP[effectiveSize === 'large' ? 'large' : 'medium'];\n }\n\n // Determine effective button type\n // In tabs mode, always use 'clear' and ignore buttonType prop.\n let effectiveButtonType: string;\n // When buttonType is 'primary', non-selected radios use 'outline' with a\n // visual-only `selected` mod (mods.selected=true) to render the brand-tinted\n // outline+selected look — this is the only place mods.selected intentionally\n // decouples from the aria/isSelected state.\n let forceSelectedMod = false;\n if (effectiveType === 'tabs') {\n effectiveButtonType = 'clear';\n } else {\n const baseButtonType = buttonType ?? contextButtonType ?? 'outline';\n if (baseButtonType === 'primary') {\n if (state.selectedValue === props.value) {\n effectiveButtonType = 'primary';\n } else {\n effectiveButtonType = 'outline';\n forceSelectedMod = true;\n }\n } else {\n effectiveButtonType = baseButtonType;\n }\n }\n\n // Use context isDisabled if prop isDisabled is not explicitly set\n let effectiveIsDisabled = isDisabled ?? contextIsDisabled ?? false;\n\n let { isFocused, focusProps } = useFocus(\n { isDisabled: effectiveIsDisabled },\n true,\n );\n let { hoverProps, isHovered } = useHover({ isDisabled: effectiveIsDisabled });\n\n let inputRef = useRef(null);\n let domRef = useFocusableRef(ref, inputRef);\n\n let {\n inputProps,\n isDisabled: isRadioDisabled,\n isSelected: isRadioSelected,\n } = useRadio(\n {\n name,\n ...props,\n isDisabled: effectiveIsDisabled,\n },\n state,\n inputRef,\n );\n\n const mods = useMemo(\n () => ({\n checked: isRadioSelected,\n ...getValidationMods({ isInvalid, isValid }),\n disabled: isRadioDisabled,\n hovered: isHovered,\n button: isButton,\n focused: isFocused,\n tabs: effectiveType === 'tabs',\n }),\n [\n isRadioSelected,\n isInvalid,\n isValid,\n isRadioDisabled,\n isHovered,\n isButton,\n isFocused,\n effectiveType,\n ],\n );\n\n // Render button type using Item\n if (isButton) {\n return (\n <RadioButtonElement\n ref={domRef}\n type={effectiveButtonType}\n theme={getValidationTheme(\n 'default',\n { isInvalid, isValid },\n { includeValid: true },\n )}\n size={effectiveSize}\n icon={icon}\n rightIcon={rightIcon}\n prefix={prefix}\n suffix={suffix}\n description={description}\n tooltip={tooltip}\n hotkeys={hotkeys}\n isSelected={isRadioSelected}\n isDisabled={isRadioDisabled}\n mods={{ ...mods, ...(forceSelectedMod ? { selected: true } : {}) }}\n styles={styles}\n {...mergeProps(hoverProps, focusProps)}\n >\n <HiddenInput\n qa={qa || 'Radio'}\n data-input-type=\"radio\"\n aria-label={ariaLabel}\n {...inputProps}\n ref={inputRef}\n form={null}\n mods={{ button: isButton, disabled: isRadioDisabled }}\n />\n {label}\n </RadioButtonElement>\n );\n }\n\n // Render classic radio type\n return (\n <RadioWrapperElement\n styles={styles}\n {...hoverProps}\n ref={domRef}\n mods={mods}\n data-type={type}\n >\n <HiddenInput\n qa={qa || 'Radio'}\n data-input-type=\"radio\"\n aria-label={ariaLabel}\n {...mergeProps(inputProps, focusProps)}\n ref={inputRef}\n mods={{ button: isButton }}\n />\n <RadioNormalElement data-element=\"Input\" mods={mods} data-type={type}>\n {RadioCircleElement}\n </RadioNormalElement>\n {label && (\n <RadioLabelElement\n mods={mods}\n styles={labelStyles}\n {...(labelProps ? filterBaseProps(labelProps) : undefined)}\n >\n {label}\n </RadioLabelElement>\n )}\n </RadioWrapperElement>\n );\n}\n\n/**\n * Radio buttons 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 _Radio = forwardRef(Radio);\n\nconst Tabs = tasty(RadioGroup, {\n type: 'tabs',\n});\n\nconst ButtonGroup = tasty(RadioGroup, {\n type: 'button',\n});\n\nconst __Radio = Object.assign(\n _Radio as typeof _Radio & {\n Group: typeof RadioGroup;\n Tabs: typeof Tabs;\n ButtonGroup: typeof ButtonGroup;\n Button: typeof _Radio;\n },\n {\n Group: RadioGroup,\n Tabs,\n ButtonGroup,\n Button: _Radio,\n },\n);\n\n__Radio.displayName = 'Radio';\n\nexport { __Radio as Radio };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Radio.js","names":["Item","useFocus","mergeProps","RadioGroup"],"sources":["../../../../src/components/fields/RadioGroup/Radio.tsx"],"sourcesContent":["import { useFocusableRef } from '@react-spectrum/utils';\nimport {\n BaseProps,\n filterBaseProps,\n OUTER_STYLES,\n OuterStyleProps,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef, useMemo, useRef } from 'react';\nimport { useHover, useRadio } from 'react-aria';\n\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport { extractStyles } from '../../../utils/styles';\nimport { CubeItemProps, Item } from '../../content/Item/Item';\nimport {\n getValidationMods,\n getValidationTheme,\n INLINE_LABEL_STYLES,\n useFieldProps,\n} from '../../form';\nimport { HiddenInput } from '../../HiddenInput';\nimport { RADIO_SIZE_MAP } from '../../navigation/Tabs/types';\n\nimport { useRadioProvider } from './context';\nimport { RadioGroup } from './RadioGroup';\n\nimport type { AriaRadioProps } from 'react-aria';\n\nexport { AriaRadioProps };\nexport { useRadio };\n\nconst RadioButtonElement = tasty(Item, {\n qa: 'RadioButton',\n as: 'label',\n styles: {\n preset: 't3m',\n lineHeight: '1em',\n flexGrow: 1,\n gridTemplate:\n '\"icon prefix label suffix rightIcon actions\" auto / max-content max-content max-content max-content max-content max-content',\n placeContent: 'center',\n shadow: {\n '': false,\n 'tabs & selected': '$item-shadow',\n 'tabs & selected & disabled': false,\n },\n fill: {\n 'selected & tabs': '#surface',\n 'selected & tabs & disabled': '#surface.6',\n },\n color: {\n 'selected & tabs': '#dark',\n 'selected & tabs & disabled': '#dark.3',\n },\n\n // Mirror the ButtonSplit grouping: the corner radius is shared so the\n // first/last items keep only their outer-side radius and middle items go\n // square; a -1bw left margin overlaps adjacent borders into a single\n // continuous edge. The selected button is bumped above its siblings so its\n // brand-tinted border is visible from all four sides — without the bump\n // the right edge of an adjacent sibling would paint over the selected\n // button's left edge (and vice-versa). Hover / focus-visible bump higher\n // still so they always read on top of the selected highlight.\n radius: {\n '': true,\n '!tabs & !:last-child': '1r left',\n '!tabs & !:first-child': '1r right',\n '!tabs & !:first-child & !:last-child': 0,\n },\n margin: {\n '': 0,\n '!tabs & !:first-child': '-1bw left',\n },\n zIndex: {\n '!tabs & selected': 1,\n },\n\n Label: {\n placeSelf: {\n '': 'center start',\n '!has-prefix & !has-suffix & !has-icon & !has-right-icon': 'center',\n },\n },\n },\n});\n\nconst RadioWrapperElement = tasty({\n as: 'label',\n qa: 'RadioWrapper',\n styles: {\n position: 'relative',\n display: 'grid',\n placeItems: 'center start',\n placeContent: 'center start',\n gap: '1x',\n flow: 'column',\n preset: 'default',\n width: 'min-content',\n radius: true,\n margin: {\n '': '1x right',\n button: '0',\n },\n zIndex: {\n '': 'initial',\n checked: 1,\n },\n flexGrow: 1,\n },\n});\n\nconst RadioNormalElement = tasty({\n styles: {\n display: 'grid',\n placeItems: 'center',\n radius: 'round',\n fill: {\n '': '#surface',\n disabled: '#disabled-surface',\n },\n color: {\n '': '#clear',\n checked: '#primary-text',\n 'invalid & checked': '#danger-text',\n 'valid & checked': '#success-text',\n 'disabled | !checked': '#clear',\n 'disabled & checked': '#dark.12',\n },\n border: {\n '': '#dark-04',\n checked: '#primary-text',\n invalid: '#danger-text.50',\n valid: '#success-text.50',\n disabled: '#dark.12',\n },\n width: '2x',\n height: '2x',\n outline: {\n '': '#primary-text.0 / 1bw',\n focused: '1bw #primary-text / 1bw',\n },\n transition: 'theme',\n whiteSpace: 'nowrap',\n\n RadioCircle: {\n display: 'block',\n radius: 'round',\n width: '1x',\n height: '1x',\n fill: '#current',\n },\n },\n});\n\nconst RadioCircleElement = <div data-element=\"RadioCircle\" />;\n\nconst RadioLabelElement = tasty({\n qa: 'RadioLabel',\n styles: INLINE_LABEL_STYLES,\n});\n\nexport interface CubeRadioProps\n extends BaseProps,\n AriaRadioProps,\n Omit<FieldBaseProps, 'tooltip'>,\n OuterStyleProps {\n 'aria-label'?: string;\n /* The visual type of the radio button */\n type?: 'button' | 'radio';\n buttonType?: CubeItemProps['type'];\n value?: string;\n /* Size of the button (for button type only) */\n size?: Omit<CubeItemProps['size'], 'inline'>;\n /* Icon to display (for button type only) */\n icon?: CubeItemProps['icon'];\n /* Icon to display on the right (for button type only) */\n rightIcon?: CubeItemProps['rightIcon'];\n /* Prefix element (for button type only) */\n prefix?: CubeItemProps['prefix'];\n /* Suffix element (for button type only) */\n suffix?: CubeItemProps['suffix'];\n /* Description text (for button type only) */\n description?: CubeItemProps['description'];\n /* Tooltip configuration (for button type only) */\n tooltip?: CubeItemProps['tooltip'];\n /* Keyboard shortcut (for button type only) */\n hotkeys?: CubeItemProps['hotkeys'];\n}\n\nfunction Radio(props: CubeRadioProps, ref) {\n props = useFieldProps(props, { defaultValidationTrigger: 'onChange' });\n\n let {\n qa,\n isDisabled,\n isInvalid,\n isValid,\n children,\n label,\n autoFocus,\n labelStyles,\n labelProps,\n type,\n buttonType,\n size,\n icon,\n rightIcon,\n prefix,\n suffix,\n description,\n tooltip,\n hotkeys,\n 'aria-label': ariaLabel,\n form,\n ...otherProps\n } = props;\n\n label = label || children;\n\n let styles = extractStyles(otherProps, OUTER_STYLES);\n\n labelStyles = {\n ...INLINE_LABEL_STYLES,\n ...labelStyles,\n };\n\n let radioGroupProps = useRadioProvider();\n\n let state = radioGroupProps && radioGroupProps.state;\n let name = radioGroupProps && radioGroupProps.name;\n let contextSize = radioGroupProps?.size;\n let contextButtonType = radioGroupProps?.buttonType;\n let contextType = radioGroupProps?.type;\n let contextIsDisabled = radioGroupProps?.isDisabled;\n\n if (!state) {\n throw new Error('CubeUI: The Radio button is used outside the RadioGroup.');\n }\n\n // Determine effective type from props or context\n let effectiveType = type ?? contextType ?? 'radio';\n let isButton = effectiveType === 'button' || effectiveType === 'tabs';\n\n // Determine effective size with priority: prop > context > default\n let effectiveSize: CubeItemProps['size'] = (size ??\n contextSize ??\n 'medium') as CubeItemProps['size'];\n\n // Apply size mapping for tabs mode button radios.\n // API sizes mapped to Item button sizes: large -> medium (40px), medium -> xsmall (32px).\n if (effectiveType === 'tabs' && isButton) {\n effectiveSize =\n RADIO_SIZE_MAP[effectiveSize === 'large' ? 'large' : 'medium'];\n }\n\n // Determine effective button type\n // In tabs mode, always use 'clear' and ignore buttonType prop.\n let effectiveButtonType: string;\n // When buttonType is 'primary', non-selected radios use 'outline' with a\n // visual-only `selected` mod (mods.selected=true) to render the brand-tinted\n // outline+selected look — this is the only place mods.selected intentionally\n // decouples from the aria/isSelected state.\n let forceSelectedMod = false;\n if (effectiveType === 'tabs') {\n effectiveButtonType = 'clear';\n } else {\n const baseButtonType = buttonType ?? contextButtonType ?? 'outline';\n if (baseButtonType === 'primary') {\n if (state.selectedValue === props.value) {\n effectiveButtonType = 'primary';\n } else {\n effectiveButtonType = 'outline';\n forceSelectedMod = true;\n }\n } else {\n effectiveButtonType = baseButtonType;\n }\n }\n\n // Use context isDisabled if prop isDisabled is not explicitly set\n let effectiveIsDisabled = isDisabled ?? contextIsDisabled ?? false;\n\n let { isFocused, focusProps } = useFocus(\n { isDisabled: effectiveIsDisabled },\n true,\n );\n let { hoverProps, isHovered } = useHover({ isDisabled: effectiveIsDisabled });\n\n let inputRef = useRef(null);\n let domRef = useFocusableRef(ref, inputRef);\n\n let {\n inputProps,\n isDisabled: isRadioDisabled,\n isSelected: isRadioSelected,\n } = useRadio(\n {\n name,\n ...props,\n isDisabled: effectiveIsDisabled,\n },\n state,\n inputRef,\n );\n\n const mods = useMemo(\n () => ({\n checked: isRadioSelected,\n ...getValidationMods({ isInvalid, isValid }),\n disabled: isRadioDisabled,\n hovered: isHovered,\n button: isButton,\n focused: isFocused,\n tabs: effectiveType === 'tabs',\n }),\n [\n isRadioSelected,\n isInvalid,\n isValid,\n isRadioDisabled,\n isHovered,\n isButton,\n isFocused,\n effectiveType,\n ],\n );\n\n // Render button type using Item\n if (isButton) {\n return (\n <RadioButtonElement\n ref={domRef}\n type={effectiveButtonType}\n theme={getValidationTheme(\n 'default',\n { isInvalid, isValid },\n { includeValid: true },\n )}\n size={effectiveSize}\n icon={icon}\n rightIcon={rightIcon}\n prefix={prefix}\n suffix={suffix}\n description={description}\n tooltip={tooltip}\n hotkeys={hotkeys}\n isSelected={isRadioSelected}\n isDisabled={isRadioDisabled}\n mods={{ ...mods, ...(forceSelectedMod ? { selected: true } : {}) }}\n styles={styles}\n {...mergeProps(hoverProps, focusProps)}\n >\n <HiddenInput\n qa={qa || 'Radio'}\n data-input-type=\"radio\"\n aria-label={ariaLabel}\n {...inputProps}\n ref={inputRef}\n form={null}\n mods={{ button: isButton, disabled: isRadioDisabled }}\n />\n {label}\n </RadioButtonElement>\n );\n }\n\n // Render classic radio type\n return (\n <RadioWrapperElement\n styles={styles}\n {...hoverProps}\n ref={domRef}\n mods={mods}\n data-type={type}\n >\n <HiddenInput\n qa={qa || 'Radio'}\n data-input-type=\"radio\"\n aria-label={ariaLabel}\n {...mergeProps(inputProps, focusProps)}\n ref={inputRef}\n mods={{ button: isButton }}\n />\n <RadioNormalElement data-element=\"Input\" mods={mods} data-type={type}>\n {RadioCircleElement}\n </RadioNormalElement>\n {label && (\n <RadioLabelElement\n mods={mods}\n styles={labelStyles}\n {...(labelProps ? filterBaseProps(labelProps) : undefined)}\n >\n {label}\n </RadioLabelElement>\n )}\n </RadioWrapperElement>\n );\n}\n\n/**\n * Radio buttons 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 _Radio = forwardRef(Radio);\n\nconst Tabs = tasty(RadioGroup, {\n type: 'tabs',\n});\n\nconst ButtonGroup = tasty(RadioGroup, {\n type: 'button',\n});\n\nconst __Radio = Object.assign(\n _Radio as typeof _Radio & {\n Group: typeof RadioGroup;\n Tabs: typeof Tabs;\n ButtonGroup: typeof ButtonGroup;\n Button: typeof _Radio;\n },\n {\n Group: RadioGroup,\n Tabs,\n ButtonGroup,\n Button: _Radio,\n },\n);\n\n__Radio.displayName = 'Radio';\n\nexport { __Radio as Radio };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { FormContext } from "../../form/Form/Form.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
 
4
4
  //#region src/components/fields/RadioGroup/context.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { usePopoverSync } from "../../../utils/react/usePopoverSync.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { useProviderProps } from "../../../provider.js";
4
4
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { __RangeSlider } from "./RangeSlider.js";
3
3
  import { __Slider } from "./Slider.js";
4
4
  import { __HueSlider } from "./HueSlider.js";
@@ -1,12 +1,12 @@
1
1
 
2
- import { FieldBaseProps } from "../../../shared/form.js";
2
+ import { FieldBaseProps, ToggleSelectionProps } from "../../../shared/form.js";
3
3
  import "../../../shared/index.js";
4
4
  import { BaseProps, BlockStyleProps, OuterStyleProps, Styles } from "@tenphi/tasty";
5
5
  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, AriaSwitchProps {
9
+ interface CubeSwitchProps extends BaseProps, OuterStyleProps, BlockStyleProps, FieldBaseProps, ToggleSelectionProps, AriaSwitchProps {
10
10
  inputStyles?: Styles;
11
11
  isLoading?: boolean;
12
12
  size?: 'large' | 'medium' | 'small';
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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';\nimport { FieldBaseProps } 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,\n AriaSwitchProps {\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';\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,\n ToggleSelectionProps,\n AriaSwitchProps {\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.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { chain } from "../../../utils/react/chain.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
4
4
  import { castNullableStringValue } from "../../../utils/react/nullableValue.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | 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";
@@ -25,6 +25,12 @@ import { CubeDatePickerProps, _DatePicker } from "./DatePicker/DatePicker.js";
25
25
  import { CubeDateRangePickerProps, _DateRangePicker } from "./DatePicker/DateRangePicker.js";
26
26
  import { parseAbsoluteDate } from "./DatePicker/parseDate.js";
27
27
  import { CubeDateRangeSeparatedPickerProps, _DateRangeSeparatedPicker } from "./DatePicker/DateRangeSeparatedPicker.js";
28
+ import { PickerType, formatPeriod, getQuarter, getWeekNumber, snapToPeriod } from "./DatePicker/period.js";
29
+ import { CubePeriodPickerProps, _PeriodPicker } from "./DatePicker/PeriodPicker.js";
30
+ import { CubeMonthPickerProps, _MonthPicker } from "./DatePicker/MonthPicker.js";
31
+ import { CubeQuarterPickerProps, _QuarterPicker } from "./DatePicker/QuarterPicker.js";
32
+ import { CubeYearPickerProps, _YearPicker } from "./DatePicker/YearPicker.js";
33
+ import { CubeWeekPickerProps, _WeekPicker } from "./DatePicker/WeekPicker.js";
28
34
  import "./DatePicker/index.js";
29
35
  import { CubeRadioGroupProps, _RadioGroup } from "./RadioGroup/RadioGroup.js";
30
36
  import { AriaRadioProps, CubeRadioProps, __Radio, useRadio } from "./RadioGroup/Radio.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { wrapNodeIfPlain } from "../../../utils/react/wrapNodeIfPlain.js";
4
4
  import { _Text } from "../../content/Text.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { warn } from "../../../utils/warnings.js";
4
4
  import { useValidationProps } from "../validation/use-validation-props.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { Provider, useProviderProps } from "../../../provider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../../utils/react/mergeProps.js";
3
3
  import { useEvent } from "../../../../_internal/hooks/use-event.js";
4
4
  import { useProviderProps } from "../../../../provider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { useProviderProps } from "../../../../provider.js";
3
3
  import { Button } from "../../../actions/Button/Button.js";
4
4
  import { useFormProps } from "../Form.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { useI18n } from "../../../i18n/useI18n.js";
3
3
  import { FormContext } from "./Form.js";
4
4
  import { Alert } from "../../content/Alert/Alert.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { useForm } from "./use-form.js";
3
3
  import { FormContext, _Form, useFormProps } from "./Form.js";
4
4
  import { useField } from "./use-field/use-field.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../../utils/react/mergeProps.js";
3
3
  import { useEvent } from "../../../../_internal/hooks/use-event.js";
4
4
  import { warn } from "../../../../utils/warnings.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../../_internal/hooks/use-event.js";
3
3
  import { useIsFirstRender } from "../../../../_internal/hooks/use-is-first-render.js";
4
4
  import { resolveValidationProps } from "../../validation/resolve-validation-props.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { applyRules } from "./validation.js";
3
3
  import { dotize } from "@tenphi/tasty";
4
4
  import { useRef, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { validate } from "email-validator";
3
3
  import validUrl from "valid-url";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.152.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.154.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { useProviderProps } from "../../provider.js";
4
4
  import { useI18n } from "../../i18n/useI18n.js";