@nanahoshi/mona-ui 0.23.2 → 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 (109) 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 +15 -10
  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 +8 -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 +8 -3
  17. package/fesm2022/nanahoshi-mona-ui-editor.mjs +8 -3
  18. package/fesm2022/nanahoshi-mona-ui-filter.mjs +3 -1
  19. package/fesm2022/{nanahoshi-mona-ui-grid-grid-footer-row.component-CIMXz60d.mjs → nanahoshi-mona-ui-grid-grid-footer-row.component-CnPhVIr4.mjs} +2 -2
  20. package/fesm2022/{nanahoshi-mona-ui-grid-grid-list.component-CpeheGXU.mjs → nanahoshi-mona-ui-grid-grid-list.component-DxY6bfTX.mjs} +4 -4
  21. package/fesm2022/{nanahoshi-mona-ui-grid-grid-row.component-B_5ay_Nz.mjs → nanahoshi-mona-ui-grid-grid-row.component-CaO5Lae6.mjs} +3 -3
  22. package/fesm2022/{nanahoshi-mona-ui-grid-grid-virtual-list.component-BzKywU5b.mjs → nanahoshi-mona-ui-grid-grid-virtual-list.component-jNYtqg5B.mjs} +4 -4
  23. package/fesm2022/{nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-IewqeT4m.mjs → nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-9FtfCutf.mjs} +18 -13
  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 +398 -116
  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 +77 -4988
  44. package/fesm2022/nanahoshi-mona-ui-multi-select.mjs +7 -2
  45. package/fesm2022/nanahoshi-mona-ui-notification.mjs +19 -2
  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 +13 -8
  49. package/fesm2022/nanahoshi-mona-ui-popup.mjs +15 -1
  50. package/fesm2022/nanahoshi-mona-ui-rating.mjs +7 -2
  51. package/fesm2022/nanahoshi-mona-ui-scroll-view.mjs +9 -4
  52. package/fesm2022/nanahoshi-mona-ui-sheet.mjs +2 -0
  53. package/fesm2022/nanahoshi-mona-ui-slider.mjs +2 -0
  54. package/fesm2022/nanahoshi-mona-ui-spinner.mjs +2 -0
  55. package/fesm2022/nanahoshi-mona-ui-split-button.mjs +2 -0
  56. package/fesm2022/nanahoshi-mona-ui-splitter.mjs +2 -0
  57. package/fesm2022/nanahoshi-mona-ui-stepper.mjs +2 -0
  58. package/fesm2022/nanahoshi-mona-ui-tabs.mjs +2 -0
  59. package/fesm2022/nanahoshi-mona-ui-text-box.mjs +2 -0
  60. package/fesm2022/nanahoshi-mona-ui-time-picker.mjs +2 -0
  61. package/fesm2022/nanahoshi-mona-ui-time-selector.mjs +2 -0
  62. package/fesm2022/nanahoshi-mona-ui-window.mjs +2 -0
  63. package/i18n/catalogs/en-US.messages.json +373 -0
  64. package/i18n/icu/package.json +4 -0
  65. package/locales/ar-sa/ar-sa.messages.json +373 -0
  66. package/locales/ar-sa/package.json +4 -0
  67. package/locales/de-de/de-de.messages.json +373 -0
  68. package/locales/de-de/package.json +4 -0
  69. package/locales/es-es/es-es.messages.json +373 -0
  70. package/locales/es-es/package.json +4 -0
  71. package/locales/fr-fr/fr-fr.messages.json +373 -0
  72. package/locales/fr-fr/package.json +4 -0
  73. package/locales/id-id/id-id.messages.json +373 -0
  74. package/locales/id-id/package.json +4 -0
  75. package/locales/it-it/it-it.messages.json +373 -0
  76. package/locales/it-it/package.json +4 -0
  77. package/locales/ja-jp/ja-jp.messages.json +373 -0
  78. package/locales/ja-jp/package.json +4 -0
  79. package/locales/ko-kr/ko-kr.messages.json +373 -0
  80. package/locales/ko-kr/package.json +4 -0
  81. package/locales/pt-br/package.json +4 -0
  82. package/locales/pt-br/pt-br.messages.json +373 -0
  83. package/locales/ru-ru/package.json +4 -0
  84. package/locales/ru-ru/ru-ru.messages.json +373 -0
  85. package/locales/tr-tr/package.json +4 -0
  86. package/locales/tr-tr/tr-tr.messages.json +373 -0
  87. package/locales/zh-cn/package.json +4 -0
  88. package/locales/zh-cn/zh-cn.messages.json +373 -0
  89. package/locales/zh-tw/package.json +4 -0
  90. package/locales/zh-tw/zh-tw.messages.json +373 -0
  91. package/package.json +111 -53
  92. package/types/nanahoshi-mona-ui-i18n-icu.d.ts +74 -0
  93. package/types/nanahoshi-mona-ui-i18n.d.ts +139 -9
  94. package/types/nanahoshi-mona-ui-locales-ar-sa.d.ts +379 -0
  95. package/types/nanahoshi-mona-ui-locales-de-de.d.ts +379 -0
  96. package/types/nanahoshi-mona-ui-locales-es-es.d.ts +379 -0
  97. package/types/nanahoshi-mona-ui-locales-fr-fr.d.ts +379 -0
  98. package/types/nanahoshi-mona-ui-locales-id-id.d.ts +379 -0
  99. package/types/nanahoshi-mona-ui-locales-it-it.d.ts +379 -0
  100. package/types/nanahoshi-mona-ui-locales-ja-jp.d.ts +379 -0
  101. package/types/nanahoshi-mona-ui-locales-ko-kr.d.ts +379 -0
  102. package/types/nanahoshi-mona-ui-locales-pt-br.d.ts +379 -0
  103. package/types/nanahoshi-mona-ui-locales-ru-ru.d.ts +379 -0
  104. package/types/nanahoshi-mona-ui-locales-tr-tr.d.ts +379 -0
  105. package/types/nanahoshi-mona-ui-locales-zh-cn.d.ts +379 -0
  106. package/types/nanahoshi-mona-ui-locales-zh-tw.d.ts +379 -0
  107. package/types/nanahoshi-mona-ui-locales.d.ts +30 -4915
  108. package/types/nanahoshi-mona-ui-notification.d.ts +1 -0
  109. package/types/nanahoshi-mona-ui-numeric-text-box.d.ts +113 -37
