@nanahoshi/mona-ui 0.23.3 → 0.24.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 (107) hide show
  1. package/fesm2022/nanahoshi-mona-ui-auto-complete.mjs +2 -0
  2. package/fesm2022/nanahoshi-mona-ui-breadcrumb.mjs +2 -0
  3. package/fesm2022/nanahoshi-mona-ui-button-group.mjs +2 -0
  4. package/fesm2022/nanahoshi-mona-ui-calendar.mjs +13 -11
  5. package/fesm2022/nanahoshi-mona-ui-card.mjs +2 -0
  6. package/fesm2022/nanahoshi-mona-ui-chart.mjs +4 -2
  7. package/fesm2022/nanahoshi-mona-ui-chip.mjs +2 -0
  8. package/fesm2022/nanahoshi-mona-ui-color-gradient.mjs +5 -3
  9. package/fesm2022/nanahoshi-mona-ui-color-palette.mjs +2 -0
  10. package/fesm2022/nanahoshi-mona-ui-color-picker.mjs +2 -0
  11. package/fesm2022/nanahoshi-mona-ui-combo-box.mjs +2 -0
  12. package/fesm2022/nanahoshi-mona-ui-date-picker.mjs +2 -0
  13. package/fesm2022/nanahoshi-mona-ui-datetime-picker.mjs +2 -0
  14. package/fesm2022/nanahoshi-mona-ui-dialog.mjs +2 -0
  15. package/fesm2022/nanahoshi-mona-ui-dropdown-list.mjs +2 -0
  16. package/fesm2022/nanahoshi-mona-ui-dropdowns.mjs +5 -3
  17. package/fesm2022/nanahoshi-mona-ui-editor.mjs +5 -3
  18. package/fesm2022/nanahoshi-mona-ui-filter.mjs +3 -1
  19. package/fesm2022/{nanahoshi-mona-ui-grid-grid-footer-row.component-BSVlcB9_.mjs → nanahoshi-mona-ui-grid-grid-footer-row.component-CnPhVIr4.mjs} +2 -2
  20. package/fesm2022/{nanahoshi-mona-ui-grid-grid-list.component-B2pBOuLa.mjs → nanahoshi-mona-ui-grid-grid-list.component-DxY6bfTX.mjs} +4 -4
  21. package/fesm2022/{nanahoshi-mona-ui-grid-grid-row.component-Buf4evf5.mjs → nanahoshi-mona-ui-grid-grid-row.component-CaO5Lae6.mjs} +3 -3
  22. package/fesm2022/{nanahoshi-mona-ui-grid-grid-virtual-list.component-1RdqLEa9.mjs → nanahoshi-mona-ui-grid-grid-virtual-list.component-jNYtqg5B.mjs} +4 -4
  23. package/fesm2022/{nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-DeRc_QcP.mjs → nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-9FtfCutf.mjs} +12 -10
  24. package/fesm2022/nanahoshi-mona-ui-grid.mjs +1 -1
  25. package/fesm2022/nanahoshi-mona-ui-i18n-icu.mjs +888 -0
  26. package/fesm2022/nanahoshi-mona-ui-i18n.mjs +337 -104
  27. package/fesm2022/nanahoshi-mona-ui-internal-list.mjs +2 -0
  28. package/fesm2022/nanahoshi-mona-ui-internal-tree.mjs +2 -0
  29. package/fesm2022/nanahoshi-mona-ui-list-box.mjs +2 -0
  30. package/fesm2022/nanahoshi-mona-ui-locales-ar-sa.mjs +401 -0
  31. package/fesm2022/nanahoshi-mona-ui-locales-de-de.mjs +399 -0
  32. package/fesm2022/nanahoshi-mona-ui-locales-es-es.mjs +399 -0
  33. package/fesm2022/nanahoshi-mona-ui-locales-fr-fr.mjs +399 -0
  34. package/fesm2022/nanahoshi-mona-ui-locales-id-id.mjs +397 -0
  35. package/fesm2022/nanahoshi-mona-ui-locales-it-it.mjs +399 -0
  36. package/fesm2022/nanahoshi-mona-ui-locales-ja-jp.mjs +397 -0
  37. package/fesm2022/nanahoshi-mona-ui-locales-ko-kr.mjs +397 -0
  38. package/fesm2022/nanahoshi-mona-ui-locales-pt-br.mjs +399 -0
  39. package/fesm2022/nanahoshi-mona-ui-locales-ru-ru.mjs +401 -0
  40. package/fesm2022/nanahoshi-mona-ui-locales-tr-tr.mjs +397 -0
  41. package/fesm2022/nanahoshi-mona-ui-locales-zh-cn.mjs +397 -0
  42. package/fesm2022/nanahoshi-mona-ui-locales-zh-tw.mjs +397 -0
  43. package/fesm2022/nanahoshi-mona-ui-locales.mjs +76 -5060
  44. package/fesm2022/nanahoshi-mona-ui-multi-select.mjs +5 -3
  45. package/fesm2022/nanahoshi-mona-ui-notification.mjs +2 -0
  46. package/fesm2022/nanahoshi-mona-ui-numeric-text-box.mjs +299 -167
  47. package/fesm2022/nanahoshi-mona-ui-otp-input.mjs +2 -0
  48. package/fesm2022/nanahoshi-mona-ui-pager.mjs +5 -3
  49. package/fesm2022/nanahoshi-mona-ui-rating.mjs +4 -2
  50. package/fesm2022/nanahoshi-mona-ui-scroll-view.mjs +5 -3
  51. package/fesm2022/nanahoshi-mona-ui-sheet.mjs +2 -0
  52. package/fesm2022/nanahoshi-mona-ui-slider.mjs +2 -0
  53. package/fesm2022/nanahoshi-mona-ui-spinner.mjs +2 -0
  54. package/fesm2022/nanahoshi-mona-ui-split-button.mjs +2 -0
  55. package/fesm2022/nanahoshi-mona-ui-splitter.mjs +2 -0
  56. package/fesm2022/nanahoshi-mona-ui-stepper.mjs +2 -0
  57. package/fesm2022/nanahoshi-mona-ui-tabs.mjs +2 -0
  58. package/fesm2022/nanahoshi-mona-ui-text-box.mjs +2 -0
  59. package/fesm2022/nanahoshi-mona-ui-time-picker.mjs +2 -0
  60. package/fesm2022/nanahoshi-mona-ui-time-selector.mjs +2 -0
  61. package/fesm2022/nanahoshi-mona-ui-window.mjs +2 -0
  62. package/i18n/catalogs/en-US.messages.json +373 -0
  63. package/i18n/icu/package.json +4 -0
  64. package/locales/ar-sa/ar-sa.messages.json +373 -0
  65. package/locales/ar-sa/package.json +4 -0
  66. package/locales/de-de/de-de.messages.json +373 -0
  67. package/locales/de-de/package.json +4 -0
  68. package/locales/es-es/es-es.messages.json +373 -0
  69. package/locales/es-es/package.json +4 -0
  70. package/locales/fr-fr/fr-fr.messages.json +373 -0
  71. package/locales/fr-fr/package.json +4 -0
  72. package/locales/id-id/id-id.messages.json +373 -0
  73. package/locales/id-id/package.json +4 -0
  74. package/locales/it-it/it-it.messages.json +373 -0
  75. package/locales/it-it/package.json +4 -0
  76. package/locales/ja-jp/ja-jp.messages.json +373 -0
  77. package/locales/ja-jp/package.json +4 -0
  78. package/locales/ko-kr/ko-kr.messages.json +373 -0
  79. package/locales/ko-kr/package.json +4 -0
  80. package/locales/pt-br/package.json +4 -0
  81. package/locales/pt-br/pt-br.messages.json +373 -0
  82. package/locales/ru-ru/package.json +4 -0
  83. package/locales/ru-ru/ru-ru.messages.json +373 -0
  84. package/locales/tr-tr/package.json +4 -0
  85. package/locales/tr-tr/tr-tr.messages.json +373 -0
  86. package/locales/zh-cn/package.json +4 -0
  87. package/locales/zh-cn/zh-cn.messages.json +373 -0
  88. package/locales/zh-tw/package.json +4 -0
  89. package/locales/zh-tw/zh-tw.messages.json +373 -0
  90. package/package.json +111 -53
  91. package/types/nanahoshi-mona-ui-i18n-icu.d.ts +74 -0
  92. package/types/nanahoshi-mona-ui-i18n.d.ts +108 -6
  93. package/types/nanahoshi-mona-ui-locales-ar-sa.d.ts +379 -0
  94. package/types/nanahoshi-mona-ui-locales-de-de.d.ts +379 -0
  95. package/types/nanahoshi-mona-ui-locales-es-es.d.ts +379 -0
  96. package/types/nanahoshi-mona-ui-locales-fr-fr.d.ts +379 -0
  97. package/types/nanahoshi-mona-ui-locales-id-id.d.ts +379 -0
  98. package/types/nanahoshi-mona-ui-locales-it-it.d.ts +379 -0
  99. package/types/nanahoshi-mona-ui-locales-ja-jp.d.ts +379 -0
  100. package/types/nanahoshi-mona-ui-locales-ko-kr.d.ts +379 -0
  101. package/types/nanahoshi-mona-ui-locales-pt-br.d.ts +379 -0
  102. package/types/nanahoshi-mona-ui-locales-ru-ru.d.ts +379 -0
  103. package/types/nanahoshi-mona-ui-locales-tr-tr.d.ts +379 -0
  104. package/types/nanahoshi-mona-ui-locales-zh-cn.d.ts +379 -0
  105. package/types/nanahoshi-mona-ui-locales-zh-tw.d.ts +379 -0
  106. package/types/nanahoshi-mona-ui-locales.d.ts +30 -4915
  107. package/types/nanahoshi-mona-ui-numeric-text-box.d.ts +113 -37
