@a.nemreen/dga-ui 0.3.4 → 0.3.6

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a.nemreen/dga-ui",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "description": "DGA Angular UI library — standalone forms, overlays, navigation, and portal shell with RTL-first Tailwind styling",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -5,7 +5,6 @@ import { ControlValueAccessor, DgaFormControlSize, DgaFormStatus } from '@a.nemr
5
5
  type DgaDateCalendar = 'gregorian' | 'hijri';
6
6
  /** Picker UI mode — inferred from `format` tokens when not set explicitly. */
7
7
  type DgaDatePickerMode = 'day' | 'month' | 'year';
8
- type DgaDateLocale = 'ar' | 'en';
9
8
  interface DgaCalendarParts {
10
9
  year: number;
11
10
  month: number;
@@ -39,7 +38,7 @@ declare function dgaParseDate(value: string, format: string, calendar: DgaDateCa
39
38
  declare function dgaSameDay(a: Date | null, b: Date | null, calendar?: DgaDateCalendar): boolean;
40
39
  declare function dgaCompareDays(a: Date | null, b: Date | null, calendar?: DgaDateCalendar): number;
41
40
  declare function dgaClampDate(date: Date, min?: Date | null, max?: Date | null, calendar?: DgaDateCalendar): Date;
42
- declare function dgaMonthNames(calendar: DgaDateCalendar, locale: 'ar' | 'en'): readonly string[];
41
+ declare function dgaMonthNames(calendar: DgaDateCalendar, locale: string): readonly string[];
43
42
  /** First weekday (0=Sun) of the given calendar month. */
44
43
  declare function dgaMonthStartWeekday(year: number, month: number, calendar: DgaDateCalendar): number;
45
44
  declare function dgaTodayUtc(): Date;
@@ -66,7 +65,7 @@ declare class DgaDatePickerComponent implements ControlValueAccessor {
66
65
  readonly range: _angular_core.InputSignalWithTransform<boolean, unknown>;
67
66
  readonly format: _angular_core.InputSignal<string>;
68
67
  readonly mode: _angular_core.InputSignal<DgaDatePickerMode | null>;
69
- readonly locale: _angular_core.InputSignal<DgaDateLocale>;
68
+ readonly locale: _angular_core.InputSignal<string>;
70
69
  readonly minDate: _angular_core.InputSignal<string | Date | null>;
71
70
  readonly maxDate: _angular_core.InputSignal<string | Date | null>;
72
71
  readonly yearBefore: _angular_core.InputSignal<number>;
@@ -124,6 +124,23 @@ interface DgaHeaderNotificationsConfig {
124
124
  items?: DgaHeaderNotification[];
125
125
  }
126
126
  type DgaHeaderNotificationAction = 'read' | 'view' | 'dismiss' | 'select';
127
+ /**
128
+ * Built-in language picker for the action whose `id` matches `actionId`
129
+ * (default `'lang'`). Lists registered locales with native names.
130
+ */
131
+ interface DgaHeaderLocaleOption {
132
+ code: string;
133
+ nativeName: string;
134
+ }
135
+ interface DgaHeaderLocaleConfig {
136
+ actionId?: string;
137
+ /** Panel heading. Default: `'Language'`. */
138
+ title?: string;
139
+ closeLabel?: string;
140
+ /** Active locale code. */
141
+ current: string;
142
+ options: DgaHeaderLocaleOption[];
143
+ }
127
144
  /** Link row inside the login panel footer. */
128
145
  interface DgaHeaderLoginLink {
129
146
  id?: string;
@@ -251,6 +268,11 @@ declare class DgaHeader {
251
268
  * (default `'login'`). After auth, the same action opens the user menu.
252
269
  */
253
270
  readonly login: _angular_core.InputSignal<DgaHeaderLoginConfig | null>;
271
+ /**
272
+ * When set, the header action matching `localeMenu.actionId`
273
+ * (default `'lang'`) opens the language picker dropdown.
274
+ */
275
+ readonly localeMenu: _angular_core.InputSignal<DgaHeaderLocaleConfig | null>;
254
276
  /** Authenticated user profile shown in the account menu. */
255
277
  readonly user: _angular_core.InputSignal<DgaHeaderUserConfig | null>;
256
278
  /** Whether the user is signed in (two-way). */
@@ -273,12 +295,15 @@ declare class DgaHeader {
273
295
  }>;
274
296
  readonly logout: _angular_core.OutputEmitterRef<void>;
275
297
  readonly userLinkClick: _angular_core.OutputEmitterRef<DgaHeaderUserMenuLink>;
298
+ /** Emits when a language is chosen from the locale menu. */
299
+ readonly localeSelect: _angular_core.OutputEmitterRef<string>;
276
300
  /** Emits on click of any top-level nav link or dropdown link (desktop + mobile). */
277
301
  readonly navLinkClick: _angular_core.OutputEmitterRef<DgaNavLink | DgaNavItem>;
278
302
  readonly mobileOpen: _angular_core.WritableSignal<boolean>;
279
303
  readonly openDropdown: _angular_core.WritableSignal<number | null>;
280
304
  readonly searchOpen: _angular_core.WritableSignal<boolean>;
281
305
  readonly notificationsOpen: _angular_core.WritableSignal<boolean>;
306
+ readonly localeMenuOpen: _angular_core.WritableSignal<boolean>;
282
307
  readonly loginOpen: _angular_core.WritableSignal<boolean>;
283
308
  readonly userMenuOpen: _angular_core.WritableSignal<boolean>;
284
309
  readonly voiceListening: _angular_core.WritableSignal<boolean>;
@@ -303,6 +328,7 @@ declare class DgaHeader {
303
328
  private readonly utilLayerRef;
304
329
  readonly searchPanelId = "dga-header-search-panel";
305
330
  readonly notificationsPanelId = "dga-header-notifications-panel";
331
+ readonly localePanelId = "dga-header-locale-panel";
306
332
  readonly loginPanelId = "dga-header-login-panel";
307
333
  readonly userPanelId = "dga-header-user-panel";
308
334
  readonly isPortal: _angular_core.Signal<boolean>;
@@ -312,6 +338,8 @@ declare class DgaHeader {
312
338
  readonly searchActionId: _angular_core.Signal<string>;
313
339
  readonly notificationsConfig: _angular_core.Signal<DgaHeaderNotificationsConfig | null>;
314
340
  readonly notificationsActionId: _angular_core.Signal<string>;
341
+ readonly localeMenuConfig: _angular_core.Signal<DgaHeaderLocaleConfig | null>;
342
+ readonly localeActionId: _angular_core.Signal<string>;
315
343
  readonly loginConfig: _angular_core.Signal<DgaHeaderLoginConfig | null>;
316
344
  readonly loginActionId: _angular_core.Signal<string>;
317
345
  readonly userConfig: _angular_core.Signal<DgaHeaderUserConfig | null>;
@@ -359,6 +387,7 @@ declare class DgaHeader {
359
387
  isIconOnly(action: DgaHeaderAction): boolean;
360
388
  isSearchAction(action: DgaHeaderAction): boolean;
361
389
  isNotificationsAction(action: DgaHeaderAction): boolean;
390
+ isLocaleAction(action: DgaHeaderAction): boolean;
362
391
  isLoginAction(action: DgaHeaderAction): boolean;
363
392
  actionTooltip(action: DgaHeaderAction): string;
364
393
  actionAriaLabel(action: DgaHeaderAction): string;
@@ -387,6 +416,9 @@ declare class DgaHeader {
387
416
  closeSearch(clearVoice?: boolean): void;
388
417
  toggleNotifications(trigger?: HTMLElement | null): void;
389
418
  closeNotifications(): void;
419
+ toggleLocaleMenu(trigger?: HTMLElement | null): void;
420
+ closeLocaleMenu(): void;
421
+ onLocalePick(code: string): void;
390
422
  toggleLogin(trigger?: HTMLElement | null): void;
391
423
  closeLogin(): void;
392
424
  toggleUserMenu(trigger?: HTMLElement | null): void;
@@ -420,8 +452,8 @@ declare class DgaHeader {
420
452
  onNavLinkClick(link: DgaNavLink | DgaNavItem, event: MouseEvent): void;
421
453
  onDocClick(event: MouseEvent): void;
422
454
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaHeader, never>;
423
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaHeader, "dga-header", never, { "brand": { "alias": "brand"; "required": false; "isSignal": true; }; "brandSlogan": { "alias": "brandSlogan"; "required": false; "isSignal": true; }; "brandLogo": { "alias": "brandLogo"; "required": false; "isSignal": true; }; "brandLogoAlt": { "alias": "brandLogoAlt"; "required": false; "isSignal": true; }; "brandPlaceholder": { "alias": "brandPlaceholder"; "required": false; "isSignal": true; }; "brandHref": { "alias": "brandHref"; "required": false; "isSignal": true; }; "navLabel": { "alias": "navLabel"; "required": false; "isSignal": true; }; "menuToggleLabel": { "alias": "menuToggleLabel"; "required": false; "isSignal": true; }; "menuCloseLabel": { "alias": "menuCloseLabel"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "mobileNav": { "alias": "mobileNav"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "searchQuery": { "alias": "searchQuery"; "required": false; "isSignal": true; }; "notifications": { "alias": "notifications"; "required": false; "isSignal": true; }; "login": { "alias": "login"; "required": false; "isSignal": true; }; "user": { "alias": "user"; "required": false; "isSignal": true; }; "authenticated": { "alias": "authenticated"; "required": false; "isSignal": true; }; "loginSubmitting": { "alias": "loginSubmitting"; "required": false; "isSignal": true; }; "loginError": { "alias": "loginError"; "required": false; "isSignal": true; }; }, { "searchQuery": "searchQueryChange"; "authenticated": "authenticatedChange"; "loginSubmitting": "loginSubmittingChange"; "loginError": "loginErrorChange"; "actionClick": "actionClick"; "searchSubmit": "searchSubmit"; "searchSuggestionSelect": "searchSuggestionSelect"; "searchVoice": "searchVoice"; "notificationAction": "notificationAction"; "loginSubmit": "loginSubmit"; "logout": "logout"; "userLinkClick": "userLinkClick"; "navLinkClick": "navLinkClick"; }, ["customLoginForm", "customLoginFooter"], ["[dgaHeaderBrand]", "*", "[dgaHeaderEnd]", "[dgaHeaderLoginBeforeForm]", "[dgaHeaderLoginForm]", "[dgaHeaderLoginAfterFields]", "[dgaHeaderLoginFooter]"], true, never>;
455
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaHeader, "dga-header", never, { "brand": { "alias": "brand"; "required": false; "isSignal": true; }; "brandSlogan": { "alias": "brandSlogan"; "required": false; "isSignal": true; }; "brandLogo": { "alias": "brandLogo"; "required": false; "isSignal": true; }; "brandLogoAlt": { "alias": "brandLogoAlt"; "required": false; "isSignal": true; }; "brandPlaceholder": { "alias": "brandPlaceholder"; "required": false; "isSignal": true; }; "brandHref": { "alias": "brandHref"; "required": false; "isSignal": true; }; "navLabel": { "alias": "navLabel"; "required": false; "isSignal": true; }; "menuToggleLabel": { "alias": "menuToggleLabel"; "required": false; "isSignal": true; }; "menuCloseLabel": { "alias": "menuCloseLabel"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "mobileNav": { "alias": "mobileNav"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "searchQuery": { "alias": "searchQuery"; "required": false; "isSignal": true; }; "notifications": { "alias": "notifications"; "required": false; "isSignal": true; }; "login": { "alias": "login"; "required": false; "isSignal": true; }; "localeMenu": { "alias": "localeMenu"; "required": false; "isSignal": true; }; "user": { "alias": "user"; "required": false; "isSignal": true; }; "authenticated": { "alias": "authenticated"; "required": false; "isSignal": true; }; "loginSubmitting": { "alias": "loginSubmitting"; "required": false; "isSignal": true; }; "loginError": { "alias": "loginError"; "required": false; "isSignal": true; }; }, { "searchQuery": "searchQueryChange"; "authenticated": "authenticatedChange"; "loginSubmitting": "loginSubmittingChange"; "loginError": "loginErrorChange"; "actionClick": "actionClick"; "searchSubmit": "searchSubmit"; "searchSuggestionSelect": "searchSuggestionSelect"; "searchVoice": "searchVoice"; "notificationAction": "notificationAction"; "loginSubmit": "loginSubmit"; "logout": "logout"; "userLinkClick": "userLinkClick"; "localeSelect": "localeSelect"; "navLinkClick": "navLinkClick"; }, ["customLoginForm", "customLoginFooter"], ["[dgaHeaderBrand]", "*", "[dgaHeaderEnd]", "[dgaHeaderLoginBeforeForm]", "[dgaHeaderLoginForm]", "[dgaHeaderLoginAfterFields]", "[dgaHeaderLoginFooter]"], true, never>;
424
456
  }
425
457
 
426
458
  export { DgaHeader, DgaHeaderLoginAfterFields, DgaHeaderLoginBeforeForm, DgaHeaderLoginFooter, DgaHeaderLoginForm };
427
- export type { DgaHeaderAction, DgaHeaderAppearance, DgaHeaderLoginConfig, DgaHeaderLoginLink, DgaHeaderNotification, DgaHeaderNotificationAction, DgaHeaderNotificationTone, DgaHeaderNotificationsConfig, DgaHeaderSearchConfig, DgaHeaderSearchSuggestion, DgaHeaderUserConfig, DgaHeaderUserMenuLink, DgaMobileNavMode, DgaNavColumn, DgaNavDropdown, DgaNavDropdownLayout, DgaNavDropdownVariant, DgaNavFeatured, DgaNavItem, DgaNavLink };
459
+ export type { DgaHeaderAction, DgaHeaderAppearance, DgaHeaderLocaleConfig, DgaHeaderLocaleOption, DgaHeaderLoginConfig, DgaHeaderLoginLink, DgaHeaderNotification, DgaHeaderNotificationAction, DgaHeaderNotificationTone, DgaHeaderNotificationsConfig, DgaHeaderSearchConfig, DgaHeaderSearchSuggestion, DgaHeaderUserConfig, DgaHeaderUserMenuLink, DgaMobileNavMode, DgaNavColumn, DgaNavDropdown, DgaNavDropdownLayout, DgaNavDropdownVariant, DgaNavFeatured, DgaNavItem, DgaNavLink };
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { Type, Provider, OnDestroy, OnInit } from '@angular/core';
2
+ import { Type, Provider, Signal, OnDestroy, OnInit } from '@angular/core';
3
3
  import { SafeHtml, SafeResourceUrl } from '@angular/platform-browser';
4
4
  import { ControlValueAccessor } from '@angular/forms';
5
5
  export { ControlValueAccessor } from '@angular/forms';
@@ -241,6 +241,7 @@ type DgaProgressSize = 'sm' | 'md' | 'lg';
241
241
  type DgaProgressTone = 'primary' | 'success' | 'warning' | 'error';
242
242
  type DgaProgressAppearance = 'linear' | 'radial';
243
243
  declare class DgaProgress {
244
+ private readonly uiLocale;
244
245
  /** 0–100 */
245
246
  readonly value: _angular_core.InputSignal<number>;
246
247
  readonly size: _angular_core.InputSignal<DgaProgressSize>;
@@ -248,18 +249,22 @@ declare class DgaProgress {
248
249
  readonly appearance: _angular_core.InputSignal<DgaProgressAppearance>;
249
250
  /** Show percent label inside the radial meter. */
250
251
  readonly showValue: _angular_core.InputSignal<boolean>;
251
- readonly label: _angular_core.InputSignal<string>;
252
+ /** Override the radial center label (e.g. `1/4`). Falls back to percent. */
253
+ readonly valueText: _angular_core.InputSignal<string>;
254
+ readonly label: _angular_core.InputSignal<string | undefined>;
255
+ readonly resolvedLabel: _angular_core.Signal<string>;
252
256
  readonly radius = 15.5;
253
257
  readonly circumference: number;
254
258
  readonly clamped: _angular_core.Signal<number>;
255
259
  readonly dashOffset: _angular_core.Signal<number>;
256
- readonly hostClasses: _angular_core.Signal<"inline-flex" | "block w-full">;
260
+ readonly displayValue: _angular_core.Signal<string>;
261
+ readonly hostClasses: _angular_core.Signal<"block w-full" | "inline-flex">;
257
262
  readonly trackClasses: _angular_core.Signal<string>;
258
263
  readonly barClasses: _angular_core.Signal<string>;
259
264
  readonly radialWrapClasses: _angular_core.Signal<string>;
260
265
  readonly strokeColor: _angular_core.Signal<string>;
261
266
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaProgress, never>;
262
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaProgress, "dga-progress", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
267
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaProgress, "dga-progress", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "valueText": { "alias": "valueText"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
263
268
  }
264
269
 
265
270
  type DgaAvatarSize = 'sm' | 'md' | 'lg' | 'xl';
@@ -761,22 +766,42 @@ declare class DgaUpload implements ControlValueAccessor {
761
766
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaUpload, "dga-upload", never, { "filesInput": { "alias": "files"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "browseLabel": { "alias": "browseLabel"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "maxSize": { "alias": "maxSize"; "required": false; "isSignal": true; }; "maxFiles": { "alias": "maxFiles"; "required": false; "isSignal": true; }; "dragging": { "alias": "dragging"; "required": false; "isSignal": true; }; }, { "filesChange": "filesChange"; "rejected": "rejected"; "dragging": "draggingChange"; }, never, never, true, never>;
762
767
  }
763
768
 
769
+ /** Infer UI locale from `<html lang>` (avoids importing `@a.nemreen/dga-tokens` into ng-packagr graph). */
770
+ declare function dgaCurrentLocale(): string;
771
+ /**
772
+ * Reactive copy of `<html lang>`. OnPush chrome (carousel, pagination, table)
773
+ * can read this so labels flip when the app locale changes.
774
+ */
775
+ declare function dgaUiLocale(): Signal<string>;
776
+ /** True when document writing direction is RTL. */
777
+ declare function dgaIsRtl(): boolean;
778
+ /** @deprecated Prefer {@link dgaCurrentLocale} or {@link dgaIsRtl} depending on intent. */
779
+ declare function dgaIsArabic(): boolean;
780
+ /** Localized string: plain text or a map keyed by locale code. */
781
+ type DgaLocalizedString = string | Record<string, string>;
782
+ /** Resolve a localized map for the active locale with en/ar fallbacks. */
783
+ declare function dgaResolveLocalized(value: DgaLocalizedString | undefined | null, locale: string, fallbackLocales?: readonly string[]): string | undefined;
784
+
785
+ type DgaPhoneCountryName = DgaLocalizedString;
764
786
  interface DgaPhoneCountry {
765
787
  /** Dial code including `+`, e.g. `+966`. */
766
788
  code: string;
767
789
  /** Short label shown in the prefix select. */
768
790
  label: string;
769
- /** Optional longer name for option text / search. */
770
- name?: string;
791
+ /** Optional longer name for option text / search (`string` or locale map). */
792
+ name?: DgaPhoneCountryName;
771
793
  }
772
- /** GCC-first dial codes for contact forms. */
794
+ /** Default dial codes KSA only; pass extras via `[countries]` to append. */
773
795
  declare const DGA_PHONE_COUNTRIES: DgaPhoneCountry[];
774
796
  /**
775
797
  * Phone field with searchable country-code prefix select.
776
798
  * The control group is always LTR so digits and codes read correctly in RTL pages.
777
799
  */
778
800
  declare class DgaPhoneInput implements ControlValueAccessor {
801
+ /** Extra dial codes appended after `DGA_PHONE_COUNTRIES` (KSA). */
779
802
  readonly countries: _angular_core.InputSignal<DgaPhoneCountry[]>;
803
+ /** Resolves localized `name` maps on country options. */
804
+ readonly locale: _angular_core.InputSignal<string>;
780
805
  readonly countryCode: _angular_core.ModelSignal<string>;
781
806
  readonly nationalNumber: _angular_core.ModelSignal<string>;
782
807
  readonly controlId: _angular_core.InputSignal<string>;
@@ -791,7 +816,10 @@ declare class DgaPhoneInput implements ControlValueAccessor {
791
816
  readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
792
817
  /** Full E.164-ish combined value: country code + national digits. */
793
818
  readonly value: _angular_core.ModelSignal<string>;
819
+ /** KSA first, then `[countries]` extras; duplicate codes are skipped. */
820
+ readonly resolvedCountries: _angular_core.Signal<DgaPhoneCountry[]>;
794
821
  readonly countryOptions: _angular_core.Signal<DgaSelectOption[]>;
822
+ readonly emptyLabel: _angular_core.Signal<"لا نتائج" | "No results">;
795
823
  readonly resolvedStatus: _angular_core.Signal<_a_nemreen_dga_ui.DgaFormStatus>;
796
824
  readonly groupClasses: _angular_core.Signal<string>;
797
825
  private onChange;
@@ -804,7 +832,7 @@ declare class DgaPhoneInput implements ControlValueAccessor {
804
832
  setDisabledState(isDisabled: boolean): void;
805
833
  private parseValue;
806
834
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaPhoneInput, never>;
807
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaPhoneInput, "dga-phone-input", never, { "countries": { "alias": "countries"; "required": false; "isSignal": true; }; "countryCode": { "alias": "countryCode"; "required": false; "isSignal": true; }; "nationalNumber": { "alias": "nationalNumber"; "required": false; "isSignal": true; }; "controlId": { "alias": "controlId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "codeLabel": { "alias": "codeLabel"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "countryCode": "countryCodeChange"; "nationalNumber": "nationalNumberChange"; "value": "valueChange"; }, never, never, true, never>;
835
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaPhoneInput, "dga-phone-input", never, { "countries": { "alias": "countries"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "countryCode": { "alias": "countryCode"; "required": false; "isSignal": true; }; "nationalNumber": { "alias": "nationalNumber"; "required": false; "isSignal": true; }; "controlId": { "alias": "controlId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "codeLabel": { "alias": "codeLabel"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "countryCode": "countryCodeChange"; "nationalNumber": "nationalNumberChange"; "value": "valueChange"; }, never, never, true, never>;
808
836
  }
809
837
 
810
838
  /** @deprecated Prefer `DgaSelectOption` — alias kept for existing imports. */
@@ -1973,8 +2001,10 @@ declare class DgaChatbot {
1973
2001
  * Place near the top of the document; `href` should target main content id.
1974
2002
  */
1975
2003
  declare class DgaSkipLink {
2004
+ private readonly uiLocale;
1976
2005
  readonly href: _angular_core.InputSignal<string>;
1977
- readonly label: _angular_core.InputSignal<string>;
2006
+ readonly label: _angular_core.InputSignal<string | undefined>;
2007
+ readonly resolvedLabel: _angular_core.Signal<string>;
1978
2008
  safeHref(href: string | undefined | null): string;
1979
2009
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaSkipLink, never>;
1980
2010
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaSkipLink, "dga-skip-link", never, { "href": { "alias": "href"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -2084,12 +2114,19 @@ declare class DgaBreadcrumb {
2084
2114
  }
2085
2115
 
2086
2116
  declare class DgaPagination {
2117
+ private readonly uiLocale;
2087
2118
  /** Two-way bindable via `[(page)]`; also emits the built-in `pageChange` output. */
2088
2119
  readonly page: _angular_core.ModelSignal<number>;
2089
2120
  readonly totalPages: _angular_core.InputSignal<number>;
2090
- readonly label: _angular_core.InputSignal<string>;
2091
- readonly prevLabel: _angular_core.InputSignal<string>;
2092
- readonly nextLabel: _angular_core.InputSignal<string>;
2121
+ readonly label: _angular_core.InputSignal<string | undefined>;
2122
+ readonly prevLabel: _angular_core.InputSignal<string | undefined>;
2123
+ readonly nextLabel: _angular_core.InputSignal<string | undefined>;
2124
+ private readonly ar;
2125
+ readonly resolvedLabel: _angular_core.Signal<string>;
2126
+ readonly resolvedPrevLabel: _angular_core.Signal<string>;
2127
+ readonly resolvedNextLabel: _angular_core.Signal<string>;
2128
+ readonly prevText: _angular_core.Signal<"السابق" | "Previous">;
2129
+ readonly nextText: _angular_core.Signal<"التالي" | "Next">;
2093
2130
  readonly pages: _angular_core.Signal<(number | "…")[]>;
2094
2131
  btnClass(active: boolean): string;
2095
2132
  go(next: number): void;
@@ -2257,7 +2294,7 @@ declare class DgaSideNav {
2257
2294
  /**
2258
2295
  * `auto` = horizontal chips below lg; `vertical` = always sidebar (use in drawers).
2259
2296
  */
2260
- readonly layout: _angular_core.InputSignal<"vertical" | "auto">;
2297
+ readonly layout: _angular_core.InputSignal<"auto" | "vertical">;
2261
2298
  readonly label: _angular_core.InputSignal<string>;
2262
2299
  readonly toggleLabel: _angular_core.InputSignal<string>;
2263
2300
  readonly select: _angular_core.OutputEmitterRef<DgaSideNavItem>;
@@ -2582,9 +2619,12 @@ declare class DgaGrid {
2582
2619
  }
2583
2620
 
2584
2621
  declare class DgaClamp {
2622
+ private readonly uiLocale;
2585
2623
  readonly lines: _angular_core.InputSignal<number>;
2586
2624
  readonly expandable: _angular_core.InputSignalWithTransform<boolean, unknown>;
2587
2625
  readonly expanded: _angular_core.WritableSignal<boolean>;
2626
+ readonly expandText: _angular_core.Signal<"المزيد" | "More">;
2627
+ readonly collapseText: _angular_core.Signal<"أقل" | "Less">;
2588
2628
  readonly lineClampValue: _angular_core.Signal<number | null>;
2589
2629
  readonly clampClasses: _angular_core.Signal<string>;
2590
2630
  toggle(): void;
@@ -2651,8 +2691,9 @@ type DgaTimeFormat = '12' | '24';
2651
2691
  * Expand panel uses grid-template-rows for a smooth open/close.
2652
2692
  * Optional date + live clock sit in the end cluster (Hijri ↔ Gregorian).
2653
2693
  */
2654
- declare class DgaTopBar implements OnInit {
2694
+ declare class DgaTopBar {
2655
2695
  private readonly destroyRef;
2696
+ private clockTimer;
2656
2697
  readonly saFlagSrc: string;
2657
2698
  readonly panelId = "dga-digital-stamp";
2658
2699
  readonly open: _angular_core.ModelSignal<boolean>;
@@ -2662,14 +2703,20 @@ declare class DgaTopBar implements OnInit {
2662
2703
  readonly timeFormat: _angular_core.ModelSignal<DgaTimeFormat>;
2663
2704
  readonly showDate: _angular_core.InputSignal<boolean>;
2664
2705
  readonly showTime: _angular_core.InputSignal<boolean>;
2665
- /** `ar` Arabic labels; `en` English. */
2666
- readonly locale: _angular_core.InputSignal<"ar" | "en">;
2667
- readonly regionLabel: _angular_core.InputSignal<string>;
2668
- readonly stampLabel: _angular_core.InputSignal<string>;
2669
- readonly tabTextLg: _angular_core.InputSignal<string>;
2670
- readonly tabTextSm: _angular_core.InputSignal<string>;
2671
- readonly verifyText: _angular_core.InputSignal<string>;
2672
- readonly registrationLabel: _angular_core.InputSignal<string>;
2706
+ /** Locale code for date/time formatting and default stamp copy (`ar` vs fallback English). */
2707
+ readonly locale: _angular_core.InputSignal<string>;
2708
+ /** Overrides the locale-aware default region `aria-label`. */
2709
+ readonly regionLabel: _angular_core.InputSignal<string | undefined>;
2710
+ /** Overrides the locale-aware default stamp panel `aria-label`. */
2711
+ readonly stampLabel: _angular_core.InputSignal<string | undefined>;
2712
+ /** Overrides the locale-aware default desktop stamp sentence. */
2713
+ readonly tabTextLg: _angular_core.InputSignal<string | undefined>;
2714
+ /** Overrides the locale-aware default compact stamp sentence. */
2715
+ readonly tabTextSm: _angular_core.InputSignal<string | undefined>;
2716
+ /** Overrides the locale-aware default "How to verify?" link. */
2717
+ readonly verifyText: _angular_core.InputSignal<string | undefined>;
2718
+ /** Overrides the locale-aware default registration caption. */
2719
+ readonly registrationLabel: _angular_core.InputSignal<string | undefined>;
2673
2720
  /** DGA platform registration / license number shown in the expanded stamp. */
2674
2721
  readonly registrationId: _angular_core.InputSignal<string>;
2675
2722
  /**
@@ -2677,16 +2724,26 @@ declare class DgaTopBar implements OnInit {
2677
2724
  * @example https://raqmi.dga.gov.sa/platforms/platforms/…/platform-license
2678
2725
  */
2679
2726
  readonly registrationHref: _angular_core.InputSignal<string>;
2680
- readonly notices: _angular_core.InputSignal<DgaStampNotice[]>;
2727
+ /** Overrides the locale-aware default gov.sa / HTTPS notices. */
2728
+ readonly notices: _angular_core.InputSignal<DgaStampNotice[] | undefined>;
2681
2729
  private readonly now;
2730
+ private readonly defaults;
2731
+ readonly resolvedRegionLabel: _angular_core.Signal<string>;
2732
+ readonly resolvedStampLabel: _angular_core.Signal<string>;
2733
+ readonly resolvedTabTextLg: _angular_core.Signal<string>;
2734
+ readonly resolvedTabTextSm: _angular_core.Signal<string>;
2735
+ readonly resolvedVerifyText: _angular_core.Signal<string>;
2736
+ readonly resolvedRegistrationLabel: _angular_core.Signal<string>;
2737
+ readonly resolvedNotices: _angular_core.Signal<DgaStampNotice[]>;
2682
2738
  readonly dateLabel: _angular_core.Signal<string>;
2683
2739
  readonly timeLabel: _angular_core.Signal<string>;
2684
2740
  readonly calendarToggleLabel: _angular_core.Signal<"التبديل إلى التقويم الميلادي" | "Switch to Gregorian calendar" | "التبديل إلى التقويم الهجري" | "Switch to Hijri calendar">;
2685
2741
  readonly timeToggleLabel: _angular_core.Signal<"التبديل إلى تنسيق 24 ساعة" | "Switch to 24-hour format" | "التبديل إلى تنسيق 12 ساعة" | "Switch to 12-hour format">;
2686
2742
  readonly hostClasses: _angular_core.Signal<string>;
2687
- ngOnInit(): void;
2688
- private clockTimer;
2743
+ constructor();
2744
+ private bindClock;
2689
2745
  private tick;
2746
+ private clearClock;
2690
2747
  private scheduleMinuteTick;
2691
2748
  titleParts(n: DgaStampNotice): {
2692
2749
  text: string;
@@ -3339,6 +3396,7 @@ type DgaMetricTrend = 'up' | 'down' | 'neutral';
3339
3396
  /** `stat` = portal home metrics (icon well, value, label, centered). */
3340
3397
  type DgaMetricAppearance = 'default' | 'stat';
3341
3398
  declare class DgaMetric {
3399
+ private readonly uiLocale;
3342
3400
  readonly label: _angular_core.InputSignal<string>;
3343
3401
  readonly value: _angular_core.InputSignal<string>;
3344
3402
  readonly delta: _angular_core.InputSignal<string>;
@@ -3360,6 +3418,8 @@ interface DgaTableColumn<T = Record<string, unknown>> {
3360
3418
  type DgaSortDir = 'asc' | 'desc';
3361
3419
  type DgaTableDensity = 'comfortable' | 'compact';
3362
3420
  declare class DgaTable {
3421
+ private readonly uiLocale;
3422
+ private readonly ar;
3363
3423
  readonly columns: _angular_core.InputSignal<DgaTableColumn<Record<string, unknown>>[]>;
3364
3424
  readonly rows: _angular_core.InputSignal<Record<string, unknown>[]>;
3365
3425
  readonly selectable: _angular_core.InputSignalWithTransform<boolean, unknown>;
@@ -3367,15 +3427,19 @@ declare class DgaTable {
3367
3427
  readonly selectedKeys: _angular_core.ModelSignal<string[]>;
3368
3428
  readonly sortKey: _angular_core.ModelSignal<string>;
3369
3429
  readonly sortDir: _angular_core.ModelSignal<DgaSortDir>;
3370
- readonly label: _angular_core.InputSignal<string>;
3371
- readonly selectAllLabel: _angular_core.InputSignal<string>;
3372
- readonly emptyLabel: _angular_core.InputSignal<string>;
3430
+ readonly label: _angular_core.InputSignal<string | undefined>;
3431
+ readonly selectAllLabel: _angular_core.InputSignal<string | undefined>;
3432
+ readonly emptyLabel: _angular_core.InputSignal<string | undefined>;
3373
3433
  readonly density: _angular_core.InputSignal<DgaTableDensity>;
3374
3434
  readonly interactive: _angular_core.InputSignalWithTransform<boolean, unknown>;
3375
3435
  readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
3376
3436
  readonly stickyHeader: _angular_core.InputSignalWithTransform<boolean, unknown>;
3377
3437
  readonly hiddenKeys: _angular_core.ModelSignal<string[]>;
3378
3438
  readonly skeletonRows: number[];
3439
+ readonly resolvedLabel: _angular_core.Signal<string>;
3440
+ readonly resolvedSelectAllLabel: _angular_core.Signal<string>;
3441
+ readonly resolvedEmptyLabel: _angular_core.Signal<string>;
3442
+ readonly selectedCountLabel: _angular_core.Signal<string>;
3379
3443
  private readonly selectAllEl;
3380
3444
  constructor();
3381
3445
  readonly visibleColumns: _angular_core.Signal<DgaTableColumn<Record<string, unknown>>[]>;
@@ -3456,6 +3520,8 @@ interface DgaCarouselSlide {
3456
3520
  * Sizing uses CSS vars set by the parent `dga-carousel` (inherits across projection).
3457
3521
  */
3458
3522
  declare class DgaCarouselSlideDirective {
3523
+ private readonly uiLocale;
3524
+ readonly slideRole: _angular_core.Signal<"شريحة" | "slide">;
3459
3525
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaCarouselSlideDirective, never>;
3460
3526
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DgaCarouselSlideDirective, "[dgaCarouselSlide]", never, {}, {}, never, never, true, never>;
3461
3527
  }
@@ -3488,11 +3554,21 @@ declare class DgaCarousel {
3488
3554
  readonly peek: _angular_core.InputSignal<number>;
3489
3555
  /** Gap between slides in px. */
3490
3556
  readonly gap: _angular_core.InputSignal<number>;
3491
- readonly label: _angular_core.InputSignal<string>;
3492
- readonly prevLabel: _angular_core.InputSignal<string>;
3493
- readonly nextLabel: _angular_core.InputSignal<string>;
3494
- readonly dotsLabel: _angular_core.InputSignal<string>;
3495
- readonly emptyLabel: _angular_core.InputSignal<string>;
3557
+ readonly label: _angular_core.InputSignal<string | undefined>;
3558
+ readonly prevLabel: _angular_core.InputSignal<string | undefined>;
3559
+ readonly nextLabel: _angular_core.InputSignal<string | undefined>;
3560
+ readonly dotsLabel: _angular_core.InputSignal<string | undefined>;
3561
+ readonly emptyLabel: _angular_core.InputSignal<string | undefined>;
3562
+ private readonly uiLocale;
3563
+ private readonly ar;
3564
+ readonly slideRole: _angular_core.Signal<"شريحة" | "slide">;
3565
+ readonly resolvedLabel: _angular_core.Signal<string>;
3566
+ readonly resolvedPrevLabel: _angular_core.Signal<string>;
3567
+ readonly resolvedNextLabel: _angular_core.Signal<string>;
3568
+ readonly resolvedDotsLabel: _angular_core.Signal<string>;
3569
+ readonly resolvedEmptyLabel: _angular_core.Signal<string>;
3570
+ readonly prevText: _angular_core.Signal<"السابق" | "Previous">;
3571
+ readonly nextText: _angular_core.Signal<"التالي" | "Next">;
3496
3572
  readonly pageIndex: _angular_core.WritableSignal<number>;
3497
3573
  readonly perView: _angular_core.WritableSignal<number>;
3498
3574
  private readonly slideCount;
@@ -3691,7 +3767,7 @@ declare const DGA_SAUDI_CITIES: readonly DgaSaudiCity[];
3691
3767
  /** Group cities by English region name. */
3692
3768
  declare function dgaGroupSaudiCitiesByRegion(cities?: readonly DgaSaudiCity[]): Record<string, DgaSaudiCity[]>;
3693
3769
  /** Autocomplete-ready options (Arabic labels by default). */
3694
- declare function dgaSaudiCityOptions(locale?: 'ar' | 'en', cities?: readonly DgaSaudiCity[]): {
3770
+ declare function dgaSaudiCityOptions(locale?: string, cities?: readonly DgaSaudiCity[]): {
3695
3771
  label: string;
3696
3772
  value: string;
3697
3773
  }[];
@@ -3708,8 +3784,5 @@ declare function dgaSafeCssColor(value: string | null | undefined, fallback?: st
3708
3784
  /** Join truthy class names. */
3709
3785
  declare function dgaCx(...parts: Array<string | false | null | undefined>): string;
3710
3786
 
3711
- /** Infer UI locale from `<html lang>` (avoids importing `@a.nemreen/dga-tokens` into ng-packagr graph). */
3712
- declare function dgaIsArabic(): boolean;
3713
-
3714
- export { DGA_ICON_NAMES, DGA_ICON_SVG, DGA_LOGICAL_ICON_NAMES, DGA_PAGE_TRANSITION_NAMES, DGA_PHONE_COUNTRIES, DGA_RIYAL_SVG_PATH, DGA_RIYAL_VIEWBOX, DGA_SAUDI_CITIES, DgaAccordion, DgaAccordionItem, DgaAlert, DgaAnnouncementBar, DgaAppShell, DgaAuthCard, DgaAutocomplete, DgaAvatar, DgaBadge, DgaBreadcrumb, DgaButton, DgaCard, DgaCardMedia, DgaCarousel, DgaCarouselSlideDirective, DgaChart, DgaChatbot, DgaCheckbox, DgaChip, DgaChipInput, DgaClamp, DgaCode, DgaCommand, DgaContentSwitcher, DgaContentSwitcherPanel, DgaContextMenu, DgaContextMenuTrigger, DgaCopy, DgaDescriptionList, DgaDialog, DgaDivider, DgaDrawer, DgaDualNav, DgaEmpty, DgaExpandable, DgaExport, DgaExportToolbar, DgaFeedback, DgaField, DgaFilterBar, DgaFooter, DgaFormControl, DgaFormEnd, DgaFormStart, DgaGrid, DgaHero, DgaIcon, DgaIconBadge, DgaIconFontService, DgaImagePopup, DgaInfoList, DgaInput, DgaKbd, DgaKbdGroup, DgaLabel, DgaLink, DgaList, DgaLogoTile, DgaMenu, DgaMetric, DgaModal, DgaMultiselect, DgaNativeSelect, DgaNavRail, DgaNumber, DgaNumberInput, DgaOtp, DgaPageFeedback, DgaPageHero, DgaPageTransition, DgaPagination, DgaPersona, DgaPhoneInput, DgaPreloader, DgaProgress, DgaQuote, DgaRadio, DgaRating, DgaRiyal, DgaScrollTop, DgaSection, DgaSelect, DgaShare, DgaSideInfo, DgaSideNav, DgaSkeleton, DgaSkipLink, DgaSlider, DgaSpinner, DgaStepper, DgaSwitch, DgaTab, DgaTable, DgaTabs, DgaTimePicker, DgaTimeline, DgaToast, DgaToastOutlet, DgaToastService, DgaToc, DgaToolbar, DgaTooltip, DgaTopBar, DgaTour, DgaUpload, DgaVideoPlayer, DgaWriting, dgaCx, dgaFormStatusFromInvalid, dgaGroupSaudiCitiesByRegion, dgaIsArabic, dgaNormalizeTime, dgaProvideValueAccessor, dgaResolveAppHref, dgaResolveVideoSource, dgaSafeCssColor, dgaSafeHref, dgaSaudiCityOptions };
3715
- export type { DgaAccordionSection, DgaAlertDisplay, DgaAlertVariant, DgaAnnouncementActionVariant, DgaAnnouncementAlign, DgaAnnouncementDensity, DgaAnnouncementElevation, DgaAnnouncementPersist, DgaAnnouncementTone, DgaAppShellAppearance, DgaAutocompleteOption, DgaAvatarSize, DgaBadgeSize, DgaBadgeVariant, DgaBreadcrumbItem, DgaBreadcrumbSeparator, DgaButtonSize, DgaButtonVariant, DgaCalendar, DgaCardActionsAlign, DgaCardAppearance, DgaCardBadge, DgaCardBorder, DgaCardPadding, DgaCardShadow, DgaCarouselSlide, DgaChartDataset, DgaChartPoint, DgaChartType, DgaChatbotAnimation, DgaChatbotFabTone, DgaChatbotMessage, DgaChatbotPosition, DgaChatbotSize, DgaCheckboxSize, DgaChipVariant, DgaCommandAppearance, DgaCommandGroup, DgaCommandItem, DgaContentSwitcherItem, DgaContextMenuItem, DgaContextMenuItemType, DgaCurrency, DgaDescriptionItem, DgaDescriptionLayout, DgaDialogSize, DgaDividerOrientation, DgaDrawerSide, DgaDualNavCategory, DgaDualNavSection, DgaEmptyAppearance, DgaExportColumn, DgaExportData, DgaExportScope, DgaFeedbackSubmit, DgaFilterItem, DgaFooterAppearance, DgaFooterColumn, DgaFooterIconGroup, DgaFooterIconLink, DgaFooterLink, DgaFooterLogo, DgaFormControlSize, DgaFormStatus, DgaGridCols, DgaGridGap, DgaHeroAppearance, DgaHeroImageMask, DgaHeroOverlayTone, DgaHeroSlide, DgaHeroTransition, DgaIconBadgeAppearance, DgaIconBadgeSize, DgaIconName, DgaIconSize, DgaIconTone, DgaImagePopupAnimation, DgaImagePopupImage, DgaImagePopupImageTransition, DgaImagePopupSource, DgaInfoListItem, DgaInputSize, DgaLinkVariant, DgaMenuItem, DgaMetricAppearance, DgaMetricTrend, DgaModalAnimation, DgaModalSize, DgaMultiselectOption, DgaNativeSelectSize, DgaNavRailActiveStyle, DgaNavRailAppearance, DgaNavRailItem, DgaNavRailPosition, DgaNavRailSize, DgaPageFeedbackAgreementLink, DgaPageFeedbackAnswer, DgaPageFeedbackOption, DgaPageFeedbackPhase, DgaPageFeedbackSubmit, DgaPageHeroTone, DgaPageTransitionName, DgaPhoneCountry, DgaPreloaderPersist, DgaProgressAppearance, DgaProgressSize, DgaProgressTone, DgaRadioSize, DgaRatingSize, DgaRiyalAppearance, DgaRiyalSize, DgaRiyalTone, DgaSaudiCity, DgaScrollTopPosition, DgaSectionTone, DgaSectionWidth, DgaSelectOpenMode, DgaSelectOption, DgaSelectSize, DgaShareAppearance, DgaSideInfoItem, DgaSideNavGroup, DgaSideNavItem, DgaSkeletonAnimation, DgaSkeletonRadius, DgaSkeletonShape, DgaSkeletonSize, DgaSortDir, DgaSpinnerSize, DgaSpinnerTone, DgaStampNotice, DgaStep, DgaStepStatus, DgaSwitchSize, DgaTabItem, DgaTableColumn, DgaTableDensity, DgaTimeFormat, DgaTimePickerFormat, DgaTimePickerSize, DgaTimelineItem, DgaToastAnimation, DgaToastLocation, DgaToastRequest, DgaToastShowOptions, DgaToastVariant, DgaTocItem, DgaTooltipPlacement, DgaTooltipVariant, DgaTourPersist, DgaTourPlacement, DgaTourStep, DgaUploadAppearance, DgaUploadFile, DgaUploadRejectReason, DgaUploadRejection, DgaVideoProvider, DgaVideoRatio, DgaVideoSourceInfo, DgaWritingEffect };
3787
+ export { DGA_ICON_NAMES, DGA_ICON_SVG, DGA_LOGICAL_ICON_NAMES, DGA_PAGE_TRANSITION_NAMES, DGA_PHONE_COUNTRIES, DGA_RIYAL_SVG_PATH, DGA_RIYAL_VIEWBOX, DGA_SAUDI_CITIES, DgaAccordion, DgaAccordionItem, DgaAlert, DgaAnnouncementBar, DgaAppShell, DgaAuthCard, DgaAutocomplete, DgaAvatar, DgaBadge, DgaBreadcrumb, DgaButton, DgaCard, DgaCardMedia, DgaCarousel, DgaCarouselSlideDirective, DgaChart, DgaChatbot, DgaCheckbox, DgaChip, DgaChipInput, DgaClamp, DgaCode, DgaCommand, DgaContentSwitcher, DgaContentSwitcherPanel, DgaContextMenu, DgaContextMenuTrigger, DgaCopy, DgaDescriptionList, DgaDialog, DgaDivider, DgaDrawer, DgaDualNav, DgaEmpty, DgaExpandable, DgaExport, DgaExportToolbar, DgaFeedback, DgaField, DgaFilterBar, DgaFooter, DgaFormControl, DgaFormEnd, DgaFormStart, DgaGrid, DgaHero, DgaIcon, DgaIconBadge, DgaIconFontService, DgaImagePopup, DgaInfoList, DgaInput, DgaKbd, DgaKbdGroup, DgaLabel, DgaLink, DgaList, DgaLogoTile, DgaMenu, DgaMetric, DgaModal, DgaMultiselect, DgaNativeSelect, DgaNavRail, DgaNumber, DgaNumberInput, DgaOtp, DgaPageFeedback, DgaPageHero, DgaPageTransition, DgaPagination, DgaPersona, DgaPhoneInput, DgaPreloader, DgaProgress, DgaQuote, DgaRadio, DgaRating, DgaRiyal, DgaScrollTop, DgaSection, DgaSelect, DgaShare, DgaSideInfo, DgaSideNav, DgaSkeleton, DgaSkipLink, DgaSlider, DgaSpinner, DgaStepper, DgaSwitch, DgaTab, DgaTable, DgaTabs, DgaTimePicker, DgaTimeline, DgaToast, DgaToastOutlet, DgaToastService, DgaToc, DgaToolbar, DgaTooltip, DgaTopBar, DgaTour, DgaUpload, DgaVideoPlayer, DgaWriting, dgaCurrentLocale, dgaCx, dgaFormStatusFromInvalid, dgaGroupSaudiCitiesByRegion, dgaIsArabic, dgaIsRtl, dgaNormalizeTime, dgaProvideValueAccessor, dgaResolveAppHref, dgaResolveLocalized, dgaResolveVideoSource, dgaSafeCssColor, dgaSafeHref, dgaSaudiCityOptions, dgaUiLocale };
3788
+ export type { DgaAccordionSection, DgaAlertDisplay, DgaAlertVariant, DgaAnnouncementActionVariant, DgaAnnouncementAlign, DgaAnnouncementDensity, DgaAnnouncementElevation, DgaAnnouncementPersist, DgaAnnouncementTone, DgaAppShellAppearance, DgaAutocompleteOption, DgaAvatarSize, DgaBadgeSize, DgaBadgeVariant, DgaBreadcrumbItem, DgaBreadcrumbSeparator, DgaButtonSize, DgaButtonVariant, DgaCalendar, DgaCardActionsAlign, DgaCardAppearance, DgaCardBadge, DgaCardBorder, DgaCardPadding, DgaCardShadow, DgaCarouselSlide, DgaChartDataset, DgaChartPoint, DgaChartType, DgaChatbotAnimation, DgaChatbotFabTone, DgaChatbotMessage, DgaChatbotPosition, DgaChatbotSize, DgaCheckboxSize, DgaChipVariant, DgaCommandAppearance, DgaCommandGroup, DgaCommandItem, DgaContentSwitcherItem, DgaContextMenuItem, DgaContextMenuItemType, DgaCurrency, DgaDescriptionItem, DgaDescriptionLayout, DgaDialogSize, DgaDividerOrientation, DgaDrawerSide, DgaDualNavCategory, DgaDualNavSection, DgaEmptyAppearance, DgaExportColumn, DgaExportData, DgaExportScope, DgaFeedbackSubmit, DgaFilterItem, DgaFooterAppearance, DgaFooterColumn, DgaFooterIconGroup, DgaFooterIconLink, DgaFooterLink, DgaFooterLogo, DgaFormControlSize, DgaFormStatus, DgaGridCols, DgaGridGap, DgaHeroAppearance, DgaHeroImageMask, DgaHeroOverlayTone, DgaHeroSlide, DgaHeroTransition, DgaIconBadgeAppearance, DgaIconBadgeSize, DgaIconName, DgaIconSize, DgaIconTone, DgaImagePopupAnimation, DgaImagePopupImage, DgaImagePopupImageTransition, DgaImagePopupSource, DgaInfoListItem, DgaInputSize, DgaLinkVariant, DgaLocalizedString, DgaMenuItem, DgaMetricAppearance, DgaMetricTrend, DgaModalAnimation, DgaModalSize, DgaMultiselectOption, DgaNativeSelectSize, DgaNavRailActiveStyle, DgaNavRailAppearance, DgaNavRailItem, DgaNavRailPosition, DgaNavRailSize, DgaPageFeedbackAgreementLink, DgaPageFeedbackAnswer, DgaPageFeedbackOption, DgaPageFeedbackPhase, DgaPageFeedbackSubmit, DgaPageHeroTone, DgaPageTransitionName, DgaPhoneCountry, DgaPhoneCountryName, DgaPreloaderPersist, DgaProgressAppearance, DgaProgressSize, DgaProgressTone, DgaRadioSize, DgaRatingSize, DgaRiyalAppearance, DgaRiyalSize, DgaRiyalTone, DgaSaudiCity, DgaScrollTopPosition, DgaSectionTone, DgaSectionWidth, DgaSelectOpenMode, DgaSelectOption, DgaSelectSize, DgaShareAppearance, DgaSideInfoItem, DgaSideNavGroup, DgaSideNavItem, DgaSkeletonAnimation, DgaSkeletonRadius, DgaSkeletonShape, DgaSkeletonSize, DgaSortDir, DgaSpinnerSize, DgaSpinnerTone, DgaStampNotice, DgaStep, DgaStepStatus, DgaSwitchSize, DgaTabItem, DgaTableColumn, DgaTableDensity, DgaTimeFormat, DgaTimePickerFormat, DgaTimePickerSize, DgaTimelineItem, DgaToastAnimation, DgaToastLocation, DgaToastRequest, DgaToastShowOptions, DgaToastVariant, DgaTocItem, DgaTooltipPlacement, DgaTooltipVariant, DgaTourPersist, DgaTourPlacement, DgaTourStep, DgaUploadAppearance, DgaUploadFile, DgaUploadRejectReason, DgaUploadRejection, DgaVideoProvider, DgaVideoRatio, DgaVideoSourceInfo, DgaWritingEffect };