@@ -483,15 +483,44 @@ 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;
499
+ /**
500
+ * Overrides applied only while the locale with that id is active, keyed by locale id such as "de-DE".
501
+ * They take precedence over {@link MonaI18nConfig.messages}.
502
+ */
503
+ readonly localeMessages?: Readonly<Record<string, DeepPartial<MonaLocaleMessages>>>;
504
+ /** Overrides applied whatever the active locale is. */
487
505
  readonly messages?: DeepPartial<MonaLocaleMessages>;
488
506
  }
507
+ interface MonaMessageOverrideOptions {
508
+ /**
509
+ * Locale id the overrides apply to. When omitted, the overrides apply to every locale.
510
+ * Ids are canonicalized, so `de_DE` and `de-DE` address the same overrides.
511
+ */
512
+ readonly locale?: string;
513
+ }
489
514
 
490
515
  declare const MONA_I18N_CONFIG: InjectionToken<MonaI18nConfig>;
491
516
 
492
517
  declare class MonaI18nService {
493
518
  #private;
494
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>;
495
524
  readonly locale: Signal<MonaLocale>;
496
525
  /**
497
526
  * Canonical BCP 47 id of the active locale. POSIX ids such as `en_US` are converted to `en-US`,
@@ -499,10 +528,33 @@ declare class MonaI18nService {
499
528
  */
500
529
  readonly localeId: Signal<string>;
501
530
  constructor();
502
- clearMessages(): void;
531
+ /**
532
+ * Removes overrides. With `options.locale`, only that locale's overrides are removed; without it, every
533
+ * override is removed, global and per locale.
534
+ */
535
+ clearMessages(options?: MonaMessageOverrideOptions): void;
503
536
  componentMessages<K extends keyof MonaLocaleMessages>(namespace: K, fallback: MonaLocaleMessages[K]): Signal<MonaLocaleMessages[K]>;
504
- patchMessages(messages: DeepPartial<MonaLocaleMessages>): void;
505
- setMessages(messages: DeepPartial<MonaLocaleMessages>): void;
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>;
548
+ /**
549
+ * Merges overrides into the existing ones. With `options.locale`, they apply only while that locale is
550
+ * active, so overrides patched for German do not show after switching to English.
551
+ */
552
+ patchMessages(messages: DeepPartial<MonaLocaleMessages>, options?: MonaMessageOverrideOptions): void;
553
+ /**
554
+ * Replaces the existing overrides. With `options.locale`, only that locale's overrides are replaced.
555
+ */
556
+ setMessages(messages: DeepPartial<MonaLocaleMessages>, options?: MonaMessageOverrideOptions): void;
557
+ /** Switches to a locale that is already loaded. It supersedes a `load()` still in progress. */
506
558
  use(locale: MonaLocale): void;
507
559
  static ɵfac: i0.ɵɵFactoryDeclaration<MonaI18nService, never>;
508
560
  static ɵprov: i0.ɵɵInjectableDeclaration<MonaI18nService>;
@@ -540,12 +592,20 @@ interface NumberGroupingPattern {
540
592
  readonly primaryGroupSize: number;
541
593
  readonly secondaryGroupSize: number;
542
594
  readonly groupSeparator: string;
595
+ /**
596
+ * Fewest integer digits the locale groups when formatting (5 in es-ES, which formats 1000 but 10.000).
597
+ * Parsing does not enforce it: "1.000" is still read as 1000 in es-ES.
598
+ */
543
599
  readonly minimumGroupedIntegerDigits: number;
544
600
  }
545
601
  declare function getNumberGroupingPattern(locale: string): NumberGroupingPattern;
546
602
  declare function getNumberSymbols(locale: string): NumberSymbols;
547
603
  declare function getNumberFormatter(locale: string, options?: Intl.NumberFormatOptions): Intl.NumberFormat;
548
- 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;
549
609
  /**
550
610
  * Converts digits of any script to ASCII digits. Full-width forms typed by CJK input methods
551
611
  * ("12.5", "-3", "1,000") are folded to ASCII first.
@@ -574,26 +634,96 @@ interface ParseLocalizedNumberOptions {
574
634
  */
575
635
  alternateDecimal?: boolean;
576
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";
577
645
  interface LocalizedNumberValidationResult {
578
- value: number | null;
579
- valid: boolean;
580
646
  fractionDigits: number;
647
+ /** Set when `valid` is false. */
648
+ reason?: LocalizedNumberInvalidReason;
649
+ valid: boolean;
650
+ value: number | null;
581
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
+ */
582
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;
583
664
  declare function validateLocalizedNumber(text: string | null | undefined, localeId: string, options?: {
584
665
  mode?: LocalizedNumberParseMode;
585
666
  decimals?: number;
586
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;
587
684
  interface LocalizedNumberEditValidationResult {
588
- readonly valid: boolean;
589
685
  readonly complete: boolean;
686
+ /** Set when `valid` is false. */
687
+ readonly reason?: LocalizedNumberInvalidReason;
688
+ readonly valid: boolean;
590
689
  readonly value: number | null;
591
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
+ }
592
699
  interface ValidateLocalizedNumberEditOptions {
593
700
  readonly decimals?: number;
594
701
  readonly allowSign?: boolean;
595
702
  }
596
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;
597
727
 
598
728
  /**
599
729
  * Normalizes a locale string to ensure it uses the Gregorian calendar system
@@ -694,5 +824,5 @@ declare function pseudoLocalizeCatalog<T extends object>(catalog: T, options?: P
694
824
  */
695
825
  declare function generatePseudoLocale(catalogs: DeepPartial<MonaLocaleMessages>, options?: GeneratePseudoLocaleOptions): MonaLocale;
696
826
 
697
- 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 };
698
- 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, 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 };