@a.nemreen/dga-ui 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +400 -0
  2. package/fesm2022/a.nemreen-dga-ui.mjs +9855 -0
  3. package/index.d.ts +5 -0
  4. package/lib/content/code/dga-code.d.ts +8 -0
  5. package/lib/content/list/dga-description-list.d.ts +13 -0
  6. package/lib/content/list/dga-list.d.ts +7 -0
  7. package/lib/content/metric/dga-metric.d.ts +17 -0
  8. package/lib/content/number/dga-number.d.ts +36 -0
  9. package/lib/content/persona/dga-persona.d.ts +11 -0
  10. package/lib/content/quote/dga-quote.d.ts +7 -0
  11. package/lib/data/carousel/dga-carousel.d.ts +79 -0
  12. package/lib/data/chart/dga-chart.d.ts +153 -0
  13. package/lib/data/export/dga-export-toolbar.d.ts +19 -0
  14. package/lib/data/export/dga-export.d.ts +26 -0
  15. package/lib/data/table/dga-table.d.ts +50 -0
  16. package/lib/domain/saudi-cities/dga-saudi-cities.d.ts +16 -0
  17. package/lib/feedback/a11y/dga-skip-link.d.ts +11 -0
  18. package/lib/feedback/accessibility/dga-accessibility.d.ts +133 -0
  19. package/lib/feedback/accessibility/dga-accessibility.service.d.ts +78 -0
  20. package/lib/feedback/alert/dga-alert.d.ts +27 -0
  21. package/lib/feedback/cookies/dga-cookies.d.ts +64 -0
  22. package/lib/feedback/copy/dga-copy.d.ts +43 -0
  23. package/lib/feedback/empty/dga-empty.d.ts +11 -0
  24. package/lib/feedback/feedback/dga-feedback.d.ts +30 -0
  25. package/lib/feedback/page-feedback/dga-page-feedback.d.ts +72 -0
  26. package/lib/feedback/rating/dga-rating.d.ts +17 -0
  27. package/lib/feedback/share/dga-share.d.ts +39 -0
  28. package/lib/forms/autocomplete/dga-autocomplete.d.ts +19 -0
  29. package/lib/forms/checkbox/dga-checkbox.d.ts +9 -0
  30. package/lib/forms/chip-input/dga-chip-input.d.ts +20 -0
  31. package/lib/forms/date-picker/dga-date-calendar.d.ts +44 -0
  32. package/lib/forms/date-picker/dga-date-picker.d.ts +152 -0
  33. package/lib/forms/field/dga-field.d.ts +22 -0
  34. package/lib/forms/form/dga-form-control.d.ts +50 -0
  35. package/lib/forms/form/form-control.styles.d.ts +16 -0
  36. package/lib/forms/input/dga-input.d.ts +13 -0
  37. package/lib/forms/label/dga-label.d.ts +8 -0
  38. package/lib/forms/multiselect/dga-multiselect.d.ts +20 -0
  39. package/lib/forms/number-input/dga-number-input.d.ts +25 -0
  40. package/lib/forms/otp/dga-otp.d.ts +19 -0
  41. package/lib/forms/phone-input/dga-phone-input.d.ts +33 -0
  42. package/lib/forms/radio/dga-radio.d.ts +9 -0
  43. package/lib/forms/select/dga-native-select.d.ts +15 -0
  44. package/lib/forms/select/dga-select.d.ts +65 -0
  45. package/lib/forms/slider/dga-slider.d.ts +7 -0
  46. package/lib/forms/switch/dga-switch.d.ts +14 -0
  47. package/lib/forms/upload/dga-upload.d.ts +32 -0
  48. package/lib/layout/card/dga-card-media.d.ts +13 -0
  49. package/lib/layout/card/dga-card.d.ts +89 -0
  50. package/lib/layout/clamp/dga-clamp.d.ts +11 -0
  51. package/lib/layout/expandable/dga-expandable.d.ts +14 -0
  52. package/lib/layout/grid/dga-grid.d.ts +10 -0
  53. package/lib/layout/section/dga-section.d.ts +22 -0
  54. package/lib/navigation/accordion/dga-accordion-item.d.ts +12 -0
  55. package/lib/navigation/accordion/dga-accordion.d.ts +10 -0
  56. package/lib/navigation/breadcrumb/dga-breadcrumb.d.ts +13 -0
  57. package/lib/navigation/filter-bar/dga-filter-bar.d.ts +18 -0
  58. package/lib/navigation/pagination/dga-pagination.d.ts +14 -0
  59. package/lib/navigation/scroll-top/dga-scroll-top.d.ts +35 -0
  60. package/lib/navigation/side-nav/dga-side-nav.d.ts +21 -0
  61. package/lib/navigation/stepper/dga-stepper.d.ts +15 -0
  62. package/lib/navigation/tabs/dga-tab.d.ts +12 -0
  63. package/lib/navigation/tabs/dga-tabs.d.ts +14 -0
  64. package/lib/navigation/toc/dga-toc.d.ts +16 -0
  65. package/lib/navigation/toolbar/dga-toolbar.d.ts +7 -0
  66. package/lib/overlays/dialog/dga-dialog.d.ts +28 -0
  67. package/lib/overlays/drawer/dga-drawer.d.ts +28 -0
  68. package/lib/overlays/image-popup/dga-image-popup.d.ts +65 -0
  69. package/lib/overlays/menu/dga-menu.d.ts +50 -0
  70. package/lib/overlays/modal/dga-modal.d.ts +44 -0
  71. package/lib/overlays/toast/dga-toast-outlet.d.ts +11 -0
  72. package/lib/overlays/toast/dga-toast.d.ts +24 -0
  73. package/lib/overlays/toast/dga-toast.service.d.ts +39 -0
  74. package/lib/overlays/tooltip/dga-tooltip.d.ts +60 -0
  75. package/lib/primitives/avatar/dga-avatar.d.ts +13 -0
  76. package/lib/primitives/badge/dga-badge.d.ts +10 -0
  77. package/lib/primitives/button/dga-button.d.ts +20 -0
  78. package/lib/primitives/chip/dga-chip.d.ts +11 -0
  79. package/lib/primitives/divider/dga-divider.d.ts +10 -0
  80. package/lib/primitives/icon/dga-icon-badge.d.ts +14 -0
  81. package/lib/primitives/icon/dga-icon-font.service.d.ts +14 -0
  82. package/lib/primitives/icon/dga-icon-registry.d.ts +9 -0
  83. package/lib/primitives/icon/dga-icon.d.ts +40 -0
  84. package/lib/primitives/link/dga-link.d.ts +10 -0
  85. package/lib/primitives/progress/dga-progress.d.ts +25 -0
  86. package/lib/primitives/skeleton/dga-skeleton.d.ts +30 -0
  87. package/lib/primitives/spinner/dga-spinner.d.ts +12 -0
  88. package/lib/shell/footer/dga-footer.d.ts +60 -0
  89. package/lib/shell/header/dga-header.d.ts +343 -0
  90. package/lib/shell/hero/dga-hero.d.ts +128 -0
  91. package/lib/shell/logo-tile/dga-logo-tile.d.ts +11 -0
  92. package/lib/shell/preloader/dga-preloader.d.ts +55 -0
  93. package/lib/shell/side-info/dga-side-info.d.ts +19 -0
  94. package/lib/shell/top-bar/dga-top-bar.d.ts +63 -0
  95. package/lib/shell/top-bar/sa-flag.d.ts +2 -0
  96. package/lib/utils/cx.d.ts +2 -0
  97. package/lib/utils/locale.d.ts +2 -0
  98. package/package.json +61 -0
  99. package/public-api.d.ts +91 -0
