@a.nemreen/dga-ui 0.3.1 → 0.3.2
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/README.md +18 -6
- package/fesm2022/a.nemreen-dga-ui-cookies.mjs +305 -0
- package/fesm2022/a.nemreen-dga-ui-date-picker.mjs +387 -0
- package/fesm2022/a.nemreen-dga-ui-header.mjs +2483 -0
- package/fesm2022/a.nemreen-dga-ui.mjs +850 -4420
- package/package.json +20 -4
- package/types/a.nemreen-dga-ui-cookies.d.ts +201 -0
- package/types/a.nemreen-dga-ui-date-picker.d.ts +207 -0
- package/types/a.nemreen-dga-ui-header.d.ts +367 -0
- package/types/a.nemreen-dga-ui.d.ts +212 -1007
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { Type, Provider, OnDestroy, OnInit } from '@angular/core';
|
|
3
|
-
import { SafeHtml } from '@angular/platform-browser';
|
|
3
|
+
import { SafeHtml, SafeResourceUrl } from '@angular/platform-browser';
|
|
4
4
|
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';
|
|
@@ -26,7 +26,6 @@ declare class DgaPageTransition {
|
|
|
26
26
|
private readonly host;
|
|
27
27
|
private readonly doc;
|
|
28
28
|
private readonly destroyRef;
|
|
29
|
-
private readonly a11y;
|
|
30
29
|
private readonly router;
|
|
31
30
|
/** Named creative transition. Unknown values resolve to `none`. */
|
|
32
31
|
readonly name: _angular_core.InputSignal<string>;
|
|
@@ -40,7 +39,7 @@ declare class DgaPageTransition {
|
|
|
40
39
|
*/
|
|
41
40
|
readonly key: _angular_core.InputSignal<string | number | null>;
|
|
42
41
|
readonly phase: _angular_core.WritableSignal<"idle" | "enter">;
|
|
43
|
-
readonly resolvedName: _angular_core.Signal<"
|
|
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">;
|
|
44
43
|
readonly durationCss: _angular_core.Signal<string>;
|
|
45
44
|
private htmlAttr;
|
|
46
45
|
private keyPrimed;
|
|
@@ -53,6 +52,46 @@ declare class DgaPageTransition {
|
|
|
53
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>;
|
|
54
53
|
}
|
|
55
54
|
|
|
55
|
+
type DgaWritingEffect = 'typewriter' | 'glow';
|
|
56
|
+
/**
|
|
57
|
+
* Headline motion: typewriter reveal or soft glow / light sweep.
|
|
58
|
+
*
|
|
59
|
+
* ```html
|
|
60
|
+
* <dga-writing text="Hello world" effect="glow" />
|
|
61
|
+
* <dga-writing text="Hello world" [speed]="28" cursor />
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* Honors `prefers-reduced-motion` and DGA a11y `reduce-motion`.
|
|
65
|
+
*/
|
|
66
|
+
declare class DgaWriting {
|
|
67
|
+
private readonly doc;
|
|
68
|
+
private readonly destroyRef;
|
|
69
|
+
/** Full string to type / glow. */
|
|
70
|
+
readonly text: _angular_core.InputSignal<string>;
|
|
71
|
+
/** `typewriter` (default) or soft light sweep `glow`. */
|
|
72
|
+
readonly effect: _angular_core.InputSignal<DgaWritingEffect>;
|
|
73
|
+
/** Milliseconds per character (typewriter only). */
|
|
74
|
+
readonly speed: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
75
|
+
/** Delay before the first character (typewriter only). */
|
|
76
|
+
readonly delay: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
77
|
+
/** Blinking caret while typing (typewriter only). */
|
|
78
|
+
readonly cursor: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
79
|
+
/** Skip motion entirely. */
|
|
80
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
81
|
+
readonly displayed: _angular_core.WritableSignal<string>;
|
|
82
|
+
readonly phase: _angular_core.WritableSignal<"idle" | "writing" | "done">;
|
|
83
|
+
private timer;
|
|
84
|
+
private charIndex;
|
|
85
|
+
readonly showCursor: _angular_core.Signal<boolean>;
|
|
86
|
+
constructor();
|
|
87
|
+
private start;
|
|
88
|
+
private tick;
|
|
89
|
+
private clearTimer;
|
|
90
|
+
private shouldReduceMotion;
|
|
91
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaWriting, never>;
|
|
92
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaWriting, "dga-writing", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "effect": { "alias": "effect"; "required": false; "isSignal": true; }; "speed": { "alias": "speed"; "required": false; "isSignal": true; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; "cursor": { "alias": "cursor"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
93
|
+
}
|
|
94
|
+
|
|
56
95
|
type DgaButtonVariant = 'primary' | 'secondary' | 'subtle' | 'outline' | 'outlineMuted' | 'outlineInverse' | 'ghost' | 'danger' | 'inverse';
|
|
57
96
|
type DgaButtonSize = 'sm' | 'md' | 'lg';
|
|
58
97
|
declare class DgaButton {
|
|
@@ -236,14 +275,18 @@ declare class DgaAvatar {
|
|
|
236
275
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaAvatar, "dga-avatar", never, { "src": { "alias": "src"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
237
276
|
}
|
|
238
277
|
|
|
278
|
+
/**
|
|
279
|
+
* Curated inline icons for `@a.nemreen/dga-ui` chrome (buttons, fields, menus, …).
|
|
280
|
+
* SVGs are vendored at build time — no runtime `@platformscode/icons` dependency.
|
|
281
|
+
*
|
|
282
|
+
* Content / editorial icons: opt into `@a.nemreen/dga-tokens/styles/icon-font.css` and use
|
|
283
|
+
* `<dga-icon glyph="search-01" />` (or `hgi-stroke hgi-{name}` classes).
|
|
284
|
+
*
|
|
285
|
+
* Regenerated by: node scripts/vendor-dga-icons.mjs
|
|
286
|
+
*/
|
|
239
287
|
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';
|
|
240
|
-
/** Decode `@platformscode/icons` data-URI exports into inline SVG markup. */
|
|
241
|
-
declare function decodePlatformscodeSvg(dataUri: string): string;
|
|
242
|
-
/** Pre-decoded SVG markup keyed by friendly `DgaIconName`. */
|
|
243
288
|
declare const DGA_ICON_SVG: Record<DgaIconName, string>;
|
|
244
|
-
/** Sorted list of curated chrome icon names (for docs / pickers). */
|
|
245
289
|
declare const DGA_ICON_NAMES: DgaIconName[];
|
|
246
|
-
/** Names that mirror with reading direction (use for next/back affordances). */
|
|
247
290
|
declare const DGA_LOGICAL_ICON_NAMES: Set<DgaIconName>;
|
|
248
291
|
|
|
249
292
|
/**
|
|
@@ -315,6 +358,7 @@ declare class DgaIconBadge {
|
|
|
315
358
|
type DgaFormStatus = 'default' | 'error' | 'success' | 'warning' | 'info';
|
|
316
359
|
/** Shared size scale — sm≈32px, md≈40px, lg=48px. */
|
|
317
360
|
type DgaFormControlSize = 'sm' | 'md' | 'lg';
|
|
361
|
+
declare function dgaFormStatusFromInvalid(invalid: boolean): DgaFormStatus;
|
|
318
362
|
|
|
319
363
|
type DgaInputSize = DgaFormControlSize;
|
|
320
364
|
|
|
@@ -802,208 +846,6 @@ declare class DgaMultiselect {
|
|
|
802
846
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaMultiselect, "dga-multiselect", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "dgaInvalid"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
803
847
|
}
|
|
804
848
|
|
|
805
|
-
/** Calendar system for date values and the picker UI. */
|
|
806
|
-
type DgaDateCalendar = 'gregorian' | 'hijri';
|
|
807
|
-
/** Picker UI mode — inferred from `format` tokens when not set explicitly. */
|
|
808
|
-
type DgaDatePickerMode = 'day' | 'month' | 'year';
|
|
809
|
-
type DgaDateLocale = 'ar' | 'en';
|
|
810
|
-
interface DgaCalendarParts {
|
|
811
|
-
year: number;
|
|
812
|
-
month: number;
|
|
813
|
-
day: number;
|
|
814
|
-
}
|
|
815
|
-
declare const DGA_HIJRI_MONTHS: {
|
|
816
|
-
readonly ar: readonly ["محرم", "صفر", "ربيع الأول", "ربيع الثاني", "جمادى الأولى", "جمادى الآخرة", "رجب", "شعبان", "رمضان", "شوال", "ذو القعدة", "ذو الحجة"];
|
|
817
|
-
readonly en: readonly ["Muharram", "Safar", "Rabi I", "Rabi II", "Jumada I", "Jumada II", "Rajab", "Sha'ban", "Ramadan", "Shawwal", "Dhu al-Qi'dah", "Dhu al-Hijjah"];
|
|
818
|
-
};
|
|
819
|
-
declare const DGA_GREGORIAN_MONTHS: {
|
|
820
|
-
readonly ar: readonly ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"];
|
|
821
|
-
readonly en: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
|
|
822
|
-
};
|
|
823
|
-
declare const DGA_WEEKDAYS: {
|
|
824
|
-
readonly ar: readonly ["أحد", "إثن", "ثلا", "أرب", "خمي", "جمع", "سبت"];
|
|
825
|
-
readonly en: readonly ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
|
|
826
|
-
};
|
|
827
|
-
/** Read calendar parts for a Date (UTC day). */
|
|
828
|
-
declare function dgaGetCalendarParts(date: Date, calendar: DgaDateCalendar): DgaCalendarParts;
|
|
829
|
-
/**
|
|
830
|
-
* Convert calendar parts to a Date (UTC midnight).
|
|
831
|
-
* Hijri conversion uses binary search against islamic-umalqura.
|
|
832
|
-
*/
|
|
833
|
-
declare function dgaPartsToDate(parts: DgaCalendarParts, calendar: DgaDateCalendar): Date;
|
|
834
|
-
declare function dgaDaysInMonth(year: number, month: number, calendar: DgaDateCalendar): number;
|
|
835
|
-
declare function dgaAddMonths(parts: DgaCalendarParts, delta: number, calendar: DgaDateCalendar): DgaCalendarParts;
|
|
836
|
-
/** Infer mode from format tokens (YYYY / MM / DD). */
|
|
837
|
-
declare function dgaModeFromFormat(format: string): DgaDatePickerMode;
|
|
838
|
-
declare function dgaFormatDate(date: Date, format: string, calendar: DgaDateCalendar): string;
|
|
839
|
-
declare function dgaParseDate(value: string, format: string, calendar: DgaDateCalendar): Date | null;
|
|
840
|
-
declare function dgaSameDay(a: Date | null, b: Date | null, calendar?: DgaDateCalendar): boolean;
|
|
841
|
-
declare function dgaCompareDays(a: Date | null, b: Date | null, calendar?: DgaDateCalendar): number;
|
|
842
|
-
declare function dgaClampDate(date: Date, min?: Date | null, max?: Date | null, calendar?: DgaDateCalendar): Date;
|
|
843
|
-
declare function dgaMonthNames(calendar: DgaDateCalendar, locale: 'ar' | 'en'): readonly string[];
|
|
844
|
-
/** First weekday (0=Sun) of the given calendar month. */
|
|
845
|
-
declare function dgaMonthStartWeekday(year: number, month: number, calendar: DgaDateCalendar): number;
|
|
846
|
-
declare function dgaTodayUtc(): Date;
|
|
847
|
-
/** Coerce string | Date | null to UTC date using format when string. */
|
|
848
|
-
declare function dgaCoerceDate(value: string | Date | null | undefined, format: string, calendar: DgaDateCalendar): Date | null;
|
|
849
|
-
|
|
850
|
-
interface DgaDateRangeValue {
|
|
851
|
-
start: string;
|
|
852
|
-
end: string;
|
|
853
|
-
}
|
|
854
|
-
type PanelView = DgaDatePickerMode;
|
|
855
|
-
declare class DgaDatePickerComponent implements ControlValueAccessor {
|
|
856
|
-
private readonly host;
|
|
857
|
-
private readonly destroyRef;
|
|
858
|
-
readonly inputId: string;
|
|
859
|
-
readonly panelId: string;
|
|
860
|
-
readonly valueInput: _angular_core.InputSignal<string>;
|
|
861
|
-
readonly value: _angular_core.WritableSignal<string>;
|
|
862
|
-
readonly startValue: _angular_core.ModelSignal<string>;
|
|
863
|
-
readonly endValue: _angular_core.ModelSignal<string>;
|
|
864
|
-
private onChange;
|
|
865
|
-
private onTouched;
|
|
866
|
-
readonly calendar: _angular_core.InputSignal<DgaDateCalendar>;
|
|
867
|
-
readonly range: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
868
|
-
readonly format: _angular_core.InputSignal<string>;
|
|
869
|
-
readonly mode: _angular_core.InputSignal<DgaDatePickerMode | null>;
|
|
870
|
-
readonly locale: _angular_core.InputSignal<DgaDateLocale>;
|
|
871
|
-
readonly minDate: _angular_core.InputSignal<string | Date | null>;
|
|
872
|
-
readonly maxDate: _angular_core.InputSignal<string | Date | null>;
|
|
873
|
-
readonly yearBefore: _angular_core.InputSignal<number>;
|
|
874
|
-
readonly yearAfter: _angular_core.InputSignal<number>;
|
|
875
|
-
readonly placeholder: _angular_core.InputSignal<string>;
|
|
876
|
-
readonly controlId: _angular_core.InputSignal<string>;
|
|
877
|
-
readonly name: _angular_core.InputSignal<string>;
|
|
878
|
-
readonly size: _angular_core.InputSignal<DgaFormControlSize>;
|
|
879
|
-
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
880
|
-
private readonly cvaDisabled;
|
|
881
|
-
readonly disabled: _angular_core.Signal<boolean>;
|
|
882
|
-
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
883
|
-
readonly clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
884
|
-
readonly editable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
885
|
-
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
886
|
-
readonly status: _angular_core.InputSignal<DgaFormStatus>;
|
|
887
|
-
readonly rangeSeparator: _angular_core.InputSignal<string>;
|
|
888
|
-
readonly todayLabel: _angular_core.InputSignal<string>;
|
|
889
|
-
readonly clearLabel: _angular_core.InputSignal<string>;
|
|
890
|
-
readonly closeLabel: _angular_core.InputSignal<string>;
|
|
891
|
-
readonly saveLabel: _angular_core.InputSignal<string>;
|
|
892
|
-
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
893
|
-
readonly resolvedTodayLabel: _angular_core.Signal<string>;
|
|
894
|
-
readonly resolvedClearLabel: _angular_core.Signal<string>;
|
|
895
|
-
readonly resolvedCloseLabel: _angular_core.Signal<string>;
|
|
896
|
-
readonly resolvedSaveLabel: _angular_core.Signal<string>;
|
|
897
|
-
readonly valueChange: _angular_core.OutputEmitterRef<string>;
|
|
898
|
-
readonly rangeChange: _angular_core.OutputEmitterRef<DgaDateRangeValue>;
|
|
899
|
-
readonly open: _angular_core.WritableSignal<boolean>;
|
|
900
|
-
readonly panelStyle: _angular_core.WritableSignal<Record<string, string>>;
|
|
901
|
-
readonly panelView: _angular_core.WritableSignal<DgaDatePickerMode>;
|
|
902
|
-
readonly viewParts: _angular_core.WritableSignal<DgaCalendarParts>;
|
|
903
|
-
readonly draftStart: _angular_core.WritableSignal<Date | null>;
|
|
904
|
-
readonly draftEnd: _angular_core.WritableSignal<Date | null>;
|
|
905
|
-
readonly rangePickPhase: _angular_core.WritableSignal<"end" | "start">;
|
|
906
|
-
readonly typedValue: _angular_core.WritableSignal<string | null>;
|
|
907
|
-
readonly effectiveStatus: _angular_core.Signal<DgaFormStatus>;
|
|
908
|
-
readonly panelMode: _angular_core.Signal<DgaDatePickerMode>;
|
|
909
|
-
readonly labels: _angular_core.Signal<{
|
|
910
|
-
readonly today: "اليوم";
|
|
911
|
-
readonly clear: "مسح";
|
|
912
|
-
readonly close: "إغلاق";
|
|
913
|
-
readonly save: "حفظ";
|
|
914
|
-
readonly prev: "السابق";
|
|
915
|
-
readonly next: "التالي";
|
|
916
|
-
readonly calendar: "فتح التقويم";
|
|
917
|
-
readonly clearInput: "مسح التاريخ";
|
|
918
|
-
readonly month: "الشهر";
|
|
919
|
-
readonly year: "السنة";
|
|
920
|
-
readonly placeholder: "يوم/شهر/سنة";
|
|
921
|
-
readonly rangeStart: "تاريخ البداية";
|
|
922
|
-
readonly rangeEnd: "تاريخ النهاية";
|
|
923
|
-
} | {
|
|
924
|
-
readonly today: "Today";
|
|
925
|
-
readonly clear: "Clear";
|
|
926
|
-
readonly close: "Close";
|
|
927
|
-
readonly save: "Save";
|
|
928
|
-
readonly prev: "Previous";
|
|
929
|
-
readonly next: "Next";
|
|
930
|
-
readonly calendar: "Open calendar";
|
|
931
|
-
readonly clearInput: "Clear date";
|
|
932
|
-
readonly month: "Month";
|
|
933
|
-
readonly year: "Year";
|
|
934
|
-
readonly placeholder: "DD/MM/YYYY";
|
|
935
|
-
readonly rangeStart: "Start date";
|
|
936
|
-
readonly rangeEnd: "End date";
|
|
937
|
-
}>;
|
|
938
|
-
readonly resolvedPlaceholder: _angular_core.Signal<string>;
|
|
939
|
-
readonly weekdays: _angular_core.Signal<readonly ["أحد", "إثن", "ثلا", "أرب", "خمي", "جمع", "سبت"] | readonly ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]>;
|
|
940
|
-
readonly minBound: _angular_core.Signal<Date | null>;
|
|
941
|
-
readonly maxBound: _angular_core.Signal<Date | null>;
|
|
942
|
-
readonly displayValue: _angular_core.Signal<string>;
|
|
943
|
-
readonly viewYear: _angular_core.Signal<number>;
|
|
944
|
-
readonly viewMonth: _angular_core.Signal<number>;
|
|
945
|
-
readonly monthOptions: _angular_core.Signal<{
|
|
946
|
-
value: number;
|
|
947
|
-
label: string;
|
|
948
|
-
selected: boolean;
|
|
949
|
-
disabled: boolean;
|
|
950
|
-
}[]>;
|
|
951
|
-
readonly yearOptions: _angular_core.Signal<{
|
|
952
|
-
value: number;
|
|
953
|
-
selected: boolean;
|
|
954
|
-
disabled: boolean;
|
|
955
|
-
}[]>;
|
|
956
|
-
readonly dayCells: _angular_core.Signal<DayCell[]>;
|
|
957
|
-
constructor();
|
|
958
|
-
onDocumentClick(event: MouseEvent): void;
|
|
959
|
-
onEscape(): void;
|
|
960
|
-
onReposition(): void;
|
|
961
|
-
monthLabel(month: number): string;
|
|
962
|
-
togglePanel(): void;
|
|
963
|
-
openPanel(): void;
|
|
964
|
-
closePanel(restoreDraft?: boolean): void;
|
|
965
|
-
private repositionPanel;
|
|
966
|
-
navigate(delta: number): void;
|
|
967
|
-
setPanelView(view: PanelView): void;
|
|
968
|
-
selectDay(day: number): void;
|
|
969
|
-
selectMonth(month: number): void;
|
|
970
|
-
selectYear(year: number): void;
|
|
971
|
-
goToday(): void;
|
|
972
|
-
clearDraft(): void;
|
|
973
|
-
clearAll(): void;
|
|
974
|
-
save(): void;
|
|
975
|
-
onInput(raw: string): void;
|
|
976
|
-
onInputBlur(): void;
|
|
977
|
-
onInputKeydown(event: KeyboardEvent): void;
|
|
978
|
-
private applyDraftDate;
|
|
979
|
-
private draftAnchorParts;
|
|
980
|
-
private syncDraftFromModels;
|
|
981
|
-
private parseRangeFromValue;
|
|
982
|
-
private emitValues;
|
|
983
|
-
writeValue(value: string): void;
|
|
984
|
-
registerOnChange(fn: (value: string) => void): void;
|
|
985
|
-
registerOnTouched(fn: () => void): void;
|
|
986
|
-
setDisabledState(isDisabled: boolean): void;
|
|
987
|
-
private isDateDisabled;
|
|
988
|
-
private isMonthDisabled;
|
|
989
|
-
private isYearDisabled;
|
|
990
|
-
private initialViewParts;
|
|
991
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaDatePickerComponent, never>;
|
|
992
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaDatePickerComponent, "dga-date-picker", never, { "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; "startValue": { "alias": "startValue"; "required": false; "isSignal": true; }; "endValue": { "alias": "endValue"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "range": { "alias": "range"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "yearBefore": { "alias": "yearBefore"; "required": false; "isSignal": true; }; "yearAfter": { "alias": "yearAfter"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "controlId": { "alias": "controlId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "invalid": { "alias": "dgaInvalid"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "rangeSeparator": { "alias": "rangeSeparator"; "required": false; "isSignal": true; }; "todayLabel": { "alias": "todayLabel"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; "saveLabel": { "alias": "saveLabel"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "startValue": "startValueChange"; "endValue": "endValueChange"; "valueChange": "valueChange"; "rangeChange": "rangeChange"; }, never, never, true, never>;
|
|
993
|
-
}
|
|
994
|
-
interface DayCell {
|
|
995
|
-
key: string;
|
|
996
|
-
empty: boolean;
|
|
997
|
-
day?: number;
|
|
998
|
-
today?: boolean;
|
|
999
|
-
selected?: boolean;
|
|
1000
|
-
inRange?: boolean;
|
|
1001
|
-
rangeStart?: boolean;
|
|
1002
|
-
rangeEnd?: boolean;
|
|
1003
|
-
disabled?: boolean;
|
|
1004
|
-
label?: string;
|
|
1005
|
-
}
|
|
1006
|
-
|
|
1007
849
|
type DgaTimePickerSize = DgaNativeSelectSize;
|
|
1008
850
|
type DgaTimePickerFormat = '24h' | '12h';
|
|
1009
851
|
declare function pad2(n: number): string;
|
|
@@ -1176,7 +1018,7 @@ declare class DgaToast implements OnDestroy {
|
|
|
1176
1018
|
readonly edgeTop: _angular_core.Signal<"calc(var(--dga-announcement-offset, 0px) + 1rem)" | null>;
|
|
1177
1019
|
readonly edgeBottom: _angular_core.Signal<"1rem" | null>;
|
|
1178
1020
|
readonly iconName: _angular_core.Signal<DgaIconName>;
|
|
1179
|
-
readonly iconTone: _angular_core.Signal<"
|
|
1021
|
+
readonly iconTone: _angular_core.Signal<"error" | "success" | "warning" | "muted" | "current">;
|
|
1180
1022
|
readonly showCountdown: _angular_core.Signal<boolean>;
|
|
1181
1023
|
readonly reduceMotion: _angular_core.WritableSignal<boolean>;
|
|
1182
1024
|
readonly ringDashOffset: _angular_core.Signal<number>;
|
|
@@ -1798,7 +1640,7 @@ declare class DgaAlert {
|
|
|
1798
1640
|
readonly titleClasses: _angular_core.Signal<string>;
|
|
1799
1641
|
readonly descriptionClasses: _angular_core.Signal<string>;
|
|
1800
1642
|
readonly iconName: _angular_core.Signal<DgaIconName>;
|
|
1801
|
-
readonly iconTone: _angular_core.Signal<"
|
|
1643
|
+
readonly iconTone: _angular_core.Signal<"error" | "success" | "warning" | "muted" | "current">;
|
|
1802
1644
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAlert, never>;
|
|
1803
1645
|
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>;
|
|
1804
1646
|
}
|
|
@@ -1912,204 +1754,11 @@ declare class DgaPageFeedback {
|
|
|
1912
1754
|
onSubmit(event: Event): void;
|
|
1913
1755
|
/** From details → idle; from thanks → dismiss the panel. */
|
|
1914
1756
|
close(): void;
|
|
1757
|
+
safeHref(href: string | undefined | null): string;
|
|
1915
1758
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaPageFeedback, never>;
|
|
1916
1759
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaPageFeedback, "dga-page-feedback", never, { "question": { "alias": "question"; "required": false; "isSignal": true; }; "yesLabel": { "alias": "yesLabel"; "required": false; "isSignal": true; }; "noLabel": { "alias": "noLabel"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; "whyLabel": { "alias": "whyLabel"; "required": false; "isSignal": true; }; "whyHint": { "alias": "whyHint"; "required": false; "isSignal": true; }; "genderLabel": { "alias": "genderLabel"; "required": false; "isSignal": true; }; "commentLabel": { "alias": "commentLabel"; "required": false; "isSignal": true; }; "commentPlaceholder": { "alias": "commentPlaceholder"; "required": false; "isSignal": true; }; "submitLabel": { "alias": "submitLabel"; "required": false; "isSignal": true; }; "statistic": { "alias": "statistic"; "required": false; "isSignal": true; }; "thankYouMessage": { "alias": "thankYouMessage"; "required": false; "isSignal": true; }; "agreementBefore": { "alias": "agreementBefore"; "required": false; "isSignal": true; }; "participationLabel": { "alias": "participationLabel"; "required": false; "isSignal": true; }; "participationHref": { "alias": "participationHref"; "required": false; "isSignal": true; }; "agreementAnd": { "alias": "agreementAnd"; "required": false; "isSignal": true; }; "rulesLabel": { "alias": "rulesLabel"; "required": false; "isSignal": true; }; "rulesHref": { "alias": "rulesHref"; "required": false; "isSignal": true; }; "agreementAfter": { "alias": "agreementAfter"; "required": false; "isSignal": true; }; "defaultAgreement": { "alias": "defaultAgreement"; "required": false; "isSignal": true; }; "yesReasons": { "alias": "yesReasons"; "required": false; "isSignal": true; }; "noReasons": { "alias": "noReasons"; "required": false; "isSignal": true; }; "genderOptions": { "alias": "genderOptions"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; }, { "submitted": "submitted"; "closed": "closed"; }, never, ["[dgaPageFeedbackAgreement]"], true, never>;
|
|
1917
1760
|
}
|
|
1918
1761
|
|
|
1919
|
-
/** Stored consent outcome. `custom` = per-category preferences were saved. */
|
|
1920
|
-
type DgaCookieConsent = 'accepted' | 'declined' | 'custom' | null;
|
|
1921
|
-
/** Horizontal placement. Logical `start`/`end` follow reading direction. */
|
|
1922
|
-
type DgaCookiesAlign = 'start' | 'center' | 'end';
|
|
1923
|
-
/**
|
|
1924
|
-
* Banner anchor on the viewport.
|
|
1925
|
-
* - `start` | `center` | `end` → bottom edge + that alignment (compact)
|
|
1926
|
-
* - `bottom` | `top` → that edge, centered
|
|
1927
|
-
* - `bottom-start` / `top-end` / … → explicit edge + alignment
|
|
1928
|
-
*/
|
|
1929
|
-
type DgaCookiesPosition = DgaCookiesAlign | 'bottom' | 'top' | 'bottom-start' | 'bottom-center' | 'bottom-end' | 'top-start' | 'top-center' | 'top-end';
|
|
1930
|
-
/** Optional cookie category for granular consent (GDPR-style preferences). */
|
|
1931
|
-
interface DgaCookieCategory {
|
|
1932
|
-
id: string;
|
|
1933
|
-
label: string;
|
|
1934
|
-
description?: string;
|
|
1935
|
-
/** Always enabled; toggle is disabled. */
|
|
1936
|
-
required?: boolean;
|
|
1937
|
-
/** Initial state when no stored preference exists (ignored when `required`). */
|
|
1938
|
-
defaultEnabled?: boolean;
|
|
1939
|
-
}
|
|
1940
|
-
type DgaCookiePreferences = Record<string, boolean>;
|
|
1941
|
-
interface DgaCookieDecision {
|
|
1942
|
-
consent: Exclude<DgaCookieConsent, null>;
|
|
1943
|
-
preferences: DgaCookiePreferences;
|
|
1944
|
-
}
|
|
1945
|
-
/**
|
|
1946
|
-
* Privacy-compliant cookie consent banner.
|
|
1947
|
-
* Persists choice (default 365 days); optional category preferences and GA gating.
|
|
1948
|
-
*/
|
|
1949
|
-
declare class DgaCookies implements OnInit {
|
|
1950
|
-
private readonly destroyRef;
|
|
1951
|
-
private readonly hostRef;
|
|
1952
|
-
/** Original parent before body portal (restored on destroy). */
|
|
1953
|
-
private portalHome;
|
|
1954
|
-
readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1955
|
-
/**
|
|
1956
|
-
* Viewport anchor. Use `start` / `center` / `end` for bottom placement,
|
|
1957
|
-
* or compound values like `top-end`. Prefer `align` to set horizontal only.
|
|
1958
|
-
*/
|
|
1959
|
-
readonly position: _angular_core.InputSignal<DgaCookiesPosition>;
|
|
1960
|
-
/** Horizontal alignment (`start` | `center` | `end`). Overrides `position` when set. */
|
|
1961
|
-
readonly align: _angular_core.InputSignal<"" | DgaCookiesAlign>;
|
|
1962
|
-
/** Auto-open delay when no consent is stored. `0` disables auto-show. */
|
|
1963
|
-
readonly delayMs: _angular_core.InputSignal<number>;
|
|
1964
|
-
/** When false, never auto-opens (call `show()` manually). */
|
|
1965
|
-
readonly autoShow: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1966
|
-
/** Show the dismiss (X) control. Dismiss does not persist a decision. */
|
|
1967
|
-
readonly dismissible: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1968
|
-
/** Show the reject / decline non-essential button. */
|
|
1969
|
-
readonly showDecline: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1970
|
-
/** Show policy / terms links row. */
|
|
1971
|
-
readonly showLinks: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1972
|
-
/** Show Customize when `categories` are provided. */
|
|
1973
|
-
readonly showCustomize: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1974
|
-
/** Dim the page behind the banner (modal-style overlay). */
|
|
1975
|
-
readonly overlay: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1976
|
-
/**
|
|
1977
|
-
* @deprecated Prefer `overlay`. Same behavior — kept for backward compatibility.
|
|
1978
|
-
*/
|
|
1979
|
-
readonly blocking: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1980
|
-
/** Close the banner when the overlay backdrop is clicked (requires dismissible). */
|
|
1981
|
-
readonly overlayClose: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1982
|
-
readonly termsHref: _angular_core.InputSignal<string>;
|
|
1983
|
-
readonly privacyHref: _angular_core.InputSignal<string>;
|
|
1984
|
-
/** Optional third policy link (cookie policy). Empty hides it. */
|
|
1985
|
-
readonly cookiePolicyHref: _angular_core.InputSignal<string>;
|
|
1986
|
-
readonly termsLabel: _angular_core.InputSignal<string>;
|
|
1987
|
-
readonly privacyLabel: _angular_core.InputSignal<string>;
|
|
1988
|
-
readonly cookiePolicyLabel: _angular_core.InputSignal<string>;
|
|
1989
|
-
readonly title: _angular_core.InputSignal<string>;
|
|
1990
|
-
readonly description: _angular_core.InputSignal<string>;
|
|
1991
|
-
readonly acceptLabel: _angular_core.InputSignal<string>;
|
|
1992
|
-
readonly declineLabel: _angular_core.InputSignal<string>;
|
|
1993
|
-
readonly customizeLabel: _angular_core.InputSignal<string>;
|
|
1994
|
-
readonly saveLabel: _angular_core.InputSignal<string>;
|
|
1995
|
-
readonly icon: _angular_core.InputSignal<DgaIconName>;
|
|
1996
|
-
/** Google Analytics IDs to disable on decline / when analytics is off. */
|
|
1997
|
-
readonly gaTrackingIds: _angular_core.InputSignal<string | readonly string[]>;
|
|
1998
|
-
/** Consent cookie lifetime in days. */
|
|
1999
|
-
readonly consentDays: _angular_core.InputSignal<number>;
|
|
2000
|
-
/** Consent cookie name (also used as localStorage key prefix). */
|
|
2001
|
-
readonly consentCookieName: _angular_core.InputSignal<string>;
|
|
2002
|
-
/** Extra cookies to delete when analytics/marketing is denied. */
|
|
2003
|
-
readonly analyticsCookieNames: _angular_core.InputSignal<readonly string[]>;
|
|
2004
|
-
/** Granular categories. When set, Customize / Save Preferences become available. */
|
|
2005
|
-
readonly categories: _angular_core.InputSignal<readonly DgaCookieCategory[]>;
|
|
2006
|
-
readonly accepted: _angular_core.OutputEmitterRef<void>;
|
|
2007
|
-
readonly declined: _angular_core.OutputEmitterRef<void>;
|
|
2008
|
-
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
2009
|
-
readonly decided: _angular_core.OutputEmitterRef<"accepted" | "declined" | "custom">;
|
|
2010
|
-
readonly preferencesChange: _angular_core.OutputEmitterRef<DgaCookiePreferences>;
|
|
2011
|
-
readonly decision: _angular_core.OutputEmitterRef<DgaCookieDecision>;
|
|
2012
|
-
/** Controls enter/exit animation state. */
|
|
2013
|
-
readonly visible: _angular_core.WritableSignal<boolean>;
|
|
2014
|
-
/** Keeps the panel in the DOM while exit animation plays. */
|
|
2015
|
-
readonly mounted: _angular_core.WritableSignal<boolean>;
|
|
2016
|
-
/** Whether the category preferences panel is expanded. */
|
|
2017
|
-
readonly customizing: _angular_core.WritableSignal<boolean>;
|
|
2018
|
-
/** Draft toggles while customizing. */
|
|
2019
|
-
readonly draftPrefs: _angular_core.WritableSignal<DgaCookiePreferences>;
|
|
2020
|
-
private readonly seq;
|
|
2021
|
-
readonly titleId: string;
|
|
2022
|
-
readonly bodyId: string;
|
|
2023
|
-
private openTimer;
|
|
2024
|
-
private closeTimer;
|
|
2025
|
-
readonly copy: _angular_core.Signal<{
|
|
2026
|
-
title: string;
|
|
2027
|
-
body: string;
|
|
2028
|
-
terms: string;
|
|
2029
|
-
privacy: string;
|
|
2030
|
-
cookiePolicy: string;
|
|
2031
|
-
accept: string;
|
|
2032
|
-
acceptAll: string;
|
|
2033
|
-
decline: string;
|
|
2034
|
-
customize: string;
|
|
2035
|
-
save: string;
|
|
2036
|
-
categories: string;
|
|
2037
|
-
policies: string;
|
|
2038
|
-
close: string;
|
|
2039
|
-
}>;
|
|
2040
|
-
readonly resolvedCategories: _angular_core.Signal<DgaCookieCategory[]>;
|
|
2041
|
-
readonly resolvedLinks: _angular_core.Signal<{
|
|
2042
|
-
href: string;
|
|
2043
|
-
label: string;
|
|
2044
|
-
}[]>;
|
|
2045
|
-
/**
|
|
2046
|
-
* Accept + Decline share a row; Customize / Save spans full width underneath
|
|
2047
|
-
* so Arabic labels stay on one line. Actions stay pinned below the scroll body.
|
|
2048
|
-
*/
|
|
2049
|
-
readonly actionsClasses: _angular_core.Signal<string>;
|
|
2050
|
-
/** Resolved vertical edge + horizontal align (logical start/end). */
|
|
2051
|
-
readonly placement: _angular_core.Signal<{
|
|
2052
|
-
edge: "top" | "bottom";
|
|
2053
|
-
align: DgaCookiesAlign;
|
|
2054
|
-
}>;
|
|
2055
|
-
/** Whether a dimmed backdrop is shown (`overlay` or legacy `blocking`). */
|
|
2056
|
-
readonly hasOverlay: _angular_core.Signal<boolean>;
|
|
2057
|
-
readonly panelClasses: _angular_core.Signal<string>;
|
|
2058
|
-
constructor();
|
|
2059
|
-
ngOnInit(): void;
|
|
2060
|
-
hasCategories(): boolean;
|
|
2061
|
-
hasLinks(): boolean;
|
|
2062
|
-
/**
|
|
2063
|
-
* Re-open the banner (e.g. from a footer Cookie Settings link).
|
|
2064
|
-
* Portals to `document.body` so overflow/transform ancestors cannot clip it.
|
|
2065
|
-
*/
|
|
2066
|
-
show(): void;
|
|
2067
|
-
/** Hide without persisting a decision. */
|
|
2068
|
-
dismiss(): void;
|
|
2069
|
-
/** Backdrop click — dismiss only when overlayClose + dismissible. */
|
|
2070
|
-
onOverlayClick(): void;
|
|
2071
|
-
openCustomize(): void;
|
|
2072
|
-
onCategoryToggle(id: string, enabled: boolean): void;
|
|
2073
|
-
accept(): void;
|
|
2074
|
-
decline(): void;
|
|
2075
|
-
savePreferences(): void;
|
|
2076
|
-
private commit;
|
|
2077
|
-
private buildDefaultPrefs;
|
|
2078
|
-
private buildAllPrefs;
|
|
2079
|
-
private readStored;
|
|
2080
|
-
private hidePanel;
|
|
2081
|
-
private trackingIds;
|
|
2082
|
-
/** Move host to `body` so fixed positioning escapes overflow/transform ancestors. */
|
|
2083
|
-
private ensureBodyPortal;
|
|
2084
|
-
private restorePortal;
|
|
2085
|
-
private clearTimer;
|
|
2086
|
-
private clearCloseTimer;
|
|
2087
|
-
static getConsent(cookieName?: string): DgaCookieConsent;
|
|
2088
|
-
static getPreferences(cookieName?: string): DgaCookiePreferences | null;
|
|
2089
|
-
static setConsent(value: Exclude<DgaCookieConsent, null>, options?: {
|
|
2090
|
-
name?: string;
|
|
2091
|
-
days?: number;
|
|
2092
|
-
preferences?: DgaCookiePreferences;
|
|
2093
|
-
}): void;
|
|
2094
|
-
static clearConsent(cookieName?: string): void;
|
|
2095
|
-
/** @internal */
|
|
2096
|
-
static parseStored(raw: string | null): {
|
|
2097
|
-
consent: DgaCookieConsent;
|
|
2098
|
-
preferences: DgaCookiePreferences | null;
|
|
2099
|
-
};
|
|
2100
|
-
/** @internal */
|
|
2101
|
-
static writeConsent(status: Exclude<DgaCookieConsent, null>, preferences: DgaCookiePreferences | null, opts: {
|
|
2102
|
-
name: string;
|
|
2103
|
-
days: number;
|
|
2104
|
-
hasCategories: boolean;
|
|
2105
|
-
}): void;
|
|
2106
|
-
static get(name: string): string | null;
|
|
2107
|
-
static set(name: string, value: string, days?: number): void;
|
|
2108
|
-
static delete(name: string): void;
|
|
2109
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaCookies, never>;
|
|
2110
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaCookies, "dga-cookies", never, { "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "delayMs": { "alias": "delayMs"; "required": false; "isSignal": true; }; "autoShow": { "alias": "autoShow"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "showDecline": { "alias": "showDecline"; "required": false; "isSignal": true; }; "showLinks": { "alias": "showLinks"; "required": false; "isSignal": true; }; "showCustomize": { "alias": "showCustomize"; "required": false; "isSignal": true; }; "overlay": { "alias": "overlay"; "required": false; "isSignal": true; }; "blocking": { "alias": "blocking"; "required": false; "isSignal": true; }; "overlayClose": { "alias": "overlayClose"; "required": false; "isSignal": true; }; "termsHref": { "alias": "termsHref"; "required": false; "isSignal": true; }; "privacyHref": { "alias": "privacyHref"; "required": false; "isSignal": true; }; "cookiePolicyHref": { "alias": "cookiePolicyHref"; "required": false; "isSignal": true; }; "termsLabel": { "alias": "termsLabel"; "required": false; "isSignal": true; }; "privacyLabel": { "alias": "privacyLabel"; "required": false; "isSignal": true; }; "cookiePolicyLabel": { "alias": "cookiePolicyLabel"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "acceptLabel": { "alias": "acceptLabel"; "required": false; "isSignal": true; }; "declineLabel": { "alias": "declineLabel"; "required": false; "isSignal": true; }; "customizeLabel": { "alias": "customizeLabel"; "required": false; "isSignal": true; }; "saveLabel": { "alias": "saveLabel"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "gaTrackingIds": { "alias": "gaTrackingIds"; "required": false; "isSignal": true; }; "consentDays": { "alias": "consentDays"; "required": false; "isSignal": true; }; "consentCookieName": { "alias": "consentCookieName"; "required": false; "isSignal": true; }; "analyticsCookieNames": { "alias": "analyticsCookieNames"; "required": false; "isSignal": true; }; "categories": { "alias": "categories"; "required": false; "isSignal": true; }; }, { "accepted": "accepted"; "declined": "declined"; "closed": "closed"; "decided": "decided"; "preferencesChange": "preferencesChange"; "decision": "decision"; }, never, never, true, never>;
|
|
2111
|
-
}
|
|
2112
|
-
|
|
2113
1762
|
type DgaRatingSize = 'sm' | 'md' | 'lg';
|
|
2114
1763
|
declare class DgaRating {
|
|
2115
1764
|
readonly value: _angular_core.ModelSignal<number>;
|
|
@@ -2306,243 +1955,6 @@ declare class DgaChatbot {
|
|
|
2306
1955
|
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>;
|
|
2307
1956
|
}
|
|
2308
1957
|
|
|
2309
|
-
/** One-tap accessibility presets (compose primitives + settings). */
|
|
2310
|
-
type DgaA11yBundle = 'epilepsy-safe' | 'visually-impaired' | 'cognitive-disability' | 'motor-impaired' | 'colorblind' | 'dyslexia-friendly' | 'adhd-friendly';
|
|
2311
|
-
/** Primitive toggles stamped on `data-a11y`. */
|
|
2312
|
-
type DgaA11yMode = 'reduce-motion' | 'highlight-links' | 'highlight-titles' | 'high-contrast' | 'dyslexia' | 'reading-mask' | 'motor-targets' | DgaA11yBundle;
|
|
2313
|
-
type DgaA11yVisualFilter = 'none' | 'boost-contrast' | 'monochrome' | 'high-contrast' | 'high-saturation' | 'low-saturation' | 'deuteranopia';
|
|
2314
|
-
type DgaA11yTextAlign = 'default' | 'start' | 'end' | 'justify';
|
|
2315
|
-
type DgaA11yLineHeight = 'normal' | '1.6' | '1.8' | '2.0';
|
|
2316
|
-
type DgaA11yLetterSpacing = '0' | '0.04em' | '0.08em' | '0.12em';
|
|
2317
|
-
type DgaA11yWordSpacing = '0' | '0.16em' | '0.32em' | '0.48em';
|
|
2318
|
-
declare class DgaAccessibilityService {
|
|
2319
|
-
private readonly doc;
|
|
2320
|
-
private readonly zone;
|
|
2321
|
-
private liveRegion;
|
|
2322
|
-
private opener;
|
|
2323
|
-
private mqMotion;
|
|
2324
|
-
private mqContrast;
|
|
2325
|
-
readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
2326
|
-
readonly modes: _angular_core.WritableSignal<Set<DgaA11yMode>>;
|
|
2327
|
-
readonly visualFilter: _angular_core.WritableSignal<DgaA11yVisualFilter>;
|
|
2328
|
-
readonly fontStep: _angular_core.WritableSignal<number>;
|
|
2329
|
-
readonly textAlign: _angular_core.WritableSignal<DgaA11yTextAlign>;
|
|
2330
|
-
readonly lineHeight: _angular_core.WritableSignal<DgaA11yLineHeight>;
|
|
2331
|
-
readonly letterSpacing: _angular_core.WritableSignal<DgaA11yLetterSpacing>;
|
|
2332
|
-
readonly wordSpacing: _angular_core.WritableSignal<DgaA11yWordSpacing>;
|
|
2333
|
-
/** Half-height of the reading-mask band in px (20–160). */
|
|
2334
|
-
readonly maskBand: _angular_core.WritableSignal<number>;
|
|
2335
|
-
/** Center Y of the reading-mask band in px. */
|
|
2336
|
-
readonly maskY: _angular_core.WritableSignal<number>;
|
|
2337
|
-
readonly reduceMotion: _angular_core.Signal<boolean>;
|
|
2338
|
-
readonly highlightLinks: _angular_core.Signal<boolean>;
|
|
2339
|
-
readonly highlightTitles: _angular_core.Signal<boolean>;
|
|
2340
|
-
readonly highContrast: _angular_core.Signal<boolean>;
|
|
2341
|
-
readonly dyslexia: _angular_core.Signal<boolean>;
|
|
2342
|
-
readonly readingMask: _angular_core.Signal<boolean>;
|
|
2343
|
-
readonly motorTargets: _angular_core.Signal<boolean>;
|
|
2344
|
-
/**
|
|
2345
|
-
* Reactive UI locale — kept in sync with `<html lang>` / `data-locale`
|
|
2346
|
-
* (including when `DgaLocaleService` updates the document).
|
|
2347
|
-
*/
|
|
2348
|
-
readonly locale: _angular_core.WritableSignal<"ar" | "en">;
|
|
2349
|
-
private readonly effectiveModes;
|
|
2350
|
-
private localeObserver;
|
|
2351
|
-
constructor();
|
|
2352
|
-
open(opener?: HTMLElement | null): void;
|
|
2353
|
-
close(): void;
|
|
2354
|
-
toggle(opener?: HTMLElement | null): void;
|
|
2355
|
-
hasMode(mode: DgaA11yMode): boolean;
|
|
2356
|
-
isBundle(mode: DgaA11yMode): mode is DgaA11yBundle;
|
|
2357
|
-
toggleMode(mode: DgaA11yMode): void;
|
|
2358
|
-
/** Explicitly enable or disable a mode/bundle (avoids switch double-toggle bugs). */
|
|
2359
|
-
setMode(mode: DgaA11yMode, enabled: boolean): void;
|
|
2360
|
-
setVisualFilter(filter: DgaA11yVisualFilter): void;
|
|
2361
|
-
cycleFontStep(): void;
|
|
2362
|
-
cycleTextAlign(): void;
|
|
2363
|
-
cycleLineHeight(): void;
|
|
2364
|
-
cycleLetterSpacing(): void;
|
|
2365
|
-
cycleWordSpacing(): void;
|
|
2366
|
-
/** Step font size (−1 / +1), wrapping within available levels. */
|
|
2367
|
-
stepFontStep(delta: number): void;
|
|
2368
|
-
stepTextAlign(delta: number): void;
|
|
2369
|
-
stepLineHeight(delta: number): void;
|
|
2370
|
-
stepLetterSpacing(delta: number): void;
|
|
2371
|
-
stepWordSpacing(delta: number): void;
|
|
2372
|
-
adjustMaskBand(delta: number): void;
|
|
2373
|
-
setMaskY(y: number): void;
|
|
2374
|
-
reset(): void;
|
|
2375
|
-
announce(msg: string): void;
|
|
2376
|
-
/** Current UI locale inferred from `<html lang>` / `data-locale`. */
|
|
2377
|
-
private readDomLocale;
|
|
2378
|
-
/** Keep `locale` reactive when portal / DgaLocaleService mutates `<html>`. */
|
|
2379
|
-
private bindLocaleObserver;
|
|
2380
|
-
/**
|
|
2381
|
-
* Toggle AR/EN on `<html>` (`lang` / `dir` / `data-locale`).
|
|
2382
|
-
* Compatible with DgaLocaleService attribute contract.
|
|
2383
|
-
*/
|
|
2384
|
-
toggleLocale(): 'ar' | 'en';
|
|
2385
|
-
activeModeCount(section: 'modes' | 'readable' | 'visual'): number;
|
|
2386
|
-
/** Total active settings across profiles + tools + filters (for FAB badge). */
|
|
2387
|
-
activeSettingCount(): number;
|
|
2388
|
-
private applyBundleExtras;
|
|
2389
|
-
private ensureDyslexiaFont;
|
|
2390
|
-
private applyToDocument;
|
|
2391
|
-
private persist;
|
|
2392
|
-
private hydrate;
|
|
2393
|
-
private bindOsPreferences;
|
|
2394
|
-
private ensureLiveRegion;
|
|
2395
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAccessibilityService, never>;
|
|
2396
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<DgaAccessibilityService>;
|
|
2397
|
-
}
|
|
2398
|
-
|
|
2399
|
-
type DgaAccessibilityPosition = 'end' | 'start' | 'left' | 'right';
|
|
2400
|
-
type AdjustToggleId = 'dyslexia' | 'highlight-titles' | 'highlight-links' | 'reading-mask' | 'reduce-motion';
|
|
2401
|
-
type AdjustStepperId = 'font' | 'align' | 'line' | 'letter' | 'word';
|
|
2402
|
-
declare class DgaAccessibility {
|
|
2403
|
-
readonly a11y: DgaAccessibilityService;
|
|
2404
|
-
readonly position: _angular_core.InputSignal<DgaAccessibilityPosition>;
|
|
2405
|
-
/**
|
|
2406
|
-
* 0-based slot in the shared FAB dock (bottom → top).
|
|
2407
|
-
* Typical: a11y=0, chatbot=1, scroll-top=2.
|
|
2408
|
-
*/
|
|
2409
|
-
readonly stack: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
2410
|
-
readonly panelId = "dga-accessibility-panel";
|
|
2411
|
-
private readonly panelRef;
|
|
2412
|
-
readonly fabBottom: _angular_core.Signal<string>;
|
|
2413
|
-
readonly resetArmed: _angular_core.WritableSignal<boolean>;
|
|
2414
|
-
readonly liveMsg: _angular_core.WritableSignal<string>;
|
|
2415
|
-
private resetTimer;
|
|
2416
|
-
private draggingMask;
|
|
2417
|
-
readonly copy: _angular_core.Signal<{
|
|
2418
|
-
open: string;
|
|
2419
|
-
close: string;
|
|
2420
|
-
panelLabel: string;
|
|
2421
|
-
title: string;
|
|
2422
|
-
sectionActive: string;
|
|
2423
|
-
sectionProfiles: string;
|
|
2424
|
-
sectionAdjust: string;
|
|
2425
|
-
sectionFilters: string;
|
|
2426
|
-
profilesHint: string;
|
|
2427
|
-
chipJump: string;
|
|
2428
|
-
stepDecrease: string;
|
|
2429
|
-
stepIncrease: string;
|
|
2430
|
-
reset: string;
|
|
2431
|
-
resetConfirm: string;
|
|
2432
|
-
announcedReset: string;
|
|
2433
|
-
fontSize: string;
|
|
2434
|
-
dyslexia: string;
|
|
2435
|
-
highlightTitles: string;
|
|
2436
|
-
highlightLinks: string;
|
|
2437
|
-
readingMask: string;
|
|
2438
|
-
reduceMotion: string;
|
|
2439
|
-
textAlign: string;
|
|
2440
|
-
lineHeight: string;
|
|
2441
|
-
letterSpacing: string;
|
|
2442
|
-
wordSpacing: string;
|
|
2443
|
-
filterBoost: string;
|
|
2444
|
-
filterMono: string;
|
|
2445
|
-
filterHigh: string;
|
|
2446
|
-
filterHighSat: string;
|
|
2447
|
-
filterLowSat: string;
|
|
2448
|
-
filterDeutan: string;
|
|
2449
|
-
maskToolbar: string;
|
|
2450
|
-
maskSmaller: string;
|
|
2451
|
-
maskLarger: string;
|
|
2452
|
-
maskDrag: string;
|
|
2453
|
-
maskClose: string;
|
|
2454
|
-
stateOn: string;
|
|
2455
|
-
stateOff: string;
|
|
2456
|
-
defaultValue: string;
|
|
2457
|
-
fontLevels: string[];
|
|
2458
|
-
alignLevels: string[];
|
|
2459
|
-
lineLevels: string[];
|
|
2460
|
-
letterLevels: string[];
|
|
2461
|
-
wordLevels: string[];
|
|
2462
|
-
bundles: {
|
|
2463
|
-
'epilepsy-safe': {
|
|
2464
|
-
label: string;
|
|
2465
|
-
desc: string;
|
|
2466
|
-
};
|
|
2467
|
-
'visually-impaired': {
|
|
2468
|
-
label: string;
|
|
2469
|
-
desc: string;
|
|
2470
|
-
};
|
|
2471
|
-
'cognitive-disability': {
|
|
2472
|
-
label: string;
|
|
2473
|
-
desc: string;
|
|
2474
|
-
};
|
|
2475
|
-
'motor-impaired': {
|
|
2476
|
-
label: string;
|
|
2477
|
-
desc: string;
|
|
2478
|
-
};
|
|
2479
|
-
colorblind: {
|
|
2480
|
-
label: string;
|
|
2481
|
-
desc: string;
|
|
2482
|
-
};
|
|
2483
|
-
'dyslexia-friendly': {
|
|
2484
|
-
label: string;
|
|
2485
|
-
desc: string;
|
|
2486
|
-
};
|
|
2487
|
-
'adhd-friendly': {
|
|
2488
|
-
label: string;
|
|
2489
|
-
desc: string;
|
|
2490
|
-
};
|
|
2491
|
-
};
|
|
2492
|
-
}>;
|
|
2493
|
-
readonly bundles: _angular_core.Signal<{
|
|
2494
|
-
id: DgaA11yBundle;
|
|
2495
|
-
icon: DgaIconName;
|
|
2496
|
-
label: string;
|
|
2497
|
-
desc: string;
|
|
2498
|
-
}[]>;
|
|
2499
|
-
readonly adjustToggles: _angular_core.Signal<{
|
|
2500
|
-
id: AdjustToggleId;
|
|
2501
|
-
mode: DgaA11yMode;
|
|
2502
|
-
icon: DgaIconName;
|
|
2503
|
-
label: string;
|
|
2504
|
-
active: boolean;
|
|
2505
|
-
}[]>;
|
|
2506
|
-
readonly adjustSteppers: _angular_core.Signal<{
|
|
2507
|
-
id: AdjustStepperId;
|
|
2508
|
-
icon: DgaIconName;
|
|
2509
|
-
label: string;
|
|
2510
|
-
active: boolean;
|
|
2511
|
-
valueLabel: string;
|
|
2512
|
-
}[]>;
|
|
2513
|
-
readonly visualTiles: _angular_core.Signal<{
|
|
2514
|
-
value: Exclude<DgaA11yVisualFilter, "none">;
|
|
2515
|
-
label: string;
|
|
2516
|
-
icon: DgaIconName;
|
|
2517
|
-
active: boolean;
|
|
2518
|
-
}[]>;
|
|
2519
|
-
readonly activeChips: _angular_core.Signal<{
|
|
2520
|
-
id: string;
|
|
2521
|
-
label: string;
|
|
2522
|
-
controlId: string;
|
|
2523
|
-
}[]>;
|
|
2524
|
-
readonly activeBadgeCount: _angular_core.Signal<number>;
|
|
2525
|
-
readonly fabClasses: _angular_core.Signal<string>;
|
|
2526
|
-
readonly panelClasses: _angular_core.Signal<string>;
|
|
2527
|
-
constructor();
|
|
2528
|
-
onKeydown(event: KeyboardEvent): void;
|
|
2529
|
-
onPointerMove(event: PointerEvent): void;
|
|
2530
|
-
onPointerUp(): void;
|
|
2531
|
-
onFabClick(event: MouseEvent): void;
|
|
2532
|
-
onBundle(id: DgaA11yBundle, enabled: boolean): void;
|
|
2533
|
-
onToggleMode(mode: DgaA11yMode, enabled?: boolean): void;
|
|
2534
|
-
onStep(id: AdjustStepperId, delta: number): void;
|
|
2535
|
-
onFilter(value: DgaA11yVisualFilter): void;
|
|
2536
|
-
focusControl(controlId: string): void;
|
|
2537
|
-
onReset(): void;
|
|
2538
|
-
onMaskDragStart(event: PointerEvent): void;
|
|
2539
|
-
private panelPositionClass;
|
|
2540
|
-
private announce;
|
|
2541
|
-
private onMaskKeys;
|
|
2542
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAccessibility, never>;
|
|
2543
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaAccessibility, "dga-accessibility", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; "stack": { "alias": "stack"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2544
|
-
}
|
|
2545
|
-
|
|
2546
1958
|
/**
|
|
2547
1959
|
* Visually hidden until focused — first tab stop for keyboard users.
|
|
2548
1960
|
* Place near the top of the document; `href` should target main content id.
|
|
@@ -2550,6 +1962,7 @@ declare class DgaAccessibility {
|
|
|
2550
1962
|
declare class DgaSkipLink {
|
|
2551
1963
|
readonly href: _angular_core.InputSignal<string>;
|
|
2552
1964
|
readonly label: _angular_core.InputSignal<string>;
|
|
1965
|
+
safeHref(href: string | undefined | null): string;
|
|
2553
1966
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaSkipLink, never>;
|
|
2554
1967
|
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>;
|
|
2555
1968
|
}
|
|
@@ -2596,17 +2009,65 @@ interface DgaBreadcrumbItem {
|
|
|
2596
2009
|
href?: string;
|
|
2597
2010
|
}
|
|
2598
2011
|
type DgaBreadcrumbSeparator = 'chevron' | 'slash';
|
|
2012
|
+
type BreadcrumbSlot = {
|
|
2013
|
+
kind: 'item';
|
|
2014
|
+
item: DgaBreadcrumbItem;
|
|
2015
|
+
index: number;
|
|
2016
|
+
current: boolean;
|
|
2017
|
+
} | {
|
|
2018
|
+
kind: 'collapse';
|
|
2019
|
+
hidden: DgaBreadcrumbItem[];
|
|
2020
|
+
};
|
|
2021
|
+
/**
|
|
2022
|
+
* Breadcrumb trail with collapse + label truncation for long paths.
|
|
2023
|
+
*
|
|
2024
|
+
* ```html
|
|
2025
|
+
* <dga-breadcrumb [items]="crumbs" [maxItems]="4" />
|
|
2026
|
+
* ```
|
|
2027
|
+
*
|
|
2028
|
+
* When `items.length > maxItems`, middle crumbs collapse behind an ellipsis menu.
|
|
2029
|
+
* Set `maxItems` to `0` to disable collapse. Long labels truncate when `truncate` is on.
|
|
2030
|
+
*/
|
|
2599
2031
|
declare class DgaBreadcrumb {
|
|
2032
|
+
private readonly host;
|
|
2033
|
+
private readonly destroyRef;
|
|
2600
2034
|
private readonly baseHref;
|
|
2035
|
+
private static seq;
|
|
2036
|
+
readonly menuId: string;
|
|
2601
2037
|
readonly items: _angular_core.InputSignal<DgaBreadcrumbItem[]>;
|
|
2602
2038
|
readonly label: _angular_core.InputSignal<string>;
|
|
2603
2039
|
readonly separator: _angular_core.InputSignal<DgaBreadcrumbSeparator>;
|
|
2040
|
+
/**
|
|
2041
|
+
* Collapse middle items when the trail is longer than this.
|
|
2042
|
+
* `0` disables collapse.
|
|
2043
|
+
*/
|
|
2044
|
+
readonly maxItems: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
2045
|
+
/** Crumbs kept at the start when collapsing. */
|
|
2046
|
+
readonly itemsBeforeCollapse: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
2047
|
+
/** Crumbs kept at the end when collapsing (includes current page). */
|
|
2048
|
+
readonly itemsAfterCollapse: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
2049
|
+
/** Truncate long labels with ellipsis. */
|
|
2050
|
+
readonly truncate: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2051
|
+
/** Accessible name for the overflow (“…”) control. */
|
|
2052
|
+
readonly moreLabel: _angular_core.InputSignal<string>;
|
|
2604
2053
|
/** Emits the clicked item for non-last links. Navigation via `href` is not prevented. */
|
|
2605
2054
|
readonly itemClick: _angular_core.OutputEmitterRef<DgaBreadcrumbItem>;
|
|
2055
|
+
readonly overflowOpen: _angular_core.WritableSignal<boolean>;
|
|
2056
|
+
readonly slots: _angular_core.Signal<BreadcrumbSlot[]>;
|
|
2057
|
+
readonly listClasses: _angular_core.Signal<string>;
|
|
2058
|
+
readonly linkClasses: _angular_core.Signal<string>;
|
|
2059
|
+
readonly mutedClasses: _angular_core.Signal<string>;
|
|
2060
|
+
readonly currentClasses: _angular_core.Signal<string>;
|
|
2061
|
+
constructor();
|
|
2062
|
+
trackSlot(slot: BreadcrumbSlot, index: number): string;
|
|
2606
2063
|
appHref(href: string | undefined | null): string;
|
|
2607
2064
|
onItemClick(item: DgaBreadcrumbItem): void;
|
|
2065
|
+
toggleOverflow(event: MouseEvent): void;
|
|
2066
|
+
onOverflowItemClick(item: DgaBreadcrumbItem): void;
|
|
2067
|
+
onDocumentClick(event: MouseEvent): void;
|
|
2068
|
+
onDocumentKey(event: KeyboardEvent): void;
|
|
2608
2069
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaBreadcrumb, never>;
|
|
2609
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaBreadcrumb, "dga-breadcrumb", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
2070
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaBreadcrumb, "dga-breadcrumb", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; "maxItems": { "alias": "maxItems"; "required": false; "isSignal": true; }; "itemsBeforeCollapse": { "alias": "itemsBeforeCollapse"; "required": false; "isSignal": true; }; "itemsAfterCollapse": { "alias": "itemsAfterCollapse"; "required": false; "isSignal": true; }; "truncate": { "alias": "truncate"; "required": false; "isSignal": true; }; "moreLabel": { "alias": "moreLabel"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
2610
2071
|
}
|
|
2611
2072
|
|
|
2612
2073
|
declare class DgaPagination {
|
|
@@ -2783,7 +2244,7 @@ declare class DgaSideNav {
|
|
|
2783
2244
|
/**
|
|
2784
2245
|
* `auto` = horizontal chips below lg; `vertical` = always sidebar (use in drawers).
|
|
2785
2246
|
*/
|
|
2786
|
-
readonly layout: _angular_core.InputSignal<"
|
|
2247
|
+
readonly layout: _angular_core.InputSignal<"vertical" | "auto">;
|
|
2787
2248
|
readonly label: _angular_core.InputSignal<string>;
|
|
2788
2249
|
readonly toggleLabel: _angular_core.InputSignal<string>;
|
|
2789
2250
|
readonly select: _angular_core.OutputEmitterRef<DgaSideNavItem>;
|
|
@@ -2801,6 +2262,7 @@ declare class DgaSideNav {
|
|
|
2801
2262
|
onSelect(item: DgaSideNavItem, event?: Event): void;
|
|
2802
2263
|
private childIsActive;
|
|
2803
2264
|
private toggleExpanded;
|
|
2265
|
+
safeHref(href: string | undefined | null): string;
|
|
2804
2266
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaSideNav, never>;
|
|
2805
2267
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaSideNav, "dga-side-nav", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "groups": { "alias": "groups"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "toggleLabel": { "alias": "toggleLabel"; "required": false; "isSignal": true; }; "narrow": { "alias": "narrow"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; "select": "select"; "narrow": "narrowChange"; }, never, never, true, never>;
|
|
2806
2268
|
}
|
|
@@ -2883,9 +2345,9 @@ declare class DgaNavRail {
|
|
|
2883
2345
|
readonly smoothScroll: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2884
2346
|
readonly select: _angular_core.OutputEmitterRef<DgaNavRailItem>;
|
|
2885
2347
|
readonly expandChange: _angular_core.OutputEmitterRef<boolean>;
|
|
2886
|
-
readonly edgeAttr: _angular_core.Signal<"
|
|
2348
|
+
readonly edgeAttr: _angular_core.Signal<"start" | "end" | "left" | "right" | null>;
|
|
2887
2349
|
readonly offsetCss: _angular_core.Signal<string>;
|
|
2888
|
-
readonly tooltipPlacement: _angular_core.Signal<"
|
|
2350
|
+
readonly tooltipPlacement: _angular_core.Signal<"start" | "end">;
|
|
2889
2351
|
readonly iconSize: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
2890
2352
|
readonly expandIcon: _angular_core.Signal<"chevronLeft" | "chevronRight">;
|
|
2891
2353
|
readonly listGapClass: _angular_core.Signal<"gap-xs" | "gap-sm" | "gap-md">;
|
|
@@ -2895,6 +2357,7 @@ declare class DgaNavRail {
|
|
|
2895
2357
|
onSelect(item: DgaNavRailItem, event?: MouseEvent): void;
|
|
2896
2358
|
toggleExpand(): void;
|
|
2897
2359
|
private prefersReducedMotion;
|
|
2360
|
+
safeHref(href: string | undefined | null): string;
|
|
2898
2361
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaNavRail, never>;
|
|
2899
2362
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaNavRail, "dga-nav-rail", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "expandLabel": { "alias": "expandLabel"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "activeStyle": { "alias": "activeStyle"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; "smoothScroll": { "alias": "smoothScroll"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; "expanded": "expandedChange"; "select": "select"; "expandChange": "expandChange"; }, never, never, true, never>;
|
|
2900
2363
|
}
|
|
@@ -3051,6 +2514,7 @@ declare class DgaCard {
|
|
|
3051
2514
|
iconGlyphSize(): DgaIconSize;
|
|
3052
2515
|
actionsHostClass(): string;
|
|
3053
2516
|
builtInActionsClass(): string;
|
|
2517
|
+
safeHref(href: string | undefined | null): string;
|
|
3054
2518
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaCard, never>;
|
|
3055
2519
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaCard, "dga-card", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "border": { "alias": "border"; "required": false; "isSignal": true; }; "shadow": { "alias": "shadow"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "titleTruncate": { "alias": "titleTruncate"; "required": false; "isSignal": true; }; "descriptionClamp": { "alias": "descriptionClamp"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconSize": { "alias": "iconSize"; "required": false; "isSignal": true; }; "iconAppearance": { "alias": "iconAppearance"; "required": false; "isSignal": true; }; "badges": { "alias": "badges"; "required": false; "isSignal": true; }; "badgeSize": { "alias": "badgeSize"; "required": false; "isSignal": true; }; "primaryLabel": { "alias": "primaryLabel"; "required": false; "isSignal": true; }; "primaryHref": { "alias": "primaryHref"; "required": false; "isSignal": true; }; "primaryVariant": { "alias": "primaryVariant"; "required": false; "isSignal": true; }; "secondaryLabel": { "alias": "secondaryLabel"; "required": false; "isSignal": true; }; "secondaryHref": { "alias": "secondaryHref"; "required": false; "isSignal": true; }; "secondaryVariant": { "alias": "secondaryVariant"; "required": false; "isSignal": true; }; "actionSize": { "alias": "actionSize"; "required": false; "isSignal": true; }; "actionsAlign": { "alias": "actionsAlign"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; }, { "primaryClick": "primaryClick"; "secondaryClick": "secondaryClick"; }, never, ["[dgaCardMedia]", "[dgaCardLead]", "*", "[dgaCardActions]"], true, never>;
|
|
3056
2520
|
}
|
|
@@ -3156,363 +2620,6 @@ declare class DgaAppShell {
|
|
|
3156
2620
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaAppShell, "dga-app-shell", never, { "navLabel": { "alias": "navLabel"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "padded": { "alias": "padded"; "required": false; "isSignal": true; }; }, {}, never, [".dga-app-shell-brand, [dgaAppShellBrand]", ".dga-app-shell-nav, [dgaAppShellNav]", ".dga-app-shell-nav-foot, [dgaAppShellNavFoot]", ".dga-app-shell-header, [dgaAppShellHeader]", "*"], true, never>;
|
|
3157
2621
|
}
|
|
3158
2622
|
|
|
3159
|
-
type DgaHeaderAppearance = 'default' | 'portal';
|
|
3160
|
-
/**
|
|
3161
|
-
* Mobile / narrow navigation chrome (portal header, `md` and below):
|
|
3162
|
-
* - `sheet` - side drawer from the inline-end (burger) edge
|
|
3163
|
-
* - `fullscreen` - full-viewport overlay panel
|
|
3164
|
-
* - `push` - panel expands under the header bar (inline dropdown)
|
|
3165
|
-
*/
|
|
3166
|
-
type DgaMobileNavMode = 'sheet' | 'fullscreen' | 'push';
|
|
3167
|
-
/** Panel chrome: compact under trigger, full-bleed mega, or mega + featured lead. */
|
|
3168
|
-
type DgaNavDropdownVariant = 'menu' | 'mega' | 'featured';
|
|
3169
|
-
/** How links are arranged inside the panel. */
|
|
3170
|
-
type DgaNavDropdownLayout = 'list' | 'columns' | 'rows';
|
|
3171
|
-
interface DgaNavLink {
|
|
3172
|
-
label: string;
|
|
3173
|
-
href?: string;
|
|
3174
|
-
description?: string;
|
|
3175
|
-
current?: boolean;
|
|
3176
|
-
}
|
|
3177
|
-
interface DgaNavColumn {
|
|
3178
|
-
title?: string;
|
|
3179
|
-
links: DgaNavLink[];
|
|
3180
|
-
}
|
|
3181
|
-
/** Lead / promo block for `variant: 'featured'`. */
|
|
3182
|
-
interface DgaNavFeatured {
|
|
3183
|
-
title: string;
|
|
3184
|
-
description?: string;
|
|
3185
|
-
href?: string;
|
|
3186
|
-
cta?: string;
|
|
3187
|
-
imageUrl?: string;
|
|
3188
|
-
}
|
|
3189
|
-
interface DgaNavDropdown {
|
|
3190
|
-
/**
|
|
3191
|
-
* Panel width/placement:
|
|
3192
|
-
* - `menu` - compact panel anchored under the trigger (default for simple lists)
|
|
3193
|
-
* - `mega` - full-width under the header
|
|
3194
|
-
* - `featured` - full-width mega with a lead promo column
|
|
3195
|
-
*/
|
|
3196
|
-
variant?: DgaNavDropdownVariant;
|
|
3197
|
-
/** Inner arrangement: `list` | `columns` | `rows`. */
|
|
3198
|
-
layout?: DgaNavDropdownLayout;
|
|
3199
|
-
columns?: DgaNavColumn[];
|
|
3200
|
-
links?: DgaNavLink[];
|
|
3201
|
-
featured?: DgaNavFeatured;
|
|
3202
|
-
}
|
|
3203
|
-
interface DgaNavItem {
|
|
3204
|
-
label: string;
|
|
3205
|
-
href?: string;
|
|
3206
|
-
current?: boolean;
|
|
3207
|
-
dropdown?: DgaNavDropdown;
|
|
3208
|
-
}
|
|
3209
|
-
interface DgaHeaderAction {
|
|
3210
|
-
id: string;
|
|
3211
|
-
label: string;
|
|
3212
|
-
icon?: DgaIconName;
|
|
3213
|
-
href?: string;
|
|
3214
|
-
badge?: number;
|
|
3215
|
-
iconOnly?: boolean;
|
|
3216
|
-
}
|
|
3217
|
-
/** Suggestion chip shown under the header search field. */
|
|
3218
|
-
interface DgaHeaderSearchSuggestion {
|
|
3219
|
-
label: string;
|
|
3220
|
-
/** Value written into the query (defaults to `label`). */
|
|
3221
|
-
value?: string;
|
|
3222
|
-
icon?: DgaIconName;
|
|
3223
|
-
}
|
|
3224
|
-
/**
|
|
3225
|
-
* Built-in header search popup (opens from the action whose `id` matches `actionId`).
|
|
3226
|
-
* Pass this to `[search]` to enable the modal search experience.
|
|
3227
|
-
*/
|
|
3228
|
-
interface DgaHeaderSearchConfig {
|
|
3229
|
-
/** Action id that toggles the panel. Default: `'search'`. */
|
|
3230
|
-
actionId?: string;
|
|
3231
|
-
/** Modal title. Default: `'Search'`. */
|
|
3232
|
-
title?: string;
|
|
3233
|
-
description?: string;
|
|
3234
|
-
closeLabel?: string;
|
|
3235
|
-
placeholder?: string;
|
|
3236
|
-
submitLabel?: string;
|
|
3237
|
-
suggestionsLabel?: string;
|
|
3238
|
-
clearLabel?: string;
|
|
3239
|
-
voiceLabel?: string;
|
|
3240
|
-
/** Show microphone control (uses Web Speech API when available). Default: true. */
|
|
3241
|
-
voice?: boolean;
|
|
3242
|
-
suggestions?: DgaHeaderSearchSuggestion[];
|
|
3243
|
-
/**
|
|
3244
|
-
* Optional results URL. On submit, navigates to
|
|
3245
|
-
* `{resultsHref}?{queryParam}={query}` when set.
|
|
3246
|
-
*/
|
|
3247
|
-
resultsHref?: string;
|
|
3248
|
-
/** Query string key. Default: `'q'`. */
|
|
3249
|
-
queryParam?: string;
|
|
3250
|
-
}
|
|
3251
|
-
type DgaHeaderNotificationTone = DgaBadgeVariant;
|
|
3252
|
-
/** Single item in the header notifications panel. */
|
|
3253
|
-
interface DgaHeaderNotification {
|
|
3254
|
-
id: string;
|
|
3255
|
-
title: string;
|
|
3256
|
-
message: string;
|
|
3257
|
-
statusLabel?: string;
|
|
3258
|
-
tone?: DgaHeaderNotificationTone;
|
|
3259
|
-
icon?: DgaIconName;
|
|
3260
|
-
href?: string;
|
|
3261
|
-
read?: boolean;
|
|
3262
|
-
}
|
|
3263
|
-
/**
|
|
3264
|
-
* Built-in notifications dropdown for the action whose `id` matches `actionId`
|
|
3265
|
-
* (default `'notifications'`).
|
|
3266
|
-
*/
|
|
3267
|
-
interface DgaHeaderNotificationsConfig {
|
|
3268
|
-
actionId?: string;
|
|
3269
|
-
/** Panel heading. Default: `'Notifications'`. */
|
|
3270
|
-
title?: string;
|
|
3271
|
-
emptyLabel?: string;
|
|
3272
|
-
viewAllLabel?: string;
|
|
3273
|
-
viewAllHref?: string;
|
|
3274
|
-
markReadLabel?: string;
|
|
3275
|
-
markAllReadLabel?: string;
|
|
3276
|
-
viewLabel?: string;
|
|
3277
|
-
dismissLabel?: string;
|
|
3278
|
-
closeLabel?: string;
|
|
3279
|
-
items?: DgaHeaderNotification[];
|
|
3280
|
-
}
|
|
3281
|
-
type DgaHeaderNotificationAction = 'read' | 'view' | 'dismiss' | 'select';
|
|
3282
|
-
/** Guest login form opened from the login action. */
|
|
3283
|
-
interface DgaHeaderLoginConfig {
|
|
3284
|
-
actionId?: string;
|
|
3285
|
-
title?: string;
|
|
3286
|
-
description?: string;
|
|
3287
|
-
emailLabel?: string;
|
|
3288
|
-
emailPlaceholder?: string;
|
|
3289
|
-
emailHint?: string;
|
|
3290
|
-
passwordLabel?: string;
|
|
3291
|
-
passwordPlaceholder?: string;
|
|
3292
|
-
passwordHint?: string;
|
|
3293
|
-
submitLabel?: string;
|
|
3294
|
-
cancelLabel?: string;
|
|
3295
|
-
closeLabel?: string;
|
|
3296
|
-
forgotPasswordLabel?: string;
|
|
3297
|
-
forgotPasswordHref?: string;
|
|
3298
|
-
showPasswordLabel?: string;
|
|
3299
|
-
hidePasswordLabel?: string;
|
|
3300
|
-
}
|
|
3301
|
-
interface DgaHeaderUserMenuLink {
|
|
3302
|
-
id: string;
|
|
3303
|
-
label: string;
|
|
3304
|
-
href?: string;
|
|
3305
|
-
icon?: DgaIconName;
|
|
3306
|
-
danger?: boolean;
|
|
3307
|
-
}
|
|
3308
|
-
/** Authenticated user menu shown after login (same action id as login). */
|
|
3309
|
-
interface DgaHeaderUserConfig {
|
|
3310
|
-
name: string;
|
|
3311
|
-
role?: string;
|
|
3312
|
-
email?: string;
|
|
3313
|
-
avatarSrc?: string;
|
|
3314
|
-
links?: DgaHeaderUserMenuLink[];
|
|
3315
|
-
}
|
|
3316
|
-
declare class DgaHeader {
|
|
3317
|
-
private readonly host;
|
|
3318
|
-
private readonly baseHref;
|
|
3319
|
-
private closeTimer;
|
|
3320
|
-
private dropdownSyncFrame;
|
|
3321
|
-
private lastDropdownStyleKey;
|
|
3322
|
-
readonly collapseId = "dga-nav-collapse";
|
|
3323
|
-
readonly dropLink: string;
|
|
3324
|
-
readonly dropTile: string;
|
|
3325
|
-
readonly mobileLink: string;
|
|
3326
|
-
readonly brand: _angular_core.InputSignal<string>;
|
|
3327
|
-
readonly brandSlogan: _angular_core.InputSignal<string>;
|
|
3328
|
-
readonly brandLogo: _angular_core.InputSignal<string>;
|
|
3329
|
-
readonly brandLogoAlt: _angular_core.InputSignal<string>;
|
|
3330
|
-
/** When true and no `brandLogo`, portal headers show a home-icon placeholder beside the brand text. */
|
|
3331
|
-
readonly brandPlaceholder: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3332
|
-
readonly brandHref: _angular_core.InputSignal<string>;
|
|
3333
|
-
readonly navLabel: _angular_core.InputSignal<string>;
|
|
3334
|
-
readonly menuToggleLabel: _angular_core.InputSignal<string>;
|
|
3335
|
-
readonly menuCloseLabel: _angular_core.InputSignal<string>;
|
|
3336
|
-
readonly appearance: _angular_core.InputSignal<DgaHeaderAppearance>;
|
|
3337
|
-
/**
|
|
3338
|
-
* Portal mobile navigation layout. Ignored for `appearance="default"`.
|
|
3339
|
-
* - `sheet` - side drawer (narrow, page peeks beside)
|
|
3340
|
-
* - `fullscreen` - covers the whole screen with its own close control
|
|
3341
|
-
* - `push` - accordion panel under the header
|
|
3342
|
-
*/
|
|
3343
|
-
readonly mobileNav: _angular_core.InputSignal<DgaMobileNavMode>;
|
|
3344
|
-
readonly sticky: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3345
|
-
readonly items: _angular_core.InputSignal<DgaNavItem[]>;
|
|
3346
|
-
readonly actions: _angular_core.InputSignal<DgaHeaderAction[]>;
|
|
3347
|
-
/**
|
|
3348
|
-
* When set, the header action matching `search.actionId` (default `'search'`)
|
|
3349
|
-
* opens a full-width search panel with suggestions instead of a no-op click.
|
|
3350
|
-
*/
|
|
3351
|
-
readonly search: _angular_core.InputSignal<DgaHeaderSearchConfig | null>;
|
|
3352
|
-
/** Bound query for the header search panel. */
|
|
3353
|
-
readonly searchQuery: _angular_core.ModelSignal<string>;
|
|
3354
|
-
/**
|
|
3355
|
-
* When set, the header action matching `notifications.actionId`
|
|
3356
|
-
* (default `'notifications'`) opens the notifications dropdown.
|
|
3357
|
-
*/
|
|
3358
|
-
readonly notifications: _angular_core.InputSignal<DgaHeaderNotificationsConfig | null>;
|
|
3359
|
-
/**
|
|
3360
|
-
* Guest login panel config. Opens from the action matching `login.actionId`
|
|
3361
|
-
* (default `'login'`). After auth, the same action opens the user menu.
|
|
3362
|
-
*/
|
|
3363
|
-
readonly login: _angular_core.InputSignal<DgaHeaderLoginConfig | null>;
|
|
3364
|
-
/** Authenticated user profile shown in the account menu. */
|
|
3365
|
-
readonly user: _angular_core.InputSignal<DgaHeaderUserConfig | null>;
|
|
3366
|
-
/** Whether the user is signed in (two-way). */
|
|
3367
|
-
readonly authenticated: _angular_core.ModelSignal<boolean>;
|
|
3368
|
-
readonly actionClick: _angular_core.OutputEmitterRef<DgaHeaderAction>;
|
|
3369
|
-
readonly searchSubmit: _angular_core.OutputEmitterRef<string>;
|
|
3370
|
-
readonly searchSuggestionSelect: _angular_core.OutputEmitterRef<DgaHeaderSearchSuggestion>;
|
|
3371
|
-
readonly searchVoice: _angular_core.OutputEmitterRef<void>;
|
|
3372
|
-
readonly notificationAction: _angular_core.OutputEmitterRef<{
|
|
3373
|
-
item: DgaHeaderNotification;
|
|
3374
|
-
action: DgaHeaderNotificationAction;
|
|
3375
|
-
}>;
|
|
3376
|
-
readonly loginSubmit: _angular_core.OutputEmitterRef<{
|
|
3377
|
-
email: string;
|
|
3378
|
-
password: string;
|
|
3379
|
-
}>;
|
|
3380
|
-
readonly logout: _angular_core.OutputEmitterRef<void>;
|
|
3381
|
-
readonly userLinkClick: _angular_core.OutputEmitterRef<DgaHeaderUserMenuLink>;
|
|
3382
|
-
/** Emits on click of any top-level nav link or dropdown link (desktop + mobile). */
|
|
3383
|
-
readonly navLinkClick: _angular_core.OutputEmitterRef<DgaNavLink | DgaNavItem>;
|
|
3384
|
-
readonly mobileOpen: _angular_core.WritableSignal<boolean>;
|
|
3385
|
-
readonly openDropdown: _angular_core.WritableSignal<number | null>;
|
|
3386
|
-
readonly searchOpen: _angular_core.WritableSignal<boolean>;
|
|
3387
|
-
readonly notificationsOpen: _angular_core.WritableSignal<boolean>;
|
|
3388
|
-
readonly loginOpen: _angular_core.WritableSignal<boolean>;
|
|
3389
|
-
readonly userMenuOpen: _angular_core.WritableSignal<boolean>;
|
|
3390
|
-
readonly voiceListening: _angular_core.WritableSignal<boolean>;
|
|
3391
|
-
readonly expandedNotificationId: _angular_core.WritableSignal<string | null>;
|
|
3392
|
-
readonly loginEmail: _angular_core.WritableSignal<string>;
|
|
3393
|
-
readonly loginPassword: _angular_core.WritableSignal<string>;
|
|
3394
|
-
readonly showLoginPassword: _angular_core.WritableSignal<boolean>;
|
|
3395
|
-
readonly loginSubmitting: _angular_core.WritableSignal<boolean>;
|
|
3396
|
-
/** Fixed coords for notifications / login / user panels (anchored to trigger). */
|
|
3397
|
-
readonly dropdownPanelStyle: _angular_core.WritableSignal<Record<string, string>>;
|
|
3398
|
-
private readonly dismissedNotificationIds;
|
|
3399
|
-
private readonly readNotificationIds;
|
|
3400
|
-
private dropdownTrigger;
|
|
3401
|
-
private dropdownActionId;
|
|
3402
|
-
private readonly injector;
|
|
3403
|
-
private readonly searchInputRef;
|
|
3404
|
-
readonly searchPanelId = "dga-header-search-panel";
|
|
3405
|
-
readonly notificationsPanelId = "dga-header-notifications-panel";
|
|
3406
|
-
readonly loginPanelId = "dga-header-login-panel";
|
|
3407
|
-
readonly userPanelId = "dga-header-user-panel";
|
|
3408
|
-
readonly isPortal: _angular_core.Signal<boolean>;
|
|
3409
|
-
/** Resolve root-relative hrefs against the app base (`/dga/` on cPanel). */
|
|
3410
|
-
appHref(href: string | undefined | null): string;
|
|
3411
|
-
readonly searchConfig: _angular_core.Signal<DgaHeaderSearchConfig | null>;
|
|
3412
|
-
readonly searchActionId: _angular_core.Signal<string>;
|
|
3413
|
-
readonly notificationsConfig: _angular_core.Signal<DgaHeaderNotificationsConfig | null>;
|
|
3414
|
-
readonly notificationsActionId: _angular_core.Signal<string>;
|
|
3415
|
-
readonly loginConfig: _angular_core.Signal<DgaHeaderLoginConfig | null>;
|
|
3416
|
-
readonly loginActionId: _angular_core.Signal<string>;
|
|
3417
|
-
readonly userConfig: _angular_core.Signal<DgaHeaderUserConfig | null>;
|
|
3418
|
-
readonly utilityOverlayOpen: _angular_core.Signal<boolean>;
|
|
3419
|
-
readonly visibleNotifications: _angular_core.Signal<{
|
|
3420
|
-
read: boolean;
|
|
3421
|
-
id: string;
|
|
3422
|
-
title: string;
|
|
3423
|
-
message: string;
|
|
3424
|
-
statusLabel?: string;
|
|
3425
|
-
tone?: DgaHeaderNotificationTone;
|
|
3426
|
-
icon?: DgaIconName;
|
|
3427
|
-
href?: string;
|
|
3428
|
-
}[]>;
|
|
3429
|
-
readonly unreadNotificationCount: _angular_core.Signal<number>;
|
|
3430
|
-
constructor();
|
|
3431
|
-
/** Compact under-trigger menus are rendered inside the `<li>` (desktop only). */
|
|
3432
|
-
readonly activeWideDropdown: _angular_core.Signal<{
|
|
3433
|
-
index: number;
|
|
3434
|
-
item: DgaNavItem;
|
|
3435
|
-
variant: "mega" | "featured";
|
|
3436
|
-
} | null>;
|
|
3437
|
-
readonly hostClasses: _angular_core.Signal<string>;
|
|
3438
|
-
readonly innerClasses: _angular_core.Signal<string>;
|
|
3439
|
-
readonly desktopNavClasses: _angular_core.Signal<string>;
|
|
3440
|
-
readonly actionsClasses: _angular_core.Signal<string>;
|
|
3441
|
-
mobilePanelClass(): string;
|
|
3442
|
-
hoverMenus(): boolean;
|
|
3443
|
-
isMobileViewport(): boolean;
|
|
3444
|
-
resolveVariant(item: DgaNavItem): DgaNavDropdownVariant;
|
|
3445
|
-
resolveLayout(item: DgaNavItem): DgaNavDropdownLayout;
|
|
3446
|
-
colCount(item: DgaNavItem): number;
|
|
3447
|
-
flatLinks(item: DgaNavItem): DgaNavLink[];
|
|
3448
|
-
columnsGridClass(count: number): string;
|
|
3449
|
-
featuredGridClass(variant: DgaNavDropdownVariant, hasFeatured: boolean): string;
|
|
3450
|
-
navItemClass(current: boolean, open?: boolean): string;
|
|
3451
|
-
mobileItemClass(current: boolean, open?: boolean): string;
|
|
3452
|
-
indicatorClass(active: boolean): string;
|
|
3453
|
-
actionClass(_action: DgaHeaderAction): string;
|
|
3454
|
-
badgeClass(): string;
|
|
3455
|
-
isIconOnly(action: DgaHeaderAction): boolean;
|
|
3456
|
-
isSearchAction(action: DgaHeaderAction): boolean;
|
|
3457
|
-
isNotificationsAction(action: DgaHeaderAction): boolean;
|
|
3458
|
-
isLoginAction(action: DgaHeaderAction): boolean;
|
|
3459
|
-
actionTooltip(action: DgaHeaderAction): string;
|
|
3460
|
-
actionAriaLabel(action: DgaHeaderAction): string;
|
|
3461
|
-
actionExpanded(action: DgaHeaderAction): boolean | null;
|
|
3462
|
-
actionControls(action: DgaHeaderAction): string | null;
|
|
3463
|
-
actionIndicatorActive(action: DgaHeaderAction): boolean;
|
|
3464
|
-
private clearCloseTimer;
|
|
3465
|
-
private scheduleClose;
|
|
3466
|
-
private setBodyScrollLocked;
|
|
3467
|
-
private unlockBodyIfIdle;
|
|
3468
|
-
onItemEnter(i: number): void;
|
|
3469
|
-
onPanelEnter(): void;
|
|
3470
|
-
onHostLeave(event: MouseEvent): void;
|
|
3471
|
-
toggleMobile(): void;
|
|
3472
|
-
toggleDropdown(i: number, event: Event): void;
|
|
3473
|
-
closeAll(): void;
|
|
3474
|
-
onAction(action: DgaHeaderAction, event?: Event): void;
|
|
3475
|
-
onMobileAction(action: DgaHeaderAction, event?: Event): void;
|
|
3476
|
-
closeUtilityOverlays(): void;
|
|
3477
|
-
/** Ask demo portal font/brand menus to close so they don't stack over header panels. */
|
|
3478
|
-
private closePortalChromeMenus;
|
|
3479
|
-
onCloseHeaderOverlays(): void;
|
|
3480
|
-
toggleSearch(): void;
|
|
3481
|
-
onSearchModalOpenChange(open: boolean): void;
|
|
3482
|
-
focusSearchInput(): void;
|
|
3483
|
-
closeSearch(clearVoice?: boolean): void;
|
|
3484
|
-
toggleNotifications(trigger?: HTMLElement | null): void;
|
|
3485
|
-
closeNotifications(): void;
|
|
3486
|
-
toggleLogin(trigger?: HTMLElement | null): void;
|
|
3487
|
-
closeLogin(): void;
|
|
3488
|
-
toggleUserMenu(trigger?: HTMLElement | null): void;
|
|
3489
|
-
closeUserMenu(): void;
|
|
3490
|
-
onLoginSubmit(event: Event): void;
|
|
3491
|
-
onUserLink(link: DgaHeaderUserMenuLink): void;
|
|
3492
|
-
toggleNotificationExpand(item: DgaHeaderNotification): void;
|
|
3493
|
-
onNotificationAction(item: DgaHeaderNotification, action: DgaHeaderNotificationAction): void;
|
|
3494
|
-
markAllNotificationsRead(): void;
|
|
3495
|
-
clearSearchQuery(): void;
|
|
3496
|
-
applySearchSuggestion(item: DgaHeaderSearchSuggestion): void;
|
|
3497
|
-
onSearchFormSubmit(event: Event): void;
|
|
3498
|
-
onSearchVoice(): void;
|
|
3499
|
-
private speechRecognition;
|
|
3500
|
-
private stopVoice;
|
|
3501
|
-
private triggerFromEvent;
|
|
3502
|
-
private scheduleDropdownSync;
|
|
3503
|
-
private requestDropdownSync;
|
|
3504
|
-
private clearDropdownAnchor;
|
|
3505
|
-
private findActionTrigger;
|
|
3506
|
-
private syncDropdownPanel;
|
|
3507
|
-
onKey(event: KeyboardEvent): void;
|
|
3508
|
-
onScroll(): void;
|
|
3509
|
-
onResize(): void;
|
|
3510
|
-
onNavLinkClick(link: DgaNavLink | DgaNavItem, event: MouseEvent): void;
|
|
3511
|
-
onDocClick(event: MouseEvent): void;
|
|
3512
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaHeader, never>;
|
|
3513
|
-
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; }; }, { "searchQuery": "searchQueryChange"; "authenticated": "authenticatedChange"; "actionClick": "actionClick"; "searchSubmit": "searchSubmit"; "searchSuggestionSelect": "searchSuggestionSelect"; "searchVoice": "searchVoice"; "notificationAction": "notificationAction"; "loginSubmit": "loginSubmit"; "logout": "logout"; "userLinkClick": "userLinkClick"; "navLinkClick": "navLinkClick"; }, never, ["[dgaHeaderBrand]", "*", "[dgaHeaderEnd]"], true, never>;
|
|
3514
|
-
}
|
|
3515
|
-
|
|
3516
2623
|
interface DgaStampNotice {
|
|
3517
2624
|
title: string;
|
|
3518
2625
|
/** Substring of `title` rendered bold in the primary color (e.g. `gov.sa`). */
|
|
@@ -3571,6 +2678,7 @@ declare class DgaTopBar implements OnInit {
|
|
|
3571
2678
|
toggle(): void;
|
|
3572
2679
|
toggleCalendar(): void;
|
|
3573
2680
|
toggleTimeFormat(): void;
|
|
2681
|
+
safeHref(href: string | undefined | null): string;
|
|
3574
2682
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaTopBar, never>;
|
|
3575
2683
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaTopBar, "dga-top-bar", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "timeFormat": { "alias": "timeFormat"; "required": false; "isSignal": true; }; "showDate": { "alias": "showDate"; "required": false; "isSignal": true; }; "showTime": { "alias": "showTime"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "regionLabel": { "alias": "regionLabel"; "required": false; "isSignal": true; }; "stampLabel": { "alias": "stampLabel"; "required": false; "isSignal": true; }; "tabTextLg": { "alias": "tabTextLg"; "required": false; "isSignal": true; }; "tabTextSm": { "alias": "tabTextSm"; "required": false; "isSignal": true; }; "verifyText": { "alias": "verifyText"; "required": false; "isSignal": true; }; "registrationLabel": { "alias": "registrationLabel"; "required": false; "isSignal": true; }; "registrationId": { "alias": "registrationId"; "required": false; "isSignal": true; }; "registrationHref": { "alias": "registrationHref"; "required": false; "isSignal": true; }; "notices": { "alias": "notices"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "calendar": "calendarChange"; "timeFormat": "timeFormatChange"; }, never, ["*"], true, never>;
|
|
3576
2684
|
}
|
|
@@ -3760,6 +2868,7 @@ declare class DgaHero {
|
|
|
3760
2868
|
onPrimary(index?: number): void;
|
|
3761
2869
|
onSecondary(index?: number): void;
|
|
3762
2870
|
private clearAutoplay;
|
|
2871
|
+
safeHref(href: string | undefined | null): string;
|
|
3763
2872
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaHero, never>;
|
|
3764
2873
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaHero, "dga-hero", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "primaryCta": { "alias": "primaryCta"; "required": false; "isSignal": true; }; "secondaryCta": { "alias": "secondaryCta"; "required": false; "isSignal": true; }; "primaryHref": { "alias": "primaryHref"; "required": false; "isSignal": true; }; "secondaryHref": { "alias": "secondaryHref"; "required": false; "isSignal": true; }; "imageDesktop": { "alias": "imageDesktop"; "required": false; "isSignal": true; }; "imageMobile": { "alias": "imageMobile"; "required": false; "isSignal": true; }; "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; "imageOverlay": { "alias": "imageOverlay"; "required": false; "isSignal": true; }; "imageMaskVariant": { "alias": "imageMaskVariant"; "required": false; "isSignal": true; }; "slides": { "alias": "slides"; "required": false; "isSignal": true; }; "activeIndex": { "alias": "activeIndex"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "transition": { "alias": "transition"; "required": false; "isSignal": true; }; "autoplay": { "alias": "autoplay"; "required": false; "isSignal": true; }; "autoplayMs": { "alias": "autoplayMs"; "required": false; "isSignal": true; }; "showDots": { "alias": "showDots"; "required": false; "isSignal": true; }; "showArrows": { "alias": "showArrows"; "required": false; "isSignal": true; }; "dotsLabel": { "alias": "dotsLabel"; "required": false; "isSignal": true; }; "prevLabel": { "alias": "prevLabel"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; }, { "activeIndex": "activeIndexChange"; "primaryClick": "primaryClick"; "secondaryClick": "secondaryClick"; "slideChange": "slideChange"; }, never, ["[dgaHeroBreadcrumb]", "[dgaHeroFloat]", "*", "*"], true, never>;
|
|
3765
2874
|
}
|
|
@@ -3774,6 +2883,10 @@ declare class DgaPageHero {
|
|
|
3774
2883
|
readonly description: _angular_core.InputSignal<string>;
|
|
3775
2884
|
readonly breadcrumbs: _angular_core.InputSignal<DgaBreadcrumbItem[]>;
|
|
3776
2885
|
readonly breadcrumbLabel: _angular_core.InputSignal<string>;
|
|
2886
|
+
/** Forwarded to `dga-breadcrumb` — collapse when trail exceeds this (`0` = off). */
|
|
2887
|
+
readonly breadcrumbMaxItems: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
2888
|
+
readonly breadcrumbTruncate: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2889
|
+
readonly breadcrumbMoreLabel: _angular_core.InputSignal<string>;
|
|
3777
2890
|
readonly tone: _angular_core.InputSignal<DgaPageHeroTone>;
|
|
3778
2891
|
/** Extra bottom padding for denser pages. */
|
|
3779
2892
|
readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -3781,7 +2894,7 @@ declare class DgaPageHero {
|
|
|
3781
2894
|
readonly titleId: string;
|
|
3782
2895
|
readonly sectionClasses: _angular_core.Signal<string>;
|
|
3783
2896
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaPageHero, never>;
|
|
3784
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaPageHero, "dga-page-hero", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "breadcrumbs": { "alias": "breadcrumbs"; "required": false; "isSignal": true; }; "breadcrumbLabel": { "alias": "breadcrumbLabel"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, {}, never, ["[dgaPageHeroActions]", "*"], true, never>;
|
|
2897
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaPageHero, "dga-page-hero", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "breadcrumbs": { "alias": "breadcrumbs"; "required": false; "isSignal": true; }; "breadcrumbLabel": { "alias": "breadcrumbLabel"; "required": false; "isSignal": true; }; "breadcrumbMaxItems": { "alias": "breadcrumbMaxItems"; "required": false; "isSignal": true; }; "breadcrumbTruncate": { "alias": "breadcrumbTruncate"; "required": false; "isSignal": true; }; "breadcrumbMoreLabel": { "alias": "breadcrumbMoreLabel"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, {}, never, ["[dgaPageHeroActions]", "*"], true, never>;
|
|
3785
2898
|
}
|
|
3786
2899
|
|
|
3787
2900
|
type DgaAnnouncementTone = 'info' | 'warning' | 'success' | 'neutral' | 'critical' | 'brand';
|
|
@@ -3847,6 +2960,7 @@ declare class DgaAnnouncementBar {
|
|
|
3847
2960
|
private storage;
|
|
3848
2961
|
private readPersisted;
|
|
3849
2962
|
private writePersisted;
|
|
2963
|
+
safeActionHref(): string;
|
|
3850
2964
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAnnouncementBar, never>;
|
|
3851
2965
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaAnnouncementBar, "dga-announcement-bar", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "actionVariant": { "alias": "actionVariant"; "required": false; "isSignal": true; }; "elevation": { "alias": "elevation"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "dismissLabel": { "alias": "dismissLabel"; "required": false; "isSignal": true; }; "actionLabel": { "alias": "actionLabel"; "required": false; "isSignal": true; }; "actionHref": { "alias": "actionHref"; "required": false; "isSignal": true; }; "actionExternal": { "alias": "actionExternal"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "accent": { "alias": "accent"; "required": false; "isSignal": true; }; "initiallyDismissed": { "alias": "initiallyDismissed"; "required": false; "isSignal": true; }; "persist": { "alias": "persist"; "required": false; "isSignal": true; }; "persistKey": { "alias": "persistKey"; "required": false; "isSignal": true; }; }, { "dismissedChange": "dismissedChange"; "closed": "closed"; "action": "action"; }, never, ["*"], true, never>;
|
|
3852
2966
|
}
|
|
@@ -3883,6 +2997,7 @@ declare class DgaSideInfo {
|
|
|
3883
2997
|
isActive(item: DgaSideInfoItem): boolean;
|
|
3884
2998
|
itemClasses(item: DgaSideInfoItem): string;
|
|
3885
2999
|
onSelect(item: DgaSideInfoItem): void;
|
|
3000
|
+
safeHref(href: string | undefined | null): string;
|
|
3886
3001
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaSideInfo, never>;
|
|
3887
3002
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaSideInfo, "dga-side-info", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; "select": "select"; }, never, ["*"], true, never>;
|
|
3888
3003
|
}
|
|
@@ -3977,6 +3092,80 @@ declare class DgaCode {
|
|
|
3977
3092
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaCode, "dga-code", never, { "block": { "alias": "block"; "required": false; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; }, {}, never, ["*", "*"], true, never>;
|
|
3978
3093
|
}
|
|
3979
3094
|
|
|
3095
|
+
type DgaVideoProvider = 'auto' | 'youtube' | 'vimeo' | 'html5';
|
|
3096
|
+
type DgaVideoRatio = '16:9' | '4:3' | '1:1' | '9:16' | '21:9';
|
|
3097
|
+
interface DgaVideoSourceInfo {
|
|
3098
|
+
provider: Exclude<DgaVideoProvider, 'auto'>;
|
|
3099
|
+
/** Provider media id (YouTube / Vimeo) or original URL (html5). */
|
|
3100
|
+
id: string;
|
|
3101
|
+
fileUrl: string | null;
|
|
3102
|
+
}
|
|
3103
|
+
/** Resolve provider + safe playback URLs from a source string. */
|
|
3104
|
+
declare function dgaResolveVideoSource(src: string, provider?: DgaVideoProvider): DgaVideoSourceInfo | null;
|
|
3105
|
+
/**
|
|
3106
|
+
* Responsive video player for YouTube, Vimeo, and HTML5 (mp4/webm/…).
|
|
3107
|
+
*
|
|
3108
|
+
* ```html
|
|
3109
|
+
* <dga-video-player
|
|
3110
|
+
* src="https://www.youtube.com/watch?v=aqz-KE-bpKQ"
|
|
3111
|
+
* poster="/assets/poster.jpg"
|
|
3112
|
+
* title="Demo"
|
|
3113
|
+
* ratio="16:9"
|
|
3114
|
+
* />
|
|
3115
|
+
* ```
|
|
3116
|
+
*
|
|
3117
|
+
* Embeds default to click-to-load (`lazy`) for privacy/perf. HTML5 uses native controls.
|
|
3118
|
+
*/
|
|
3119
|
+
declare class DgaVideoPlayer {
|
|
3120
|
+
private readonly sanitizer;
|
|
3121
|
+
/** Watch / share URL, embed URL, file URL, or bare YouTube/Vimeo id. */
|
|
3122
|
+
readonly src: _angular_core.InputSignal<string>;
|
|
3123
|
+
/** Force provider; default auto-detects from `src`. */
|
|
3124
|
+
readonly provider: _angular_core.InputSignal<DgaVideoProvider>;
|
|
3125
|
+
/** Poster image (HTML5 + lazy embed cover). */
|
|
3126
|
+
readonly poster: _angular_core.InputSignal<string>;
|
|
3127
|
+
/** Accessible / iframe title. */
|
|
3128
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
3129
|
+
/** Show native / embed controls. */
|
|
3130
|
+
readonly controls: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3131
|
+
/** Autoplay (embeds load immediately; browsers usually require muted). */
|
|
3132
|
+
readonly autoplay: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3133
|
+
readonly muted: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3134
|
+
readonly loop: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3135
|
+
readonly playsInline: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3136
|
+
/**
|
|
3137
|
+
* Click-to-load for YouTube/Vimeo (privacy + faster page).
|
|
3138
|
+
* Ignored when `autoplay` is true.
|
|
3139
|
+
*/
|
|
3140
|
+
readonly lazy: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3141
|
+
/** Prefer youtube-nocookie.com embeds. */
|
|
3142
|
+
readonly privacy: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3143
|
+
/** Start offset in seconds (YouTube / Vimeo). */
|
|
3144
|
+
readonly start: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
3145
|
+
readonly ratio: _angular_core.InputSignal<DgaVideoRatio>;
|
|
3146
|
+
readonly rounded: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3147
|
+
/** Play button / iframe accessible name. */
|
|
3148
|
+
readonly playLabel: _angular_core.InputSignal<string>;
|
|
3149
|
+
readonly invalidLabel: _angular_core.InputSignal<string>;
|
|
3150
|
+
readonly unsupportedLabel: _angular_core.InputSignal<string>;
|
|
3151
|
+
readonly played: _angular_core.OutputEmitterRef<void>;
|
|
3152
|
+
readonly paused: _angular_core.OutputEmitterRef<void>;
|
|
3153
|
+
readonly ended: _angular_core.OutputEmitterRef<void>;
|
|
3154
|
+
readonly failed: _angular_core.OutputEmitterRef<Event>;
|
|
3155
|
+
readonly activatedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
3156
|
+
readonly activated: _angular_core.WritableSignal<boolean>;
|
|
3157
|
+
readonly resolved: _angular_core.Signal<DgaVideoSourceInfo | null>;
|
|
3158
|
+
readonly providerBadge: _angular_core.Signal<"" | "YouTube" | "Vimeo">;
|
|
3159
|
+
readonly embedSrc: _angular_core.Signal<string | null>;
|
|
3160
|
+
readonly safeEmbed: _angular_core.Signal<SafeResourceUrl | null>;
|
|
3161
|
+
readonly shellClasses: _angular_core.Signal<string>;
|
|
3162
|
+
constructor();
|
|
3163
|
+
activate(): void;
|
|
3164
|
+
private buildEmbedUrl;
|
|
3165
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaVideoPlayer, never>;
|
|
3166
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaVideoPlayer, "dga-video-player", never, { "src": { "alias": "src"; "required": true; "isSignal": true; }; "provider": { "alias": "provider"; "required": false; "isSignal": true; }; "poster": { "alias": "poster"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "controls": { "alias": "controls"; "required": false; "isSignal": true; }; "autoplay": { "alias": "autoplay"; "required": false; "isSignal": true; }; "muted": { "alias": "muted"; "required": false; "isSignal": true; }; "loop": { "alias": "loop"; "required": false; "isSignal": true; }; "playsInline": { "alias": "playsInline"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "privacy": { "alias": "privacy"; "required": false; "isSignal": true; }; "start": { "alias": "start"; "required": false; "isSignal": true; }; "ratio": { "alias": "ratio"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "playLabel": { "alias": "playLabel"; "required": false; "isSignal": true; }; "invalidLabel": { "alias": "invalidLabel"; "required": false; "isSignal": true; }; "unsupportedLabel": { "alias": "unsupportedLabel"; "required": false; "isSignal": true; }; }, { "played": "played"; "paused": "paused"; "ended": "ended"; "failed": "failed"; "activatedChange": "activatedChange"; }, never, never, true, never>;
|
|
3167
|
+
}
|
|
3168
|
+
|
|
3980
3169
|
declare class DgaList {
|
|
3981
3170
|
readonly ordered: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3982
3171
|
readonly listClasses: _angular_core.Signal<string>;
|
|
@@ -4019,6 +3208,7 @@ declare class DgaInfoList {
|
|
|
4019
3208
|
readonly copy: _angular_core.OutputEmitterRef<DgaInfoListItem>;
|
|
4020
3209
|
readonly listClasses: _angular_core.Signal<string>;
|
|
4021
3210
|
onCopy(item: DgaInfoListItem): void;
|
|
3211
|
+
safeHref(href: string | undefined | null): string;
|
|
4022
3212
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaInfoList, never>;
|
|
4023
3213
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaInfoList, "dga-info-list", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "copyLabel": { "alias": "copyLabel"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, { "copy": "copy"; }, never, never, true, never>;
|
|
4024
3214
|
}
|
|
@@ -4487,5 +3677,20 @@ declare function dgaSaudiCityOptions(locale?: 'ar' | 'en', cities?: readonly Dga
|
|
|
4487
3677
|
value: string;
|
|
4488
3678
|
}[];
|
|
4489
3679
|
|
|
4490
|
-
|
|
4491
|
-
|
|
3680
|
+
declare function dgaResolveAppHref(href: string, baseHref?: string): string;
|
|
3681
|
+
/**
|
|
3682
|
+
* Safe href for config-driven links (CMS / schema).
|
|
3683
|
+
* Blocks dangerous schemes; keeps http(s), mailto, tel, hashes, and relative paths.
|
|
3684
|
+
*/
|
|
3685
|
+
declare function dgaSafeHref(href: string | null | undefined, baseHref?: string): string;
|
|
3686
|
+
|
|
3687
|
+
declare function dgaSafeCssColor(value: string | null | undefined, fallback?: string): string;
|
|
3688
|
+
|
|
3689
|
+
/** Join truthy class names. */
|
|
3690
|
+
declare function dgaCx(...parts: Array<string | false | null | undefined>): string;
|
|
3691
|
+
|
|
3692
|
+
/** Infer UI locale from `<html lang>` (avoids importing `@a.nemreen/dga-tokens` into ng-packagr graph). */
|
|
3693
|
+
declare function dgaIsArabic(): boolean;
|
|
3694
|
+
|
|
3695
|
+
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 };
|
|
3696
|
+
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 };
|