@a.nemreen/dga-ui 0.3.12 → 0.3.14

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.
@@ -5,53 +5,6 @@ import { ControlValueAccessor } from '@angular/forms';
5
5
  export { ControlValueAccessor } from '@angular/forms';
6
6
  import * as _a_nemreen_dga_ui from '@a.nemreen/dga-ui';
7
7
 
8
- /** Creative named page transitions for `dga-page-transition`. */
9
- declare const DGA_PAGE_TRANSITION_NAMES: readonly ["fade-up", "slide-stack", "curtain-wipe", "zoom-blur", "book-flip", "circle-reveal", "shared-axis", "glitch", "iris-open", "split-reveal", "stagger-cascade", "liquid-swipe", "push-depth", "skew-slide", "bounce-in", "film-strip", "portal-warp", "ripple-expand", "origami-fold", "swipe-cards", "none"];
10
- type DgaPageTransitionName = (typeof DGA_PAGE_TRANSITION_NAMES)[number];
11
- /**
12
- * Easy page / content transition wrapper.
13
- *
14
- * ```html
15
- * <dga-page-transition name="fade-up">
16
- * <router-outlet />
17
- * </dga-page-transition>
18
- * ```
19
- *
20
- * Triggers: Angular `NavigationEnd`, or a change to `key` (playground / content swap).
21
- * Progressive enhancement: sets `view-transition-name: dga-page` so apps using
22
- * `withViewTransitions()` get named snapshot animations. Keyframe enter runs as fallback.
23
- * Honors `prefers-reduced-motion` and DGA a11y `reduce-motion`.
24
- */
25
- declare class DgaPageTransition {
26
- private readonly host;
27
- private readonly doc;
28
- private readonly destroyRef;
29
- private readonly router;
30
- /** Named creative transition. Unknown values resolve to `none`. */
31
- readonly name: _angular_core.InputSignal<string>;
32
- /** Duration in milliseconds (also drives `--dga-pt-ms`). */
33
- readonly duration: _angular_core.InputSignalWithTransform<number, unknown>;
34
- /** Skip all motion. */
35
- readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
36
- /**
37
- * Bump this to re-play the enter animation (content swaps / gallery playground).
38
- * For View Transition snapshots, wrap the key update in `document.startViewTransition`.
39
- */
40
- readonly key: _angular_core.InputSignal<string | number | null>;
41
- readonly phase: _angular_core.WritableSignal<"idle" | "enter">;
42
- readonly resolvedName: _angular_core.Signal<"fade-up" | "slide-stack" | "curtain-wipe" | "zoom-blur" | "book-flip" | "circle-reveal" | "shared-axis" | "glitch" | "iris-open" | "split-reveal" | "stagger-cascade" | "liquid-swipe" | "push-depth" | "skew-slide" | "bounce-in" | "film-strip" | "portal-warp" | "ripple-expand" | "origami-fold" | "swipe-cards" | "none">;
43
- readonly durationCss: _angular_core.Signal<string>;
44
- private htmlAttr;
45
- private keyPrimed;
46
- constructor();
47
- /** Re-trigger the enter animation (e.g. from a Play control). */
48
- play(): void;
49
- protected onAnimationEnd(event: AnimationEvent): void;
50
- private shouldReduceMotion;
51
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaPageTransition, never>;
52
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaPageTransition, "dga-page-transition", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "key": { "alias": "key"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
53
- }
54
-
55
8
  type DgaWritingEffect = 'typewriter' | 'glow';
56
9
  /**
57
10
  * Headline motion: typewriter reveal or soft glow / light sweep.
@@ -281,18 +234,12 @@ declare class DgaAvatar {
281
234
  }
282
235
 
283
236
  /**
284
- * Curated inline icons for `@a.nemreen/dga-ui` chrome (buttons, fields, menus, …).
285
- * SVGs are vendored at build time — no runtime `@platformscode/icons` dependency.
286
- *
287
- * Content / editorial icons: opt into `@a.nemreen/dga-tokens/styles/icon-font.css` and use
288
- * `<dga-icon glyph="search-01" />` (or `hgi-stroke hgi-{name}` classes).
289
- *
290
- * Regenerated by: node scripts/vendor-dga-icons.mjs
237
+ * Icon name union + RTL-flip set. Kept off the SVG registry so chrome
238
+ * components can import names without the full glyph map.
291
239
  */
292
- type DgaIconName = 'access' | 'check' | 'close' | 'info' | 'helpCircle' | 'warning' | 'alertCircle' | 'error' | 'eye' | 'eyeOff' | 'eyeOffSlash' | 'filter' | 'success' | 'checkCircle' | 'checkCircleAlt' | 'chevronDown' | 'chevronLeft' | 'chevronRight' | 'arrowUp' | 'arrowDown' | 'arrowLeft' | 'arrowRight' | 'arrowUp02' | 'arrowDown02' | 'arrowLeft02' | 'arrowRight02' | 'arrowNext' | 'arrowPrev' | 'arrowNext02' | 'arrowPrev02' | 'shrink' | 'search' | 'user' | 'users' | 'menu' | 'menuAlt' | 'moreHorizontal' | 'moreVertical' | 'mic' | 'home' | 'download' | 'upload' | 'calendar' | 'calendarAlt' | 'clock' | 'star' | 'starFilled' | 'plus' | 'plusSign' | 'minus' | 'external' | 'bell' | 'bellAlt' | 'lock' | 'lockPassword' | 'logout' | 'idCard' | 'link' | 'linkAlt' | 'globe' | 'moon' | 'moonAlt' | 'sun' | 'sunAlt' | 'translation' | 'mail' | 'message' | 'phone' | 'building' | 'share' | 'refresh' | 'highlighter' | 'door' | 'zoomIn' | 'zoomOut' | 'sort' | 'sortUp' | 'sortDown' | 'tradeUp' | 'tradeDown' | 'paintBoard' | 'cloud' | 'sunCloud' | 'moonCloud' | 'rain' | 'rainZap' | 'snow' | 'wind' | 'desert' | 'cart' | 'award' | 'cookie' | 'x' | 'linkedin' | 'whatsapp' | 'book' | 'headphones' | 'devices' | 'badgeCheck' | 'riyal' | 'copy' | 'location' | 'folder' | 'printer' | 'instagram' | 'smartphone' | 'ambulance' | 'police' | 'fire' | 'facebook' | 'youtube' | 'apple' | 'playStore' | 'huawei' | 'textFont' | 'glasses' | 'heading' | 'mask' | 'pause' | 'textAlign' | 'letterSpacing' | 'textUnderline' | 'maximize' | 'colors' | 'colorPicker' | 'droplet' | 'disability' | 'wheelchair' | 'brain' | 'flash' | 'touch';
293
- declare const DGA_ICON_SVG: Record<DgaIconName, string>;
294
- declare const DGA_ICON_NAMES: DgaIconName[];
295
- declare const DGA_LOGICAL_ICON_NAMES: Set<DgaIconName>;
240
+ declare const DGA_ICON_NAMES: readonly ["access", "check", "close", "info", "helpCircle", "warning", "alertCircle", "error", "eye", "eyeOff", "eyeOffSlash", "filter", "success", "checkCircle", "checkCircleAlt", "chevronDown", "chevronLeft", "chevronRight", "arrowUp", "arrowDown", "arrowLeft", "arrowRight", "arrowUp02", "arrowDown02", "arrowLeft02", "arrowRight02", "arrowNext", "arrowPrev", "arrowNext02", "arrowPrev02", "shrink", "search", "user", "users", "menu", "menuAlt", "moreHorizontal", "moreVertical", "mic", "home", "download", "upload", "calendar", "calendarAlt", "clock", "star", "starFilled", "plus", "plusSign", "minus", "external", "bell", "bellAlt", "lock", "lockPassword", "logout", "idCard", "link", "linkAlt", "globe", "moon", "moonAlt", "sun", "sunAlt", "translation", "mail", "message", "phone", "building", "share", "refresh", "highlighter", "door", "zoomIn", "zoomOut", "sort", "sortUp", "sortDown", "tradeUp", "tradeDown", "paintBoard", "cloud", "sunCloud", "moonCloud", "rain", "rainZap", "snow", "wind", "desert", "cart", "award", "cookie", "x", "linkedin", "whatsapp", "book", "headphones", "devices", "badgeCheck", "riyal", "copy", "location", "folder", "printer", "instagram", "smartphone", "ambulance", "police", "fire", "facebook", "youtube", "apple", "playStore", "huawei", "textFont", "glasses", "heading", "mask", "pause", "textAlign", "letterSpacing", "textUnderline", "maximize", "colors", "colorPicker", "droplet", "disability", "wheelchair", "brain", "flash", "touch"];
241
+ type DgaIconName = (typeof DGA_ICON_NAMES)[number];
242
+ declare const DGA_LOGICAL_ICON_NAMES: Set<"success" | "info" | "warning" | "error" | "access" | "check" | "close" | "helpCircle" | "alertCircle" | "eye" | "eyeOff" | "eyeOffSlash" | "filter" | "checkCircle" | "checkCircleAlt" | "chevronDown" | "chevronLeft" | "chevronRight" | "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowUp02" | "arrowDown02" | "arrowLeft02" | "arrowRight02" | "arrowNext" | "arrowPrev" | "arrowNext02" | "arrowPrev02" | "shrink" | "search" | "user" | "users" | "menu" | "menuAlt" | "moreHorizontal" | "moreVertical" | "mic" | "home" | "download" | "upload" | "calendar" | "calendarAlt" | "clock" | "star" | "starFilled" | "plus" | "plusSign" | "minus" | "external" | "bell" | "bellAlt" | "lock" | "lockPassword" | "logout" | "idCard" | "link" | "linkAlt" | "globe" | "moon" | "moonAlt" | "sun" | "sunAlt" | "translation" | "mail" | "message" | "phone" | "building" | "share" | "refresh" | "highlighter" | "door" | "zoomIn" | "zoomOut" | "sort" | "sortUp" | "sortDown" | "tradeUp" | "tradeDown" | "paintBoard" | "cloud" | "sunCloud" | "moonCloud" | "rain" | "rainZap" | "snow" | "wind" | "desert" | "cart" | "award" | "cookie" | "x" | "linkedin" | "whatsapp" | "book" | "headphones" | "devices" | "badgeCheck" | "riyal" | "copy" | "location" | "folder" | "printer" | "instagram" | "smartphone" | "ambulance" | "police" | "fire" | "facebook" | "youtube" | "apple" | "playStore" | "huawei" | "textFont" | "glasses" | "heading" | "mask" | "pause" | "textAlign" | "letterSpacing" | "textUnderline" | "maximize" | "colors" | "colorPicker" | "droplet" | "disability" | "wheelchair" | "brain" | "flash" | "touch">;
296
243
 
297
244
  /**
298
245
  * Platforms Code icon sizes (px):
@@ -306,11 +253,12 @@ type DgaIconTone = 'current' | 'primary' | 'muted' | 'success' | 'warning' | 'er
306
253
  declare class DgaIcon {
307
254
  private readonly sanitizer;
308
255
  private readonly iconFont;
256
+ private readonly extraIcons;
309
257
  /**
310
258
  * Curated inline SVG name for chrome / controls.
311
259
  * Required unless `glyph` is set.
312
260
  */
313
- readonly name: _angular_core.InputSignal<DgaIconName | undefined>;
261
+ readonly name: _angular_core.InputSignal<"success" | "info" | "warning" | "error" | "access" | "check" | "close" | "helpCircle" | "alertCircle" | "eye" | "eyeOff" | "eyeOffSlash" | "filter" | "checkCircle" | "checkCircleAlt" | "chevronDown" | "chevronLeft" | "chevronRight" | "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowUp02" | "arrowDown02" | "arrowLeft02" | "arrowRight02" | "arrowNext" | "arrowPrev" | "arrowNext02" | "arrowPrev02" | "shrink" | "search" | "user" | "users" | "menu" | "menuAlt" | "moreHorizontal" | "moreVertical" | "mic" | "home" | "download" | "upload" | "calendar" | "calendarAlt" | "clock" | "star" | "starFilled" | "plus" | "plusSign" | "minus" | "external" | "bell" | "bellAlt" | "lock" | "lockPassword" | "logout" | "idCard" | "link" | "linkAlt" | "globe" | "moon" | "moonAlt" | "sun" | "sunAlt" | "translation" | "mail" | "message" | "phone" | "building" | "share" | "refresh" | "highlighter" | "door" | "zoomIn" | "zoomOut" | "sort" | "sortUp" | "sortDown" | "tradeUp" | "tradeDown" | "paintBoard" | "cloud" | "sunCloud" | "moonCloud" | "rain" | "rainZap" | "snow" | "wind" | "desert" | "cart" | "award" | "cookie" | "x" | "linkedin" | "whatsapp" | "book" | "headphones" | "devices" | "badgeCheck" | "riyal" | "copy" | "location" | "folder" | "printer" | "instagram" | "smartphone" | "ambulance" | "police" | "fire" | "facebook" | "youtube" | "apple" | "playStore" | "huawei" | "textFont" | "glasses" | "heading" | "mask" | "pause" | "textAlign" | "letterSpacing" | "textUnderline" | "maximize" | "colors" | "colorPicker" | "droplet" | "disability" | "wheelchair" | "brain" | "flash" | "touch" | undefined>;
314
262
  /**
315
263
  * HugeIcons Stroke Rounded glyph id for content icons (e.g. `search-01`).
316
264
  * Requires `@import '@a.nemreen/dga-tokens/styles/icon-font.css'`.
@@ -409,9 +357,9 @@ declare class DgaFormControl {
409
357
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
410
358
  readonly filled: _angular_core.InputSignalWithTransform<boolean, unknown>;
411
359
  /** Built-in leading icon (logical start). */
412
- readonly startIcon: _angular_core.InputSignal<DgaIconName | null>;
360
+ readonly startIcon: _angular_core.InputSignal<"success" | "info" | "warning" | "error" | "access" | "check" | "close" | "helpCircle" | "alertCircle" | "eye" | "eyeOff" | "eyeOffSlash" | "filter" | "checkCircle" | "checkCircleAlt" | "chevronDown" | "chevronLeft" | "chevronRight" | "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowUp02" | "arrowDown02" | "arrowLeft02" | "arrowRight02" | "arrowNext" | "arrowPrev" | "arrowNext02" | "arrowPrev02" | "shrink" | "search" | "user" | "users" | "menu" | "menuAlt" | "moreHorizontal" | "moreVertical" | "mic" | "home" | "download" | "upload" | "calendar" | "calendarAlt" | "clock" | "star" | "starFilled" | "plus" | "plusSign" | "minus" | "external" | "bell" | "bellAlt" | "lock" | "lockPassword" | "logout" | "idCard" | "link" | "linkAlt" | "globe" | "moon" | "moonAlt" | "sun" | "sunAlt" | "translation" | "mail" | "message" | "phone" | "building" | "share" | "refresh" | "highlighter" | "door" | "zoomIn" | "zoomOut" | "sort" | "sortUp" | "sortDown" | "tradeUp" | "tradeDown" | "paintBoard" | "cloud" | "sunCloud" | "moonCloud" | "rain" | "rainZap" | "snow" | "wind" | "desert" | "cart" | "award" | "cookie" | "x" | "linkedin" | "whatsapp" | "book" | "headphones" | "devices" | "badgeCheck" | "riyal" | "copy" | "location" | "folder" | "printer" | "instagram" | "smartphone" | "ambulance" | "police" | "fire" | "facebook" | "youtube" | "apple" | "playStore" | "huawei" | "textFont" | "glasses" | "heading" | "mask" | "pause" | "textAlign" | "letterSpacing" | "textUnderline" | "maximize" | "colors" | "colorPicker" | "droplet" | "disability" | "wheelchair" | "brain" | "flash" | "touch" | null>;
413
361
  /** Built-in trailing icon (logical end). */
414
- readonly endIcon: _angular_core.InputSignal<DgaIconName | null>;
362
+ readonly endIcon: _angular_core.InputSignal<"success" | "info" | "warning" | "error" | "access" | "check" | "close" | "helpCircle" | "alertCircle" | "eye" | "eyeOff" | "eyeOffSlash" | "filter" | "checkCircle" | "checkCircleAlt" | "chevronDown" | "chevronLeft" | "chevronRight" | "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowUp02" | "arrowDown02" | "arrowLeft02" | "arrowRight02" | "arrowNext" | "arrowPrev" | "arrowNext02" | "arrowPrev02" | "shrink" | "search" | "user" | "users" | "menu" | "menuAlt" | "moreHorizontal" | "moreVertical" | "mic" | "home" | "download" | "upload" | "calendar" | "calendarAlt" | "clock" | "star" | "starFilled" | "plus" | "plusSign" | "minus" | "external" | "bell" | "bellAlt" | "lock" | "lockPassword" | "logout" | "idCard" | "link" | "linkAlt" | "globe" | "moon" | "moonAlt" | "sun" | "sunAlt" | "translation" | "mail" | "message" | "phone" | "building" | "share" | "refresh" | "highlighter" | "door" | "zoomIn" | "zoomOut" | "sort" | "sortUp" | "sortDown" | "tradeUp" | "tradeDown" | "paintBoard" | "cloud" | "sunCloud" | "moonCloud" | "rain" | "rainZap" | "snow" | "wind" | "desert" | "cart" | "award" | "cookie" | "x" | "linkedin" | "whatsapp" | "book" | "headphones" | "devices" | "badgeCheck" | "riyal" | "copy" | "location" | "folder" | "printer" | "instagram" | "smartphone" | "ambulance" | "police" | "fire" | "facebook" | "youtube" | "apple" | "playStore" | "huawei" | "textFont" | "glasses" | "heading" | "mask" | "pause" | "textAlign" | "letterSpacing" | "textUnderline" | "maximize" | "colors" | "colorPicker" | "droplet" | "disability" | "wheelchair" | "brain" | "flash" | "touch" | null>;
415
363
  private readonly focused;
416
364
  private readonly typing;
417
365
  readonly classes: _angular_core.Signal<string>;
@@ -1031,6 +979,8 @@ declare class DgaToast implements OnDestroy {
1031
979
  readonly leaving: _angular_core.WritableSignal<boolean>;
1032
980
  /** Remaining fraction of duration (1 → 0). */
1033
981
  readonly progress: _angular_core.WritableSignal<number>;
982
+ readonly pausedUi: _angular_core.WritableSignal<boolean>;
983
+ readonly ringEpoch: _angular_core.WritableSignal<number>;
1034
984
  readonly ringR = 10;
1035
985
  readonly ringC: number;
1036
986
  private remainingMs;
@@ -1038,6 +988,9 @@ declare class DgaToast implements OnDestroy {
1038
988
  private paused;
1039
989
  private hoverPaused;
1040
990
  private focusPaused;
991
+ private holdHoverPause;
992
+ private holdFocusPause;
993
+ private openSession;
1041
994
  private rafId;
1042
995
  private lastTick;
1043
996
  private exitTimer;
@@ -1048,19 +1001,19 @@ declare class DgaToast implements OnDestroy {
1048
1001
  /** Clear sticky announcement / reserved chrome, then a small gap. */
1049
1002
  readonly edgeTop: _angular_core.Signal<"calc(var(--dga-announcement-offset, 0px) + 1rem)" | null>;
1050
1003
  readonly edgeBottom: _angular_core.Signal<"1rem" | null>;
1051
- readonly iconName: _angular_core.Signal<DgaIconName>;
1052
- readonly iconTone: _angular_core.Signal<"error" | "success" | "warning" | "muted" | "current">;
1004
+ readonly iconName: _angular_core.Signal<"success" | "info" | "warning" | "error" | "access" | "check" | "close" | "helpCircle" | "alertCircle" | "eye" | "eyeOff" | "eyeOffSlash" | "filter" | "checkCircle" | "checkCircleAlt" | "chevronDown" | "chevronLeft" | "chevronRight" | "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowUp02" | "arrowDown02" | "arrowLeft02" | "arrowRight02" | "arrowNext" | "arrowPrev" | "arrowNext02" | "arrowPrev02" | "shrink" | "search" | "user" | "users" | "menu" | "menuAlt" | "moreHorizontal" | "moreVertical" | "mic" | "home" | "download" | "upload" | "calendar" | "calendarAlt" | "clock" | "star" | "starFilled" | "plus" | "plusSign" | "minus" | "external" | "bell" | "bellAlt" | "lock" | "lockPassword" | "logout" | "idCard" | "link" | "linkAlt" | "globe" | "moon" | "moonAlt" | "sun" | "sunAlt" | "translation" | "mail" | "message" | "phone" | "building" | "share" | "refresh" | "highlighter" | "door" | "zoomIn" | "zoomOut" | "sort" | "sortUp" | "sortDown" | "tradeUp" | "tradeDown" | "paintBoard" | "cloud" | "sunCloud" | "moonCloud" | "rain" | "rainZap" | "snow" | "wind" | "desert" | "cart" | "award" | "cookie" | "x" | "linkedin" | "whatsapp" | "book" | "headphones" | "devices" | "badgeCheck" | "riyal" | "copy" | "location" | "folder" | "printer" | "instagram" | "smartphone" | "ambulance" | "police" | "fire" | "facebook" | "youtube" | "apple" | "playStore" | "huawei" | "textFont" | "glasses" | "heading" | "mask" | "pause" | "textAlign" | "letterSpacing" | "textUnderline" | "maximize" | "colors" | "colorPicker" | "droplet" | "disability" | "wheelchair" | "brain" | "flash" | "touch">;
1005
+ readonly iconTone: _angular_core.Signal<"success" | "warning" | "error" | "muted" | "current">;
1053
1006
  readonly showCountdown: _angular_core.Signal<boolean>;
1054
1007
  readonly reduceMotion: _angular_core.WritableSignal<boolean>;
1055
- readonly ringDashOffset: _angular_core.Signal<number>;
1056
1008
  private readonly animClass;
1057
1009
  constructor();
1058
1010
  ngOnDestroy(): void;
1059
1011
  dismiss(): void;
1060
1012
  onAnimationEnd(event: AnimationEvent): void;
1013
+ onRingEnded(event: AnimationEvent): void;
1061
1014
  onPointerEnter(): void;
1062
1015
  onPointerLeave(): void;
1063
- onFocusIn(): void;
1016
+ onFocusIn(event: FocusEvent): void;
1064
1017
  onFocusOut(event: FocusEvent): void;
1065
1018
  private beginClose;
1066
1019
  private finishClose;
@@ -1126,6 +1079,7 @@ declare class DgaToastOutlet {
1126
1079
  private readonly toasts;
1127
1080
  private readonly destroyRef;
1128
1081
  readonly req: _angular_core.WritableSignal<_a_nemreen_dga_ui.DgaToastRequest | null>;
1082
+ readonly active: _angular_core.Signal<_a_nemreen_dga_ui.DgaToastRequest[]>;
1129
1083
  readonly closeLabel: string;
1130
1084
  constructor();
1131
1085
  onClosed(id: number): void;
@@ -1225,7 +1179,7 @@ declare class DgaMenu {
1225
1179
  readonly open: _angular_core.ModelSignal<boolean>;
1226
1180
  readonly triggerLabel: _angular_core.InputSignal<string>;
1227
1181
  /** Optional leading glyph (e.g. share on page heroes). */
1228
- readonly leadingIcon: _angular_core.InputSignal<DgaIconName | null>;
1182
+ readonly leadingIcon: _angular_core.InputSignal<"success" | "info" | "warning" | "error" | "access" | "check" | "close" | "helpCircle" | "alertCircle" | "eye" | "eyeOff" | "eyeOffSlash" | "filter" | "checkCircle" | "checkCircleAlt" | "chevronDown" | "chevronLeft" | "chevronRight" | "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowUp02" | "arrowDown02" | "arrowLeft02" | "arrowRight02" | "arrowNext" | "arrowPrev" | "arrowNext02" | "arrowPrev02" | "shrink" | "search" | "user" | "users" | "menu" | "menuAlt" | "moreHorizontal" | "moreVertical" | "mic" | "home" | "download" | "upload" | "calendar" | "calendarAlt" | "clock" | "star" | "starFilled" | "plus" | "plusSign" | "minus" | "external" | "bell" | "bellAlt" | "lock" | "lockPassword" | "logout" | "idCard" | "link" | "linkAlt" | "globe" | "moon" | "moonAlt" | "sun" | "sunAlt" | "translation" | "mail" | "message" | "phone" | "building" | "share" | "refresh" | "highlighter" | "door" | "zoomIn" | "zoomOut" | "sort" | "sortUp" | "sortDown" | "tradeUp" | "tradeDown" | "paintBoard" | "cloud" | "sunCloud" | "moonCloud" | "rain" | "rainZap" | "snow" | "wind" | "desert" | "cart" | "award" | "cookie" | "x" | "linkedin" | "whatsapp" | "book" | "headphones" | "devices" | "badgeCheck" | "riyal" | "copy" | "location" | "folder" | "printer" | "instagram" | "smartphone" | "ambulance" | "police" | "fire" | "facebook" | "youtube" | "apple" | "playStore" | "huawei" | "textFont" | "glasses" | "heading" | "mask" | "pause" | "textAlign" | "letterSpacing" | "textUnderline" | "maximize" | "colors" | "colorPicker" | "droplet" | "disability" | "wheelchair" | "brain" | "flash" | "touch" | null>;
1229
1183
  readonly showChevron: _angular_core.InputSignalWithTransform<boolean, unknown>;
1230
1184
  /** Minimum panel width (e.g. share menus). */
1231
1185
  readonly menuMinWidth: _angular_core.InputSignal<string>;
@@ -1680,8 +1634,8 @@ declare class DgaAlert {
1680
1634
  readonly textClasses: _angular_core.Signal<"flex flex-col gap-xs" | "min-w-0">;
1681
1635
  readonly titleClasses: _angular_core.Signal<string>;
1682
1636
  readonly descriptionClasses: _angular_core.Signal<string>;
1683
- readonly iconName: _angular_core.Signal<DgaIconName>;
1684
- readonly iconTone: _angular_core.Signal<"error" | "success" | "warning" | "muted" | "current">;
1637
+ readonly iconName: _angular_core.Signal<"success" | "info" | "warning" | "error" | "access" | "check" | "close" | "helpCircle" | "alertCircle" | "eye" | "eyeOff" | "eyeOffSlash" | "filter" | "checkCircle" | "checkCircleAlt" | "chevronDown" | "chevronLeft" | "chevronRight" | "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowUp02" | "arrowDown02" | "arrowLeft02" | "arrowRight02" | "arrowNext" | "arrowPrev" | "arrowNext02" | "arrowPrev02" | "shrink" | "search" | "user" | "users" | "menu" | "menuAlt" | "moreHorizontal" | "moreVertical" | "mic" | "home" | "download" | "upload" | "calendar" | "calendarAlt" | "clock" | "star" | "starFilled" | "plus" | "plusSign" | "minus" | "external" | "bell" | "bellAlt" | "lock" | "lockPassword" | "logout" | "idCard" | "link" | "linkAlt" | "globe" | "moon" | "moonAlt" | "sun" | "sunAlt" | "translation" | "mail" | "message" | "phone" | "building" | "share" | "refresh" | "highlighter" | "door" | "zoomIn" | "zoomOut" | "sort" | "sortUp" | "sortDown" | "tradeUp" | "tradeDown" | "paintBoard" | "cloud" | "sunCloud" | "moonCloud" | "rain" | "rainZap" | "snow" | "wind" | "desert" | "cart" | "award" | "cookie" | "x" | "linkedin" | "whatsapp" | "book" | "headphones" | "devices" | "badgeCheck" | "riyal" | "copy" | "location" | "folder" | "printer" | "instagram" | "smartphone" | "ambulance" | "police" | "fire" | "facebook" | "youtube" | "apple" | "playStore" | "huawei" | "textFont" | "glasses" | "heading" | "mask" | "pause" | "textAlign" | "letterSpacing" | "textUnderline" | "maximize" | "colors" | "colorPicker" | "droplet" | "disability" | "wheelchair" | "brain" | "flash" | "touch">;
1638
+ readonly iconTone: _angular_core.Signal<"success" | "warning" | "error" | "muted" | "current">;
1685
1639
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAlert, never>;
1686
1640
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaAlert, "dga-alert", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "shadow": { "alias": "shadow"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; }, { "dismissed": "dismissed"; }, never, ["*", "[dgaAlertActions]"], true, never>;
1687
1641
  }
@@ -1910,104 +1864,6 @@ declare class DgaShare {
1910
1864
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaShare, "dga-share", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "url": { "alias": "url"; "required": false; "isSignal": true; }; "shareTitle": { "alias": "shareTitle"; "required": false; "isSignal": true; }; "triggerLabel": { "alias": "triggerLabel"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; "buttonVariant": { "alias": "buttonVariant"; "required": false; "isSignal": true; }; "buttonSize": { "alias": "buttonSize"; "required": false; "isSignal": true; }; }, { "shared": "shared"; "linkCopied": "linkCopied"; }, never, never, true, never>;
1911
1865
  }
1912
1866
 
1913
- type DgaChatbotPosition = 'end' | 'start' | 'left' | 'right';
1914
- type DgaChatbotAnimation = 'fade' | 'slide' | 'scale' | 'none';
1915
- type DgaChatbotSize = 'sm' | 'md' | 'lg';
1916
- type DgaChatbotFabTone = 'primary' | 'secondary';
1917
- interface DgaChatbotMessage {
1918
- id: string;
1919
- role: 'bot' | 'user';
1920
- text: string;
1921
- }
1922
- /**
1923
- * Floating live-chat launcher + panel. Place once near the app root
1924
- * (beside `dga-scroll-top` / `dga-accessibility`).
1925
- *
1926
- * Use `stack` so FABs share one vertical dock:
1927
- * a11y `0` → chatbot `1` → scroll-top `2`.
1928
- */
1929
- declare class DgaChatbot {
1930
- private readonly destroyRef;
1931
- private readonly injector;
1932
- private readonly composerRef;
1933
- private readonly logRef;
1934
- /** Corner for FAB + panel. `end` / `start` follow reading direction. */
1935
- readonly position: _angular_core.InputSignal<DgaChatbotPosition>;
1936
- /** Panel enter animation. Honors `prefers-reduced-motion`. */
1937
- readonly animation: _angular_core.InputSignal<DgaChatbotAnimation>;
1938
- readonly size: _angular_core.InputSignal<DgaChatbotSize>;
1939
- readonly title: _angular_core.InputSignal<string>;
1940
- readonly subtitle: _angular_core.InputSignal<string>;
1941
- readonly fabLabel: _angular_core.InputSignal<string>;
1942
- readonly placeholder: _angular_core.InputSignal<string>;
1943
- readonly fabIcon: _angular_core.InputSignal<DgaIconName>;
1944
- /** Prefer a directional arrow so send ≠ chat bubble. */
1945
- readonly sendIcon: _angular_core.InputSignal<DgaIconName>;
1946
- readonly agentIcon: _angular_core.InputSignal<DgaIconName>;
1947
- readonly fabTone: _angular_core.InputSignal<DgaChatbotFabTone>;
1948
- /** Dim page behind the panel. */
1949
- readonly overlay: _angular_core.InputSignalWithTransform<boolean, unknown>;
1950
- /** Close when clicking the overlay. */
1951
- readonly overlayClose: _angular_core.InputSignalWithTransform<boolean, unknown>;
1952
- /** Green online dot on the agent avatar. */
1953
- readonly online: _angular_core.InputSignalWithTransform<boolean, unknown>;
1954
- /** Hide launcher while the panel is open (recommended). */
1955
- readonly hideFabWhenOpen: _angular_core.InputSignalWithTransform<boolean, unknown>;
1956
- /**
1957
- * 0-based slot in the shared FAB dock (bottom → top).
1958
- * Typical: a11y=0, chatbot=1, scroll-top=2.
1959
- */
1960
- readonly stack: _angular_core.InputSignalWithTransform<number, unknown>;
1961
- /**
1962
- * @deprecated Prefer `stack`. When true and `stack` is unset legacy path —
1963
- * kept for callers; `stack` wins.
1964
- */
1965
- readonly clearFab: _angular_core.InputSignalWithTransform<boolean, unknown>;
1966
- /**
1967
- * Anchor FAB/panel inside a relative parent (gallery / docs preview)
1968
- * instead of the viewport — avoids a second global FAB.
1969
- */
1970
- readonly embedded: _angular_core.InputSignalWithTransform<boolean, unknown>;
1971
- readonly initialMessages: _angular_core.InputSignal<readonly DgaChatbotMessage[]>;
1972
- readonly sent: _angular_core.OutputEmitterRef<string>;
1973
- readonly opened: _angular_core.OutputEmitterRef<void>;
1974
- readonly closed: _angular_core.OutputEmitterRef<void>;
1975
- readonly open: _angular_core.WritableSignal<boolean>;
1976
- readonly draft: _angular_core.WritableSignal<string>;
1977
- readonly messages: _angular_core.WritableSignal<DgaChatbotMessage[]>;
1978
- private readonly seq;
1979
- readonly panelId: string;
1980
- private msgSeq;
1981
- private seeded;
1982
- private prevOverflow;
1983
- readonly copy: _angular_core.Signal<{
1984
- title: string;
1985
- subtitle: string;
1986
- open: string;
1987
- close: string;
1988
- send: string;
1989
- input: string;
1990
- placeholder: string;
1991
- panelLabel: string;
1992
- welcome: string;
1993
- }>;
1994
- readonly fabBottom: _angular_core.Signal<string>;
1995
- readonly fabClasses: _angular_core.Signal<string>;
1996
- readonly panelClasses: _angular_core.Signal<string>;
1997
- constructor();
1998
- private ensureSeed;
1999
- toggle(): void;
2000
- show(): void;
2001
- close(): void;
2002
- onBackdrop(): void;
2003
- onSubmit(event: Event): void;
2004
- private scrollLogToEnd;
2005
- private lockScroll;
2006
- private unlockScroll;
2007
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaChatbot, never>;
2008
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaChatbot, "dga-chatbot", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "fabLabel": { "alias": "fabLabel"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "fabIcon": { "alias": "fabIcon"; "required": false; "isSignal": true; }; "sendIcon": { "alias": "sendIcon"; "required": false; "isSignal": true; }; "agentIcon": { "alias": "agentIcon"; "required": false; "isSignal": true; }; "fabTone": { "alias": "fabTone"; "required": false; "isSignal": true; }; "overlay": { "alias": "overlay"; "required": false; "isSignal": true; }; "overlayClose": { "alias": "overlayClose"; "required": false; "isSignal": true; }; "online": { "alias": "online"; "required": false; "isSignal": true; }; "hideFabWhenOpen": { "alias": "hideFabWhenOpen"; "required": false; "isSignal": true; }; "stack": { "alias": "stack"; "required": false; "isSignal": true; }; "clearFab": { "alias": "clearFab"; "required": false; "isSignal": true; }; "embedded": { "alias": "embedded"; "required": false; "isSignal": true; }; "initialMessages": { "alias": "initialMessages"; "required": false; "isSignal": true; }; }, { "sent": "sent"; "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
2009
- }
2010
-
2011
1867
  /**
2012
1868
  * Visually hidden until focused — first tab stop for keyboard users.
2013
1869
  * Place near the top of the document; `href` should target main content id.
@@ -2562,7 +2418,7 @@ declare class DgaCard {
2562
2418
  /** Clamp description lines (0 = no clamp). */
2563
2419
  readonly descriptionClamp: _angular_core.InputSignal<number>;
2564
2420
  /** Featured logo icon (renders `dga-icon-badge` unless `[dgaCardLead]` is projected). */
2565
- readonly icon: _angular_core.InputSignal<DgaIconName | null>;
2421
+ readonly icon: _angular_core.InputSignal<"success" | "info" | "warning" | "error" | "access" | "check" | "close" | "helpCircle" | "alertCircle" | "eye" | "eyeOff" | "eyeOffSlash" | "filter" | "checkCircle" | "checkCircleAlt" | "chevronDown" | "chevronLeft" | "chevronRight" | "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowUp02" | "arrowDown02" | "arrowLeft02" | "arrowRight02" | "arrowNext" | "arrowPrev" | "arrowNext02" | "arrowPrev02" | "shrink" | "search" | "user" | "users" | "menu" | "menuAlt" | "moreHorizontal" | "moreVertical" | "mic" | "home" | "download" | "upload" | "calendar" | "calendarAlt" | "clock" | "star" | "starFilled" | "plus" | "plusSign" | "minus" | "external" | "bell" | "bellAlt" | "lock" | "lockPassword" | "logout" | "idCard" | "link" | "linkAlt" | "globe" | "moon" | "moonAlt" | "sun" | "sunAlt" | "translation" | "mail" | "message" | "phone" | "building" | "share" | "refresh" | "highlighter" | "door" | "zoomIn" | "zoomOut" | "sort" | "sortUp" | "sortDown" | "tradeUp" | "tradeDown" | "paintBoard" | "cloud" | "sunCloud" | "moonCloud" | "rain" | "rainZap" | "snow" | "wind" | "desert" | "cart" | "award" | "cookie" | "x" | "linkedin" | "whatsapp" | "book" | "headphones" | "devices" | "badgeCheck" | "riyal" | "copy" | "location" | "folder" | "printer" | "instagram" | "smartphone" | "ambulance" | "police" | "fire" | "facebook" | "youtube" | "apple" | "playStore" | "huawei" | "textFont" | "glasses" | "heading" | "mask" | "pause" | "textAlign" | "letterSpacing" | "textUnderline" | "maximize" | "colors" | "colorPicker" | "droplet" | "disability" | "wheelchair" | "brain" | "flash" | "touch" | null>;
2566
2422
  readonly iconSize: _angular_core.InputSignal<DgaIconBadgeSize>;
2567
2423
  readonly iconAppearance: _angular_core.InputSignal<DgaIconBadgeAppearance>;
2568
2424
  readonly badges: _angular_core.InputSignal<DgaCardBadge[]>;
@@ -2910,7 +2766,7 @@ declare class DgaFooter {
2910
2766
  readonly logos: _angular_core.InputSignal<DgaFooterLogo[]>;
2911
2767
  readonly copyright: _angular_core.InputSignal<string>;
2912
2768
  readonly meta: _angular_core.InputSignal<string>;
2913
- /** `brand` = portal shell footer (green #074D31 in light, dark chrome in dark). */
2769
+ /** `brand` = portal shell footer (brand color in light, dark chrome in dark). */
2914
2770
  readonly appearance: _angular_core.InputSignal<DgaFooterAppearance>;
2915
2771
  readonly navLabel: _angular_core.InputSignal<string>;
2916
2772
  readonly ariaLabel: _angular_core.InputSignal<string>;
@@ -2966,6 +2822,8 @@ interface DgaHeroSlide {
2966
2822
  }
2967
2823
  declare class DgaHero {
2968
2824
  private readonly destroyRef;
2825
+ private readonly host;
2826
+ private readonly swipe;
2969
2827
  private autoplayTimer;
2970
2828
  private readonly autoplayPaused;
2971
2829
  /** Skip CSS transitions on first layout so slides don't animate in like a locale wipe. */
@@ -3048,6 +2906,11 @@ declare class DgaHero {
3048
2906
  goSlide(i: number): void;
3049
2907
  nextSlide(): void;
3050
2908
  prevSlide(): void;
2909
+ onPointerDown(event: PointerEvent): void;
2910
+ onPointerMove(event: PointerEvent): void;
2911
+ onPointerUp(event: PointerEvent): void;
2912
+ onPointerCancel(event: PointerEvent): void;
2913
+ private isRtl;
3051
2914
  pauseAutoplay(): void;
3052
2915
  resumeAutoplay(): void;
3053
2916
  onPrimary(index?: number): void;
@@ -3104,7 +2967,7 @@ declare class DgaAnnouncementBar {
3104
2967
  readonly align: _angular_core.InputSignal<DgaAnnouncementAlign>;
3105
2968
  readonly actionVariant: _angular_core.InputSignal<DgaAnnouncementActionVariant>;
3106
2969
  readonly elevation: _angular_core.InputSignal<DgaAnnouncementElevation>;
3107
- readonly icon: _angular_core.InputSignal<DgaIconName | null>;
2970
+ readonly icon: _angular_core.InputSignal<"success" | "info" | "warning" | "error" | "access" | "check" | "close" | "helpCircle" | "alertCircle" | "eye" | "eyeOff" | "eyeOffSlash" | "filter" | "checkCircle" | "checkCircleAlt" | "chevronDown" | "chevronLeft" | "chevronRight" | "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowUp02" | "arrowDown02" | "arrowLeft02" | "arrowRight02" | "arrowNext" | "arrowPrev" | "arrowNext02" | "arrowPrev02" | "shrink" | "search" | "user" | "users" | "menu" | "menuAlt" | "moreHorizontal" | "moreVertical" | "mic" | "home" | "download" | "upload" | "calendar" | "calendarAlt" | "clock" | "star" | "starFilled" | "plus" | "plusSign" | "minus" | "external" | "bell" | "bellAlt" | "lock" | "lockPassword" | "logout" | "idCard" | "link" | "linkAlt" | "globe" | "moon" | "moonAlt" | "sun" | "sunAlt" | "translation" | "mail" | "message" | "phone" | "building" | "share" | "refresh" | "highlighter" | "door" | "zoomIn" | "zoomOut" | "sort" | "sortUp" | "sortDown" | "tradeUp" | "tradeDown" | "paintBoard" | "cloud" | "sunCloud" | "moonCloud" | "rain" | "rainZap" | "snow" | "wind" | "desert" | "cart" | "award" | "cookie" | "x" | "linkedin" | "whatsapp" | "book" | "headphones" | "devices" | "badgeCheck" | "riyal" | "copy" | "location" | "folder" | "printer" | "instagram" | "smartphone" | "ambulance" | "police" | "fire" | "facebook" | "youtube" | "apple" | "playStore" | "huawei" | "textFont" | "glasses" | "heading" | "mask" | "pause" | "textAlign" | "letterSpacing" | "textUnderline" | "maximize" | "colors" | "colorPicker" | "droplet" | "disability" | "wheelchair" | "brain" | "flash" | "touch" | null>;
3108
2971
  readonly dismissible: _angular_core.InputSignalWithTransform<boolean, unknown>;
3109
2972
  readonly dismissLabel: _angular_core.InputSignal<string>;
3110
2973
  readonly actionLabel: _angular_core.InputSignal<string>;
@@ -3652,6 +3515,8 @@ declare class DgaCarouselSlideDirective {
3652
3515
  declare class DgaCarousel {
3653
3516
  private readonly destroyRef;
3654
3517
  private readonly host;
3518
+ private readonly swipe;
3519
+ private drag;
3655
3520
  private readonly track;
3656
3521
  private readonly projected;
3657
3522
  /** Simple title/body slides (gallery). When non-empty, enables simple mode. */
@@ -3702,6 +3567,13 @@ declare class DgaCarousel {
3702
3567
  prevPage(): void;
3703
3568
  nextPage(): void;
3704
3569
  onTrackScroll(): void;
3570
+ onSimplePointerDown(event: PointerEvent): void;
3571
+ onSimplePointerMove(event: PointerEvent): void;
3572
+ onSimplePointerUp(event: PointerEvent): void;
3573
+ onSimplePointerCancel(event: PointerEvent): void;
3574
+ onTrackPointerDown(event: PointerEvent): void;
3575
+ onTrackPointerMove(event: PointerEvent): void;
3576
+ onTrackPointerUp(event: PointerEvent): void;
3705
3577
  private refreshMetrics;
3706
3578
  private resolvePerView;
3707
3579
  private pageScrollAmount;
@@ -3713,176 +3585,6 @@ declare class DgaCarousel {
3713
3585
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaCarousel, "dga-carousel", never, { "slides": { "alias": "slides"; "required": false; "isSignal": true; }; "index": { "alias": "index"; "required": false; "isSignal": true; }; "slidesMax": { "alias": "slidesMax"; "required": false; "isSignal": true; }; "slidesMid": { "alias": "slidesMid"; "required": false; "isSignal": true; }; "slidesMin": { "alias": "slidesMin"; "required": false; "isSignal": true; }; "peek": { "alias": "peek"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "prevLabel": { "alias": "prevLabel"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "dotsLabel": { "alias": "dotsLabel"; "required": false; "isSignal": true; }; "emptyLabel": { "alias": "emptyLabel"; "required": false; "isSignal": true; }; }, { "index": "indexChange"; }, ["projected"], ["*"], true, never>;
3714
3586
  }
3715
3587
 
3716
- type DgaChartType = 'bar' | 'line' | 'pie' | 'donut';
3717
- /** Backward-compatible single-series point: `{ label, value }`. */
3718
- interface DgaChartPoint {
3719
- label: string;
3720
- value: number;
3721
- }
3722
- /** Multi-series data: one named series of values, aligned with `labels()`. */
3723
- interface DgaChartDataset {
3724
- name: string;
3725
- data: number[];
3726
- }
3727
- interface DgaChartBarSlot {
3728
- seriesIndex: number;
3729
- categoryIndex: number;
3730
- x: number;
3731
- y: number;
3732
- w: number;
3733
- h: number;
3734
- value: number;
3735
- color: string;
3736
- name: string;
3737
- category: string;
3738
- }
3739
- interface DgaChartLinePoint {
3740
- x: number;
3741
- y: number;
3742
- value: number;
3743
- category: string;
3744
- }
3745
- interface DgaChartLine {
3746
- name: string;
3747
- color: string;
3748
- points: DgaChartLinePoint[];
3749
- linePath: string;
3750
- areaPath: string;
3751
- }
3752
- interface DgaChartLegendItem {
3753
- name: string;
3754
- color: string;
3755
- value: number | null;
3756
- }
3757
- interface DgaChartTooltip {
3758
- x: number;
3759
- y: number;
3760
- title: string;
3761
- items: {
3762
- name: string;
3763
- color: string;
3764
- value: number;
3765
- }[];
3766
- }
3767
- declare class DgaChart {
3768
- readonly type: _angular_core.InputSignal<DgaChartType>;
3769
- /** BC single-series input: `[{ label, value }]`. */
3770
- readonly series: _angular_core.InputSignal<DgaChartPoint[]>;
3771
- /** Category names shared by all `datasets()`. */
3772
- readonly labels: _angular_core.InputSignal<string[]>;
3773
- /** Preferred multi-series input for bar/line. */
3774
- readonly datasets: _angular_core.InputSignal<DgaChartDataset[]>;
3775
- /** Shown for pie/donut and multi-series bar/line. Set `false` to force-hide. */
3776
- readonly legend: _angular_core.InputSignalWithTransform<boolean, unknown>;
3777
- readonly tooltip: _angular_core.InputSignalWithTransform<boolean, unknown>;
3778
- readonly grid: _angular_core.InputSignalWithTransform<boolean, unknown>;
3779
- readonly stacked: _angular_core.InputSignalWithTransform<boolean, unknown>;
3780
- readonly smooth: _angular_core.InputSignalWithTransform<boolean, unknown>;
3781
- readonly area: _angular_core.InputSignalWithTransform<boolean, unknown>;
3782
- readonly dots: _angular_core.InputSignalWithTransform<boolean, unknown>;
3783
- /** Overrides the `--dga-chart-color-1..6` token cycle. */
3784
- readonly colors: _angular_core.InputSignal<string[]>;
3785
- /** Label for the value row in pie/donut tooltips. Default: `'القيمة'`. */
3786
- readonly tooltipValueLabel: _angular_core.InputSignal<string>;
3787
- readonly height: _angular_core.InputSignal<number>;
3788
- readonly label: _angular_core.InputSignal<string>;
3789
- /** Fixed drawing width; scales via CSS `w-full`. */
3790
- readonly width = 400;
3791
- readonly pieSize = 180;
3792
- readonly pad: {
3793
- t: number;
3794
- r: number;
3795
- b: number;
3796
- l: number;
3797
- };
3798
- private readonly hiddenNames;
3799
- readonly hiddenSeries: _angular_core.Signal<Set<string>>;
3800
- readonly hoveredCategoryIndex: _angular_core.WritableSignal<number | null>;
3801
- readonly hoveredSlice: _angular_core.WritableSignal<{
3802
- index: number;
3803
- label: string;
3804
- value: number;
3805
- } | null>;
3806
- readonly isPieType: _angular_core.Signal<boolean>;
3807
- /** Category labels: explicit `labels()`, else derived from `datasets()` length, else BC `series()` labels. */
3808
- readonly categories: _angular_core.Signal<string[]>;
3809
- /** Normalized series: `datasets()` when present, else one series built from BC `series()`. */
3810
- readonly seriesList: _angular_core.Signal<DgaChartDataset[]>;
3811
- readonly visibleSeriesList: _angular_core.Signal<DgaChartDataset[]>;
3812
- /** Points feeding pie/donut: BC `series()`, else first dataset paired with `labels()`. */
3813
- readonly piePoints: _angular_core.Signal<DgaChartPoint[]>;
3814
- readonly visiblePiePoints: _angular_core.Signal<DgaChartPoint[]>;
3815
- readonly showLegend: _angular_core.Signal<boolean>;
3816
- readonly legendItems: _angular_core.Signal<DgaChartLegendItem[]>;
3817
- colorFor(index: number): string;
3818
- toggleSeries(name: string): void;
3819
- readonly ariaLabel: _angular_core.Signal<string>;
3820
- readonly plot: _angular_core.Signal<{
3821
- x: number;
3822
- y: number;
3823
- w: number;
3824
- h: number;
3825
- }>;
3826
- readonly gridYs: _angular_core.Signal<number[]>;
3827
- readonly maxValue: _angular_core.Signal<number>;
3828
- /** Layout for one group (category) slot shared by bars and the hover hit-rect. */
3829
- private readonly groupLayout;
3830
- readonly categoryTicks: _angular_core.Signal<{
3831
- index: number;
3832
- category: string;
3833
- x: number;
3834
- hitX: number;
3835
- hitW: number;
3836
- }[]>;
3837
- readonly bars: _angular_core.Signal<DgaChartBarSlot[]>;
3838
- readonly visibleLines: _angular_core.Signal<DgaChartLine[]>;
3839
- private straightPathD;
3840
- /** Piecewise cubic Bezier through the points (Catmull-Rom style tangents). */
3841
- private smoothPathD;
3842
- private areaPathD;
3843
- readonly pieSlices: _angular_core.Signal<{
3844
- index: number;
3845
- label: string;
3846
- value: number;
3847
- color: string;
3848
- d: string;
3849
- midX: number;
3850
- midY: number;
3851
- }[]>;
3852
- onCategoryEnter(index: number): void;
3853
- onCategoryLeave(): void;
3854
- onSliceEnter(index: number, slice: {
3855
- label: string;
3856
- value: number;
3857
- }): void;
3858
- onSliceLeave(): void;
3859
- categoryAriaLabel(index: number): string;
3860
- readonly categoryTooltip: _angular_core.Signal<DgaChartTooltip | null>;
3861
- readonly sliceTooltip: _angular_core.Signal<DgaChartTooltip | null>;
3862
- formatValue(value: number): string;
3863
- pieTooltipStyle(tip: DgaChartTooltip): Record<string, string>;
3864
- plotTooltipStyle(tip: DgaChartTooltip): Record<string, string>;
3865
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaChart, never>;
3866
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaChart, "dga-chart", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "series": { "alias": "series"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "datasets": { "alias": "datasets"; "required": false; "isSignal": true; }; "legend": { "alias": "legend"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "grid": { "alias": "grid"; "required": false; "isSignal": true; }; "stacked": { "alias": "stacked"; "required": false; "isSignal": true; }; "smooth": { "alias": "smooth"; "required": false; "isSignal": true; }; "area": { "alias": "area"; "required": false; "isSignal": true; }; "dots": { "alias": "dots"; "required": false; "isSignal": true; }; "colors": { "alias": "colors"; "required": false; "isSignal": true; }; "tooltipValueLabel": { "alias": "tooltipValueLabel"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3867
- }
3868
-
3869
- interface DgaSaudiCity {
3870
- id: number;
3871
- region: string;
3872
- regionAr: string;
3873
- name: string;
3874
- nameAr: string;
3875
- }
3876
- /** Bilingual Saudi cities across all 13 administrative regions. */
3877
- declare const DGA_SAUDI_CITIES: readonly DgaSaudiCity[];
3878
- /** Group cities by English region name. */
3879
- declare function dgaGroupSaudiCitiesByRegion(cities?: readonly DgaSaudiCity[]): Record<string, DgaSaudiCity[]>;
3880
- /** Autocomplete-ready options (Arabic labels by default). */
3881
- declare function dgaSaudiCityOptions(locale?: string, cities?: readonly DgaSaudiCity[]): {
3882
- label: string;
3883
- value: string;
3884
- }[];
3885
-
3886
3588
  declare function dgaResolveAppHref(href: string, baseHref?: string): string;
3887
3589
  /**
3888
3590
  * Safe href for config-driven links (CMS / schema).
@@ -3895,5 +3597,5 @@ declare function dgaSafeCssColor(value: string | null | undefined, fallback?: st
3895
3597
  /** Join truthy class names. */
3896
3598
  declare function dgaCx(...parts: Array<string | false | null | undefined>): string;
3897
3599
 
3898
- 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 };
3899
- 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 };
3600
+ export { DGA_ICON_NAMES, DGA_LOGICAL_ICON_NAMES, DGA_PHONE_COUNTRIES, DGA_RIYAL_SVG_PATH, DGA_RIYAL_VIEWBOX, DgaAccordion, DgaAccordionItem, DgaAlert, DgaAnnouncementBar, DgaAppShell, DgaAuthCard, DgaAutocomplete, DgaAvatar, DgaBadge, DgaBreadcrumb, DgaButton, DgaCard, DgaCardMedia, DgaCarousel, DgaCarouselSlideDirective, 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, 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, dgaIsArabic, dgaIsRtl, dgaNormalizeTime, dgaProvideValueAccessor, dgaResolveAppHref, dgaResolveLocalized, dgaResolveVideoSource, dgaSafeCssColor, dgaSafeHref, dgaUiLocale };
3601
+ 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, 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, DgaPhoneCountry, DgaPhoneCountryName, DgaPreloaderPersist, DgaProgressAppearance, DgaProgressSize, DgaProgressTone, DgaRadioSize, DgaRatingSize, DgaRiyalAppearance, DgaRiyalSize, DgaRiyalTone, 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 };