@cube-dev/ui-kit 0.0.0-canary-68d61d4 → 0.0.0-canary-515e4da

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 (533) hide show
  1. package/dist/CHANGELOG.md +12 -0
  2. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  3. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/dist/_internal/hooks/use-event.js +1 -1
  6. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  7. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +1 -1
  12. package/dist/components/CollectionItem.js +1 -1
  13. package/dist/components/GlobalStyles.js +1 -1
  14. package/dist/components/GridProvider.js +1 -1
  15. package/dist/components/HiddenInput.js +1 -1
  16. package/dist/components/Root.d.ts +8 -0
  17. package/dist/components/Root.js +35 -30
  18. package/dist/components/Root.js.map +1 -1
  19. package/dist/components/actions/Action/Action.js +1 -1
  20. package/dist/components/actions/Banner/Banner.js +4 -2
  21. package/dist/components/actions/Banner/Banner.js.map +1 -1
  22. package/dist/components/actions/Button/Button.js +1 -1
  23. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  24. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  25. package/dist/components/actions/ButtonSplit/context.js +1 -1
  26. package/dist/components/actions/CommandMenu/CommandMenu.js +4 -2
  27. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  28. package/dist/components/actions/CommandMenu/styled.js +1 -1
  29. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  30. package/dist/components/actions/ItemActionContext.js +1 -1
  31. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  32. package/dist/components/actions/Link/Link.js +1 -1
  33. package/dist/components/actions/Menu/Menu.js +1 -1
  34. package/dist/components/actions/Menu/MenuItem.js +1 -1
  35. package/dist/components/actions/Menu/MenuSection.js +1 -1
  36. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  37. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  38. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  39. package/dist/components/actions/Menu/context.js +1 -1
  40. package/dist/components/actions/Menu/styled.js +1 -1
  41. package/dist/components/actions/index.js +1 -1
  42. package/dist/components/actions/use-action.js +1 -1
  43. package/dist/components/actions/use-anchored-menu.js +6 -3
  44. package/dist/components/actions/use-anchored-menu.js.map +1 -1
  45. package/dist/components/actions/use-context-menu.js +6 -3
  46. package/dist/components/actions/use-context-menu.js.map +1 -1
  47. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  48. package/dist/components/content/Alert/Alert.js +1 -1
  49. package/dist/components/content/Alert/use-alert.js +1 -1
  50. package/dist/components/content/Avatar/Avatar.js +1 -1
  51. package/dist/components/content/Badge/Badge.js +1 -1
  52. package/dist/components/content/Card/Card.js +1 -1
  53. package/dist/components/content/Content.js +1 -1
  54. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +7 -6
  55. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  56. package/dist/components/content/CopySnippet/CopySnippet.js +9 -9
  57. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  58. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  59. package/dist/components/content/Divider.js +1 -1
  60. package/dist/components/content/Footer.js +1 -1
  61. package/dist/components/content/Header.js +1 -1
  62. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  63. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  64. package/dist/components/content/Item/Item.js +1 -1
  65. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  66. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  67. package/dist/components/content/Layout/GridLayout.js +1 -1
  68. package/dist/components/content/Layout/Layout.js +1 -1
  69. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  70. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  71. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  72. package/dist/components/content/Layout/LayoutContent.js +1 -1
  73. package/dist/components/content/Layout/LayoutContext.js +1 -1
  74. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  75. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  76. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  77. package/dist/components/content/Layout/LayoutHeader.js +4 -2
  78. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  79. package/dist/components/content/Layout/LayoutPane.js +1 -1
  80. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  81. package/dist/components/content/Layout/LayoutPanelHeader.js +9 -6
  82. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  83. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  84. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  85. package/dist/components/content/Layout/index.js +1 -1
  86. package/dist/components/content/Layout/utils.js +1 -1
  87. package/dist/components/content/Paragraph.js +1 -1
  88. package/dist/components/content/Placeholder/Placeholder.js +4 -2
  89. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  90. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  91. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  92. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  93. package/dist/components/content/Result/Result.js +1 -1
  94. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  95. package/dist/components/content/Tag/Tag.js +4 -2
  96. package/dist/components/content/Tag/Tag.js.map +1 -1
  97. package/dist/components/content/Text.d.ts +7 -7
  98. package/dist/components/content/Text.js +1 -1
  99. package/dist/components/content/TextItem/TextItem.js +1 -1
  100. package/dist/components/content/Title.js +1 -1
  101. package/dist/components/content/Tree/Tree.js +1 -1
  102. package/dist/components/content/Tree/TreeNode.js +4 -2
  103. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  104. package/dist/components/content/Tree/styled.js +1 -1
  105. package/dist/components/content/Tree/tree-index.js +1 -1
  106. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  107. package/dist/components/content/Tree/use-load-data.js +1 -1
  108. package/dist/components/content/highlightText.js +1 -1
  109. package/dist/components/content/use-auto-tooltip.js +1 -1
  110. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  111. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  112. package/dist/components/fields/Checkbox/context.js +1 -1
  113. package/dist/components/fields/ComboBox/ComboBox.js +5 -3
  114. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  115. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  116. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  117. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  118. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  119. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  120. package/dist/components/fields/DatePicker/DatePicker.js +4 -3
  121. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  122. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  123. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  124. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  125. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  126. package/dist/components/fields/DatePicker/DateRangePicker.js +5 -4
  127. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  128. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +6 -5
  129. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  130. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  131. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  132. package/dist/components/fields/DatePicker/props.js +1 -1
  133. package/dist/components/fields/DatePicker/utils.js +1 -1
  134. package/dist/components/fields/FileInput/FileInput.js +5 -3
  135. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  136. package/dist/components/fields/FilterListBox/FilterListBox.js +9 -6
  137. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  138. package/dist/components/fields/FilterPicker/FilterPicker.js +5 -3
  139. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  140. package/dist/components/fields/Input/Input.js +1 -1
  141. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  142. package/dist/components/fields/ListBox/ListBox.js +9 -5
  143. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  144. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +4 -2
  145. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  146. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  147. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  148. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  149. package/dist/components/fields/NumberInput/StepButton.js +5 -2
  150. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  151. package/dist/components/fields/PasswordInput/PasswordInput.js +4 -2
  152. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  153. package/dist/components/fields/Picker/Picker.js +5 -3
  154. package/dist/components/fields/Picker/Picker.js.map +1 -1
  155. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  156. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  157. package/dist/components/fields/RadioGroup/context.js +1 -1
  158. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  159. package/dist/components/fields/Select/Select.js +1 -1
  160. package/dist/components/fields/Slider/Gradation.js +1 -1
  161. package/dist/components/fields/Slider/HueSlider.js +1 -1
  162. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  163. package/dist/components/fields/Slider/Slider.js +1 -1
  164. package/dist/components/fields/Slider/SliderBase.js +1 -1
  165. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  166. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  167. package/dist/components/fields/Slider/elements.js +1 -1
  168. package/dist/components/fields/Slider/index.js +1 -1
  169. package/dist/components/fields/Switch/Switch.js +1 -1
  170. package/dist/components/fields/TextArea/TextArea.js +1 -1
  171. package/dist/components/fields/TextInput/TextInput.js +1 -1
  172. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  173. package/dist/components/fields/TextInputMapper/TextInputMapper.js +7 -5
  174. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  175. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  176. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  177. package/dist/components/form/Form/Field.js +1 -1
  178. package/dist/components/form/Form/Form.js +1 -1
  179. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  180. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  181. package/dist/components/form/Form/SubmitError.js +4 -2
  182. package/dist/components/form/Form/SubmitError.js.map +1 -1
  183. package/dist/components/form/Form/index.js +1 -1
  184. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  185. package/dist/components/form/Form/use-field/use-field.js +1 -1
  186. package/dist/components/form/Form/use-form.js +1 -1
  187. package/dist/components/form/Form/validation.js +1 -1
  188. package/dist/components/form/Label.js +6 -8
  189. package/dist/components/form/Label.js.map +1 -1
  190. package/dist/components/form/wrapper.js +1 -1
  191. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  192. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  193. package/dist/components/layout/Board/Board.js +1 -1
  194. package/dist/components/layout/Board/BoardProvider.js +1 -1
  195. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  196. package/dist/components/layout/Board/Widget.js +1 -1
  197. package/dist/components/layout/Board/WidgetHost.js +1 -1
  198. package/dist/components/layout/Board/board-context.js +1 -1
  199. package/dist/components/layout/Board/board-store.js +1 -1
  200. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  201. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  202. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  203. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  204. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  205. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  206. package/dist/components/layout/Board/index.js +1 -1
  207. package/dist/components/layout/Board/responsive-utils.js +1 -1
  208. package/dist/components/layout/Board/use-board-layout.js +1 -1
  209. package/dist/components/layout/Board/use-board-registry.js +15 -5
  210. package/dist/components/layout/Board/use-board-registry.js.map +1 -1
  211. package/dist/components/layout/Flex.js +1 -1
  212. package/dist/components/layout/Flow.js +1 -1
  213. package/dist/components/layout/Grid.js +1 -1
  214. package/dist/components/layout/Panel.js +1 -1
  215. package/dist/components/layout/Prefix.js +1 -1
  216. package/dist/components/layout/ResizablePanel.js +1 -1
  217. package/dist/components/layout/Space.js +1 -1
  218. package/dist/components/layout/Suffix.js +1 -1
  219. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  220. package/dist/components/navigation/Tabs/TabButton.js +7 -4
  221. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  222. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  223. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  224. package/dist/components/navigation/Tabs/TabPicker.js +5 -3
  225. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  226. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  227. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  228. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  229. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  230. package/dist/components/navigation/Tabs/styled.js +1 -1
  231. package/dist/components/navigation/Tabs/types.js +1 -1
  232. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  233. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  234. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  235. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  236. package/dist/components/other/Calendar/Calendar.js +1 -1
  237. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  238. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  239. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  240. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  241. package/dist/components/overlays/AlertDialog/AlertDialog.js +8 -6
  242. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  243. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  244. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  245. package/dist/components/overlays/Dialog/Dialog.js +5 -8
  246. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  247. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  248. package/dist/components/overlays/Dialog/DialogForm.js +5 -3
  249. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  250. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  251. package/dist/components/overlays/Dialog/context.js +1 -1
  252. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  253. package/dist/components/overlays/Modal/Modal.js +1 -1
  254. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  255. package/dist/components/overlays/Modal/Overlay.js +1 -1
  256. package/dist/components/overlays/Modal/Popover.js +1 -1
  257. package/dist/components/overlays/Modal/Tray.js +1 -1
  258. package/dist/components/overlays/Modal/Underlay.js +1 -1
  259. package/dist/components/overlays/Notifications/Notification.js +1 -1
  260. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  261. package/dist/components/overlays/Notifications/NotificationCard.js +4 -2
  262. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  263. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  264. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  265. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  266. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  267. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +17 -8
  268. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  269. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  270. package/dist/components/overlays/Notifications/format-relative-time.d.ts +9 -3
  271. package/dist/components/overlays/Notifications/format-relative-time.js +20 -12
  272. package/dist/components/overlays/Notifications/format-relative-time.js.map +1 -1
  273. package/dist/components/overlays/Notifications/index.js +1 -1
  274. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  275. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  276. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  277. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  278. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  279. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  280. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  281. package/dist/components/overlays/Toast/index.js +1 -1
  282. package/dist/components/overlays/Toast/useProgressToast.js +6 -3
  283. package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
  284. package/dist/components/overlays/Toast/useToast.js +1 -1
  285. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  286. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  287. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  288. package/dist/components/overlays/Tooltip/context.js +1 -1
  289. package/dist/components/portal/Portal.js +1 -1
  290. package/dist/components/portal/PortalProvider.js +1 -1
  291. package/dist/components/portal/usePortal.js +1 -1
  292. package/dist/components/shared/DraggableCollection.js +1 -1
  293. package/dist/components/shared/InvalidIcon.js +1 -1
  294. package/dist/components/shared/ValidIcon.js +1 -1
  295. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +4 -2
  296. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  297. package/dist/components/status/Spin/Cube.js +1 -1
  298. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  299. package/dist/components/status/Spin/Spin.js +1 -1
  300. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  301. package/dist/data/item-themes.js +1 -1
  302. package/dist/data/themes.js +1 -1
  303. package/dist/i18n/I18nProvider.d.ts +29 -0
  304. package/dist/i18n/I18nProvider.js +46 -0
  305. package/dist/i18n/I18nProvider.js.map +1 -0
  306. package/dist/i18n/createFormatter.d.ts +59 -0
  307. package/dist/i18n/createFormatter.js +148 -0
  308. package/dist/i18n/createFormatter.js.map +1 -0
  309. package/dist/i18n/index.d.ts +18 -0
  310. package/dist/i18n/index.js +21 -0
  311. package/dist/i18n/index.js.map +1 -0
  312. package/dist/i18n/instance.d.ts +22 -0
  313. package/dist/i18n/instance.js +78 -0
  314. package/dist/i18n/instance.js.map +1 -0
  315. package/dist/i18n/locales/de-DE/uikit.js +112 -0
  316. package/dist/i18n/locales/de-DE/uikit.js.map +1 -0
  317. package/dist/i18n/locales/en-US/uikit.js +112 -0
  318. package/dist/i18n/locales/en-US/uikit.js.map +1 -0
  319. package/dist/i18n/locales/en-US/uikit.json.d.ts +140 -0
  320. package/dist/i18n/locales/es-ES/uikit.js +112 -0
  321. package/dist/i18n/locales/es-ES/uikit.js.map +1 -0
  322. package/dist/i18n/locales/es-MX/uikit.js +112 -0
  323. package/dist/i18n/locales/es-MX/uikit.js.map +1 -0
  324. package/dist/i18n/locales/fr-FR/uikit.js +112 -0
  325. package/dist/i18n/locales/fr-FR/uikit.js.map +1 -0
  326. package/dist/i18n/locales/it-IT/uikit.js +112 -0
  327. package/dist/i18n/locales/it-IT/uikit.js.map +1 -0
  328. package/dist/i18n/locales/ja-JP/uikit.js +112 -0
  329. package/dist/i18n/locales/ja-JP/uikit.js.map +1 -0
  330. package/dist/i18n/locales/nb-NO/uikit.js +112 -0
  331. package/dist/i18n/locales/nb-NO/uikit.js.map +1 -0
  332. package/dist/i18n/locales/pt-BR/uikit.js +112 -0
  333. package/dist/i18n/locales/pt-BR/uikit.js.map +1 -0
  334. package/dist/i18n/locales/pt-PT/uikit.js +112 -0
  335. package/dist/i18n/locales/pt-PT/uikit.js.map +1 -0
  336. package/dist/i18n/locales/sv-SE/uikit.js +112 -0
  337. package/dist/i18n/locales/sv-SE/uikit.js.map +1 -0
  338. package/dist/i18n/locales/vi-VN/uikit.js +112 -0
  339. package/dist/i18n/locales/vi-VN/uikit.js.map +1 -0
  340. package/dist/i18n/locales.d.ts +17 -0
  341. package/dist/i18n/locales.js +45 -0
  342. package/dist/i18n/locales.js.map +1 -0
  343. package/dist/i18n/useFormatter.d.ts +26 -0
  344. package/dist/i18n/useFormatter.js +32 -0
  345. package/dist/i18n/useFormatter.js.map +1 -0
  346. package/dist/i18n/useI18n.d.ts +2 -0
  347. package/dist/i18n/useI18n.js +18 -0
  348. package/dist/i18n/useI18n.js.map +1 -0
  349. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  350. package/dist/icons/AdjustmentsIcon.js +1 -1
  351. package/dist/icons/AiIcon.js +1 -1
  352. package/dist/icons/AreaChartIcon.js +1 -1
  353. package/dist/icons/BackwardIcon.js +1 -1
  354. package/dist/icons/BarChartIcon.js +1 -1
  355. package/dist/icons/BellFilledIcon.js +1 -1
  356. package/dist/icons/BellIcon.js +1 -1
  357. package/dist/icons/BooleanIcon.js +1 -1
  358. package/dist/icons/CalendarEditIcon.js +1 -1
  359. package/dist/icons/CalendarIcon.js +1 -1
  360. package/dist/icons/CaretDownIcon.js +1 -1
  361. package/dist/icons/CaretUpIcon.js +1 -1
  362. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  363. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  364. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  365. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  366. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  367. package/dist/icons/ChartBarLineIcon.js +1 -1
  368. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  369. package/dist/icons/ChartBarStackedIcon.js +1 -1
  370. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  371. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  372. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  373. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  374. package/dist/icons/ChartBubbleIcon.js +1 -1
  375. package/dist/icons/ChartDonut2Icon.js +1 -1
  376. package/dist/icons/ChartFunnelIcon.js +1 -1
  377. package/dist/icons/ChartHeatmapIcon.js +1 -1
  378. package/dist/icons/ChartKPIIcon.js +1 -1
  379. package/dist/icons/ChartPie2Icon.js +1 -1
  380. package/dist/icons/ChartScatterIcon.js +1 -1
  381. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  382. package/dist/icons/CheckCircleIcon.js +1 -1
  383. package/dist/icons/CheckIcon.js +1 -1
  384. package/dist/icons/CircleFilledIcon.js +1 -1
  385. package/dist/icons/ClearIcon.js +1 -1
  386. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  387. package/dist/icons/CloseCircleIcon.js +1 -1
  388. package/dist/icons/CloseIcon.js +1 -1
  389. package/dist/icons/CodeIcon.js +1 -1
  390. package/dist/icons/ColumnTotalIcon.js +1 -1
  391. package/dist/icons/CopyIcon.js +1 -1
  392. package/dist/icons/CountIcon.js +1 -1
  393. package/dist/icons/CubeIcon.js +1 -1
  394. package/dist/icons/CubePauseIcon.js +1 -1
  395. package/dist/icons/CubePlayIcon.js +1 -1
  396. package/dist/icons/CurrencyDollarIcon.js +1 -1
  397. package/dist/icons/DangerIcon.js +1 -1
  398. package/dist/icons/DashboardIcon.js +1 -1
  399. package/dist/icons/DatabaseIcon.js +1 -1
  400. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  401. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  402. package/dist/icons/DirectionIcon.js +1 -1
  403. package/dist/icons/DonutIcon.js +1 -1
  404. package/dist/icons/DownIcon.js +1 -1
  405. package/dist/icons/EditIcon.js +1 -1
  406. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  407. package/dist/icons/ExclamationCircleIcon.js +1 -1
  408. package/dist/icons/ExclamationIcon.js +1 -1
  409. package/dist/icons/EyeIcon.js +1 -1
  410. package/dist/icons/EyeInvisibleIcon.js +1 -1
  411. package/dist/icons/FilterIcon.js +1 -1
  412. package/dist/icons/FolderFilledIcon.js +1 -1
  413. package/dist/icons/FolderIcon.js +1 -1
  414. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  415. package/dist/icons/FolderOpenIcon.js +1 -1
  416. package/dist/icons/ForwardIcon.js +1 -1
  417. package/dist/icons/GripVerticalIcon.js +1 -1
  418. package/dist/icons/HierarchyIcon.js +1 -1
  419. package/dist/icons/HierarchyOpenIcon.js +1 -1
  420. package/dist/icons/Icon.js +1 -1
  421. package/dist/icons/InfoCircleIcon.js +1 -1
  422. package/dist/icons/InfoIcon.js +1 -1
  423. package/dist/icons/KeyIcon.js +1 -1
  424. package/dist/icons/LeftIcon.js +1 -1
  425. package/dist/icons/LineChartIcon.js +1 -1
  426. package/dist/icons/LoadingIcon.js +1 -1
  427. package/dist/icons/LockFilledIcon.js +1 -1
  428. package/dist/icons/LockIcon.js +1 -1
  429. package/dist/icons/MoreIcon.js +1 -1
  430. package/dist/icons/NotAllowedIcon.js +1 -1
  431. package/dist/icons/Number123Icon.js +1 -1
  432. package/dist/icons/NumberIcon.js +1 -1
  433. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  434. package/dist/icons/PauseCircleIcon.js +1 -1
  435. package/dist/icons/PauseIcon.js +1 -1
  436. package/dist/icons/PercentageIcon.js +1 -1
  437. package/dist/icons/PieChartIcon.js +1 -1
  438. package/dist/icons/PlayCircleIcon.js +1 -1
  439. package/dist/icons/PlayIcon.js +1 -1
  440. package/dist/icons/PlusIcon.js +1 -1
  441. package/dist/icons/ProgressBarIcon.js +1 -1
  442. package/dist/icons/ReloadIcon.js +1 -1
  443. package/dist/icons/ReportIcon.js +1 -1
  444. package/dist/icons/ReturnIcon.js +1 -1
  445. package/dist/icons/RightIcon.js +1 -1
  446. package/dist/icons/RowTotalsIcon.js +1 -1
  447. package/dist/icons/SchemeIcon.js +1 -1
  448. package/dist/icons/SearchIcon.js +1 -1
  449. package/dist/icons/SemanticQueryIcon.js +1 -1
  450. package/dist/icons/SettingsIcon.js +1 -1
  451. package/dist/icons/ShieldFilledIcon.js +1 -1
  452. package/dist/icons/ShieldIcon.js +1 -1
  453. package/dist/icons/SlashIcon.js +1 -1
  454. package/dist/icons/SparklesIcon.js +1 -1
  455. package/dist/icons/SqlIcon.js +1 -1
  456. package/dist/icons/StatsIcon.js +1 -1
  457. package/dist/icons/StopIcon.js +1 -1
  458. package/dist/icons/StringIcon.js +1 -1
  459. package/dist/icons/SubtotalsIcon.js +1 -1
  460. package/dist/icons/SwitchIcon.js +1 -1
  461. package/dist/icons/TableIcon.js +1 -1
  462. package/dist/icons/ThumbsDownIcon.js +1 -1
  463. package/dist/icons/ThumbsUpIcon.js +1 -1
  464. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  465. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  466. package/dist/icons/ThunderboltIcon.js +1 -1
  467. package/dist/icons/TimeIcon.js +1 -1
  468. package/dist/icons/TrashIcon.js +1 -1
  469. package/dist/icons/UnlockIcon.js +1 -1
  470. package/dist/icons/UpIcon.js +1 -1
  471. package/dist/icons/UserGroupIcon.js +1 -1
  472. package/dist/icons/UserIcon.js +1 -1
  473. package/dist/icons/UserLockIcon.js +1 -1
  474. package/dist/icons/ViewIcon.js +1 -1
  475. package/dist/icons/WarningFilledIcon.js +1 -1
  476. package/dist/icons/WarningIcon.js +1 -1
  477. package/dist/icons/wrap-icon.js +1 -1
  478. package/dist/index.d.ts +10 -1
  479. package/dist/index.js +11 -2
  480. package/dist/index.js.map +1 -1
  481. package/dist/provider.js +1 -1
  482. package/dist/providers/TrackingProvider.js +1 -1
  483. package/dist/providers/navigationAdapter.default.js +1 -1
  484. package/dist/tokens/base.js +1 -1
  485. package/dist/tokens/colors.js +1 -1
  486. package/dist/tokens/index.js +1 -1
  487. package/dist/tokens/layout.js +1 -1
  488. package/dist/tokens/palette.js +1 -1
  489. package/dist/tokens/shadows.js +1 -1
  490. package/dist/tokens/sizes.js +1 -1
  491. package/dist/tokens/spacing.js +1 -1
  492. package/dist/tokens/typography.js +1 -1
  493. package/dist/utils/ResizeSensor.js +1 -1
  494. package/dist/utils/is-dev-env.js +1 -1
  495. package/dist/utils/modules.js +1 -1
  496. package/dist/utils/promise.js +1 -1
  497. package/dist/utils/raf.js +1 -1
  498. package/dist/utils/random.js +1 -1
  499. package/dist/utils/range.js +1 -1
  500. package/dist/utils/react/RenderCache.js +1 -1
  501. package/dist/utils/react/Slots.js +1 -1
  502. package/dist/utils/react/chain.js +1 -1
  503. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  504. package/dist/utils/react/index.js +1 -1
  505. package/dist/utils/react/interactions.js +1 -1
  506. package/dist/utils/react/isTextOnly.js +1 -1
  507. package/dist/utils/react/mapProps.js +1 -1
  508. package/dist/utils/react/mergeProps.js +1 -1
  509. package/dist/utils/react/nullableValue.js +1 -1
  510. package/dist/utils/react/resolveIcon.js +1 -1
  511. package/dist/utils/react/sharedStore.js +1 -1
  512. package/dist/utils/react/useCombinedRefs.js +1 -1
  513. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  514. package/dist/utils/react/useEventBus.js +1 -1
  515. package/dist/utils/react/useId.js +1 -1
  516. package/dist/utils/react/useIsDarwin.js +1 -1
  517. package/dist/utils/react/useKeySymbols.js +1 -1
  518. package/dist/utils/react/useLayoutEffect.js +1 -1
  519. package/dist/utils/react/useLocalStorage.js +1 -1
  520. package/dist/utils/react/useMergeStyles.js +1 -1
  521. package/dist/utils/react/usePopoverSync.js +1 -1
  522. package/dist/utils/react/useQaProps.js +1 -1
  523. package/dist/utils/react/useViewportSize.js +1 -1
  524. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  525. package/dist/utils/selection.js +1 -1
  526. package/dist/utils/styles.js +1 -1
  527. package/dist/utils/tree.js +1 -1
  528. package/dist/utils/warnings.js +1 -1
  529. package/dist/version.js +2 -2
  530. package/docs/components/Root.md +15 -1
  531. package/package.json +3 -1
  532. package/dist/components/fields/DatePicker/intl.js +0 -11
  533. package/dist/components/fields/DatePicker/intl.js.map +0 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import { CheckIcon } from "../../../icons/CheckIcon.js";