@@ -0,0 +1,152 @@
1
+ import { type DgaFormControlSize, type DgaFormStatus } from '../form/form-control.styles';
2
+ import { type DgaCalendarParts, type DgaDateCalendar, type DgaDateLocale, type DgaDatePickerMode } from './dga-date-calendar';
3
+ import * as i0 from "@angular/core";
4
+ export type { DgaDateCalendar, DgaDatePickerMode } from './dga-date-calendar';
5
+ export interface DgaDateRangeValue {
6
+ start: string;
7
+ end: string;
8
+ }
9
+ type PanelView = DgaDatePickerMode;
10
+ export declare class DgaDatePickerComponent {
11
+ private readonly host;
12
+ private readonly destroyRef;
13
+ readonly inputId: string;
14
+ readonly panelId: string;
15
+ readonly value: import("@angular/core").ModelSignal<string>;
16
+ readonly startValue: import("@angular/core").ModelSignal<string>;
17
+ readonly endValue: import("@angular/core").ModelSignal<string>;
18
+ readonly calendar: import("@angular/core").InputSignal<DgaDateCalendar>;
19
+ readonly range: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
20
+ readonly format: import("@angular/core").InputSignal<string>;
21
+ readonly mode: import("@angular/core").InputSignal<DgaDatePickerMode | null>;
22
+ readonly locale: import("@angular/core").InputSignal<DgaDateLocale>;
23
+ readonly minDate: import("@angular/core").InputSignal<string | Date | null>;
24
+ readonly maxDate: import("@angular/core").InputSignal<string | Date | null>;
25
+ readonly yearBefore: import("@angular/core").InputSignal<number>;
26
+ readonly yearAfter: import("@angular/core").InputSignal<number>;
27
+ readonly placeholder: import("@angular/core").InputSignal<string>;
28
+ readonly controlId: import("@angular/core").InputSignal<string>;
29
+ readonly name: import("@angular/core").InputSignal<string>;
30
+ readonly size: import("@angular/core").InputSignal<DgaFormControlSize>;
31
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
32
+ readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
33
+ readonly clearable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
34
+ readonly editable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
35
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
36
+ readonly status: import("@angular/core").InputSignal<DgaFormStatus>;
37
+ readonly rangeSeparator: import("@angular/core").InputSignal<string>;
38
+ readonly todayLabel: import("@angular/core").InputSignal<string>;
39
+ readonly clearLabel: import("@angular/core").InputSignal<string>;
40
+ readonly closeLabel: import("@angular/core").InputSignal<string>;
41
+ readonly saveLabel: import("@angular/core").InputSignal<string>;
42
+ readonly ariaLabel: import("@angular/core").InputSignal<string>;
43
+ readonly resolvedTodayLabel: import("@angular/core").Signal<string>;
44
+ readonly resolvedClearLabel: import("@angular/core").Signal<string>;
45
+ readonly resolvedCloseLabel: import("@angular/core").Signal<string>;
46
+ readonly resolvedSaveLabel: import("@angular/core").Signal<string>;
47
+ readonly valueChange: import("@angular/core").OutputEmitterRef<string>;
48
+ readonly rangeChange: import("@angular/core").OutputEmitterRef<DgaDateRangeValue>;
49
+ readonly open: import("@angular/core").WritableSignal<boolean>;
50
+ readonly panelStyle: import("@angular/core").WritableSignal<Record<string, string>>;
51
+ readonly panelView: import("@angular/core").WritableSignal<DgaDatePickerMode>;
52
+ readonly viewParts: import("@angular/core").WritableSignal<DgaCalendarParts>;
53
+ readonly draftStart: import("@angular/core").WritableSignal<Date | null>;
54
+ readonly draftEnd: import("@angular/core").WritableSignal<Date | null>;
55
+ readonly rangePickPhase: import("@angular/core").WritableSignal<"start" | "end">;
56
+ readonly typedValue: import("@angular/core").WritableSignal<string | null>;
57
+ readonly effectiveStatus: import("@angular/core").Signal<DgaFormStatus>;
58
+ readonly panelMode: import("@angular/core").Signal<DgaDatePickerMode>;
59
+ readonly labels: import("@angular/core").Signal<{
60
+ readonly today: "اليوم";
61
+ readonly clear: "مسح";
62
+ readonly close: "إغلاق";
63
+ readonly save: "حفظ";
64
+ readonly prev: "السابق";
65
+ readonly next: "التالي";
66
+ readonly calendar: "فتح التقويم";
67
+ readonly clearInput: "مسح التاريخ";
68
+ readonly month: "الشهر";
69
+ readonly year: "السنة";
70
+ readonly placeholder: "يوم/شهر/سنة";
71
+ readonly rangeStart: "تاريخ البداية";
72
+ readonly rangeEnd: "تاريخ النهاية";
73
+ } | {
74
+ readonly today: "Today";
75
+ readonly clear: "Clear";
76
+ readonly close: "Close";
77
+ readonly save: "Save";
78
+ readonly prev: "Previous";
79
+ readonly next: "Next";
80
+ readonly calendar: "Open calendar";
81
+ readonly clearInput: "Clear date";
82
+ readonly month: "Month";
83
+ readonly year: "Year";
84
+ readonly placeholder: "DD/MM/YYYY";
85
+ readonly rangeStart: "Start date";
86
+ readonly rangeEnd: "End date";
87
+ }>;
88
+ readonly resolvedPlaceholder: import("@angular/core").Signal<string>;
89
+ readonly weekdays: import("@angular/core").Signal<readonly ["أحد", "إثن", "ثلا", "أرب", "خمي", "جمع", "سبت"] | readonly ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]>;
90
+ readonly minBound: import("@angular/core").Signal<Date | null>;
91
+ readonly maxBound: import("@angular/core").Signal<Date | null>;
92
+ readonly displayValue: import("@angular/core").Signal<string>;
93
+ readonly viewYear: import("@angular/core").Signal<number>;
94
+ readonly viewMonth: import("@angular/core").Signal<number>;
95
+ readonly monthOptions: import("@angular/core").Signal<{
96
+ value: number;
97
+ label: string;
98
+ selected: boolean;
99
+ disabled: boolean;
100
+ }[]>;
101
+ readonly yearOptions: import("@angular/core").Signal<{
102
+ value: number;
103
+ selected: boolean;
104
+ disabled: boolean;
105
+ }[]>;
106
+ readonly dayCells: import("@angular/core").Signal<DayCell[]>;
107
+ constructor();
108
+ onDocumentClick(event: MouseEvent): void;
109
+ onEscape(): void;
110
+ onReposition(): void;
111
+ monthLabel(month: number): string;
112
+ togglePanel(): void;
113
+ openPanel(): void;
114
+ closePanel(restoreDraft?: boolean): void;
115
+ private repositionPanel;
116
+ navigate(delta: number): void;
117
+ setPanelView(view: PanelView): void;
118
+ selectDay(day: number): void;
119
+ selectMonth(month: number): void;
120
+ selectYear(year: number): void;
121
+ goToday(): void;
122
+ clearDraft(): void;
123
+ clearAll(): void;
124
+ save(): void;
125
+ onInput(raw: string): void;
126
+ onInputBlur(): void;
127
+ onInputKeydown(event: KeyboardEvent): void;
128
+ private applyDraftDate;
129
+ private draftAnchorParts;
130
+ private syncDraftFromModels;
131
+ private parseRangeFromValue;
132
+ private emitValues;
133
+ private isDateDisabled;
134
+ private isMonthDisabled;
135
+ private isYearDisabled;
136
+ private initialViewParts;
137
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaDatePickerComponent, never>;
138
+ static ɵcmp: i0.ɵɵComponentDeclaration<DgaDatePickerComponent, "dga-date-picker", never, { "value": { "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; }; "disabled": { "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; }; }, { "value": "valueChange"; "startValue": "startValueChange"; "endValue": "endValueChange"; "valueChange": "valueChange"; "rangeChange": "rangeChange"; }, never, never, true, never>;
139
+ }
140
+ interface DayCell {
141
+ key: string;
142
+ empty: boolean;
143
+ day?: number;
144
+ today?: boolean;
145
+ selected?: boolean;
146
+ inRange?: boolean;
147
+ rangeStart?: boolean;
148
+ rangeEnd?: boolean;
149
+ disabled?: boolean;
150
+ label?: string;
151
+ }
152
+ export { DgaDatePickerComponent as DgaDatePicker };
@@ -0,0 +1,22 @@
1
+ import type { DgaFormStatus } from '../form/form-control.styles';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Lightweight field shell: label + control projection + optional hint/error/status.
5
+ * Does not own the control - project a native input/select/textarea with dga* directives.
6
+ */
7
+ export declare class DgaField {
8
+ readonly label: import("@angular/core").InputSignal<string>;
9
+ /** Secondary text under the label (e.g. upload info line). */
10
+ readonly labelHint: import("@angular/core").InputSignal<string>;
11
+ readonly hint: import("@angular/core").InputSignal<string>;
12
+ readonly error: import("@angular/core").InputSignal<string>;
13
+ /** Validation / helper status chrome for the field message. */
14
+ readonly status: import("@angular/core").InputSignal<DgaFormStatus>;
15
+ readonly statusMessage: import("@angular/core").InputSignal<string>;
16
+ /** Associates the label with a projected control id. */
17
+ readonly controlId: import("@angular/core").InputSignal<string>;
18
+ readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
19
+ readonly statusMessageClasses: import("@angular/core").Signal<string>;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaField, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<DgaField, "dga-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelHint": { "alias": "labelHint"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "statusMessage": { "alias": "statusMessage"; "required": false; "isSignal": true; }; "controlId": { "alias": "controlId"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
22
+ }
@@ -0,0 +1,50 @@
1
+ import { type DgaIconName } from '../../primitives/icon/dga-icon';
2
+ import { type DgaFormControlSize, type DgaFormStatus } from './form-control.styles';
3
+ import * as i0 from "@angular/core";
4
+ /** Marks projected content as the leading (start) addon inside `dga-form-control`. */
5
+ export declare class DgaFormStart {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaFormStart, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DgaFormStart, "[dgaStart]", never, {}, {}, never, never, true, never>;
8
+ }
9
+ /** Marks projected content as the trailing (end) addon inside `dga-form-control`. */
10
+ export declare class DgaFormEnd {
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaFormEnd, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DgaFormEnd, "[dgaEnd]", never, {}, {}, never, never, true, never>;
13
+ }
14
+ /**
15
+ * Shared input chrome: border, focus accent, optional start/end icons.
16
+ *
17
+ * @example
18
+ * ```html
19
+ * <dga-form-control startIcon="mail">
20
+ * <input type="email" placeholder="name@example.com" />
21
+ * </dga-form-control>
22
+ *
23
+ * <dga-form-control>
24
+ * <dga-icon dgaStart name="search" size="sm" />
25
+ * <input type="search" />
26
+ * <button type="button" dgaEnd aria-label="مسح">×</button>
27
+ * </dga-form-control>
28
+ * ```
29
+ */
30
+ export declare class DgaFormControl {
31
+ readonly size: import("@angular/core").InputSignal<DgaFormControlSize>;
32
+ readonly status: import("@angular/core").InputSignal<DgaFormStatus>;
33
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
34
+ readonly filled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
35
+ /** Built-in leading icon (logical start). */
36
+ readonly startIcon: import("@angular/core").InputSignal<DgaIconName | null>;
37
+ /** Built-in trailing icon (logical end). */
38
+ readonly endIcon: import("@angular/core").InputSignal<DgaIconName | null>;
39
+ private readonly focused;
40
+ private readonly typing;
41
+ readonly classes: import("@angular/core").Signal<string>;
42
+ readonly hasStart: import("@angular/core").Signal<boolean>;
43
+ readonly hasEnd: import("@angular/core").Signal<boolean>;
44
+ readonly stateAttr: import("@angular/core").Signal<string | null>;
45
+ onFocusIn(): void;
46
+ onFocusOut(event: FocusEvent): void;
47
+ onInput(): void;
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaFormControl, never>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<DgaFormControl, "dga-form-control", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "filled": { "alias": "filled"; "required": false; "isSignal": true; }; "startIcon": { "alias": "startIcon"; "required": false; "isSignal": true; }; "endIcon": { "alias": "endIcon"; "required": false; "isSignal": true; }; }, {}, never, ["[dgaStart]", "*", "[dgaEnd]"], true, never>;
50
+ }
@@ -0,0 +1,16 @@
1
+ /** Form control status — maps to design-system `data-status`. */
2
+ export type DgaFormStatus = 'default' | 'error' | 'success' | 'warning' | 'info';
3
+ /** Shared size scale — sm≈32px, md≈40px, lg=48px. */
4
+ export type DgaFormControlSize = 'sm' | 'md' | 'lg';
5
+ export declare function dgaFormStatusBorder(status: DgaFormStatus): string;
6
+ export declare function dgaFormStatusFocusBorder(status: DgaFormStatus): string;
7
+ export declare function dgaFormStatusFromInvalid(invalid: boolean): DgaFormStatus;
8
+ /** Chrome for the form-control wrapper. */
9
+ export declare function dgaFormControlChrome(size?: DgaFormControlSize, status?: DgaFormStatus, disabled?: boolean): string;
10
+ /**
11
+ * Standalone text field chrome.
12
+ * Focus uses a soft primary glow + bottom accent — never the global black ring.
13
+ */
14
+ export declare function dgaFormFieldStandalone(size?: DgaFormControlSize, status?: DgaFormStatus): string;
15
+ /** Shared focus classes for composite triggers (OTP, multiselect, …). */
16
+ export declare function dgaFormFieldFocusRing(status?: DgaFormStatus): string;
@@ -0,0 +1,13 @@
1
+ import { type DgaFormControlSize, type DgaFormStatus } from '../form/form-control.styles';
2
+ import * as i0 from "@angular/core";
3
+ export type DgaInputSize = DgaFormControlSize;
4
+ export type { DgaFormStatus };
5
+ export declare class DgaInput {
6
+ readonly size: import("@angular/core").InputSignal<DgaFormControlSize>;
7
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
8
+ readonly status: import("@angular/core").InputSignal<DgaFormStatus>;
9
+ readonly resolvedStatus: import("@angular/core").Signal<DgaFormStatus>;
10
+ readonly classes: import("@angular/core").Signal<string>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaInput, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DgaInput, "input[dgaInput], textarea[dgaInput]", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "invalid": { "alias": "dgaInvalid"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class DgaLabel {
3
+ /** Optional required indicator styling hook. */
4
+ readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
5
+ readonly classes: import("@angular/core").Signal<string>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaLabel, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DgaLabel, "label[dgaLabel]", never, { "required": { "alias": "dgaRequired"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,20 @@
1
+ import { type DgaSelectOption } from '../select/dga-select';
2
+ import type { DgaFormStatus } from '../form/form-control.styles';
3
+ import * as i0 from "@angular/core";
4
+ /** @deprecated Prefer `DgaSelectOption` — alias kept for existing imports. */
5
+ export type DgaMultiselectOption = DgaSelectOption;
6
+ /** Thin preset: multi-select. Prefer `<dga-select multiple>`. */
7
+ export declare class DgaMultiselect {
8
+ readonly options: import("@angular/core").InputSignal<DgaSelectOption[]>;
9
+ readonly value: import("@angular/core").ModelSignal<string[]>;
10
+ readonly placeholder: import("@angular/core").InputSignal<string>;
11
+ readonly label: import("@angular/core").InputSignal<string>;
12
+ readonly removeLabel: import("@angular/core").InputSignal<string>;
13
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
14
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
15
+ readonly status: import("@angular/core").InputSignal<DgaFormStatus>;
16
+ readonly valueChange: import("@angular/core").OutputEmitterRef<string[]>;
17
+ onValueChange(next: string | string[]): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaMultiselect, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<DgaMultiselect, "dga-multiselect", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "value": { "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; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "dgaInvalid"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "valueChange": "valueChange"; }, never, never, true, never>;
20
+ }
@@ -0,0 +1,25 @@
1
+ import { type DgaFormControlSize, type DgaFormStatus } from '../form/form-control.styles';
2
+ import * as i0 from "@angular/core";
3
+ export declare class DgaNumberInput {
4
+ readonly value: import("@angular/core").ModelSignal<number>;
5
+ readonly min: import("@angular/core").InputSignal<number>;
6
+ readonly max: import("@angular/core").InputSignal<number>;
7
+ readonly stepSize: import("@angular/core").InputSignal<number>;
8
+ readonly size: import("@angular/core").InputSignal<DgaFormControlSize>;
9
+ readonly label: import("@angular/core").InputSignal<string>;
10
+ readonly incrementLabel: import("@angular/core").InputSignal<string>;
11
+ readonly decrementLabel: import("@angular/core").InputSignal<string>;
12
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
13
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
14
+ readonly status: import("@angular/core").InputSignal<DgaFormStatus>;
15
+ readonly valueChange: import("@angular/core").OutputEmitterRef<number>;
16
+ readonly resolvedStatus: import("@angular/core").Signal<DgaFormStatus>;
17
+ readonly wrapClasses: import("@angular/core").Signal<string>;
18
+ step(dir: 1 | -1): void;
19
+ onType(raw: string): void;
20
+ finiteOrNull(n: number): number | null;
21
+ private clamp;
22
+ private commit;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaNumberInput, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<DgaNumberInput, "dga-number-input", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "stepSize": { "alias": "step"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "incrementLabel": { "alias": "incrementLabel"; "required": false; "isSignal": true; }; "decrementLabel": { "alias": "decrementLabel"; "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; }; }, { "value": "valueChange"; "valueChange": "valueChange"; }, never, never, true, never>;
25
+ }
@@ -0,0 +1,19 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class DgaOtp {
3
+ private cells;
4
+ readonly length: import("@angular/core").InputSignal<number>;
5
+ readonly value: import("@angular/core").ModelSignal<string>;
6
+ readonly label: import("@angular/core").InputSignal<string>;
7
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
8
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
9
+ readonly completed: import("@angular/core").OutputEmitterRef<string>;
10
+ get slots(): number[];
11
+ chars(): string[];
12
+ cellClasses(): string;
13
+ onInput(index: number, raw: string): void;
14
+ onKey(index: number, event: KeyboardEvent): void;
15
+ onPaste(event: ClipboardEvent): void;
16
+ private commit;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaOtp, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<DgaOtp, "dga-otp", never, { "length": { "alias": "length"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "dgaInvalid"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "completed": "completed"; }, never, never, true, never>;
19
+ }
@@ -0,0 +1,33 @@
1
+ import * as i0 from "@angular/core";
2
+ export interface DgaPhoneCountry {
3
+ /** Dial code including `+`, e.g. `+966`. */
4
+ code: string;
5
+ /** Short label shown in the prefix select. */
6
+ label: string;
7
+ /** Optional longer name for option text. */
8
+ name?: string;
9
+ }
10
+ /** GCC-first dial codes for contact forms. */
11
+ export declare const DGA_PHONE_COUNTRIES: DgaPhoneCountry[];
12
+ /**
13
+ * Phone field with country-code prefix select.
14
+ * The control group is always LTR so digits and codes read correctly in RTL pages.
15
+ */
16
+ export declare class DgaPhoneInput {
17
+ readonly countries: import("@angular/core").InputSignal<DgaPhoneCountry[]>;
18
+ readonly countryCode: import("@angular/core").ModelSignal<string>;
19
+ readonly nationalNumber: import("@angular/core").ModelSignal<string>;
20
+ readonly controlId: import("@angular/core").InputSignal<string>;
21
+ readonly name: import("@angular/core").InputSignal<string>;
22
+ readonly placeholder: import("@angular/core").InputSignal<string>;
23
+ readonly autocomplete: import("@angular/core").InputSignal<string>;
24
+ readonly codeLabel: import("@angular/core").InputSignal<string>;
25
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
26
+ readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
27
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
28
+ /** Full E.164-ish value: code + national digits. */
29
+ readonly value: import("@angular/core").Signal<string>;
30
+ readonly groupClasses: import("@angular/core").Signal<string>;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaPhoneInput, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<DgaPhoneInput, "dga-phone-input", never, { "countries": { "alias": "countries"; "required": false; "isSignal": true; }; "countryCode": { "alias": "countryCode"; "required": false; "isSignal": true; }; "nationalNumber": { "alias": "nationalNumber"; "required": false; "isSignal": true; }; "controlId": { "alias": "controlId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "codeLabel": { "alias": "codeLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; }, { "countryCode": "countryCodeChange"; "nationalNumber": "nationalNumberChange"; }, never, never, true, never>;
33
+ }
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ export type DgaRadioSize = 'sm' | 'md' | 'lg';
3
+ export declare class DgaRadio {
4
+ readonly size: import("@angular/core").InputSignal<DgaRadioSize>;
5
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
6
+ readonly classes: import("@angular/core").Signal<string>;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaRadio, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DgaRadio, "input[type=\"radio\"][dgaRadio]", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "invalid": { "alias": "dgaInvalid"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
9
+ }
@@ -0,0 +1,15 @@
1
+ import { type DgaFormControlSize, type DgaFormStatus } from '../form/form-control.styles';
2
+ import * as i0 from "@angular/core";
3
+ export type DgaNativeSelectSize = DgaFormControlSize;
4
+ /** Styles a native `<select dgaSelect>` — for simple forms without search/multi. */
5
+ export declare class DgaNativeSelect {
6
+ readonly size: import("@angular/core").InputSignal<DgaFormControlSize>;
7
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
8
+ readonly status: import("@angular/core").InputSignal<DgaFormStatus>;
9
+ readonly resolvedStatus: import("@angular/core").Signal<DgaFormStatus>;
10
+ readonly classes: import("@angular/core").Signal<string>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaNativeSelect, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DgaNativeSelect, "select[dgaSelect]", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "invalid": { "alias": "dgaInvalid"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13
+ }
14
+ /** @deprecated Use `DgaNativeSelectSize` — kept for callers that imported `DgaSelectSize`. */
15
+ export type DgaSelectSize = DgaNativeSelectSize;
@@ -0,0 +1,65 @@
1
+ import { type DgaFormControlSize, type DgaFormStatus } from '../form/form-control.styles';
2
+ import * as i0 from "@angular/core";
3
+ export interface DgaSelectOption {
4
+ label: string;
5
+ value: string;
6
+ disabled?: boolean;
7
+ }
8
+ export type DgaSelectOpenMode = 'dropdown' | 'always';
9
+ export type DgaSelectSize = DgaFormControlSize;
10
+ export declare class DgaSelect {
11
+ private static nextId;
12
+ private readonly host;
13
+ readonly listId: string;
14
+ readonly options: import("@angular/core").InputSignal<DgaSelectOption[]>;
15
+ /** Single: `string`. Multiple: `string[]`. */
16
+ readonly value: import("@angular/core").ModelSignal<string | string[]>;
17
+ readonly multiple: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
18
+ readonly searchable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
19
+ readonly openMode: import("@angular/core").InputSignal<DgaSelectOpenMode>;
20
+ readonly clearable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
21
+ readonly size: import("@angular/core").InputSignal<DgaFormControlSize>;
22
+ readonly status: import("@angular/core").InputSignal<DgaFormStatus>;
23
+ readonly placeholder: import("@angular/core").InputSignal<string>;
24
+ readonly label: import("@angular/core").InputSignal<string>;
25
+ readonly removeLabel: import("@angular/core").InputSignal<string>;
26
+ readonly clearLabel: import("@angular/core").InputSignal<string>;
27
+ readonly emptyLabel: import("@angular/core").InputSignal<string>;
28
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
29
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
30
+ readonly valueChange: import("@angular/core").OutputEmitterRef<string | string[]>;
31
+ readonly open: import("@angular/core").WritableSignal<boolean>;
32
+ readonly query: import("@angular/core").WritableSignal<string>;
33
+ readonly activeIndex: import("@angular/core").WritableSignal<number>;
34
+ constructor();
35
+ readonly resolvedStatus: import("@angular/core").Signal<DgaFormStatus>;
36
+ readonly listVisible: import("@angular/core").Signal<boolean>;
37
+ readonly selectedOpts: import("@angular/core").Signal<DgaSelectOption[]>;
38
+ readonly filtered: import("@angular/core").Signal<DgaSelectOption[]>;
39
+ readonly activeOptionId: import("@angular/core").Signal<string | null>;
40
+ readonly buttonClasses: import("@angular/core").Signal<string>;
41
+ readonly triggerWrapClasses: import("@angular/core").Signal<string>;
42
+ readonly searchInputClasses: import("@angular/core").Signal<string>;
43
+ readonly listClasses: import("@angular/core").Signal<string>;
44
+ displayPlaceholder(): string;
45
+ hasValue(): boolean;
46
+ optionId(index: number): string;
47
+ isSelected(v: string): boolean;
48
+ selectedValues(): string[];
49
+ toggleOpen(): void;
50
+ onFocus(): void;
51
+ onType(raw: string): void;
52
+ onKey(event: KeyboardEvent): void;
53
+ onBlur(): void;
54
+ onOptionMouseDown(event: MouseEvent, opt: DgaSelectOption): void;
55
+ pick(opt: DgaSelectOption): void;
56
+ toggle(v: string): void;
57
+ clear(): void;
58
+ onDocClick(event: MouseEvent): void;
59
+ private commit;
60
+ private moveActive;
61
+ private firstEnabledIndex;
62
+ private lastEnabledIndex;
63
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaSelect, never>;
64
+ static ɵcmp: i0.ɵɵComponentDeclaration<DgaSelect, "dga-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "openMode": { "alias": "openMode"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "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; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; "emptyLabel": { "alias": "emptyLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "dgaInvalid"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "valueChange": "valueChange"; }, never, never, true, never>;
65
+ }
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class DgaSlider {
3
+ readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg">;
4
+ readonly classes: import("@angular/core").Signal<string>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaSlider, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DgaSlider, "input[type=\"range\"][dgaSlider]", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7
+ }
@@ -0,0 +1,14 @@
1
+ import * as i0 from "@angular/core";
2
+ export type DgaSwitchSize = 'sm' | 'md' | 'lg';
3
+ export declare class DgaSwitch {
4
+ readonly checked: import("@angular/core").ModelSignal<boolean>;
5
+ readonly size: import("@angular/core").InputSignal<DgaSwitchSize>;
6
+ readonly label: import("@angular/core").InputSignal<string>;
7
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
8
+ readonly changed: import("@angular/core").OutputEmitterRef<boolean>;
9
+ readonly trackClasses: import("@angular/core").Signal<string>;
10
+ readonly thumbClasses: import("@angular/core").Signal<string>;
11
+ toggle(): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaSwitch, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<DgaSwitch, "dga-switch", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "changed": "changed"; }, never, never, true, never>;
14
+ }
@@ -0,0 +1,32 @@
1
+ import * as i0 from "@angular/core";
2
+ export interface DgaUploadFile {
3
+ id: string;
4
+ name: string;
5
+ size: number;
6
+ file?: File;
7
+ }
8
+ export type DgaUploadAppearance = 'zone' | 'browse';
9
+ export declare class DgaUpload {
10
+ readonly files: import("@angular/core").ModelSignal<DgaUploadFile[]>;
11
+ readonly accept: import("@angular/core").InputSignal<string>;
12
+ readonly multiple: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
13
+ /** `zone` = drop area; `browse` = compact file-upload button. */
14
+ readonly appearance: import("@angular/core").InputSignal<DgaUploadAppearance>;
15
+ readonly hint: import("@angular/core").InputSignal<string>;
16
+ readonly browseLabel: import("@angular/core").InputSignal<string>;
17
+ readonly removeLabel: import("@angular/core").InputSignal<string>;
18
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
19
+ readonly maxSize: import("@angular/core").InputSignal<number>;
20
+ readonly filesChange: import("@angular/core").OutputEmitterRef<DgaUploadFile[]>;
21
+ readonly dragging: import("@angular/core").ModelSignal<boolean>;
22
+ readonly zoneClasses: import("@angular/core").Signal<string>;
23
+ onDragOver(event: DragEvent): void;
24
+ onDrop(event: DragEvent): void;
25
+ onPick(event: Event): void;
26
+ remove(id: string): void;
27
+ formatSize(bytes: number): string;
28
+ private addFiles;
29
+ private commit;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaUpload, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<DgaUpload, "dga-upload", never, { "files": { "alias": "files"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "browseLabel": { "alias": "browseLabel"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "maxSize": { "alias": "maxSize"; "required": false; "isSignal": true; }; "dragging": { "alias": "dragging"; "required": false; "isSignal": true; }; }, { "files": "filesChange"; "filesChange": "filesChange"; "dragging": "draggingChange"; }, never, never, true, never>;
32
+ }
@@ -0,0 +1,13 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Edge-to-edge media rectangle for news / article cards (`[dgaCardMedia]`).
4
+ */
5
+ export declare class DgaCardMedia {
6
+ readonly src: import("@angular/core").InputSignal<string>;
7
+ readonly alt: import("@angular/core").InputSignal<string>;
8
+ /** Aspect ratio utility; default 16/10 portal news cards. */
9
+ readonly ratio: import("@angular/core").InputSignal<"video" | "wide" | "square">;
10
+ readonly classes: import("@angular/core").Signal<string>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<DgaCardMedia, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<DgaCardMedia, "dga-card-media", never, { "src": { "alias": "src"; "required": false; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; "ratio": { "alias": "ratio"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13
+ }