@@ -483,6 +483,18 @@ interface MonaLocale {
483
483
  declare const MONA_DEFAULT_LOCALE: MonaLocale;
484
484
 
485
485
  interface MonaI18nConfig {
486
+ /**
487
+ * Locale id loaded with {@link MonaI18nConfig.loadLocale} before the application starts, so the first render
488
+ * is already localized. When loading fails, the application starts with {@link MonaI18nConfig.locale} (or
489
+ * English) and the error is logged.
490
+ */
491
+ readonly initialLocale?: string;
492
+ /**
493
+ * Loads a locale by id for `MonaI18nService.load()` and {@link MonaI18nConfig.initialLocale}. Use
494
+ * `loadMonaLocale` from `@nanahoshi/mona-ui/locales` for the official locales, or any function that resolves
495
+ * to a `MonaLocale`, such as one that fetches a catalog over HTTP.
496
+ */
497
+ readonly loadLocale?: (localeId: string) => Promise<MonaLocale>;
486
498
  readonly locale?: MonaLocale;
487
499
  /**
488
500
  * Overrides applied only while the locale with that id is active, keyed by locale id such as "de-DE".
@@ -505,6 +517,10 @@ declare const MONA_I18N_CONFIG: InjectionToken<MonaI18nConfig>;
505
517
  declare class MonaI18nService {
506
518
  #private;
507
519
  readonly direction: Signal<_nanahoshi_mona_ui_i18n.MonaTextDirection>;
520
+ /** The error of the latest `load()` when it failed, otherwise `null`. */
521
+ readonly loadError: Signal<unknown>;
522
+ /** Whether a `load()` is in progress and has not been superseded. */
523
+ readonly loading: Signal<boolean>;
508
524
  readonly locale: Signal<MonaLocale>;
509
525
  /**
510
526
  * Canonical BCP 47 id of the active locale. POSIX ids such as `en_US` are converted to `en-US`,
@@ -518,6 +534,17 @@ declare class MonaI18nService {
518
534
  */
519
535
  clearMessages(options?: MonaMessageOverrideOptions): void;
520
536
  componentMessages<K extends keyof MonaLocaleMessages>(namespace: K, fallback: MonaLocaleMessages[K]): Signal<MonaLocaleMessages[K]>;
537
+ /**
538
+ * Loads a locale with the `loadLocale` function configured in `provideMonaI18n` and switches to it.
539
+ *
540
+ * - Ids are canonicalized, and each locale is loaded once: later calls reuse it, and concurrent calls for the
541
+ * same id share one request.
542
+ * - The latest `load()` or `use()` wins. When a newer one starts before this one finishes, this one resolves
543
+ * without switching.
544
+ * - When loading fails, the current locale stays, `loadError` is set and the promise rejects. The failed
545
+ * locale is not cached, so a later call retries it.
546
+ */
547
+ load(localeId: string): Promise<void>;
521
548
  /**
522
549
  * Merges overrides into the existing ones. With `options.locale`, they apply only while that locale is
523
550
  * active, so overrides patched for German do not show after switching to English.
@@ -527,6 +554,7 @@ declare class MonaI18nService {
527
554
  * Replaces the existing overrides. With `options.locale`, only that locale's overrides are replaced.
528
555
  */
529
556
  setMessages(messages: DeepPartial<MonaLocaleMessages>, options?: MonaMessageOverrideOptions): void;
557
+ /** Switches to a locale that is already loaded. It supersedes a `load()` still in progress. */
530
558
  use(locale: MonaLocale): void;
531
559
  static ɵfac: i0.ɵɵFactoryDeclaration<MonaI18nService, never>;
532
560
  static ɵprov: i0.ɵɵInjectableDeclaration<MonaI18nService>;
@@ -573,7 +601,11 @@ interface NumberGroupingPattern {
573
601
  declare function getNumberGroupingPattern(locale: string): NumberGroupingPattern;
574
602
  declare function getNumberSymbols(locale: string): NumberSymbols;
575
603
  declare function getNumberFormatter(locale: string, options?: Intl.NumberFormatOptions): Intl.NumberFormat;
576
- declare function formatNumber(value: number, locale: string, options?: Intl.NumberFormatOptions): string;
604
+ /**
605
+ * Formats a number for the locale. A decimal string, such as one returned by {@link parseLocalizedDecimal}, is
606
+ * formatted exactly, without converting it to a `number` first.
607
+ */
608
+ declare function formatNumber(value: number | string, locale: string, options?: Intl.NumberFormatOptions): string;
577
609
  /**
578
610
  * Converts digits of any script to ASCII digits. Full-width forms typed by CJK input methods
579
611
  * ("12.5", "-3", "1,000") are folded to ASCII first.
@@ -602,26 +634,96 @@ interface ParseLocalizedNumberOptions {
602
634
  */
603
635
  alternateDecimal?: boolean;
604
636
  }
637
+ /**
638
+ * Why a value was refused:
639
+ * - `"syntax"`: the text is not a number in the locale.
640
+ * - `"decimals"`: it has more fraction digits than allowed.
641
+ * - `"precision"`: a JavaScript `number` cannot hold it exactly (an integer beyond
642
+ * `Number.MAX_SAFE_INTEGER`, or more than 15 significant digits), so accepting it would silently change it.
643
+ */
644
+ type LocalizedNumberInvalidReason = "decimals" | "precision" | "syntax";
605
645
  interface LocalizedNumberValidationResult {
606
- value: number | null;
607
- valid: boolean;
608
646
  fractionDigits: number;
647
+ /** Set when `valid` is false. */
648
+ reason?: LocalizedNumberInvalidReason;
649
+ valid: boolean;
650
+ value: number | null;
609
651
  }
652
+ /**
653
+ * Parses localized text to a number. Returns `null` when the text is not a number in the locale, or when a
654
+ * `number` cannot hold it exactly (see {@link LocalizedNumberInvalidReason}); it never rounds silently.
655
+ * Use {@link parseLocalizedDecimal} for values that need more precision.
656
+ */
610
657
  declare function parseLocalizedNumber(text: string | null | undefined, localeId: string, options?: ParseLocalizedNumberOptions): number | null;
658
+ /**
659
+ * Parses localized text with the same rules as {@link parseLocalizedNumber}, but returns a canonical decimal string
660
+ * (`"-1234.5"`: ASCII digits, `.` as the decimal separator, no grouping, exponent, leading zeros or trailing
661
+ * fraction zeros) and has no precision limit. Returns `null` when the text is not a number in the locale.
662
+ */
663
+ declare function parseLocalizedDecimal(text: string | null | undefined, localeId: string, options?: ParseLocalizedNumberOptions): string | null;
611
664
  declare function validateLocalizedNumber(text: string | null | undefined, localeId: string, options?: {
612
665
  mode?: LocalizedNumberParseMode;
613
666
  decimals?: number;
614
667
  }): LocalizedNumberValidationResult;
668
+ interface LocalizedDecimalValidationResult {
669
+ fractionDigits: number;
670
+ /** Set when `valid` is false. */
671
+ reason?: LocalizedNumberInvalidReason;
672
+ valid: boolean;
673
+ /** A canonical decimal string, see {@link parseLocalizedDecimal}. */
674
+ value: string | null;
675
+ }
676
+ /**
677
+ * Validates localized text like {@link validateLocalizedNumber}, but returns a canonical decimal string and has no
678
+ * precision limit, so `reason` is never `"precision"`.
679
+ */
680
+ declare function validateLocalizedDecimal(text: string | null | undefined, localeId: string, options?: {
681
+ mode?: LocalizedNumberParseMode;
682
+ decimals?: number;
683
+ }): LocalizedDecimalValidationResult;
615
684
  interface LocalizedNumberEditValidationResult {
616
- readonly valid: boolean;
617
685
  readonly complete: boolean;
686
+ /** Set when `valid` is false. */
687
+ readonly reason?: LocalizedNumberInvalidReason;
688
+ readonly valid: boolean;
618
689
  readonly value: number | null;
619
690
  }
691
+ interface LocalizedDecimalEditValidationResult {
692
+ readonly complete: boolean;
693
+ /** Set when `valid` is false. */
694
+ readonly reason?: LocalizedNumberInvalidReason;
695
+ readonly valid: boolean;
696
+ /** A canonical decimal string, see {@link parseLocalizedDecimal}. */
697
+ readonly value: string | null;
698
+ }
620
699
  interface ValidateLocalizedNumberEditOptions {
621
700
  readonly decimals?: number;
622
701
  readonly allowSign?: boolean;
623
702
  }
624
703
  declare function validateLocalizedNumberEdit(text: string | null | undefined, localeId: string, options?: ValidateLocalizedNumberEditOptions): LocalizedNumberEditValidationResult;
704
+ /**
705
+ * Validates text while it is typed, like {@link validateLocalizedNumberEdit}, but returns a canonical decimal string
706
+ * and has no precision limit.
707
+ */
708
+ declare function validateLocalizedDecimalEdit(text: string | null | undefined, localeId: string, options?: ValidateLocalizedNumberEditOptions): LocalizedDecimalEditValidationResult;
709
+
710
+ /**
711
+ * Locale id used whenever a supplied id cannot be turned into a valid BCP 47 tag.
712
+ * Matches the id of `MONA_DEFAULT_LOCALE`.
713
+ */
714
+ declare const MONA_FALLBACK_LOCALE_ID = "en-US";
715
+ /**
716
+ * Converts a locale id to a canonical BCP 47 tag, or returns `null` when it is not a valid tag.
717
+ *
718
+ * POSIX/Java style ids are accepted: `en_US` becomes `en-US`, and an encoding or modifier suffix
719
+ * (`de_DE.UTF-8`, `de_DE@euro`) is dropped.
720
+ */
721
+ declare function tryCanonicalizeLocaleId(localeId: string | null | undefined): string | null;
722
+ /**
723
+ * Converts a locale id to a canonical BCP 47 tag. Ids that are empty or not valid tags resolve to
724
+ * {@link MONA_FALLBACK_LOCALE_ID}, so every formatter receives the same, valid locale.
725
+ */
726
+ declare function canonicalizeLocaleId(localeId: string | null | undefined): string;
625
727
 
626
728
  /**
627
729
  * Normalizes a locale string to ensure it uses the Gregorian calendar system
@@ -722,5 +824,5 @@ declare function pseudoLocalizeCatalog<T extends object>(catalog: T, options?: P
722
824
  */
723
825
  declare function generatePseudoLocale(catalogs: DeepPartial<MonaLocaleMessages>, options?: GeneratePseudoLocaleOptions): MonaLocale;
724
826
 
725
- export { BIDI_CONTROL_REGEX, MONA_DEFAULT_LOCALE, MONA_I18N_CONFIG, MonaDirectionService, MonaI18nService, formatGregorianDateToLocaleString, formatNumber, generatePseudoLocale, getEditDecimalSeparators, getLocaleDateInputFormat, getLocaleDateTimeInputFormat, getLocaleFirstDayOfWeek, getLocaleTimeInputFormat, getNumberFormatter, getNumberGroupingPattern, getNumberSymbols, gregorianDateTime, gregorianDateTimeFromObject, injectComponentDirection, mergeMessages, mergeTwo, normalizeGregorianLocale, normalizeLocalizedDigits, normalizeLocalizedInput, normalizeLocalizedMinus, observeComponentDirection, parseGregorianDate, parseLocalizedNumber, provideMonaI18n, pseudoLocalize, pseudoLocalizeCatalog, resolveComponentDirection, sanitizeDateText, stripBidiControls, validateLocalizedNumber, validateLocalizedNumberEdit };
726
- export type { CalendarMessages, DatePickerMessages, DateTimePickerMessages, DeepPartial, DialogMessages, DirectionObserverHandle, FilterMessages, GeneratePseudoLocaleOptions, LocaleFirstDayOfWeek, LocaleTimeFormatOptions, LocalizedNumberEditValidationResult, LocalizedNumberParseMode, LocalizedNumberValidationResult, MonaAutoCompleteMessages, MonaBreadcrumbMessages, MonaButtonGroupMessages, MonaCalendarMessages, MonaCardMessages, MonaChartMessages, MonaChipMessages, MonaColorGradientMessages, MonaColorPaletteMessages, MonaColorPickerMessages, MonaComboBoxMessages, MonaDatePickerMessages, MonaDateTimePickerMessages, MonaDialogMessages, MonaDropdownListMessages, MonaDropdownsMessages, MonaEditorMessages, MonaFilterMessages, MonaGridMessages, MonaI18nConfig, MonaListBoxMessages, MonaListMessages, MonaLocale, MonaLocaleMessages, MonaMessageNamespace, MonaMessageOverrideOptions, MonaMultiSelectMessages, MonaNotificationMessages, MonaNumericTextBoxMessages, MonaOtpInputMessages, MonaPagerMessages, MonaRatingMessages, MonaScrollViewMessages, MonaSheetMessages, MonaSliderMessages, MonaSpinnerMessages, MonaSplitButtonMessages, MonaSplitterMessages, MonaStepperMessages, MonaTabsMessages, MonaTextBoxMessages, MonaTextDirection, MonaTimePickerMessages, MonaTimeSelectorMessages, MonaTreeViewMessages, MonaWindowMessages, NotificationMessages, NumberGroupingPattern, NumberSymbols, ParseLocalizedNumberOptions, PseudoLocalizationOptions, SheetMessages, TimePickerMessages, TimeSelectorMessages, ValidateLocalizedNumberEditOptions, WindowMessages };
827
+ export { BIDI_CONTROL_REGEX, MONA_DEFAULT_LOCALE, MONA_FALLBACK_LOCALE_ID, MONA_I18N_CONFIG, MonaDirectionService, MonaI18nService, canonicalizeLocaleId, formatGregorianDateToLocaleString, formatNumber, generatePseudoLocale, getEditDecimalSeparators, getLocaleDateInputFormat, getLocaleDateTimeInputFormat, getLocaleFirstDayOfWeek, getLocaleTimeInputFormat, getNumberFormatter, getNumberGroupingPattern, getNumberSymbols, gregorianDateTime, gregorianDateTimeFromObject, injectComponentDirection, mergeMessages, mergeTwo, normalizeGregorianLocale, normalizeLocalizedDigits, normalizeLocalizedInput, normalizeLocalizedMinus, observeComponentDirection, parseGregorianDate, parseLocalizedDecimal, parseLocalizedNumber, provideMonaI18n, pseudoLocalize, pseudoLocalizeCatalog, resolveComponentDirection, sanitizeDateText, stripBidiControls, tryCanonicalizeLocaleId, validateLocalizedDecimal, validateLocalizedDecimalEdit, validateLocalizedNumber, validateLocalizedNumberEdit };
828
+ export type { CalendarMessages, DatePickerMessages, DateTimePickerMessages, DeepPartial, DialogMessages, DirectionObserverHandle, FilterMessages, GeneratePseudoLocaleOptions, LocaleFirstDayOfWeek, LocaleTimeFormatOptions, LocalizedDecimalEditValidationResult, LocalizedDecimalValidationResult, LocalizedNumberEditValidationResult, LocalizedNumberInvalidReason, LocalizedNumberParseMode, LocalizedNumberValidationResult, MonaAutoCompleteMessages, MonaBreadcrumbMessages, MonaButtonGroupMessages, MonaCalendarMessages, MonaCardMessages, MonaChartMessages, MonaChipMessages, MonaColorGradientMessages, MonaColorPaletteMessages, MonaColorPickerMessages, MonaComboBoxMessages, MonaDatePickerMessages, MonaDateTimePickerMessages, MonaDialogMessages, MonaDropdownListMessages, MonaDropdownsMessages, MonaEditorMessages, MonaFilterMessages, MonaGridMessages, MonaI18nConfig, MonaListBoxMessages, MonaListMessages, MonaLocale, MonaLocaleMessages, MonaMessageNamespace, MonaMessageOverrideOptions, MonaMultiSelectMessages, MonaNotificationMessages, MonaNumericTextBoxMessages, MonaOtpInputMessages, MonaPagerMessages, MonaRatingMessages, MonaScrollViewMessages, MonaSheetMessages, MonaSliderMessages, MonaSpinnerMessages, MonaSplitButtonMessages, MonaSplitterMessages, MonaStepperMessages, MonaTabsMessages, MonaTextBoxMessages, MonaTextDirection, MonaTimePickerMessages, MonaTimeSelectorMessages, MonaTreeViewMessages, MonaWindowMessages, NotificationMessages, NumberGroupingPattern, NumberSymbols, ParseLocalizedNumberOptions, PseudoLocalizationOptions, SheetMessages, TimePickerMessages, TimeSelectorMessages, ValidateLocalizedNumberEditOptions, WindowMessages };
@@ -0,0 +1,379 @@
1
+ declare const MONA_AR_SA_LOCALE: {
2
+ direction: "rtl";
3
+ id: string;
4
+ messages: {
5
+ autoComplete: {
6
+ clear: string;
7
+ };
8
+ breadcrumb: {
9
+ breadcrumb: string;
10
+ };
11
+ buttonGroup: {
12
+ buttonGroup: string;
13
+ };
14
+ calendar: {
15
+ calendarLabel: (formattedMonthAndYear: string) => string;
16
+ decadeRange: (start: number, end: number) => string;
17
+ decadeViewLabel: (start: number, end: number) => string;
18
+ goToToday: (formattedDate: string) => string;
19
+ nextDecade: string;
20
+ nextMonth: string;
21
+ nextYear: string;
22
+ previousDecade: string;
23
+ previousMonth: string;
24
+ previousYear: string;
25
+ switchToDecadeView: (currentYear: string) => string;
26
+ switchToYearView: (currentMonthAndYear: string) => string;
27
+ today: string;
28
+ yearCellLabel: (year: number) => string;
29
+ yearViewLabel: (year: string) => string;
30
+ };
31
+ card: {
32
+ actionsLabel: string;
33
+ };
34
+ chart: {
35
+ change: string;
36
+ chart: string;
37
+ chartLegend: string;
38
+ close: string;
39
+ closeAbbreviation: string;
40
+ colorScale: string;
41
+ conversion: string;
42
+ divergingRangeDescription: (title: string, minimum: string, midpoint: string, maximum: string) => string;
43
+ dropOff: string;
44
+ falling: string;
45
+ high: string;
46
+ highAbbreviation: string;
47
+ labelValueSeparator: string;
48
+ low: string;
49
+ lowAbbreviation: string;
50
+ noData: string;
51
+ open: string;
52
+ openAbbreviation: string;
53
+ overall: string;
54
+ range: string;
55
+ rangeDescription: (title: string, minimum: string, maximum: string) => string;
56
+ rising: string;
57
+ runningTotal: string;
58
+ size: string;
59
+ unchanged: string;
60
+ value: string;
61
+ visualIndicatorClamped: string;
62
+ };
63
+ chip: {
64
+ removeLabel: (label?: string) => string;
65
+ };
66
+ colorGradient: {
67
+ apply: string;
68
+ cancel: string;
69
+ clearColor: string;
70
+ copyAsHex: string;
71
+ copyAsRgb: string;
72
+ copyColor: string;
73
+ currentColor: string;
74
+ previousColor: string;
75
+ saturationAndValue: string;
76
+ saturationAndValueText: (saturation: number, value: number) => string;
77
+ switchColorMode: string;
78
+ };
79
+ colorPalette: {
80
+ color: (color: string) => string;
81
+ colorPalette: string;
82
+ };
83
+ colorPicker: {
84
+ clearColor: string;
85
+ colorGradientPicker: string;
86
+ colorPalettePicker: string;
87
+ colorPicker: string;
88
+ };
89
+ comboBox: {
90
+ clear: string;
91
+ };
92
+ datePicker: {
93
+ datePicker: string;
94
+ openCalendar: string;
95
+ };
96
+ dateTimePicker: {
97
+ calendar: string;
98
+ cancel: string;
99
+ date: string;
100
+ dateTimePicker: string;
101
+ openDateTimePicker: string;
102
+ set: string;
103
+ time: string;
104
+ timePicker: string;
105
+ };
106
+ dialog: {
107
+ cancel: string;
108
+ closeDialog: string;
109
+ ok: string;
110
+ };
111
+ dropdownList: {
112
+ clear: string;
113
+ };
114
+ dropdowns: {
115
+ itemPosition: (text: string, position: number, total: number) => string;
116
+ noResultsFound: string;
117
+ resultsAvailable: (count: number) => string;
118
+ };
119
+ editor: {
120
+ addColumnAfter: string;
121
+ addColumnBefore: string;
122
+ addHorizontalLine: string;
123
+ addRowAfter: string;
124
+ addRowBefore: string;
125
+ alignCenter: string;
126
+ alignLeft: string;
127
+ alignRight: string;
128
+ altText: string;
129
+ backgroundColor: string;
130
+ bold: string;
131
+ cancel: string;
132
+ codeBlock: string;
133
+ color: string;
134
+ deleteColumn: string;
135
+ deleteRow: string;
136
+ deleteTable: string;
137
+ enterUrl: string;
138
+ fontSize: string;
139
+ format: string;
140
+ heading: (level: number) => string;
141
+ heightPx: string;
142
+ imageUrl: string;
143
+ indent: string;
144
+ insert: string;
145
+ insertImage: string;
146
+ insertLink: string;
147
+ insertOrderedList: string;
148
+ insertTable: string;
149
+ insertTaskList: string;
150
+ insertUnorderedList: string;
151
+ italic: string;
152
+ justify: string;
153
+ mergeCells: string;
154
+ outdent: string;
155
+ paragraph: string;
156
+ quotation: string;
157
+ redo: string;
158
+ removeLink: string;
159
+ selectFontFamily: string;
160
+ selectFontSize: string;
161
+ splitCell: string;
162
+ strikethrough: string;
163
+ subscript: string;
164
+ superscript: string;
165
+ toggleHeaderRow: string;
166
+ underline: string;
167
+ undo: string;
168
+ widthPx: string;
169
+ };
170
+ filter: {
171
+ and: string;
172
+ apply: string;
173
+ clear: string;
174
+ contains: string;
175
+ doesNotContain: string;
176
+ endsWith: string;
177
+ isAfter: string;
178
+ isAfterOrEqualTo: string;
179
+ isBefore: string;
180
+ isBeforeOrEqualTo: string;
181
+ isEmpty: string;
182
+ isEqualTo: string;
183
+ isFalse: string;
184
+ isGreaterThan: string;
185
+ isGreaterThanOrEqualTo: string;
186
+ isLessThan: string;
187
+ isLessThanOrEqualTo: string;
188
+ isNotEmpty: string;
189
+ isNotEqualTo: string;
190
+ isNotNull: string;
191
+ isNotNullOrEmpty: string;
192
+ isNull: string;
193
+ isNullOrEmpty: string;
194
+ isTrue: string;
195
+ or: string;
196
+ startsWith: string;
197
+ };
198
+ grid: {
199
+ all: string;
200
+ apply: string;
201
+ cancel: string;
202
+ cancelRowEdit: string;
203
+ columns: string;
204
+ columnsSelected: (count: number) => string;
205
+ delete: string;
206
+ deleteRowConfirmation: string;
207
+ deleteRowTitle: string;
208
+ dragColumnHeaderToGroup: string;
209
+ edit: string;
210
+ editRow: string;
211
+ fieldValidationError: string;
212
+ filterByColumn: (column: string) => string;
213
+ filterPlaceholder: string;
214
+ modified: string;
215
+ moveAsNext: string;
216
+ moveAsPrevious: string;
217
+ moveRow: string;
218
+ noData: string;
219
+ remove: string;
220
+ removeRow: string;
221
+ reorderRow: (rowNumber: number) => string;
222
+ resizeColumn: string;
223
+ rowReorder: string;
224
+ rowReorderDisabled: string;
225
+ rowReorderDisabledEditing: string;
226
+ rowReorderDisabledFiltered: string;
227
+ rowReorderDisabledGrouped: string;
228
+ rowReorderDisabledServerBinding: string;
229
+ rowReorderDisabledSingleRow: string;
230
+ rowReorderDisabledSorted: string;
231
+ rowReorderDisabledVirtualScroll: string;
232
+ rowReorderHandleAriaLabel: (rowLabel: string, keyboardHint: string, disabledReason?: string) => string;
233
+ rowReorderKeyboardHint: string;
234
+ rowReorderMoved: (fromRowNumber: number, toPosition: number) => string;
235
+ rowValidationError: string;
236
+ save: string;
237
+ saveRow: string;
238
+ selectAllRows: string;
239
+ selectRow: (rowNumber: number) => string;
240
+ };
241
+ list: {
242
+ filterList: string;
243
+ noData: string;
244
+ };
245
+ listBox: {
246
+ clearSelection: string;
247
+ moveDown: string;
248
+ moveUp: string;
249
+ remove: string;
250
+ transferAllFrom: string;
251
+ transferAllTo: string;
252
+ transferFrom: string;
253
+ transferTo: string;
254
+ };
255
+ multiSelect: {
256
+ clear: string;
257
+ itemsCount: (count: number) => string;
258
+ };
259
+ notification: {
260
+ close: string;
261
+ error: string;
262
+ info: string;
263
+ success: string;
264
+ warning: string;
265
+ };
266
+ numericTextBox: {
267
+ decrease: string;
268
+ increase: string;
269
+ };
270
+ otpInput: {
271
+ verificationCode: string;
272
+ };
273
+ pager: {
274
+ firstPageLabel: string;
275
+ jumpBackwardLabel: (pages: number) => string;
276
+ jumpForwardLabel: (pages: number) => string;
277
+ lastPageLabel: string;
278
+ nextPageLabel: string;
279
+ ofText: string;
280
+ pageLabel: (page: number) => string;
281
+ pageSizeLabel: (pageSize: number) => string;
282
+ pageStatus: (page: number, totalPages: number) => string;
283
+ pageText: string;
284
+ previousPageLabel: string;
285
+ rangeStatus: (start: number, end: number, total: number) => string;
286
+ };
287
+ rating: {
288
+ notRated: string;
289
+ valueText: (value: number, max: number) => string;
290
+ };
291
+ scrollView: {
292
+ carousel: string;
293
+ nextPage: string;
294
+ page: (current: number) => string;
295
+ pageOf: (current: number, total: number) => string;
296
+ previousPage: string;
297
+ scrollPagerNext: string;
298
+ scrollPagerPrevious: string;
299
+ slide: string;
300
+ };
301
+ sheet: {
302
+ closeSheet: string;
303
+ };
304
+ slider: {
305
+ maximumValue: string;
306
+ minimumValue: string;
307
+ sliderValue: string;
308
+ };
309
+ spinner: {
310
+ cancel: string;
311
+ loading: string;
312
+ };
313
+ splitButton: {
314
+ menuButtonAriaLabel: string;
315
+ splitButton: (text: string) => string;
316
+ };
317
+ splitter: {
318
+ collapseDown: string;
319
+ collapseNext: string;
320
+ collapsePrevious: string;
321
+ collapseUp: string;
322
+ resizer: string;
323
+ };
324
+ stepper: {
325
+ stepProgress: string;
326
+ stepper: string;
327
+ };
328
+ tabs: {
329
+ closeTab: string;
330
+ scrollNext: string;
331
+ scrollPrevious: string;
332
+ };
333
+ textBox: {
334
+ clear: string;
335
+ };
336
+ timePicker: {
337
+ openTimePicker: string;
338
+ timePicker: string;
339
+ };
340
+ timeSelector: {
341
+ am: string;
342
+ amPm: string;
343
+ headerHours: string;
344
+ headerMinutes: string;
345
+ headerSeconds: string;
346
+ hours: string;
347
+ minutes: string;
348
+ now: string;
349
+ pm: string;
350
+ seconds: string;
351
+ set: string;
352
+ timeSelector: string;
353
+ };
354
+ treeView: {
355
+ collapse: string;
356
+ expand: string;
357
+ filter: string;
358
+ filterTree: string;
359
+ };
360
+ window: {
361
+ close: string;
362
+ closeWindow: string;
363
+ maximize: string;
364
+ minimize: string;
365
+ moveWindow: string;
366
+ resizeBottom: string;
367
+ resizeBottomLeft: string;
368
+ resizeBottomRight: string;
369
+ resizeLeft: string;
370
+ resizeRight: string;
371
+ resizeTop: string;
372
+ resizeTopLeft: string;
373
+ resizeTopRight: string;
374
+ restore: string;
375
+ };
376
+ };
377
+ };
378
+
379
+ export { MONA_AR_SA_LOCALE };