3
3
  import { DangerIcon } from "../../../icons/DangerIcon.js";
4
4
  import { InfoCircleIcon } from "../../../icons/InfoCircleIcon.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
4
4
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import { _Tooltip } from "./Tooltip.js";
3
3
  import { TooltipTrigger } from "./TooltipTrigger.js";
4
4
  import { isValidElement, useEffect, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import { TooltipContext } from "./context.js";
3
3
  import { Block } from "../../Block.js";
4
4
  import { _ActiveZone } from "../../content/ActiveZone/ActiveZone.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import React from "react";
3
3
 
4
4
  //#region src/components/overlays/Tooltip/context.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import { usePortal } from "./usePortal.js";
3
3
  import { Fragment, jsx } from "react/jsx-runtime";
4
4
  import { createPortal } from "react-dom";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
 
4
4
  //#region src/components/portal/PortalProvider.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import { usePortalContext } from "./PortalProvider.js";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import invariant from "tiny-invariant";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useCallback, useEffect, useMemo, useRef } from "react";
4
4
  import { ListDropTargetDelegate, ListKeyboardDelegate, mergeProps, useDraggableCollection, useDroppableCollection } from "react-aria";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import { WarningIcon } from "../../icons/WarningIcon.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-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import { CheckIcon } from "../../icons/CheckIcon.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1,5 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import { Block } from "../../Block.js";
3
+ import { useI18n } from "../../../i18n/useI18n.js";
3
4
  import { tasty } from "@tenphi/tasty";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
5
6
 
@@ -124,10 +125,11 @@ const SIZE_MAP = {
124
125
  large: 96
125
126
  };
126
127
  function LoadingAnimation({ size = "medium", ...props }) {
128
+ const { t } = useI18n();
127
129
  const numSize = SIZE_MAP[size] || size || SIZE_MAP.medium;
128
130
  return /* @__PURE__ */ jsxs(Block, {
129
131
  role: "img",
130
- "aria-label": "Loading animation",
132
+ "aria-label": t("loadingAnimation.ariaLabel", "Loading animation"),
131
133
  width: numSize,
132
134
  height: numSize * 1.1388888889,
133
135
  style: { position: "relative" },
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingAnimation.js","names":[],"sources":["../../../../src/components/status/LoadingAnimation/LoadingAnimation.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { CSSProperties } from 'react';\n\nimport { Block, CubeBlockProps } from '../../Block';\n\nconst CubeElement = tasty({\n as: 'svg',\n styles: {\n display: 'block',\n position: 'absolute',\n width: '50%',\n height: '50%',\n\n // The three visible faces of the cube get their colors via the SVG\n // `fill=\"…\"` attribute on each `<path>` (see the JSX below), NOT via a\n // tasty `fill` style. Tasty's `fill` is a typed shorthand for\n // `background-color` — applying it to an SVG `<path>` would inject\n // `background-color: …` which paths simply ignore (this was the\n // \"invisible cube\" bug). Pointing the SVG `fill` attribute at the\n // adaptive `--loading-face-N-color` CSS variables published by Glaze\n // (defined in `src/tokens/palette.ts`) keeps the three faces driven by\n // the design system without going through a style property tasty would\n // re-route to the wrong CSS slot.\n\n animationName: {\n '': 'none',\n 'index=0': 'dice0',\n 'index=1': 'dice1',\n 'index=2': 'dice2',\n },\n animationDuration: {\n '': '0s',\n 'index=0 | index=1 | index=2': '2s',\n },\n animationIterationCount: {\n '': 1,\n 'index=0 | index=1 | index=2': 'infinite',\n },\n animationTimingFunction: {\n '': 'ease',\n 'index=0 | index=1 | index=2': 'ease',\n },\n zIndex: {\n '': 0,\n 'index=0 | index=1 | index=2': 0,\n },\n\n '@keyframes': {\n dice0: {\n from: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '25%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '50%': { transform: 'translate(0%, 25%)', zIndex: 0 },\n '51%': { zIndex: 1 },\n '75%': { zIndex: 1 },\n to: { transform: 'translate(0%, 25%)', zIndex: 1 },\n },\n dice1: {\n from: { transform: 'translate(0%, 25%)', zIndex: 3 },\n '25%': { transform: 'translate(49%, 49%)', zIndex: 3 },\n '75%': { transform: 'translate(49%, 49%)', zIndex: 2 },\n to: { transform: 'translate(98%, 25%)', zIndex: 1 },\n },\n dice2: {\n from: { transform: 'translate(98%, 25%)', zIndex: 1 },\n '50%': { transform: 'translate(98%, 25%)', zIndex: 0 },\n '75%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n to: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n },\n },\n },\n});\n\ninterface CubeProps {\n index?: 0 | 1 | 2;\n style?: CSSProperties;\n}\n\nfunction Cube({ index, style }: CubeProps) {\n return (\n <CubeElement\n mods={index != null ? { index } : undefined}\n style={style}\n viewBox=\"0 0 36 41\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"presentation\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"var(--loading-face-1-color)\"\n d=\"M35.899 10.351l-18 10.25L.1 10.25l18-10.25L35.9 10.351z\"\n />\n <path\n fill=\"var(--loading-face-2-color)\"\n d=\"M18 41L0 30.75l.101-20.5L18 20.5\"\n />\n <path\n fill=\"var(--loading-face-3-color)\"\n d=\"M36 30.75L18 41V20.6l17.899-10.25L36 30.75z\"\n />\n </CubeElement>\n );\n}\n\nconst SIZE_MAP = {\n small: 32,\n medium: 64,\n large: 96,\n};\n\nexport interface CubeLoadingAnimationProps extends CubeBlockProps {\n size?: 'small' | 'medium' | 'large' | number;\n}\n\nexport function LoadingAnimation({\n size = 'medium',\n ...props\n}: CubeLoadingAnimationProps) {\n const numSize: number = SIZE_MAP[size] || size || SIZE_MAP.medium;\n\n return (\n <Block\n role=\"img\"\n aria-label=\"Loading animation\"\n width={numSize}\n height={numSize * 1.1388888889}\n style={{ position: 'relative' }}\n {...props}\n >\n <Cube style={{ transform: 'translate(0%, 72.5%)' }} />\n <Cube style={{ transform: 'translate(98%, 72.5%)' }} />\n <Cube style={{ transform: 'translate(49%, 96.5%)' }} />\n <Cube index={0} />\n <Cube index={1} />\n <Cube index={2} />\n </Block>\n );\n}\n"],"mappings":";;;;;;AAKA,MAAM,cAAc,MAAM;CACxB,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,UAAU;EACV,OAAO;EACP,QAAQ;EAaR,eAAe;GACb,IAAI;GACJ,WAAW;GACX,WAAW;GACX,WAAW;GACZ;EACD,mBAAmB;GACjB,IAAI;GACJ,+BAA+B;GAChC;EACD,yBAAyB;GACvB,IAAI;GACJ,+BAA+B;GAChC;EACD,yBAAyB;GACvB,IAAI;GACJ,+BAA+B;GAChC;EACD,QAAQ;GACN,IAAI;GACJ,+BAA+B;GAChC;EAED,cAAc;GACZ,OAAO;IACL,MAAM;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACtD,OAAO;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACvD,OAAO;KAAE,WAAW;KAAsB,QAAQ;KAAG;IACrD,OAAO,EAAE,QAAQ,GAAG;IACpB,OAAO,EAAE,QAAQ,GAAG;IACpB,IAAI;KAAE,WAAW;KAAsB,QAAQ;KAAG;IACnD;GACD,OAAO;IACL,MAAM;KAAE,WAAW;KAAsB,QAAQ;KAAG;IACpD,OAAO;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACtD,OAAO;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACtD,IAAI;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACpD;GACD,OAAO;IACL,MAAM;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACrD,OAAO;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACtD,OAAO;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACvD,IAAI;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACrD;GACF;EACF;CACF,CAAC;AAOF,SAAS,KAAK,EAAE,OAAO,SAAoB;AACzC,QACE,qBAAC;EACC,MAAM,SAAS,OAAO,EAAE,OAAO,GAAG;EAC3B;EACP,SAAQ;EACR,MAAK;EACL,OAAM;EACN,MAAK;EACL,eAAY;;GAEZ,oBAAC;IACC,MAAK;IACL,GAAE;KACF;GACF,oBAAC;IACC,MAAK;IACL,GAAE;KACF;GACF,oBAAC;IACC,MAAK;IACL,GAAE;KACF;;GACU;;AAIlB,MAAM,WAAW;CACf,OAAO;CACP,QAAQ;CACR,OAAO;CACR;AAMD,SAAgB,iBAAiB,EAC/B,OAAO,UACP,GAAG,SACyB;CAC5B,MAAM,UAAkB,SAAS,SAAS,QAAQ,SAAS;AAE3D,QACE,qBAAC;EACC,MAAK;EACL,cAAW;EACX,OAAO;EACP,QAAQ,UAAU;EAClB,OAAO,EAAE,UAAU,YAAY;EAC/B,GAAI;;GAEJ,oBAAC,QAAK,OAAO,EAAE,WAAW,wBAAwB,GAAI;GACtD,oBAAC,QAAK,OAAO,EAAE,WAAW,yBAAyB,GAAI;GACvD,oBAAC,QAAK,OAAO,EAAE,WAAW,yBAAyB,GAAI;GACvD,oBAAC,QAAK,OAAO,IAAK;GAClB,oBAAC,QAAK,OAAO,IAAK;GAClB,oBAAC,QAAK,OAAO,IAAK;;GACZ"}
1
+ {"version":3,"file":"LoadingAnimation.js","names":[],"sources":["../../../../src/components/status/LoadingAnimation/LoadingAnimation.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { CSSProperties } from 'react';\n\nimport { useI18n } from '../../../i18n';\nimport { Block, CubeBlockProps } from '../../Block';\n\nconst CubeElement = tasty({\n as: 'svg',\n styles: {\n display: 'block',\n position: 'absolute',\n width: '50%',\n height: '50%',\n\n // The three visible faces of the cube get their colors via the SVG\n // `fill=\"…\"` attribute on each `<path>` (see the JSX below), NOT via a\n // tasty `fill` style. Tasty's `fill` is a typed shorthand for\n // `background-color` — applying it to an SVG `<path>` would inject\n // `background-color: …` which paths simply ignore (this was the\n // \"invisible cube\" bug). Pointing the SVG `fill` attribute at the\n // adaptive `--loading-face-N-color` CSS variables published by Glaze\n // (defined in `src/tokens/palette.ts`) keeps the three faces driven by\n // the design system without going through a style property tasty would\n // re-route to the wrong CSS slot.\n\n animationName: {\n '': 'none',\n 'index=0': 'dice0',\n 'index=1': 'dice1',\n 'index=2': 'dice2',\n },\n animationDuration: {\n '': '0s',\n 'index=0 | index=1 | index=2': '2s',\n },\n animationIterationCount: {\n '': 1,\n 'index=0 | index=1 | index=2': 'infinite',\n },\n animationTimingFunction: {\n '': 'ease',\n 'index=0 | index=1 | index=2': 'ease',\n },\n zIndex: {\n '': 0,\n 'index=0 | index=1 | index=2': 0,\n },\n\n '@keyframes': {\n dice0: {\n from: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '25%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '50%': { transform: 'translate(0%, 25%)', zIndex: 0 },\n '51%': { zIndex: 1 },\n '75%': { zIndex: 1 },\n to: { transform: 'translate(0%, 25%)', zIndex: 1 },\n },\n dice1: {\n from: { transform: 'translate(0%, 25%)', zIndex: 3 },\n '25%': { transform: 'translate(49%, 49%)', zIndex: 3 },\n '75%': { transform: 'translate(49%, 49%)', zIndex: 2 },\n to: { transform: 'translate(98%, 25%)', zIndex: 1 },\n },\n dice2: {\n from: { transform: 'translate(98%, 25%)', zIndex: 1 },\n '50%': { transform: 'translate(98%, 25%)', zIndex: 0 },\n '75%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n to: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n },\n },\n },\n});\n\ninterface CubeProps {\n index?: 0 | 1 | 2;\n style?: CSSProperties;\n}\n\nfunction Cube({ index, style }: CubeProps) {\n return (\n <CubeElement\n mods={index != null ? { index } : undefined}\n style={style}\n viewBox=\"0 0 36 41\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"presentation\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"var(--loading-face-1-color)\"\n d=\"M35.899 10.351l-18 10.25L.1 10.25l18-10.25L35.9 10.351z\"\n />\n <path\n fill=\"var(--loading-face-2-color)\"\n d=\"M18 41L0 30.75l.101-20.5L18 20.5\"\n />\n <path\n fill=\"var(--loading-face-3-color)\"\n d=\"M36 30.75L18 41V20.6l17.899-10.25L36 30.75z\"\n />\n </CubeElement>\n );\n}\n\nconst SIZE_MAP = {\n small: 32,\n medium: 64,\n large: 96,\n};\n\nexport interface CubeLoadingAnimationProps extends CubeBlockProps {\n size?: 'small' | 'medium' | 'large' | number;\n}\n\nexport function LoadingAnimation({\n size = 'medium',\n ...props\n}: CubeLoadingAnimationProps) {\n const { t } = useI18n();\n const numSize: number = SIZE_MAP[size] || size || SIZE_MAP.medium;\n\n return (\n <Block\n role=\"img\"\n aria-label={t('loadingAnimation.ariaLabel', 'Loading animation')}\n width={numSize}\n height={numSize * 1.1388888889}\n style={{ position: 'relative' }}\n {...props}\n >\n <Cube style={{ transform: 'translate(0%, 72.5%)' }} />\n <Cube style={{ transform: 'translate(98%, 72.5%)' }} />\n <Cube style={{ transform: 'translate(49%, 96.5%)' }} />\n <Cube index={0} />\n <Cube index={1} />\n <Cube index={2} />\n </Block>\n );\n}\n"],"mappings":";;;;;;;AAMA,MAAM,cAAc,MAAM;CACxB,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,UAAU;EACV,OAAO;EACP,QAAQ;EAaR,eAAe;GACb,IAAI;GACJ,WAAW;GACX,WAAW;GACX,WAAW;GACZ;EACD,mBAAmB;GACjB,IAAI;GACJ,+BAA+B;GAChC;EACD,yBAAyB;GACvB,IAAI;GACJ,+BAA+B;GAChC;EACD,yBAAyB;GACvB,IAAI;GACJ,+BAA+B;GAChC;EACD,QAAQ;GACN,IAAI;GACJ,+BAA+B;GAChC;EAED,cAAc;GACZ,OAAO;IACL,MAAM;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACtD,OAAO;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACvD,OAAO;KAAE,WAAW;KAAsB,QAAQ;KAAG;IACrD,OAAO,EAAE,QAAQ,GAAG;IACpB,OAAO,EAAE,QAAQ,GAAG;IACpB,IAAI;KAAE,WAAW;KAAsB,QAAQ;KAAG;IACnD;GACD,OAAO;IACL,MAAM;KAAE,WAAW;KAAsB,QAAQ;KAAG;IACpD,OAAO;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACtD,OAAO;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACtD,IAAI;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACpD;GACD,OAAO;IACL,MAAM;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACrD,OAAO;KAAE,WAAW;KAAuB,QAAQ;KAAG;IACtD,OAAO;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACvD,IAAI;KAAE,WAAW;KAAwB,QAAQ;KAAG;IACrD;GACF;EACF;CACF,CAAC;AAOF,SAAS,KAAK,EAAE,OAAO,SAAoB;AACzC,QACE,qBAAC;EACC,MAAM,SAAS,OAAO,EAAE,OAAO,GAAG;EAC3B;EACP,SAAQ;EACR,MAAK;EACL,OAAM;EACN,MAAK;EACL,eAAY;;GAEZ,oBAAC;IACC,MAAK;IACL,GAAE;KACF;GACF,oBAAC;IACC,MAAK;IACL,GAAE;KACF;GACF,oBAAC;IACC,MAAK;IACL,GAAE;KACF;;GACU;;AAIlB,MAAM,WAAW;CACf,OAAO;CACP,QAAQ;CACR,OAAO;CACR;AAMD,SAAgB,iBAAiB,EAC/B,OAAO,UACP,GAAG,SACyB;CAC5B,MAAM,EAAE,MAAM,SAAS;CACvB,MAAM,UAAkB,SAAS,SAAS,QAAQ,SAAS;AAE3D,QACE,qBAAC;EACC,MAAK;EACL,cAAY,EAAE,8BAA8B,oBAAoB;EAChE,OAAO;EACP,QAAQ,UAAU;EAClB,OAAO,EAAE,UAAU,YAAY;EAC/B,GAAI;;GAEJ,oBAAC,QAAK,OAAO,EAAE,WAAW,wBAAwB,GAAI;GACtD,oBAAC,QAAK,OAAO,EAAE,WAAW,yBAAyB,GAAI;GACvD,oBAAC,QAAK,OAAO,EAAE,WAAW,yBAAyB,GAAI;GACvD,oBAAC,QAAK,OAAO,IAAK;GAClB,oBAAC,QAAK,OAAO,IAAK;GAClB,oBAAC,QAAK,OAAO,IAAK;;GACZ"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
  import { memo } 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-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import { Cube } from "./Cube.js";
3
3
  import { SpinsContainer } from "./SpinsContainer.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import { Block } from "../../Block.js";
3
3
  import { InternalSpinner } from "./InternalSpinner.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
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-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  //#region src/data/item-themes.ts
3
3
  const VALIDATION_STYLES = { border: {
4
4
  invalid: "#danger-accent-text",
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-68d61d4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
2
  //#region src/data/themes.ts
3
3
  var themes_default = {
4
4
  special: {
@@ -0,0 +1,29 @@
1
+
2
+ import { ReactNode } from "react";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+ import { i18n as i18n$1 } from "i18next";
5
+
6
+ //#region src/i18n/I18nProvider.d.ts
7
+ interface I18nProviderProps {
8
+ children: ReactNode;
9
+ /**
10
+ * i18next instance used by this tree. Pass a request-local instance from
11
+ * `createUIKitI18n()` during SSR to prevent concurrent requests from sharing
12
+ * mutable language state. Defaults to the browser-friendly shared instance.
13
+ */
14
+ i18n?: i18n$1;
15
+ /**
16
+ * Force a specific BCP-47 locale for React Aria formatting instead of
17
+ * following the active i18next language. Rarely needed — omit it so
18
+ * date/number/collation formatting stays in sync with translated strings.
19
+ */
20
+ locale?: string;
21
+ }
22
+ declare function I18nProvider({
23
+ children,
24
+ i18n,
25
+ locale
26
+ }: I18nProviderProps): react_jsx_runtime0.JSX.Element;
27
+ //#endregion
28
+ export { I18nProvider, I18nProviderProps };
29
+ //# sourceMappingURL=I18nProvider.d.ts.map
@@ -0,0 +1,46 @@
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
+ import { UIKIT_I18N_NAMESPACE, getI18n } from "./instance.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { I18nProvider } from "react-aria";
5
+ import { I18nextProvider, useTranslation } from "react-i18next";
6
+
7
+ //#region src/i18n/I18nProvider.tsx
8
+ /**
9
+ * The UI Kit's single i18n provider. It wires up **both** localization layers
10
+ * from one place:
11
+ *
12
+ * - `<I18nextProvider>` — supplies the selected i18next instance for translated
13
+ * strings (`useTranslation`, `Trans`, ...).
14
+ * - React Aria's `<I18nProvider>` — supplies the locale that React Aria's
15
+ * formatting hooks read (`useLocale`, `useDateFormatter`, `useNumberFormatter`,
16
+ * `useCollator`, `useFilter`, ...).
17
+ *
18
+ * These are two independent library contexts, so they can't be a single physical
19
+ * provider — but the language is one concept, owned by the i18next instance. This
20
+ * component makes the instance the single source of truth and *derives* React
21
+ * Aria's locale from it, so a host calling `getI18n().changeLanguage('de-DE')`
22
+ * gets German labels **and** German number/date formatting with no extra setup.
23
+ * The locale bridge re-renders on `languageChanged`, keeping the two in sync
24
+ * automatically.
25
+ */
26
+ function AriaLocaleBridge({ children, i18n, locale }) {
27
+ const { i18n: activeI18n } = useTranslation(UIKIT_I18N_NAMESPACE, { i18n });
28
+ return /* @__PURE__ */ jsx(I18nProvider, {
29
+ locale: locale ?? activeI18n.resolvedLanguage ?? activeI18n.language,
30
+ children
31
+ });
32
+ }
33
+ function I18nProvider$1({ children, i18n = getI18n(), locale }) {
34
+ return /* @__PURE__ */ jsx(I18nextProvider, {
35
+ i18n,
36
+ children: /* @__PURE__ */ jsx(AriaLocaleBridge, {
37
+ i18n,
38
+ locale,
39
+ children
40
+ })
41
+ });
42
+ }
43
+
44
+ //#endregion
45
+ export { I18nProvider$1 as I18nProvider };
46
+ //# sourceMappingURL=I18nProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"I18nProvider.js","names":["AriaI18nProvider","I18nProvider"],"sources":["../../src/i18n/I18nProvider.tsx"],"sourcesContent":["import { I18nProvider as AriaI18nProvider } from 'react-aria';\nimport { I18nextProvider, useTranslation } from 'react-i18next';\n\nimport { getI18n, UIKIT_I18N_NAMESPACE } from './instance';\n\nimport type { i18n as I18nInstance } from 'i18next';\nimport type { ReactNode } from 'react';\n\nexport interface I18nProviderProps {\n children: ReactNode;\n /**\n * i18next instance used by this tree. Pass a request-local instance from\n * `createUIKitI18n()` during SSR to prevent concurrent requests from sharing\n * mutable language state. Defaults to the browser-friendly shared instance.\n */\n i18n?: I18nInstance;\n /**\n * Force a specific BCP-47 locale for React Aria formatting instead of\n * following the active i18next language. Rarely needed — omit it so\n * date/number/collation formatting stays in sync with translated strings.\n */\n locale?: string;\n}\n\n/**\n * The UI Kit's single i18n provider. It wires up **both** localization layers\n * from one place:\n *\n * - `<I18nextProvider>` — supplies the selected i18next instance for translated\n * strings (`useTranslation`, `Trans`, ...).\n * - React Aria's `<I18nProvider>` — supplies the locale that React Aria's\n * formatting hooks read (`useLocale`, `useDateFormatter`, `useNumberFormatter`,\n * `useCollator`, `useFilter`, ...).\n *\n * These are two independent library contexts, so they can't be a single physical\n * provider — but the language is one concept, owned by the i18next instance. This\n * component makes the instance the single source of truth and *derives* React\n * Aria's locale from it, so a host calling `getI18n().changeLanguage('de-DE')`\n * gets German labels **and** German number/date formatting with no extra setup.\n * The locale bridge re-renders on `languageChanged`, keeping the two in sync\n * automatically.\n */\nfunction AriaLocaleBridge({\n children,\n i18n,\n locale,\n}: Required<Pick<I18nProviderProps, 'children' | 'i18n'>> &\n Pick<I18nProviderProps, 'locale'>) {\n const { i18n: activeI18n } = useTranslation(UIKIT_I18N_NAMESPACE, { i18n });\n const resolvedLocale =\n locale ?? activeI18n.resolvedLanguage ?? activeI18n.language;\n\n return (\n <AriaI18nProvider locale={resolvedLocale}>{children}</AriaI18nProvider>\n );\n}\n\nexport function I18nProvider({\n children,\n i18n = getI18n(),\n locale,\n}: I18nProviderProps) {\n return (\n <I18nextProvider i18n={i18n}>\n <AriaLocaleBridge i18n={i18n} locale={locale}>\n {children}\n </AriaLocaleBridge>\n </I18nextProvider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,SAAS,iBAAiB,EACxB,UACA,MACA,UAEmC;CACnC,MAAM,EAAE,MAAM,eAAe,eAAe,sBAAsB,EAAE,MAAM,CAAC;AAI3E,QACE,oBAACA;EAAiB,QAHlB,UAAU,WAAW,oBAAoB,WAAW;EAGT;GAA4B;;AAI3E,SAAgBC,eAAa,EAC3B,UACA,OAAO,SAAS,EAChB,UACoB;AACpB,QACE,oBAAC;EAAsB;YACrB,oBAAC;GAAuB;GAAc;GACnC;IACgB;GACH"}
@@ -0,0 +1,59 @@
1
+
2
+ //#region src/i18n/createFormatter.d.ts
3
+ /**
4
+ * A value acceptable to the date/time formatters. Named `FormatDateInput` (not
5
+ * `DateInput`) to avoid clashing with the exported `DateInput` DatePicker field.
6
+ */
7
+ type FormatDateInput = Date | number | string;
8
+ interface RelativeTimeOptions {
9
+ /** Reference point the value is compared against. Defaults to `Date.now()`. */
10
+ now?: FormatDateInput;
11
+ /** Passed to `Intl.RelativeTimeFormat`. Defaults to `'auto'` ("yesterday"). */
12
+ numeric?: Intl.RelativeTimeFormatNumeric;
13
+ /** Passed to `Intl.RelativeTimeFormat`. Defaults to `'long'`. */
14
+ style?: Intl.RelativeTimeFormatStyle;
15
+ }
16
+ interface CurrencyOptions extends Intl.NumberFormatOptions {
17
+ /** ISO 4217 currency code. Defaults to `'USD'`. */
18
+ currency?: string;
19
+ }
20
+ interface BytesOptions {
21
+ /** How the unit label is displayed. Defaults to `'short'` ("MB"). */
22
+ unitDisplay?: Intl.NumberFormatOptions['unitDisplay'];
23
+ /** Max fraction digits. Defaults to `1`. */
24
+ maximumFractionDigits?: number;
25
+ /** Min fraction digits. Defaults to `0`. */
26
+ minimumFractionDigits?: number;
27
+ }
28
+ /** The bundle of locale-bound formatting helpers. */
29
+ interface Formatter {
30
+ /** The BCP-47 locale every helper below formats for. */
31
+ locale: string;
32
+ /** Date only, defaults to `{ dateStyle: 'medium' }` ("Jan 15, 2024"). */
33
+ formatDate: (value: FormatDateInput, options?: Intl.DateTimeFormatOptions) => string;
34
+ /** Time only, defaults to `{ timeStyle: 'short' }` ("2:30 PM"). */
35
+ formatTime: (value: FormatDateInput, options?: Intl.DateTimeFormatOptions) => string;
36
+ /** Date + time, defaults to `{ dateStyle: 'medium', timeStyle: 'short' }`. */
37
+ formatDateTime: (value: FormatDateInput, options?: Intl.DateTimeFormatOptions) => string;
38
+ /** Relative time via `Intl.RelativeTimeFormat` ("5 minutes ago"). */
39
+ formatRelativeTime: (value: FormatDateInput, options?: RelativeTimeOptions) => string;
40
+ /** A number via `Intl.NumberFormat`. */
41
+ formatNumber: (value: number, options?: Intl.NumberFormatOptions) => string;
42
+ /** A currency amount, defaults to USD. */
43
+ formatCurrency: (value: number, options?: CurrencyOptions) => string;
44
+ /** A percentage. Input is a fraction: `0.5` → "50%". */
45
+ formatPercent: (value: number, options?: Intl.NumberFormatOptions) => string;
46
+ /** A byte count with a localized, auto-scaled unit ("1.5 MB"). Decimal (1000-based). */
47
+ formatBytes: (value: number, options?: BytesOptions) => string;
48
+ /** A list via `Intl.ListFormat` ("A, B, and C"). */
49
+ formatList: (items: Iterable<string>, options?: Intl.ListFormatOptions) => string;
50
+ }
51
+ /**
52
+ * Builds a bundle of formatting helpers bound to `locale`. Used by both
53
+ * `useFormatter()` (locale from React Aria context) and the pure top-level
54
+ * helpers (locale from the module mirror). All `Intl.*` instances are memoized.
55
+ */
56
+ declare function createFormatter(locale: string): Formatter;
57
+ //#endregion
58
+ export { BytesOptions, CurrencyOptions, FormatDateInput, Formatter, RelativeTimeOptions, createFormatter };
59
+ //# sourceMappingURL=createFormatter.d.ts.map
@@ -0,0 +1,148 @@
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
+ //#region src/i18n/createFormatter.ts
3
+ const cache = /* @__PURE__ */ new Map();
4
+ function getIntl(kind, Ctor, locale, options) {
5
+ const key = `${locale}|${kind}|${options ? JSON.stringify(options) : ""}`;
6
+ let instance = cache.get(key);
7
+ if (!instance) {
8
+ instance = new Ctor(locale, options);
9
+ cache.set(key, instance);
10
+ }
11
+ return instance;
12
+ }
13
+ function toDate(value) {
14
+ const date = value instanceof Date ? value : new Date(value);
15
+ return Number.isNaN(date.getTime()) ? null : date;
16
+ }
17
+ const BYTE_UNITS = [
18
+ "byte",
19
+ "kilobyte",
20
+ "megabyte",
21
+ "gigabyte",
22
+ "terabyte",
23
+ "petabyte"
24
+ ];
25
+ const RELATIVE_DIVISIONS = [
26
+ {
27
+ amount: 60,
28
+ unit: "second"
29
+ },
30
+ {
31
+ amount: 60,
32
+ unit: "minute"
33
+ },
34
+ {
35
+ amount: 24,
36
+ unit: "hour"
37
+ },
38
+ {
39
+ amount: 7,
40
+ unit: "day"
41
+ },
42
+ {
43
+ amount: 4.34524,
44
+ unit: "week"
45
+ },
46
+ {
47
+ amount: 12,
48
+ unit: "month"
49
+ },
50
+ {
51
+ amount: Number.POSITIVE_INFINITY,
52
+ unit: "year"
53
+ }
54
+ ];
55
+ /**
56
+ * Builds a bundle of formatting helpers bound to `locale`. Used by both
57
+ * `useFormatter()` (locale from React Aria context) and the pure top-level
58
+ * helpers (locale from the module mirror). All `Intl.*` instances are memoized.
59
+ */
60
+ function createFormatter(locale) {
61
+ const formatDate = (value, options) => {
62
+ const date = toDate(value);
63
+ if (!date) return "";
64
+ return getIntl("date", Intl.DateTimeFormat, locale, {
65
+ dateStyle: "medium",
66
+ ...options
67
+ }).format(date);
68
+ };
69
+ const formatTime = (value, options) => {
70
+ const date = toDate(value);
71
+ if (!date) return "";
72
+ return getIntl("date", Intl.DateTimeFormat, locale, {
73
+ timeStyle: "short",
74
+ ...options
75
+ }).format(date);
76
+ };
77
+ const formatDateTime = (value, options) => {
78
+ const date = toDate(value);
79
+ if (!date) return "";
80
+ return getIntl("date", Intl.DateTimeFormat, locale, {
81
+ dateStyle: "medium",
82
+ timeStyle: "short",
83
+ ...options
84
+ }).format(date);
85
+ };
86
+ const formatRelativeTime = (value, options) => {
87
+ const date = toDate(value);
88
+ if (!date) return "";
89
+ const now = options?.now != null ? toDate(options.now) : /* @__PURE__ */ new Date();
90
+ if (!now) return "";
91
+ const rtf = getIntl("relative", Intl.RelativeTimeFormat, locale, {
92
+ numeric: options?.numeric ?? "auto",
93
+ style: options?.style ?? "long"
94
+ });
95
+ let duration = (date.getTime() - now.getTime()) / 1e3;
96
+ for (const division of RELATIVE_DIVISIONS) {
97
+ if (Math.abs(duration) < division.amount) return rtf.format(Math.round(duration), division.unit);
98
+ duration /= division.amount;
99
+ }
100
+ return rtf.format(Math.round(duration), "year");
101
+ };
102
+ const formatNumber = (value, options) => getIntl("number", Intl.NumberFormat, locale, options).format(value);
103
+ const formatCurrency = (value, options) => {
104
+ const { currency = "USD", ...rest } = options ?? {};
105
+ return getIntl("number", Intl.NumberFormat, locale, {
106
+ style: "currency",
107
+ currency,
108
+ ...rest
109
+ }).format(value);
110
+ };
111
+ const formatPercent = (value, options) => getIntl("number", Intl.NumberFormat, locale, {
112
+ style: "percent",
113
+ ...options
114
+ }).format(value);
115
+ const formatBytes = (value, options) => {
116
+ const sign = value < 0 ? -1 : 1;
117
+ let bytes = Math.abs(value);
118
+ let unitIndex = 0;
119
+ while (bytes >= 1e3 && unitIndex < BYTE_UNITS.length - 1) {
120
+ bytes /= 1e3;
121
+ unitIndex++;
122
+ }
123
+ return getIntl("number", Intl.NumberFormat, locale, {
124
+ style: "unit",
125
+ unit: BYTE_UNITS[unitIndex],
126
+ unitDisplay: options?.unitDisplay ?? "short",
127
+ minimumFractionDigits: options?.minimumFractionDigits ?? 0,
128
+ maximumFractionDigits: options?.maximumFractionDigits ?? (unitIndex === 0 ? 0 : 1)
129
+ }).format(sign * bytes);
130
+ };
131
+ const formatList = (items, options) => getIntl("list", Intl.ListFormat, locale, options).format(items);
132
+ return {
133
+ locale,
134
+ formatDate,
135
+ formatTime,
136
+ formatDateTime,
137
+ formatRelativeTime,
138
+ formatNumber,
139
+ formatCurrency,
140
+ formatPercent,
141
+ formatBytes,
142
+ formatList
143
+ };
144
+ }
145
+
146
+ //#endregion
147
+ export { createFormatter };
148
+ //# sourceMappingURL=createFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFormatter.js","names":[],"sources":["../../src/i18n/createFormatter.ts"],"sourcesContent":["/**\n * A value acceptable to the date/time formatters. Named `FormatDateInput` (not\n * `DateInput`) to avoid clashing with the exported `DateInput` DatePicker field.\n */\nexport type FormatDateInput = Date | number | string;\n\nexport interface RelativeTimeOptions {\n /** Reference point the value is compared against. Defaults to `Date.now()`. */\n now?: FormatDateInput;\n /** Passed to `Intl.RelativeTimeFormat`. Defaults to `'auto'` (\"yesterday\"). */\n numeric?: Intl.RelativeTimeFormatNumeric;\n /** Passed to `Intl.RelativeTimeFormat`. Defaults to `'long'`. */\n style?: Intl.RelativeTimeFormatStyle;\n}\n\nexport interface CurrencyOptions extends Intl.NumberFormatOptions {\n /** ISO 4217 currency code. Defaults to `'USD'`. */\n currency?: string;\n}\n\nexport interface BytesOptions {\n /** How the unit label is displayed. Defaults to `'short'` (\"MB\"). */\n unitDisplay?: Intl.NumberFormatOptions['unitDisplay'];\n /** Max fraction digits. Defaults to `1`. */\n maximumFractionDigits?: number;\n /** Min fraction digits. Defaults to `0`. */\n minimumFractionDigits?: number;\n}\n\n/** The bundle of locale-bound formatting helpers. */\nexport interface Formatter {\n /** The BCP-47 locale every helper below formats for. */\n locale: string;\n /** Date only, defaults to `{ dateStyle: 'medium' }` (\"Jan 15, 2024\"). */\n formatDate: (\n value: FormatDateInput,\n options?: Intl.DateTimeFormatOptions,\n ) => string;\n /** Time only, defaults to `{ timeStyle: 'short' }` (\"2:30 PM\"). */\n formatTime: (\n value: FormatDateInput,\n options?: Intl.DateTimeFormatOptions,\n ) => string;\n /** Date + time, defaults to `{ dateStyle: 'medium', timeStyle: 'short' }`. */\n formatDateTime: (\n value: FormatDateInput,\n options?: Intl.DateTimeFormatOptions,\n ) => string;\n /** Relative time via `Intl.RelativeTimeFormat` (\"5 minutes ago\"). */\n formatRelativeTime: (\n value: FormatDateInput,\n options?: RelativeTimeOptions,\n ) => string;\n /** A number via `Intl.NumberFormat`. */\n formatNumber: (value: number, options?: Intl.NumberFormatOptions) => string;\n /** A currency amount, defaults to USD. */\n formatCurrency: (value: number, options?: CurrencyOptions) => string;\n /** A percentage. Input is a fraction: `0.5` → \"50%\". */\n formatPercent: (value: number, options?: Intl.NumberFormatOptions) => string;\n /** A byte count with a localized, auto-scaled unit (\"1.5 MB\"). Decimal (1000-based). */\n formatBytes: (value: number, options?: BytesOptions) => string;\n /** A list via `Intl.ListFormat` (\"A, B, and C\"). */\n formatList: (\n items: Iterable<string>,\n options?: Intl.ListFormatOptions,\n ) => string;\n}\n\ntype IntlCtor =\n | typeof Intl.DateTimeFormat\n | typeof Intl.NumberFormat\n | typeof Intl.RelativeTimeFormat\n | typeof Intl.ListFormat;\n\n// `Intl.*` constructors are expensive, so instances are memoized by\n// locale + kind + options. Shared by both the hook and the pure helpers.\nconst cache = new Map<string, unknown>();\n\nfunction getIntl<T>(\n kind: string,\n Ctor: IntlCtor,\n locale: string,\n options: object | undefined,\n): T {\n const key = `${locale}|${kind}|${options ? JSON.stringify(options) : ''}`;\n let instance = cache.get(key);\n\n if (!instance) {\n instance = new (Ctor as new (locale: string, options?: object) => unknown)(\n locale,\n options,\n );\n cache.set(key, instance);\n }\n\n return instance as T;\n}\n\nfunction toDate(value: FormatDateInput): Date | null {\n const date =\n value instanceof Date ? value : new Date(value as string | number);\n\n return Number.isNaN(date.getTime()) ? null : date;\n}\n\n// Decimal (1000-based) byte units. `Intl` localizes the unit label itself, so we\n// only pick which one fits the magnitude.\nconst BYTE_UNITS = [\n 'byte',\n 'kilobyte',\n 'megabyte',\n 'gigabyte',\n 'terabyte',\n 'petabyte',\n] as const;\n\n// Largest-fitting-unit thresholds for relative time. Each `amount` is how many\n// of the current unit make up the next one.\nconst RELATIVE_DIVISIONS: {\n amount: number;\n unit: Intl.RelativeTimeFormatUnit;\n}[] = [\n { amount: 60, unit: 'second' },\n { amount: 60, unit: 'minute' },\n { amount: 24, unit: 'hour' },\n { amount: 7, unit: 'day' },\n { amount: 4.34524, unit: 'week' },\n { amount: 12, unit: 'month' },\n { amount: Number.POSITIVE_INFINITY, unit: 'year' },\n];\n\n/**\n * Builds a bundle of formatting helpers bound to `locale`. Used by both\n * `useFormatter()` (locale from React Aria context) and the pure top-level\n * helpers (locale from the module mirror). All `Intl.*` instances are memoized.\n */\nexport function createFormatter(locale: string): Formatter {\n const formatDate: Formatter['formatDate'] = (value, options) => {\n const date = toDate(value);\n if (!date) return '';\n\n return getIntl<Intl.DateTimeFormat>('date', Intl.DateTimeFormat, locale, {\n dateStyle: 'medium',\n ...options,\n }).format(date);\n };\n\n const formatTime: Formatter['formatTime'] = (value, options) => {\n const date = toDate(value);\n if (!date) return '';\n\n return getIntl<Intl.DateTimeFormat>('date', Intl.DateTimeFormat, locale, {\n timeStyle: 'short',\n ...options,\n }).format(date);\n };\n\n const formatDateTime: Formatter['formatDateTime'] = (value, options) => {\n const date = toDate(value);\n if (!date) return '';\n\n return getIntl<Intl.DateTimeFormat>('date', Intl.DateTimeFormat, locale, {\n dateStyle: 'medium',\n timeStyle: 'short',\n ...options,\n }).format(date);\n };\n\n const formatRelativeTime: Formatter['formatRelativeTime'] = (\n value,\n options,\n ) => {\n const date = toDate(value);\n if (!date) return '';\n\n const now = options?.now != null ? toDate(options.now) : new Date();\n if (!now) return '';\n\n const rtf = getIntl<Intl.RelativeTimeFormat>(\n 'relative',\n Intl.RelativeTimeFormat,\n locale,\n {\n numeric: options?.numeric ?? 'auto',\n style: options?.style ?? 'long',\n },\n );\n\n let duration = (date.getTime() - now.getTime()) / 1000;\n\n for (const division of RELATIVE_DIVISIONS) {\n if (Math.abs(duration) < division.amount) {\n return rtf.format(Math.round(duration), division.unit);\n }\n duration /= division.amount;\n }\n\n return rtf.format(Math.round(duration), 'year');\n };\n\n const formatNumber: Formatter['formatNumber'] = (value, options) =>\n getIntl<Intl.NumberFormat>(\n 'number',\n Intl.NumberFormat,\n locale,\n options,\n ).format(value);\n\n const formatCurrency: Formatter['formatCurrency'] = (value, options) => {\n const { currency = 'USD', ...rest } = options ?? {};\n\n return getIntl<Intl.NumberFormat>('number', Intl.NumberFormat, locale, {\n style: 'currency',\n currency,\n ...rest,\n }).format(value);\n };\n\n const formatPercent: Formatter['formatPercent'] = (value, options) =>\n getIntl<Intl.NumberFormat>('number', Intl.NumberFormat, locale, {\n style: 'percent',\n ...options,\n }).format(value);\n\n const formatBytes: Formatter['formatBytes'] = (value, options) => {\n const sign = value < 0 ? -1 : 1;\n let bytes = Math.abs(value);\n let unitIndex = 0;\n\n while (bytes >= 1000 && unitIndex < BYTE_UNITS.length - 1) {\n bytes /= 1000;\n unitIndex++;\n }\n\n return getIntl<Intl.NumberFormat>('number', Intl.NumberFormat, locale, {\n style: 'unit',\n unit: BYTE_UNITS[unitIndex],\n unitDisplay: options?.unitDisplay ?? 'short',\n // Bytes (the base unit) are integers; scaled units get 1 fraction digit.\n minimumFractionDigits: options?.minimumFractionDigits ?? 0,\n maximumFractionDigits:\n options?.maximumFractionDigits ?? (unitIndex === 0 ? 0 : 1),\n }).format(sign * bytes);\n };\n\n const formatList: Formatter['formatList'] = (items, options) =>\n getIntl<Intl.ListFormat>('list', Intl.ListFormat, locale, options).format(\n items,\n );\n\n return {\n locale,\n formatDate,\n formatTime,\n formatDateTime,\n formatRelativeTime,\n formatNumber,\n formatCurrency,\n formatPercent,\n formatBytes,\n formatList,\n };\n}\n"],"mappings":";;AA4EA,MAAM,wBAAQ,IAAI,KAAsB;AAExC,SAAS,QACP,MACA,MACA,QACA,SACG;CACH,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,KAAK,UAAU,QAAQ,GAAG;CACrE,IAAI,WAAW,MAAM,IAAI,IAAI;AAE7B,KAAI,CAAC,UAAU;AACb,aAAW,IAAK,KACd,QACA,QACD;AACD,QAAM,IAAI,KAAK,SAAS;;AAG1B,QAAO;;AAGT,SAAS,OAAO,OAAqC;CACnD,MAAM,OACJ,iBAAiB,OAAO,QAAQ,IAAI,KAAK,MAAyB;AAEpE,QAAO,OAAO,MAAM,KAAK,SAAS,CAAC,GAAG,OAAO;;AAK/C,MAAM,aAAa;CACjB;CACA;CACA;CACA;CACA;CACA;CACD;AAID,MAAM,qBAGA;CACJ;EAAE,QAAQ;EAAI,MAAM;EAAU;CAC9B;EAAE,QAAQ;EAAI,MAAM;EAAU;CAC9B;EAAE,QAAQ;EAAI,MAAM;EAAQ;CAC5B;EAAE,QAAQ;EAAG,MAAM;EAAO;CAC1B;EAAE,QAAQ;EAAS,MAAM;EAAQ;CACjC;EAAE,QAAQ;EAAI,MAAM;EAAS;CAC7B;EAAE,QAAQ,OAAO;EAAmB,MAAM;EAAQ;CACnD;;;;;;AAOD,SAAgB,gBAAgB,QAA2B;CACzD,MAAM,cAAuC,OAAO,YAAY;EAC9D,MAAM,OAAO,OAAO,MAAM;AAC1B,MAAI,CAAC,KAAM,QAAO;AAElB,SAAO,QAA6B,QAAQ,KAAK,gBAAgB,QAAQ;GACvE,WAAW;GACX,GAAG;GACJ,CAAC,CAAC,OAAO,KAAK;;CAGjB,MAAM,cAAuC,OAAO,YAAY;EAC9D,MAAM,OAAO,OAAO,MAAM;AAC1B,MAAI,CAAC,KAAM,QAAO;AAElB,SAAO,QAA6B,QAAQ,KAAK,gBAAgB,QAAQ;GACvE,WAAW;GACX,GAAG;GACJ,CAAC,CAAC,OAAO,KAAK;;CAGjB,MAAM,kBAA+C,OAAO,YAAY;EACtE,MAAM,OAAO,OAAO,MAAM;AAC1B,MAAI,CAAC,KAAM,QAAO;AAElB,SAAO,QAA6B,QAAQ,KAAK,gBAAgB,QAAQ;GACvE,WAAW;GACX,WAAW;GACX,GAAG;GACJ,CAAC,CAAC,OAAO,KAAK;;CAGjB,MAAM,sBACJ,OACA,YACG;EACH,MAAM,OAAO,OAAO,MAAM;AAC1B,MAAI,CAAC,KAAM,QAAO;EAElB,MAAM,MAAM,SAAS,OAAO,OAAO,OAAO,QAAQ,IAAI,mBAAG,IAAI,MAAM;AACnE,MAAI,CAAC,IAAK,QAAO;EAEjB,MAAM,MAAM,QACV,YACA,KAAK,oBACL,QACA;GACE,SAAS,SAAS,WAAW;GAC7B,OAAO,SAAS,SAAS;GAC1B,CACF;EAED,IAAI,YAAY,KAAK,SAAS,GAAG,IAAI,SAAS,IAAI;AAElD,OAAK,MAAM,YAAY,oBAAoB;AACzC,OAAI,KAAK,IAAI,SAAS,GAAG,SAAS,OAChC,QAAO,IAAI,OAAO,KAAK,MAAM,SAAS,EAAE,SAAS,KAAK;AAExD,eAAY,SAAS;;AAGvB,SAAO,IAAI,OAAO,KAAK,MAAM,SAAS,EAAE,OAAO;;CAGjD,MAAM,gBAA2C,OAAO,YACtD,QACE,UACA,KAAK,cACL,QACA,QACD,CAAC,OAAO,MAAM;CAEjB,MAAM,kBAA+C,OAAO,YAAY;EACtE,MAAM,EAAE,WAAW,OAAO,GAAG,SAAS,WAAW,EAAE;AAEnD,SAAO,QAA2B,UAAU,KAAK,cAAc,QAAQ;GACrE,OAAO;GACP;GACA,GAAG;GACJ,CAAC,CAAC,OAAO,MAAM;;CAGlB,MAAM,iBAA6C,OAAO,YACxD,QAA2B,UAAU,KAAK,cAAc,QAAQ;EAC9D,OAAO;EACP,GAAG;EACJ,CAAC,CAAC,OAAO,MAAM;CAElB,MAAM,eAAyC,OAAO,YAAY;EAChE,MAAM,OAAO,QAAQ,IAAI,KAAK;EAC9B,IAAI,QAAQ,KAAK,IAAI,MAAM;EAC3B,IAAI,YAAY;AAEhB,SAAO,SAAS,OAAQ,YAAY,WAAW,SAAS,GAAG;AACzD,YAAS;AACT;;AAGF,SAAO,QAA2B,UAAU,KAAK,cAAc,QAAQ;GACrE,OAAO;GACP,MAAM,WAAW;GACjB,aAAa,SAAS,eAAe;GAErC,uBAAuB,SAAS,yBAAyB;GACzD,uBACE,SAAS,0BAA0B,cAAc,IAAI,IAAI;GAC5D,CAAC,CAAC,OAAO,OAAO,MAAM;;CAGzB,MAAM,cAAuC,OAAO,YAClD,QAAyB,QAAQ,KAAK,YAAY,QAAQ,QAAQ,CAAC,OACjE,MACD;AAEH,QAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD"}
@@ -0,0 +1,18 @@
1
+
2
+ import { UIKIT_I18N_NAMESPACE, UIKitResources, createUIKitI18n, getI18n } from "./instance.js";
3
+ import "./useI18n.js";
4
+ import { I18nProvider, I18nProviderProps } from "./I18nProvider.js";
5
+ import { BytesOptions, CurrencyOptions, FormatDateInput, Formatter, RelativeTimeOptions, createFormatter } from "./createFormatter.js";
6
+ import { useFormatter } from "./useFormatter.js";
7
+ import { LOCALE_LABELS, SUPPORTED_LOCALES, SupportedLocale, isSupportedLocale } from "./locales.js";
8
+
9
+ //#region src/i18n/index.d.ts
10
+ /**
11
+ * Register (or override) the UI Kit translation bundle for a locale. Use this
12
+ * to add languages beyond the ones the UI Kit ships, or to override individual
13
+ * strings. Applied to the shared instance so it takes effect immediately.
14
+ */
15
+ declare function addUIKitLocale(locale: string, resources: Partial<UIKitResources>): void;
16
+ //#endregion
17
+ export { addUIKitLocale };
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,21 @@
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-515e4da | Cube Dev Team */
2
+ import { LOCALE_LABELS, SUPPORTED_LOCALES, isSupportedLocale } from "./locales.js";
3
+ import { UIKIT_I18N_NAMESPACE, createUIKitI18n, getI18n } from "./instance.js";
4
+ import { useI18n } from "./useI18n.js";
5
+ import { I18nProvider } from "./I18nProvider.js";
6
+ import { createFormatter } from "./createFormatter.js";
7
+ import { useFormatter } from "./useFormatter.js";
8
+
9
+ //#region src/i18n/index.ts
10
+ /**
11
+ * Register (or override) the UI Kit translation bundle for a locale. Use this
12
+ * to add languages beyond the ones the UI Kit ships, or to override individual
13
+ * strings. Applied to the shared instance so it takes effect immediately.
14
+ */
15
+ function addUIKitLocale(locale, resources) {
16
+ getI18n().addResourceBundle(locale, UIKIT_I18N_NAMESPACE, resources, true, true);
17
+ }
18
+
19
+ //#endregion
20
+ export { addUIKitLocale };
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/i18n/index.ts"],"sourcesContent":["import { getI18n, UIKIT_I18N_NAMESPACE } from './instance';\n\nimport type { UIKitResources } from './instance';\n\nexport { createUIKitI18n, getI18n, UIKIT_I18N_NAMESPACE } from './instance';\nexport type { UIKitResources } from './instance';\n// Internal hook — used by UI Kit components to read their own strings. Not part\n// of the public barrel (`src/index.ts`); hosts use the re-exported\n// `useTranslation` for their own strings.\nexport { useI18n } from './useI18n';\nexport { I18nProvider } from './I18nProvider';\nexport type { I18nProviderProps } from './I18nProvider';\nexport { createFormatter } from './createFormatter';\nexport type {\n Formatter,\n FormatDateInput,\n RelativeTimeOptions,\n CurrencyOptions,\n BytesOptions,\n} from './createFormatter';\nexport { useFormatter } from './useFormatter';\nexport { SUPPORTED_LOCALES, LOCALE_LABELS, isSupportedLocale } from './locales';\nexport type { SupportedLocale } from './locales';\n\n/**\n * Register (or override) the UI Kit translation bundle for a locale. Use this\n * to add languages beyond the ones the UI Kit ships, or to override individual\n * strings. Applied to the shared instance so it takes effect immediately.\n */\nexport function addUIKitLocale(\n locale: string,\n resources: Partial<UIKitResources>,\n): void {\n getI18n().addResourceBundle(\n locale,\n UIKIT_I18N_NAMESPACE,\n resources,\n true,\n true,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AA6BA,SAAgB,eACd,QACA,WACM;AACN,UAAS,CAAC,kBACR,QACA,sBACA,WACA,MACA,KACD"}
@@ -0,0 +1,22 @@
1
+
2
+ import { __json_default_export } from "./locales/en-US/uikit.json.js";
3
+ import { i18n } from "i18next";
4
+
5
+ //#region src/i18n/instance.d.ts
6
+ /** The dedicated namespace all UI Kit strings live under. */
7
+ declare const UIKIT_I18N_NAMESPACE = "uikit";
8
+ /** Shape of the UI Kit translation bundle (the `en-US` source of truth). */
9
+ type UIKitResources = typeof __json_default_export;
10
+ /**
11
+ * Creates an isolated, synchronously initialized UI Kit i18next instance.
12
+ *
13
+ * Create one per server request and pass it to `<Root i18n={instance}>` (or
14
+ * `<I18nProvider i18n={instance}>`). Its language can then be changed without
15
+ * racing with another request rendered by the same server process.
16
+ */
17
+ declare function createUIKitI18n(locale?: string): i18n;
18
+ /** Returns the shared UI Kit i18next instance. */
19
+ declare function getI18n(): i18n;
20
+ //#endregion
21
+ export { UIKIT_I18N_NAMESPACE, UIKitResources, createUIKitI18n, getI18n };
22
+ //# sourceMappingURL=instance.d.ts.map