@a.nemreen/dga-ui 0.2.3 → 0.2.5
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/LICENSE +21 -0
- package/fesm2022/a.nemreen-dga-ui.mjs +2307 -421
- package/package.json +5 -1
- package/types/a.nemreen-dga-ui.d.ts +876 -72
- package/cover.jpg +0 -0
|
@@ -1,27 +1,37 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { Type, Provider, OnDestroy, OnInit } from '@angular/core';
|
|
3
3
|
import { SafeHtml } from '@angular/platform-browser';
|
|
4
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
5
|
+
export { ControlValueAccessor } from '@angular/forms';
|
|
4
6
|
import * as _a_nemreen_dga_ui from '@a.nemreen/dga-ui';
|
|
5
7
|
|
|
6
8
|
type DgaButtonVariant = 'primary' | 'secondary' | 'subtle' | 'outline' | 'outlineMuted' | 'outlineInverse' | 'ghost' | 'danger' | 'inverse';
|
|
7
9
|
type DgaButtonSize = 'sm' | 'md' | 'lg';
|
|
8
10
|
declare class DgaButton {
|
|
9
11
|
private readonly destroyRef;
|
|
12
|
+
private readonly host;
|
|
13
|
+
private readonly renderer;
|
|
10
14
|
readonly variant: _angular_core.InputSignal<DgaButtonVariant>;
|
|
11
15
|
readonly size: _angular_core.InputSignal<DgaButtonSize>;
|
|
12
16
|
/** Square control sized to the icon (no horizontal padding). */
|
|
13
17
|
readonly iconOnly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
14
|
-
/** When > 0, disables the host for this many ms after each click. */
|
|
18
|
+
/** When > 0, disables the host for this many ms after each click and shows a spinner. */
|
|
15
19
|
readonly cooldownMs: _angular_core.InputSignal<number>;
|
|
20
|
+
/** Manual loading state — shows spinner and disables the control. */
|
|
21
|
+
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
16
22
|
/** Exposed for host bindings (Angular 22 requires public host expressions). */
|
|
17
23
|
readonly cooling: _angular_core.WritableSignal<boolean>;
|
|
18
24
|
private cooldownTimer;
|
|
25
|
+
private spinnerEl;
|
|
26
|
+
readonly busy: _angular_core.Signal<boolean>;
|
|
19
27
|
readonly classes: _angular_core.Signal<string>;
|
|
20
28
|
constructor();
|
|
21
29
|
onHostClick(): void;
|
|
30
|
+
private attachSpinner;
|
|
31
|
+
private detachSpinner;
|
|
22
32
|
private clearCooldown;
|
|
23
33
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaButton, never>;
|
|
24
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DgaButton, "button[dgaButton], a[dgaButton]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; "cooldownMs": { "alias": "cooldownMs"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
34
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DgaButton, "button[dgaButton], a[dgaButton]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; "cooldownMs": { "alias": "cooldownMs"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
25
35
|
}
|
|
26
36
|
|
|
27
37
|
type DgaBadgeVariant = 'neutral' | 'primary' | 'success' | 'info' | 'warning' | 'error';
|
|
@@ -123,7 +133,7 @@ declare class DgaProgress {
|
|
|
123
133
|
readonly circumference: number;
|
|
124
134
|
readonly clamped: _angular_core.Signal<number>;
|
|
125
135
|
readonly dashOffset: _angular_core.Signal<number>;
|
|
126
|
-
readonly hostClasses: _angular_core.Signal<"
|
|
136
|
+
readonly hostClasses: _angular_core.Signal<"inline-flex" | "block w-full">;
|
|
127
137
|
readonly trackClasses: _angular_core.Signal<string>;
|
|
128
138
|
readonly barClasses: _angular_core.Signal<string>;
|
|
129
139
|
readonly radialWrapClasses: _angular_core.Signal<string>;
|
|
@@ -285,6 +295,28 @@ declare class DgaFormControl {
|
|
|
285
295
|
static ɵcmp: _angular_core.ɵɵ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>;
|
|
286
296
|
}
|
|
287
297
|
|
|
298
|
+
/**
|
|
299
|
+
* Registers `component` as an `NG_VALUE_ACCESSOR`, so it can be used with
|
|
300
|
+
* `formControl` / `formControlName` / `ngModel`.
|
|
301
|
+
*
|
|
302
|
+
* Usage on a standalone component:
|
|
303
|
+
* ```ts
|
|
304
|
+
* @Component({
|
|
305
|
+
* ...
|
|
306
|
+
* providers: [dgaProvideValueAccessor(DgaMyControl)],
|
|
307
|
+
* })
|
|
308
|
+
* export class DgaMyControl implements ControlValueAccessor { ... }
|
|
309
|
+
* ```
|
|
310
|
+
*
|
|
311
|
+
* Each CVA component should:
|
|
312
|
+
* - keep its existing `input`/`model`/`output` two-way-binding API untouched;
|
|
313
|
+
* - implement `writeValue`, `registerOnChange`, `registerOnTouched` and,
|
|
314
|
+
* when relevant, `setDisabledState`;
|
|
315
|
+
* - call the registered `onChange` alongside its existing `*Change` output
|
|
316
|
+
* emit, and call `onTouched` on blur.
|
|
317
|
+
*/
|
|
318
|
+
declare function dgaProvideValueAccessor(component: Type<unknown>): Provider;
|
|
319
|
+
|
|
288
320
|
declare class DgaLabel {
|
|
289
321
|
/** Optional required indicator styling hook. */
|
|
290
322
|
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -330,7 +362,7 @@ interface DgaSelectOption {
|
|
|
330
362
|
}
|
|
331
363
|
type DgaSelectOpenMode = 'dropdown' | 'always';
|
|
332
364
|
type DgaSelectSize = DgaFormControlSize;
|
|
333
|
-
declare class DgaSelect {
|
|
365
|
+
declare class DgaSelect implements ControlValueAccessor {
|
|
334
366
|
private static nextId;
|
|
335
367
|
private readonly host;
|
|
336
368
|
readonly listId: string;
|
|
@@ -349,9 +381,13 @@ declare class DgaSelect {
|
|
|
349
381
|
readonly removeLabel: _angular_core.InputSignal<string>;
|
|
350
382
|
readonly clearLabel: _angular_core.InputSignal<string>;
|
|
351
383
|
readonly emptyLabel: _angular_core.InputSignal<string>;
|
|
352
|
-
readonly
|
|
384
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
385
|
+
private readonly cvaDisabled;
|
|
386
|
+
readonly disabled: _angular_core.Signal<boolean>;
|
|
353
387
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
354
388
|
readonly valueChange: _angular_core.OutputEmitterRef<string | string[]>;
|
|
389
|
+
private onChange;
|
|
390
|
+
private onTouched;
|
|
355
391
|
readonly open: _angular_core.WritableSignal<boolean>;
|
|
356
392
|
readonly query: _angular_core.WritableSignal<string>;
|
|
357
393
|
readonly activeIndex: _angular_core.WritableSignal<number>;
|
|
@@ -381,11 +417,15 @@ declare class DgaSelect {
|
|
|
381
417
|
clear(): void;
|
|
382
418
|
onDocClick(event: MouseEvent): void;
|
|
383
419
|
private commit;
|
|
420
|
+
writeValue(value: string | string[]): void;
|
|
421
|
+
registerOnChange(fn: (value: string | string[]) => void): void;
|
|
422
|
+
registerOnTouched(fn: () => void): void;
|
|
423
|
+
setDisabledState(isDisabled: boolean): void;
|
|
384
424
|
private moveActive;
|
|
385
425
|
private firstEnabledIndex;
|
|
386
426
|
private lastEnabledIndex;
|
|
387
427
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaSelect, never>;
|
|
388
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaSelect, "dga-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "valueInput": { "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; }; "
|
|
428
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaSelect, "dga-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "valueInput": { "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; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "dgaInvalid"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
389
429
|
}
|
|
390
430
|
|
|
391
431
|
/**
|
|
@@ -410,20 +450,28 @@ declare class DgaField {
|
|
|
410
450
|
}
|
|
411
451
|
|
|
412
452
|
type DgaSwitchSize = 'sm' | 'md' | 'lg';
|
|
413
|
-
declare class DgaSwitch {
|
|
453
|
+
declare class DgaSwitch implements ControlValueAccessor {
|
|
414
454
|
readonly checked: _angular_core.ModelSignal<boolean>;
|
|
415
455
|
readonly size: _angular_core.InputSignal<DgaSwitchSize>;
|
|
416
456
|
readonly label: _angular_core.InputSignal<string>;
|
|
417
|
-
readonly
|
|
457
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
458
|
+
private readonly cvaDisabled;
|
|
459
|
+
readonly disabled: _angular_core.Signal<boolean>;
|
|
418
460
|
readonly changed: _angular_core.OutputEmitterRef<boolean>;
|
|
461
|
+
private onChange;
|
|
462
|
+
onTouched: () => void;
|
|
419
463
|
readonly trackClasses: _angular_core.Signal<string>;
|
|
420
464
|
readonly thumbClasses: _angular_core.Signal<string>;
|
|
421
465
|
toggle(): void;
|
|
466
|
+
writeValue(value: boolean): void;
|
|
467
|
+
registerOnChange(fn: (value: boolean) => void): void;
|
|
468
|
+
registerOnTouched(fn: () => void): void;
|
|
469
|
+
setDisabledState(isDisabled: boolean): void;
|
|
422
470
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaSwitch, never>;
|
|
423
|
-
static ɵcmp: _angular_core.ɵɵ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; }; "
|
|
471
|
+
static ɵcmp: _angular_core.ɵɵ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; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "changed": "changed"; }, never, never, true, never>;
|
|
424
472
|
}
|
|
425
473
|
|
|
426
|
-
declare class DgaNumberInput {
|
|
474
|
+
declare class DgaNumberInput implements ControlValueAccessor {
|
|
427
475
|
readonly valueInput: _angular_core.InputSignal<number>;
|
|
428
476
|
readonly value: _angular_core.WritableSignal<number>;
|
|
429
477
|
readonly min: _angular_core.InputSignal<number>;
|
|
@@ -431,12 +479,18 @@ declare class DgaNumberInput {
|
|
|
431
479
|
readonly stepSize: _angular_core.InputSignal<number>;
|
|
432
480
|
readonly size: _angular_core.InputSignal<DgaFormControlSize>;
|
|
433
481
|
readonly label: _angular_core.InputSignal<string>;
|
|
482
|
+
readonly controlId: _angular_core.InputSignal<string>;
|
|
483
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
434
484
|
readonly incrementLabel: _angular_core.InputSignal<string>;
|
|
435
485
|
readonly decrementLabel: _angular_core.InputSignal<string>;
|
|
436
|
-
readonly
|
|
486
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
487
|
+
private readonly cvaDisabled;
|
|
488
|
+
readonly disabled: _angular_core.Signal<boolean>;
|
|
437
489
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
438
490
|
readonly status: _angular_core.InputSignal<DgaFormStatus>;
|
|
439
491
|
readonly valueChange: _angular_core.OutputEmitterRef<number>;
|
|
492
|
+
private onChange;
|
|
493
|
+
onTouched: () => void;
|
|
440
494
|
readonly resolvedStatus: _angular_core.Signal<DgaFormStatus>;
|
|
441
495
|
readonly wrapClasses: _angular_core.Signal<string>;
|
|
442
496
|
step(dir: 1 | -1): void;
|
|
@@ -444,8 +498,12 @@ declare class DgaNumberInput {
|
|
|
444
498
|
finiteOrNull(n: number): number | null;
|
|
445
499
|
private clamp;
|
|
446
500
|
private commit;
|
|
501
|
+
writeValue(value: number): void;
|
|
502
|
+
registerOnChange(fn: (value: number) => void): void;
|
|
503
|
+
registerOnTouched(fn: () => void): void;
|
|
504
|
+
setDisabledState(isDisabled: boolean): void;
|
|
447
505
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaNumberInput, never>;
|
|
448
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaNumberInput, "dga-number-input", never, { "valueInput": { "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; }; "
|
|
506
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaNumberInput, "dga-number-input", never, { "valueInput": { "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; }; "controlId": { "alias": "controlId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "incrementLabel": { "alias": "incrementLabel"; "required": false; "isSignal": true; }; "decrementLabel": { "alias": "decrementLabel"; "required": false; "isSignal": true; }; "disabledInput": { "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>;
|
|
449
507
|
}
|
|
450
508
|
|
|
451
509
|
declare class DgaSlider {
|
|
@@ -455,43 +513,63 @@ declare class DgaSlider {
|
|
|
455
513
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DgaSlider, "input[type=\"range\"][dgaSlider]", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
456
514
|
}
|
|
457
515
|
|
|
458
|
-
declare class DgaOtp {
|
|
516
|
+
declare class DgaOtp implements ControlValueAccessor {
|
|
459
517
|
private cells;
|
|
460
518
|
readonly length: _angular_core.InputSignal<number>;
|
|
461
519
|
readonly value: _angular_core.ModelSignal<string>;
|
|
462
520
|
readonly label: _angular_core.InputSignal<string>;
|
|
463
|
-
|
|
521
|
+
/** When `true`, allow `A-Z0-9` instead of digits only. */
|
|
522
|
+
readonly alphanumeric: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
523
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
524
|
+
private readonly cvaDisabled;
|
|
525
|
+
readonly disabled: _angular_core.Signal<boolean>;
|
|
464
526
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
465
527
|
readonly completed: _angular_core.OutputEmitterRef<string>;
|
|
528
|
+
private onChange;
|
|
529
|
+
onTouched: () => void;
|
|
466
530
|
get slots(): number[];
|
|
467
531
|
chars(): string[];
|
|
532
|
+
private sanitize;
|
|
468
533
|
cellClasses(): string;
|
|
469
534
|
onInput(index: number, raw: string): void;
|
|
470
535
|
onKey(index: number, event: KeyboardEvent): void;
|
|
471
536
|
onPaste(event: ClipboardEvent): void;
|
|
472
537
|
private commit;
|
|
538
|
+
writeValue(value: string): void;
|
|
539
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
540
|
+
registerOnTouched(fn: () => void): void;
|
|
541
|
+
setDisabledState(isDisabled: boolean): void;
|
|
473
542
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaOtp, never>;
|
|
474
|
-
static ɵcmp: _angular_core.ɵɵ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; }; "
|
|
543
|
+
static ɵcmp: _angular_core.ɵɵ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; }; "alphanumeric": { "alias": "alphanumeric"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "dgaInvalid"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "completed": "completed"; }, never, never, true, never>;
|
|
475
544
|
}
|
|
476
545
|
|
|
477
|
-
declare class DgaChipInput {
|
|
546
|
+
declare class DgaChipInput implements ControlValueAccessor {
|
|
478
547
|
readonly valueInput: _angular_core.InputSignal<string[]>;
|
|
479
548
|
readonly value: _angular_core.WritableSignal<string[]>;
|
|
480
549
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
481
550
|
readonly label: _angular_core.InputSignal<string>;
|
|
482
551
|
readonly removeLabel: _angular_core.InputSignal<string>;
|
|
483
|
-
readonly
|
|
552
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
553
|
+
private readonly cvaDisabled;
|
|
554
|
+
readonly disabled: _angular_core.Signal<boolean>;
|
|
484
555
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
485
556
|
readonly status: _angular_core.InputSignal<DgaFormStatus>;
|
|
486
557
|
readonly valueChange: _angular_core.OutputEmitterRef<string[]>;
|
|
487
558
|
draft: string;
|
|
559
|
+
private onChange;
|
|
560
|
+
onTouched: () => void;
|
|
488
561
|
readonly resolvedStatus: _angular_core.Signal<DgaFormStatus>;
|
|
489
562
|
readonly wrapClasses: _angular_core.Signal<string>;
|
|
490
563
|
commit(event: Event): void;
|
|
491
564
|
remove(tag: string): void;
|
|
492
565
|
onBackspace(): void;
|
|
566
|
+
writeValue(value: string[]): void;
|
|
567
|
+
registerOnChange(fn: (value: string[]) => void): void;
|
|
568
|
+
registerOnTouched(fn: () => void): void;
|
|
569
|
+
setDisabledState(isDisabled: boolean): void;
|
|
570
|
+
private emitValue;
|
|
493
571
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaChipInput, never>;
|
|
494
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaChipInput, "dga-chip-input", never, { "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; }; "
|
|
572
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaChipInput, "dga-chip-input", never, { "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; }; "disabledInput": { "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>;
|
|
495
573
|
}
|
|
496
574
|
|
|
497
575
|
interface DgaUploadFile {
|
|
@@ -500,8 +578,13 @@ interface DgaUploadFile {
|
|
|
500
578
|
size: number;
|
|
501
579
|
file?: File;
|
|
502
580
|
}
|
|
581
|
+
type DgaUploadRejectReason = 'maxSize' | 'accept' | 'maxFiles';
|
|
582
|
+
interface DgaUploadRejection {
|
|
583
|
+
file: File;
|
|
584
|
+
reason: DgaUploadRejectReason;
|
|
585
|
+
}
|
|
503
586
|
type DgaUploadAppearance = 'zone' | 'browse';
|
|
504
|
-
declare class DgaUpload {
|
|
587
|
+
declare class DgaUpload implements ControlValueAccessor {
|
|
505
588
|
readonly filesInput: _angular_core.InputSignal<DgaUploadFile[]>;
|
|
506
589
|
readonly files: _angular_core.WritableSignal<DgaUploadFile[]>;
|
|
507
590
|
readonly accept: _angular_core.InputSignal<string>;
|
|
@@ -511,10 +594,18 @@ declare class DgaUpload {
|
|
|
511
594
|
readonly hint: _angular_core.InputSignal<string>;
|
|
512
595
|
readonly browseLabel: _angular_core.InputSignal<string>;
|
|
513
596
|
readonly removeLabel: _angular_core.InputSignal<string>;
|
|
514
|
-
readonly
|
|
597
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
598
|
+
private readonly cvaDisabled;
|
|
599
|
+
readonly disabled: _angular_core.Signal<boolean>;
|
|
515
600
|
readonly maxSize: _angular_core.InputSignal<number>;
|
|
601
|
+
/** Max files kept when `multiple` is true (`0` = unlimited). */
|
|
602
|
+
readonly maxFiles: _angular_core.InputSignal<number>;
|
|
516
603
|
readonly filesChange: _angular_core.OutputEmitterRef<DgaUploadFile[]>;
|
|
604
|
+
/** Emitted when picked/dropped files were filtered out (size, accept, or maxFiles). */
|
|
605
|
+
readonly rejected: _angular_core.OutputEmitterRef<DgaUploadRejection[]>;
|
|
517
606
|
readonly dragging: _angular_core.ModelSignal<boolean>;
|
|
607
|
+
private onChange;
|
|
608
|
+
onTouched: () => void;
|
|
518
609
|
readonly zoneClasses: _angular_core.Signal<string>;
|
|
519
610
|
onDragOver(event: DragEvent): void;
|
|
520
611
|
onDrop(event: DragEvent): void;
|
|
@@ -522,9 +613,15 @@ declare class DgaUpload {
|
|
|
522
613
|
remove(id: string): void;
|
|
523
614
|
formatSize(bytes: number): string;
|
|
524
615
|
private addFiles;
|
|
616
|
+
/** Enforce `accept` for both picker and drag-drop (HTML accept is advisory). */
|
|
617
|
+
private matchesAccept;
|
|
525
618
|
private commit;
|
|
619
|
+
writeValue(value: DgaUploadFile[]): void;
|
|
620
|
+
registerOnChange(fn: (value: DgaUploadFile[]) => void): void;
|
|
621
|
+
registerOnTouched(fn: () => void): void;
|
|
622
|
+
setDisabledState(isDisabled: boolean): void;
|
|
526
623
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaUpload, never>;
|
|
527
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaUpload, "dga-upload", never, { "filesInput": { "alias": "files"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "browseLabel": { "alias": "browseLabel"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "
|
|
624
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaUpload, "dga-upload", never, { "filesInput": { "alias": "files"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "browseLabel": { "alias": "browseLabel"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "maxSize": { "alias": "maxSize"; "required": false; "isSignal": true; }; "maxFiles": { "alias": "maxFiles"; "required": false; "isSignal": true; }; "dragging": { "alias": "dragging"; "required": false; "isSignal": true; }; }, { "filesChange": "filesChange"; "rejected": "rejected"; "dragging": "draggingChange"; }, never, never, true, never>;
|
|
528
625
|
}
|
|
529
626
|
|
|
530
627
|
interface DgaPhoneCountry {
|
|
@@ -541,7 +638,7 @@ declare const DGA_PHONE_COUNTRIES: DgaPhoneCountry[];
|
|
|
541
638
|
* Phone field with country-code prefix select.
|
|
542
639
|
* The control group is always LTR so digits and codes read correctly in RTL pages.
|
|
543
640
|
*/
|
|
544
|
-
declare class DgaPhoneInput {
|
|
641
|
+
declare class DgaPhoneInput implements ControlValueAccessor {
|
|
545
642
|
readonly countries: _angular_core.InputSignal<DgaPhoneCountry[]>;
|
|
546
643
|
readonly countryCode: _angular_core.ModelSignal<string>;
|
|
547
644
|
readonly nationalNumber: _angular_core.ModelSignal<string>;
|
|
@@ -550,14 +647,24 @@ declare class DgaPhoneInput {
|
|
|
550
647
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
551
648
|
readonly autocomplete: _angular_core.InputSignal<string>;
|
|
552
649
|
readonly codeLabel: _angular_core.InputSignal<string>;
|
|
553
|
-
readonly
|
|
650
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
651
|
+
private readonly cvaDisabled;
|
|
652
|
+
readonly disabled: _angular_core.Signal<boolean>;
|
|
554
653
|
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
555
654
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
556
|
-
/** Full E.164-ish value: code + national digits. */
|
|
557
|
-
readonly value: _angular_core.
|
|
655
|
+
/** Full E.164-ish combined value: country code + national digits. */
|
|
656
|
+
readonly value: _angular_core.ModelSignal<string>;
|
|
558
657
|
readonly groupClasses: _angular_core.Signal<string>;
|
|
658
|
+
private onChange;
|
|
659
|
+
onTouched: () => void;
|
|
660
|
+
constructor();
|
|
661
|
+
writeValue(value: string): void;
|
|
662
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
663
|
+
registerOnTouched(fn: () => void): void;
|
|
664
|
+
setDisabledState(isDisabled: boolean): void;
|
|
665
|
+
private parseValue;
|
|
559
666
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaPhoneInput, never>;
|
|
560
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaPhoneInput, "dga-phone-input", never, { "countries": { "alias": "countries"; "required": false; "isSignal": true; }; "countryCode": { "alias": "countryCode"; "required": false; "isSignal": true; }; "nationalNumber": { "alias": "nationalNumber"; "required": false; "isSignal": true; }; "controlId": { "alias": "controlId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "codeLabel": { "alias": "codeLabel"; "required": false; "isSignal": true; }; "
|
|
667
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaPhoneInput, "dga-phone-input", never, { "countries": { "alias": "countries"; "required": false; "isSignal": true; }; "countryCode": { "alias": "countryCode"; "required": false; "isSignal": true; }; "nationalNumber": { "alias": "nationalNumber"; "required": false; "isSignal": true; }; "controlId": { "alias": "controlId"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "codeLabel": { "alias": "codeLabel"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "countryCode": "countryCodeChange"; "nationalNumber": "nationalNumberChange"; "value": "valueChange"; }, never, never, true, never>;
|
|
561
668
|
}
|
|
562
669
|
|
|
563
670
|
/** @deprecated Prefer `DgaSelectOption` — alias kept for existing imports. */
|
|
@@ -569,13 +676,15 @@ declare class DgaAutocomplete {
|
|
|
569
676
|
readonly value: _angular_core.WritableSignal<string>;
|
|
570
677
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
571
678
|
readonly label: _angular_core.InputSignal<string>;
|
|
679
|
+
readonly size: _angular_core.InputSignal<_a_nemreen_dga_ui.DgaFormControlSize>;
|
|
680
|
+
readonly clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
572
681
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
573
682
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
574
683
|
readonly status: _angular_core.InputSignal<DgaFormStatus>;
|
|
575
684
|
readonly valueChange: _angular_core.OutputEmitterRef<string>;
|
|
576
685
|
onValueChange(next: string | string[]): void;
|
|
577
686
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAutocomplete, never>;
|
|
578
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaAutocomplete, "dga-autocomplete", 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; }; "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>;
|
|
687
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaAutocomplete, "dga-autocomplete", 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; }; "size": { "alias": "size"; "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>;
|
|
579
688
|
}
|
|
580
689
|
|
|
581
690
|
/** @deprecated Prefer `DgaSelectOption` — alias kept for existing imports. */
|
|
@@ -588,13 +697,16 @@ declare class DgaMultiselect {
|
|
|
588
697
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
589
698
|
readonly label: _angular_core.InputSignal<string>;
|
|
590
699
|
readonly removeLabel: _angular_core.InputSignal<string>;
|
|
700
|
+
readonly size: _angular_core.InputSignal<_a_nemreen_dga_ui.DgaFormControlSize>;
|
|
701
|
+
readonly searchable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
702
|
+
readonly clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
591
703
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
592
704
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
593
705
|
readonly status: _angular_core.InputSignal<DgaFormStatus>;
|
|
594
706
|
readonly valueChange: _angular_core.OutputEmitterRef<string[]>;
|
|
595
707
|
onValueChange(next: string | string[]): void;
|
|
596
708
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaMultiselect, never>;
|
|
597
|
-
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; }; "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>;
|
|
709
|
+
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>;
|
|
598
710
|
}
|
|
599
711
|
|
|
600
712
|
/** Calendar system for date values and the picker UI. */
|
|
@@ -647,7 +759,7 @@ interface DgaDateRangeValue {
|
|
|
647
759
|
end: string;
|
|
648
760
|
}
|
|
649
761
|
type PanelView = DgaDatePickerMode;
|
|
650
|
-
declare class DgaDatePickerComponent {
|
|
762
|
+
declare class DgaDatePickerComponent implements ControlValueAccessor {
|
|
651
763
|
private readonly host;
|
|
652
764
|
private readonly destroyRef;
|
|
653
765
|
readonly inputId: string;
|
|
@@ -656,6 +768,8 @@ declare class DgaDatePickerComponent {
|
|
|
656
768
|
readonly value: _angular_core.WritableSignal<string>;
|
|
657
769
|
readonly startValue: _angular_core.ModelSignal<string>;
|
|
658
770
|
readonly endValue: _angular_core.ModelSignal<string>;
|
|
771
|
+
private onChange;
|
|
772
|
+
private onTouched;
|
|
659
773
|
readonly calendar: _angular_core.InputSignal<DgaDateCalendar>;
|
|
660
774
|
readonly range: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
661
775
|
readonly format: _angular_core.InputSignal<string>;
|
|
@@ -669,7 +783,9 @@ declare class DgaDatePickerComponent {
|
|
|
669
783
|
readonly controlId: _angular_core.InputSignal<string>;
|
|
670
784
|
readonly name: _angular_core.InputSignal<string>;
|
|
671
785
|
readonly size: _angular_core.InputSignal<DgaFormControlSize>;
|
|
672
|
-
readonly
|
|
786
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
787
|
+
private readonly cvaDisabled;
|
|
788
|
+
readonly disabled: _angular_core.Signal<boolean>;
|
|
673
789
|
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
674
790
|
readonly clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
675
791
|
readonly editable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -771,12 +887,16 @@ declare class DgaDatePickerComponent {
|
|
|
771
887
|
private syncDraftFromModels;
|
|
772
888
|
private parseRangeFromValue;
|
|
773
889
|
private emitValues;
|
|
890
|
+
writeValue(value: string): void;
|
|
891
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
892
|
+
registerOnTouched(fn: () => void): void;
|
|
893
|
+
setDisabledState(isDisabled: boolean): void;
|
|
774
894
|
private isDateDisabled;
|
|
775
895
|
private isMonthDisabled;
|
|
776
896
|
private isYearDisabled;
|
|
777
897
|
private initialViewParts;
|
|
778
898
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaDatePickerComponent, never>;
|
|
779
|
-
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; }; "
|
|
899
|
+
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>;
|
|
780
900
|
}
|
|
781
901
|
interface DayCell {
|
|
782
902
|
key: string;
|
|
@@ -791,6 +911,48 @@ interface DayCell {
|
|
|
791
911
|
label?: string;
|
|
792
912
|
}
|
|
793
913
|
|
|
914
|
+
type DgaTimePickerSize = DgaNativeSelectSize;
|
|
915
|
+
type DgaTimePickerFormat = '24h' | '12h';
|
|
916
|
+
declare function pad2(n: number): string;
|
|
917
|
+
/** Normalize to `HH:mm` (24h). Empty string when incomplete. */
|
|
918
|
+
declare function dgaNormalizeTime(value: string): string;
|
|
919
|
+
/**
|
|
920
|
+
* Time-of-day control (hour / minute selects). Value is `HH:mm` (24h).
|
|
921
|
+
* Pair with `dga-date-picker` for appointment-style datetime flows.
|
|
922
|
+
*/
|
|
923
|
+
declare class DgaTimePicker {
|
|
924
|
+
/** 24h `HH:mm` string. */
|
|
925
|
+
readonly value: _angular_core.ModelSignal<string>;
|
|
926
|
+
readonly format: _angular_core.InputSignal<DgaTimePickerFormat>;
|
|
927
|
+
readonly size: _angular_core.InputSignal<_a_nemreen_dga_ui.DgaFormControlSize>;
|
|
928
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
929
|
+
readonly hourLabel: _angular_core.InputSignal<string>;
|
|
930
|
+
readonly minuteLabel: _angular_core.InputSignal<string>;
|
|
931
|
+
readonly periodLabel: _angular_core.InputSignal<string>;
|
|
932
|
+
readonly amLabel: _angular_core.InputSignal<string>;
|
|
933
|
+
readonly pmLabel: _angular_core.InputSignal<string>;
|
|
934
|
+
/** Minute step (1, 5, 15, …). */
|
|
935
|
+
readonly minuteStep: _angular_core.InputSignal<number>;
|
|
936
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
937
|
+
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
938
|
+
readonly status: _angular_core.InputSignal<DgaFormStatus>;
|
|
939
|
+
readonly pad: typeof pad2;
|
|
940
|
+
readonly minuteOptions: _angular_core.Signal<number[]>;
|
|
941
|
+
readonly hourOptions: _angular_core.Signal<{
|
|
942
|
+
value: string;
|
|
943
|
+
label: string;
|
|
944
|
+
}[]>;
|
|
945
|
+
hourSelect(): string;
|
|
946
|
+
minuteSelect(): string;
|
|
947
|
+
periodSelect(): string;
|
|
948
|
+
onHour(raw: string): void;
|
|
949
|
+
onMinute(raw: string): void;
|
|
950
|
+
onPeriod(raw: string): void;
|
|
951
|
+
private commit;
|
|
952
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaTimePicker, never>;
|
|
953
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaTimePicker, "dga-time-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hourLabel": { "alias": "hourLabel"; "required": false; "isSignal": true; }; "minuteLabel": { "alias": "minuteLabel"; "required": false; "isSignal": true; }; "periodLabel": { "alias": "periodLabel"; "required": false; "isSignal": true; }; "amLabel": { "alias": "amLabel"; "required": false; "isSignal": true; }; "pmLabel": { "alias": "pmLabel"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "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"; }, never, never, true, never>;
|
|
954
|
+
}
|
|
955
|
+
|
|
794
956
|
type DgaDialogSize = 'sm' | 'md' | 'lg';
|
|
795
957
|
declare class DgaDialog {
|
|
796
958
|
private readonly injector;
|
|
@@ -876,7 +1038,7 @@ declare class DgaToast implements OnDestroy {
|
|
|
876
1038
|
private timer;
|
|
877
1039
|
readonly classes: _angular_core.Signal<string>;
|
|
878
1040
|
readonly iconName: _angular_core.Signal<DgaIconName>;
|
|
879
|
-
readonly iconTone: _angular_core.Signal<"
|
|
1041
|
+
readonly iconTone: _angular_core.Signal<"success" | "warning" | "error" | "muted" | "current">;
|
|
880
1042
|
constructor();
|
|
881
1043
|
ngOnDestroy(): void;
|
|
882
1044
|
dismiss(): void;
|
|
@@ -995,10 +1157,16 @@ declare class DgaTooltip {
|
|
|
995
1157
|
}
|
|
996
1158
|
|
|
997
1159
|
interface DgaMenuItem {
|
|
998
|
-
|
|
999
|
-
|
|
1160
|
+
/** Required for actionable items; optional when `divider` is true. */
|
|
1161
|
+
label?: string;
|
|
1162
|
+
/** Required for actionable items; optional when `divider` is true. */
|
|
1163
|
+
value?: string;
|
|
1000
1164
|
icon?: DgaIconName;
|
|
1001
1165
|
danger?: boolean;
|
|
1166
|
+
/** Skipped in keyboard nav / click selection; renders with disabled styling. */
|
|
1167
|
+
disabled?: boolean;
|
|
1168
|
+
/** Renders as a separator (`role="separator"`) instead of a menu item. */
|
|
1169
|
+
divider?: boolean;
|
|
1002
1170
|
}
|
|
1003
1171
|
declare class DgaMenu {
|
|
1004
1172
|
private readonly host;
|
|
@@ -1014,7 +1182,12 @@ declare class DgaMenu {
|
|
|
1014
1182
|
readonly showChevron: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1015
1183
|
/** Minimum panel width (e.g. share menus). */
|
|
1016
1184
|
readonly menuMinWidth: _angular_core.InputSignal<string>;
|
|
1017
|
-
|
|
1185
|
+
/** Emits the full selected item. */
|
|
1186
|
+
readonly selected: _angular_core.OutputEmitterRef<DgaMenuItem>;
|
|
1187
|
+
/** Emits `item.value` alongside `selected` — handy for quick migrations. */
|
|
1188
|
+
readonly selectedValue: _angular_core.OutputEmitterRef<string>;
|
|
1189
|
+
readonly opened: _angular_core.OutputEmitterRef<void>;
|
|
1190
|
+
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
1018
1191
|
/** Viewport coords - panel is portaled to body so ancestors cannot clip it. */
|
|
1019
1192
|
readonly panelStyle: _angular_core.WritableSignal<Record<string, string>>;
|
|
1020
1193
|
private readonly seq;
|
|
@@ -1026,6 +1199,7 @@ declare class DgaMenu {
|
|
|
1026
1199
|
triggerClasses(): string;
|
|
1027
1200
|
menuClasses(): string;
|
|
1028
1201
|
itemId(index: number): string;
|
|
1202
|
+
trackItem(item: DgaMenuItem, index: number): string;
|
|
1029
1203
|
itemClass(item: DgaMenuItem): string;
|
|
1030
1204
|
toggle(event: Event): void;
|
|
1031
1205
|
openMenu(): void;
|
|
@@ -1035,12 +1209,17 @@ declare class DgaMenu {
|
|
|
1035
1209
|
onMenuKey(event: KeyboardEvent): void;
|
|
1036
1210
|
onDocumentClick(event: MouseEvent): void;
|
|
1037
1211
|
onDocumentKeydown(event: KeyboardEvent): void;
|
|
1212
|
+
private isSelectable;
|
|
1213
|
+
private firstSelectableIndex;
|
|
1214
|
+
private lastSelectableIndex;
|
|
1215
|
+
private stepIndex;
|
|
1038
1216
|
private portalMenuToBody;
|
|
1039
1217
|
private detachPortaledMenu;
|
|
1040
1218
|
private syncPanelPosition;
|
|
1219
|
+
private cssLengthToPx;
|
|
1041
1220
|
private focusItem;
|
|
1042
1221
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaMenu, never>;
|
|
1043
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaMenu, "dga-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "triggerLabel": { "alias": "triggerLabel"; "required": false; "isSignal": true; }; "leadingIcon": { "alias": "leadingIcon"; "required": false; "isSignal": true; }; "showChevron": { "alias": "showChevron"; "required": false; "isSignal": true; }; "menuMinWidth": { "alias": "menuMinWidth"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "selected": "selected"; }, never, never, true, never>;
|
|
1222
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaMenu, "dga-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "triggerLabel": { "alias": "triggerLabel"; "required": false; "isSignal": true; }; "leadingIcon": { "alias": "leadingIcon"; "required": false; "isSignal": true; }; "showChevron": { "alias": "showChevron"; "required": false; "isSignal": true; }; "menuMinWidth": { "alias": "menuMinWidth"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "selected": "selected"; "selectedValue": "selectedValue"; "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
|
|
1044
1223
|
}
|
|
1045
1224
|
|
|
1046
1225
|
type DgaDrawerSide = 'start' | 'end';
|
|
@@ -1049,6 +1228,7 @@ declare class DgaDrawer {
|
|
|
1049
1228
|
private readonly panel;
|
|
1050
1229
|
readonly open: _angular_core.ModelSignal<boolean>;
|
|
1051
1230
|
readonly title: _angular_core.InputSignal<string>;
|
|
1231
|
+
/** `start` = inline-start edge; `end` = inline-end (LTR right / RTL left). */
|
|
1052
1232
|
readonly side: _angular_core.InputSignal<DgaDrawerSide>;
|
|
1053
1233
|
readonly closeLabel: _angular_core.InputSignal<string>;
|
|
1054
1234
|
readonly closeOnBackdrop: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -1157,7 +1337,7 @@ declare class DgaAlert {
|
|
|
1157
1337
|
readonly titleClasses: _angular_core.Signal<string>;
|
|
1158
1338
|
readonly descriptionClasses: _angular_core.Signal<string>;
|
|
1159
1339
|
readonly iconName: _angular_core.Signal<DgaIconName>;
|
|
1160
|
-
readonly iconTone: _angular_core.Signal<"
|
|
1340
|
+
readonly iconTone: _angular_core.Signal<"success" | "warning" | "error" | "muted" | "current">;
|
|
1161
1341
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAlert, never>;
|
|
1162
1342
|
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>;
|
|
1163
1343
|
}
|
|
@@ -1275,32 +1455,107 @@ declare class DgaPageFeedback {
|
|
|
1275
1455
|
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>;
|
|
1276
1456
|
}
|
|
1277
1457
|
|
|
1278
|
-
|
|
1458
|
+
/** Stored consent outcome. `custom` = per-category preferences were saved. */
|
|
1459
|
+
type DgaCookieConsent = 'accepted' | 'declined' | 'custom' | null;
|
|
1460
|
+
/** Horizontal placement. Logical `start`/`end` follow reading direction. */
|
|
1461
|
+
type DgaCookiesAlign = 'start' | 'center' | 'end';
|
|
1462
|
+
/**
|
|
1463
|
+
* Banner anchor on the viewport.
|
|
1464
|
+
* - `start` | `center` | `end` → bottom edge + that alignment (compact)
|
|
1465
|
+
* - `bottom` | `top` → that edge, centered
|
|
1466
|
+
* - `bottom-start` / `top-end` / … → explicit edge + alignment
|
|
1467
|
+
*/
|
|
1468
|
+
type DgaCookiesPosition = DgaCookiesAlign | 'bottom' | 'top' | 'bottom-start' | 'bottom-center' | 'bottom-end' | 'top-start' | 'top-center' | 'top-end';
|
|
1469
|
+
/** Optional cookie category for granular consent (GDPR-style preferences). */
|
|
1470
|
+
interface DgaCookieCategory {
|
|
1471
|
+
id: string;
|
|
1472
|
+
label: string;
|
|
1473
|
+
description?: string;
|
|
1474
|
+
/** Always enabled; toggle is disabled. */
|
|
1475
|
+
required?: boolean;
|
|
1476
|
+
/** Initial state when no stored preference exists (ignored when `required`). */
|
|
1477
|
+
defaultEnabled?: boolean;
|
|
1478
|
+
}
|
|
1479
|
+
type DgaCookiePreferences = Record<string, boolean>;
|
|
1480
|
+
interface DgaCookieDecision {
|
|
1481
|
+
consent: Exclude<DgaCookieConsent, null>;
|
|
1482
|
+
preferences: DgaCookiePreferences;
|
|
1483
|
+
}
|
|
1279
1484
|
/**
|
|
1280
1485
|
* Privacy-compliant cookie consent banner.
|
|
1281
|
-
* Persists choice
|
|
1486
|
+
* Persists choice (default 365 days); optional category preferences and GA gating.
|
|
1282
1487
|
*/
|
|
1283
1488
|
declare class DgaCookies implements OnInit {
|
|
1284
1489
|
private readonly destroyRef;
|
|
1490
|
+
private readonly hostRef;
|
|
1491
|
+
/** Original parent before body portal (restored on destroy). */
|
|
1492
|
+
private portalHome;
|
|
1285
1493
|
readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1494
|
+
/**
|
|
1495
|
+
* Viewport anchor. Use `start` / `center` / `end` for bottom placement,
|
|
1496
|
+
* or compound values like `top-end`. Prefer `align` to set horizontal only.
|
|
1497
|
+
*/
|
|
1498
|
+
readonly position: _angular_core.InputSignal<DgaCookiesPosition>;
|
|
1499
|
+
/** Horizontal alignment (`start` | `center` | `end`). Overrides `position` when set. */
|
|
1500
|
+
readonly align: _angular_core.InputSignal<"" | DgaCookiesAlign>;
|
|
1286
1501
|
/** Auto-open delay when no consent is stored. `0` disables auto-show. */
|
|
1287
1502
|
readonly delayMs: _angular_core.InputSignal<number>;
|
|
1503
|
+
/** When false, never auto-opens (call `show()` manually). */
|
|
1504
|
+
readonly autoShow: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1505
|
+
/** Show the dismiss (X) control. Dismiss does not persist a decision. */
|
|
1506
|
+
readonly dismissible: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1507
|
+
/** Show the reject / decline non-essential button. */
|
|
1508
|
+
readonly showDecline: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1509
|
+
/** Show policy / terms links row. */
|
|
1510
|
+
readonly showLinks: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1511
|
+
/** Show Customize when `categories` are provided. */
|
|
1512
|
+
readonly showCustomize: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1513
|
+
/** Dim the page behind the banner (modal-style overlay). */
|
|
1514
|
+
readonly overlay: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1515
|
+
/**
|
|
1516
|
+
* @deprecated Prefer `overlay`. Same behavior — kept for backward compatibility.
|
|
1517
|
+
*/
|
|
1518
|
+
readonly blocking: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1519
|
+
/** Close the banner when the overlay backdrop is clicked (requires dismissible). */
|
|
1520
|
+
readonly overlayClose: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1288
1521
|
readonly termsHref: _angular_core.InputSignal<string>;
|
|
1289
1522
|
readonly privacyHref: _angular_core.InputSignal<string>;
|
|
1523
|
+
/** Optional third policy link (cookie policy). Empty hides it. */
|
|
1524
|
+
readonly cookiePolicyHref: _angular_core.InputSignal<string>;
|
|
1525
|
+
readonly termsLabel: _angular_core.InputSignal<string>;
|
|
1526
|
+
readonly privacyLabel: _angular_core.InputSignal<string>;
|
|
1527
|
+
readonly cookiePolicyLabel: _angular_core.InputSignal<string>;
|
|
1290
1528
|
readonly title: _angular_core.InputSignal<string>;
|
|
1291
1529
|
readonly description: _angular_core.InputSignal<string>;
|
|
1292
1530
|
readonly acceptLabel: _angular_core.InputSignal<string>;
|
|
1293
1531
|
readonly declineLabel: _angular_core.InputSignal<string>;
|
|
1294
|
-
|
|
1532
|
+
readonly customizeLabel: _angular_core.InputSignal<string>;
|
|
1533
|
+
readonly saveLabel: _angular_core.InputSignal<string>;
|
|
1534
|
+
readonly icon: _angular_core.InputSignal<DgaIconName>;
|
|
1535
|
+
/** Google Analytics IDs to disable on decline / when analytics is off. */
|
|
1295
1536
|
readonly gaTrackingIds: _angular_core.InputSignal<string | readonly string[]>;
|
|
1537
|
+
/** Consent cookie lifetime in days. */
|
|
1538
|
+
readonly consentDays: _angular_core.InputSignal<number>;
|
|
1539
|
+
/** Consent cookie name (also used as localStorage key prefix). */
|
|
1540
|
+
readonly consentCookieName: _angular_core.InputSignal<string>;
|
|
1541
|
+
/** Extra cookies to delete when analytics/marketing is denied. */
|
|
1542
|
+
readonly analyticsCookieNames: _angular_core.InputSignal<readonly string[]>;
|
|
1543
|
+
/** Granular categories. When set, Customize / Save Preferences become available. */
|
|
1544
|
+
readonly categories: _angular_core.InputSignal<readonly DgaCookieCategory[]>;
|
|
1296
1545
|
readonly accepted: _angular_core.OutputEmitterRef<void>;
|
|
1297
1546
|
readonly declined: _angular_core.OutputEmitterRef<void>;
|
|
1298
1547
|
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
1299
|
-
readonly decided: _angular_core.OutputEmitterRef<"accepted" | "declined">;
|
|
1548
|
+
readonly decided: _angular_core.OutputEmitterRef<"accepted" | "declined" | "custom">;
|
|
1549
|
+
readonly preferencesChange: _angular_core.OutputEmitterRef<DgaCookiePreferences>;
|
|
1550
|
+
readonly decision: _angular_core.OutputEmitterRef<DgaCookieDecision>;
|
|
1300
1551
|
/** Controls enter/exit animation state. */
|
|
1301
1552
|
readonly visible: _angular_core.WritableSignal<boolean>;
|
|
1302
1553
|
/** Keeps the panel in the DOM while exit animation plays. */
|
|
1303
1554
|
readonly mounted: _angular_core.WritableSignal<boolean>;
|
|
1555
|
+
/** Whether the category preferences panel is expanded. */
|
|
1556
|
+
readonly customizing: _angular_core.WritableSignal<boolean>;
|
|
1557
|
+
/** Draft toggles while customizing. */
|
|
1558
|
+
readonly draftPrefs: _angular_core.WritableSignal<DgaCookiePreferences>;
|
|
1304
1559
|
private readonly seq;
|
|
1305
1560
|
readonly titleId: string;
|
|
1306
1561
|
readonly bodyId: string;
|
|
@@ -1311,31 +1566,87 @@ declare class DgaCookies implements OnInit {
|
|
|
1311
1566
|
body: string;
|
|
1312
1567
|
terms: string;
|
|
1313
1568
|
privacy: string;
|
|
1569
|
+
cookiePolicy: string;
|
|
1314
1570
|
accept: string;
|
|
1571
|
+
acceptAll: string;
|
|
1315
1572
|
decline: string;
|
|
1573
|
+
customize: string;
|
|
1574
|
+
save: string;
|
|
1575
|
+
categories: string;
|
|
1576
|
+
policies: string;
|
|
1316
1577
|
close: string;
|
|
1317
1578
|
}>;
|
|
1579
|
+
readonly resolvedCategories: _angular_core.Signal<DgaCookieCategory[]>;
|
|
1580
|
+
readonly resolvedLinks: _angular_core.Signal<{
|
|
1581
|
+
href: string;
|
|
1582
|
+
label: string;
|
|
1583
|
+
}[]>;
|
|
1584
|
+
/**
|
|
1585
|
+
* Accept + Decline share a row; Customize / Save spans full width underneath
|
|
1586
|
+
* so Arabic labels stay on one line. Actions stay pinned below the scroll body.
|
|
1587
|
+
*/
|
|
1588
|
+
readonly actionsClasses: _angular_core.Signal<string>;
|
|
1589
|
+
/** Resolved vertical edge + horizontal align (logical start/end). */
|
|
1590
|
+
readonly placement: _angular_core.Signal<{
|
|
1591
|
+
edge: "top" | "bottom";
|
|
1592
|
+
align: DgaCookiesAlign;
|
|
1593
|
+
}>;
|
|
1594
|
+
/** Whether a dimmed backdrop is shown (`overlay` or legacy `blocking`). */
|
|
1595
|
+
readonly hasOverlay: _angular_core.Signal<boolean>;
|
|
1318
1596
|
readonly panelClasses: _angular_core.Signal<string>;
|
|
1319
1597
|
constructor();
|
|
1320
1598
|
ngOnInit(): void;
|
|
1321
|
-
|
|
1599
|
+
hasCategories(): boolean;
|
|
1600
|
+
hasLinks(): boolean;
|
|
1601
|
+
/**
|
|
1602
|
+
* Re-open the banner (e.g. from a footer Cookie Settings link).
|
|
1603
|
+
* Portals to `document.body` so overflow/transform ancestors cannot clip it.
|
|
1604
|
+
*/
|
|
1322
1605
|
show(): void;
|
|
1323
1606
|
/** Hide without persisting a decision. */
|
|
1324
1607
|
dismiss(): void;
|
|
1608
|
+
/** Backdrop click — dismiss only when overlayClose + dismissible. */
|
|
1609
|
+
onOverlayClick(): void;
|
|
1610
|
+
openCustomize(): void;
|
|
1611
|
+
onCategoryToggle(id: string, enabled: boolean): void;
|
|
1325
1612
|
accept(): void;
|
|
1326
1613
|
decline(): void;
|
|
1614
|
+
savePreferences(): void;
|
|
1615
|
+
private commit;
|
|
1616
|
+
private buildDefaultPrefs;
|
|
1617
|
+
private buildAllPrefs;
|
|
1618
|
+
private readStored;
|
|
1327
1619
|
private hidePanel;
|
|
1328
1620
|
private trackingIds;
|
|
1621
|
+
/** Move host to `body` so fixed positioning escapes overflow/transform ancestors. */
|
|
1622
|
+
private ensureBodyPortal;
|
|
1623
|
+
private restorePortal;
|
|
1329
1624
|
private clearTimer;
|
|
1330
1625
|
private clearCloseTimer;
|
|
1331
|
-
static getConsent(): DgaCookieConsent;
|
|
1332
|
-
static
|
|
1333
|
-
static
|
|
1626
|
+
static getConsent(cookieName?: string): DgaCookieConsent;
|
|
1627
|
+
static getPreferences(cookieName?: string): DgaCookiePreferences | null;
|
|
1628
|
+
static setConsent(value: Exclude<DgaCookieConsent, null>, options?: {
|
|
1629
|
+
name?: string;
|
|
1630
|
+
days?: number;
|
|
1631
|
+
preferences?: DgaCookiePreferences;
|
|
1632
|
+
}): void;
|
|
1633
|
+
static clearConsent(cookieName?: string): void;
|
|
1634
|
+
/** @internal */
|
|
1635
|
+
static parseStored(raw: string | null): {
|
|
1636
|
+
consent: DgaCookieConsent;
|
|
1637
|
+
preferences: DgaCookiePreferences | null;
|
|
1638
|
+
};
|
|
1639
|
+
/** @internal */
|
|
1640
|
+
static writeConsent(status: Exclude<DgaCookieConsent, null>, preferences: DgaCookiePreferences | null, opts: {
|
|
1641
|
+
name: string;
|
|
1642
|
+
days: number;
|
|
1643
|
+
hasCategories: boolean;
|
|
1644
|
+
}): void;
|
|
1334
1645
|
static get(name: string): string | null;
|
|
1335
1646
|
static set(name: string, value: string, days?: number): void;
|
|
1336
1647
|
static delete(name: string): void;
|
|
1337
1648
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaCookies, never>;
|
|
1338
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaCookies, "dga-cookies", never, { "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "delayMs": { "alias": "delayMs"; "required": false; "isSignal": true; }; "termsHref": { "alias": "termsHref"; "required": false; "isSignal": true; }; "privacyHref": { "alias": "privacyHref"; "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; }; "gaTrackingIds": { "alias": "gaTrackingIds"; "required": false; "isSignal": true; }; }, { "accepted": "accepted"; "declined": "declined"; "closed": "closed"; "decided": "decided"; }, never, never, true, never>;
|
|
1649
|
+
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>;
|
|
1339
1650
|
}
|
|
1340
1651
|
|
|
1341
1652
|
type DgaRatingSize = 'sm' | 'md' | 'lg';
|
|
@@ -1428,7 +1739,7 @@ declare class DgaShare {
|
|
|
1428
1739
|
readonly inlineClasses: _angular_core.Signal<string>;
|
|
1429
1740
|
resolvedUrl(): string;
|
|
1430
1741
|
resolvedTitle(): string;
|
|
1431
|
-
onMenuSelect(
|
|
1742
|
+
onMenuSelect(item: DgaMenuItem | string): void;
|
|
1432
1743
|
share(channel: string): void;
|
|
1433
1744
|
copyLink(): Promise<void>;
|
|
1434
1745
|
onCopied(): void;
|
|
@@ -1436,6 +1747,104 @@ declare class DgaShare {
|
|
|
1436
1747
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaShare, "dga-share", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "url": { "alias": "url"; "required": false; "isSignal": true; }; "shareTitle": { "alias": "shareTitle"; "required": false; "isSignal": true; }; "triggerLabel": { "alias": "triggerLabel"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; "buttonVariant": { "alias": "buttonVariant"; "required": false; "isSignal": true; }; "buttonSize": { "alias": "buttonSize"; "required": false; "isSignal": true; }; }, { "shared": "shared"; "linkCopied": "linkCopied"; }, never, never, true, never>;
|
|
1437
1748
|
}
|
|
1438
1749
|
|
|
1750
|
+
type DgaChatbotPosition = 'end' | 'start' | 'left' | 'right';
|
|
1751
|
+
type DgaChatbotAnimation = 'fade' | 'slide' | 'scale' | 'none';
|
|
1752
|
+
type DgaChatbotSize = 'sm' | 'md' | 'lg';
|
|
1753
|
+
type DgaChatbotFabTone = 'primary' | 'secondary';
|
|
1754
|
+
interface DgaChatbotMessage {
|
|
1755
|
+
id: string;
|
|
1756
|
+
role: 'bot' | 'user';
|
|
1757
|
+
text: string;
|
|
1758
|
+
}
|
|
1759
|
+
/**
|
|
1760
|
+
* Floating live-chat launcher + panel. Place once near the app root
|
|
1761
|
+
* (beside `dga-scroll-top` / `dga-accessibility`).
|
|
1762
|
+
*
|
|
1763
|
+
* Use `stack` so FABs share one vertical dock:
|
|
1764
|
+
* a11y `0` → scroll-top `1` → chatbot `2`.
|
|
1765
|
+
*/
|
|
1766
|
+
declare class DgaChatbot {
|
|
1767
|
+
private readonly destroyRef;
|
|
1768
|
+
private readonly injector;
|
|
1769
|
+
private readonly composerRef;
|
|
1770
|
+
private readonly logRef;
|
|
1771
|
+
/** Corner for FAB + panel. `end` / `start` follow reading direction. */
|
|
1772
|
+
readonly position: _angular_core.InputSignal<DgaChatbotPosition>;
|
|
1773
|
+
/** Panel enter animation. Honors `prefers-reduced-motion`. */
|
|
1774
|
+
readonly animation: _angular_core.InputSignal<DgaChatbotAnimation>;
|
|
1775
|
+
readonly size: _angular_core.InputSignal<DgaChatbotSize>;
|
|
1776
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
1777
|
+
readonly subtitle: _angular_core.InputSignal<string>;
|
|
1778
|
+
readonly fabLabel: _angular_core.InputSignal<string>;
|
|
1779
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1780
|
+
readonly fabIcon: _angular_core.InputSignal<DgaIconName>;
|
|
1781
|
+
/** Prefer a directional arrow so send ≠ chat bubble. */
|
|
1782
|
+
readonly sendIcon: _angular_core.InputSignal<DgaIconName>;
|
|
1783
|
+
readonly agentIcon: _angular_core.InputSignal<DgaIconName>;
|
|
1784
|
+
readonly fabTone: _angular_core.InputSignal<DgaChatbotFabTone>;
|
|
1785
|
+
/** Dim page behind the panel. */
|
|
1786
|
+
readonly overlay: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1787
|
+
/** Close when clicking the overlay. */
|
|
1788
|
+
readonly overlayClose: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1789
|
+
/** Green online dot on the agent avatar. */
|
|
1790
|
+
readonly online: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1791
|
+
/** Hide launcher while the panel is open (recommended). */
|
|
1792
|
+
readonly hideFabWhenOpen: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1793
|
+
/**
|
|
1794
|
+
* 0-based slot in the shared FAB dock (bottom → top).
|
|
1795
|
+
* Typical: a11y=0, scroll-top=1, chatbot=2.
|
|
1796
|
+
*/
|
|
1797
|
+
readonly stack: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
1798
|
+
/**
|
|
1799
|
+
* @deprecated Prefer `stack`. When true and `stack` is unset legacy path —
|
|
1800
|
+
* kept for callers; `stack` wins.
|
|
1801
|
+
*/
|
|
1802
|
+
readonly clearFab: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1803
|
+
/**
|
|
1804
|
+
* Anchor FAB/panel inside a relative parent (gallery / docs preview)
|
|
1805
|
+
* instead of the viewport — avoids a second global FAB.
|
|
1806
|
+
*/
|
|
1807
|
+
readonly embedded: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1808
|
+
readonly initialMessages: _angular_core.InputSignal<readonly DgaChatbotMessage[]>;
|
|
1809
|
+
readonly sent: _angular_core.OutputEmitterRef<string>;
|
|
1810
|
+
readonly opened: _angular_core.OutputEmitterRef<void>;
|
|
1811
|
+
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
1812
|
+
readonly open: _angular_core.WritableSignal<boolean>;
|
|
1813
|
+
readonly draft: _angular_core.WritableSignal<string>;
|
|
1814
|
+
readonly messages: _angular_core.WritableSignal<DgaChatbotMessage[]>;
|
|
1815
|
+
private readonly seq;
|
|
1816
|
+
readonly panelId: string;
|
|
1817
|
+
private msgSeq;
|
|
1818
|
+
private seeded;
|
|
1819
|
+
private prevOverflow;
|
|
1820
|
+
readonly copy: _angular_core.Signal<{
|
|
1821
|
+
title: string;
|
|
1822
|
+
subtitle: string;
|
|
1823
|
+
open: string;
|
|
1824
|
+
close: string;
|
|
1825
|
+
send: string;
|
|
1826
|
+
input: string;
|
|
1827
|
+
placeholder: string;
|
|
1828
|
+
panelLabel: string;
|
|
1829
|
+
welcome: string;
|
|
1830
|
+
}>;
|
|
1831
|
+
readonly fabBottom: _angular_core.Signal<string>;
|
|
1832
|
+
readonly fabClasses: _angular_core.Signal<string>;
|
|
1833
|
+
readonly panelClasses: _angular_core.Signal<string>;
|
|
1834
|
+
constructor();
|
|
1835
|
+
private ensureSeed;
|
|
1836
|
+
toggle(): void;
|
|
1837
|
+
show(): void;
|
|
1838
|
+
close(): void;
|
|
1839
|
+
onBackdrop(): void;
|
|
1840
|
+
onSubmit(event: Event): void;
|
|
1841
|
+
private scrollLogToEnd;
|
|
1842
|
+
private lockScroll;
|
|
1843
|
+
private unlockScroll;
|
|
1844
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaChatbot, never>;
|
|
1845
|
+
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>;
|
|
1846
|
+
}
|
|
1847
|
+
|
|
1439
1848
|
/** One-tap accessibility presets (compose primitives + settings). */
|
|
1440
1849
|
type DgaA11yBundle = 'epilepsy-safe' | 'visually-impaired' | 'cognitive-disability' | 'motor-impaired' | 'colorblind' | 'dyslexia-friendly' | 'adhd-friendly';
|
|
1441
1850
|
/** Primitive toggles stamped on `data-a11y`. */
|
|
@@ -1520,8 +1929,14 @@ type SectionOpen = SectionId | null;
|
|
|
1520
1929
|
declare class DgaAccessibility {
|
|
1521
1930
|
readonly a11y: DgaAccessibilityService;
|
|
1522
1931
|
readonly position: _angular_core.InputSignal<DgaAccessibilityPosition>;
|
|
1932
|
+
/**
|
|
1933
|
+
* 0-based slot in the shared FAB dock (bottom → top).
|
|
1934
|
+
* Typical: a11y=0, scroll-top=1, chatbot=2.
|
|
1935
|
+
*/
|
|
1936
|
+
readonly stack: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
1523
1937
|
readonly panelId = "dga-accessibility-panel";
|
|
1524
1938
|
private readonly panelRef;
|
|
1939
|
+
readonly fabBottom: _angular_core.Signal<string>;
|
|
1525
1940
|
readonly sectionOpen: _angular_core.WritableSignal<SectionOpen>;
|
|
1526
1941
|
readonly resetArmed: _angular_core.WritableSignal<boolean>;
|
|
1527
1942
|
readonly liveMsg: _angular_core.WritableSignal<string>;
|
|
@@ -1641,7 +2056,7 @@ declare class DgaAccessibility {
|
|
|
1641
2056
|
private announce;
|
|
1642
2057
|
private onMaskKeys;
|
|
1643
2058
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAccessibility, never>;
|
|
1644
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaAccessibility, "dga-accessibility", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2059
|
+
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>;
|
|
1645
2060
|
}
|
|
1646
2061
|
|
|
1647
2062
|
/**
|
|
@@ -1667,13 +2082,29 @@ declare class DgaAccordionItem {
|
|
|
1667
2082
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaAccordionItem, "dga-accordion-item", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, ["*"], true, never>;
|
|
1668
2083
|
}
|
|
1669
2084
|
|
|
2085
|
+
interface DgaAccordionSection {
|
|
2086
|
+
id: string;
|
|
2087
|
+
title: string;
|
|
2088
|
+
content?: string;
|
|
2089
|
+
open?: boolean;
|
|
2090
|
+
}
|
|
1670
2091
|
declare class DgaAccordion {
|
|
1671
2092
|
/** Allow multiple panels open at once. */
|
|
1672
2093
|
readonly multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2094
|
+
/** Optional data-driven sections; when non-empty, renders items from this list instead of `<ng-content>`. */
|
|
2095
|
+
readonly sections: _angular_core.InputSignal<DgaAccordionSection[]>;
|
|
1673
2096
|
readonly items: _angular_core.Signal<readonly DgaAccordionItem[]>;
|
|
2097
|
+
private readonly seq;
|
|
2098
|
+
private readonly openSectionIds;
|
|
2099
|
+
private sectionsInitialized;
|
|
2100
|
+
constructor();
|
|
2101
|
+
headerId(section: DgaAccordionSection): string;
|
|
2102
|
+
panelId(section: DgaAccordionSection): string;
|
|
2103
|
+
isSectionOpen(section: DgaAccordionSection): boolean;
|
|
2104
|
+
toggleSection(section: DgaAccordionSection): void;
|
|
1674
2105
|
onItemOpen(item: DgaAccordionItem): void;
|
|
1675
2106
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAccordion, never>;
|
|
1676
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaAccordion, "dga-accordion", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; }, {}, ["items"], ["*"], true, never>;
|
|
2107
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaAccordion, "dga-accordion", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "sections": { "alias": "sections"; "required": false; "isSignal": true; }; }, {}, ["items"], ["*"], true, never>;
|
|
1677
2108
|
}
|
|
1678
2109
|
|
|
1679
2110
|
interface DgaBreadcrumbItem {
|
|
@@ -1685,58 +2116,79 @@ declare class DgaBreadcrumb {
|
|
|
1685
2116
|
readonly items: _angular_core.InputSignal<DgaBreadcrumbItem[]>;
|
|
1686
2117
|
readonly label: _angular_core.InputSignal<string>;
|
|
1687
2118
|
readonly separator: _angular_core.InputSignal<DgaBreadcrumbSeparator>;
|
|
2119
|
+
/** Emits the clicked item for non-last links. Navigation via `href` is not prevented. */
|
|
2120
|
+
readonly itemClick: _angular_core.OutputEmitterRef<DgaBreadcrumbItem>;
|
|
2121
|
+
onItemClick(item: DgaBreadcrumbItem): void;
|
|
1688
2122
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaBreadcrumb, never>;
|
|
1689
|
-
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; }; }, {}, never, never, true, never>;
|
|
2123
|
+
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>;
|
|
1690
2124
|
}
|
|
1691
2125
|
|
|
1692
2126
|
declare class DgaPagination {
|
|
1693
|
-
|
|
1694
|
-
readonly page: _angular_core.
|
|
2127
|
+
/** Two-way bindable via `[(page)]`; also emits the built-in `pageChange` output. */
|
|
2128
|
+
readonly page: _angular_core.ModelSignal<number>;
|
|
1695
2129
|
readonly totalPages: _angular_core.InputSignal<number>;
|
|
1696
2130
|
readonly label: _angular_core.InputSignal<string>;
|
|
1697
2131
|
readonly prevLabel: _angular_core.InputSignal<string>;
|
|
1698
2132
|
readonly nextLabel: _angular_core.InputSignal<string>;
|
|
1699
|
-
readonly pageChange: _angular_core.OutputEmitterRef<number>;
|
|
1700
2133
|
readonly pages: _angular_core.Signal<(number | "…")[]>;
|
|
1701
2134
|
btnClass(active: boolean): string;
|
|
1702
2135
|
go(next: number): void;
|
|
1703
2136
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaPagination, never>;
|
|
1704
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaPagination, "dga-pagination", never, { "
|
|
2137
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaPagination, "dga-pagination", never, { "page": { "alias": "page"; "required": false; "isSignal": true; }; "totalPages": { "alias": "totalPages"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "prevLabel": { "alias": "prevLabel"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; }, { "page": "pageChange"; }, never, never, true, never>;
|
|
1705
2138
|
}
|
|
1706
2139
|
|
|
1707
2140
|
declare class DgaTab {
|
|
1708
2141
|
private readonly tabs;
|
|
1709
2142
|
readonly value: _angular_core.InputSignal<string>;
|
|
1710
2143
|
readonly label: _angular_core.InputSignal<string>;
|
|
2144
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1711
2145
|
readonly seq: number;
|
|
1712
2146
|
readonly tabId: string;
|
|
1713
2147
|
readonly panelId: string;
|
|
1714
2148
|
readonly active: _angular_core.Signal<boolean>;
|
|
1715
2149
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaTab, never>;
|
|
1716
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaTab, "dga-tab", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
2150
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaTab, "dga-tab", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1717
2151
|
}
|
|
1718
2152
|
|
|
2153
|
+
interface DgaTabItem {
|
|
2154
|
+
value: string;
|
|
2155
|
+
label: string;
|
|
2156
|
+
disabled?: boolean;
|
|
2157
|
+
}
|
|
1719
2158
|
declare class DgaTabs {
|
|
1720
2159
|
private readonly host;
|
|
2160
|
+
private readonly seq;
|
|
1721
2161
|
readonly selected: _angular_core.ModelSignal<string>;
|
|
1722
2162
|
readonly label: _angular_core.InputSignal<string>;
|
|
2163
|
+
/** Optional data-driven tab headers; when non-empty, renders the tablist from this list. */
|
|
2164
|
+
readonly items: _angular_core.InputSignal<DgaTabItem[]>;
|
|
1723
2165
|
readonly tabs: _angular_core.Signal<readonly DgaTab[]>;
|
|
2166
|
+
readonly headerItems: _angular_core.Signal<DgaTabItem[]>;
|
|
1724
2167
|
constructor();
|
|
1725
|
-
tabButtonClass(value: string): string;
|
|
2168
|
+
tabButtonClass(value: string, disabled: boolean): string;
|
|
2169
|
+
tabIdFor(value: string): string;
|
|
2170
|
+
panelIdFor(value: string): string;
|
|
1726
2171
|
select(value: string): void;
|
|
1727
2172
|
onTablistKey(event: KeyboardEvent): void;
|
|
2173
|
+
private stepIndex;
|
|
2174
|
+
private lastEnabledIndex;
|
|
1728
2175
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaTabs, never>;
|
|
1729
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaTabs, "dga-tabs", never, { "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "selected": "selectedChange"; }, ["tabs"], ["*"], true, never>;
|
|
2176
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaTabs, "dga-tabs", never, { "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; }, { "selected": "selectedChange"; }, ["tabs"], ["*"], true, never>;
|
|
1730
2177
|
}
|
|
1731
2178
|
|
|
2179
|
+
type DgaStepStatus = 'pending' | 'active' | 'completed' | 'error';
|
|
1732
2180
|
interface DgaStep {
|
|
1733
2181
|
label: string;
|
|
1734
2182
|
description?: string;
|
|
2183
|
+
disabled?: boolean;
|
|
2184
|
+
/** Overrides the status normally derived from the active index. */
|
|
2185
|
+
status?: DgaStepStatus;
|
|
1735
2186
|
}
|
|
1736
2187
|
declare class DgaStepper {
|
|
1737
2188
|
readonly steps: _angular_core.InputSignal<DgaStep[]>;
|
|
1738
2189
|
readonly active: _angular_core.ModelSignal<number>;
|
|
1739
2190
|
readonly label: _angular_core.InputSignal<string>;
|
|
2191
|
+
stepStatus(index: number): DgaStepStatus;
|
|
1740
2192
|
stepButtonClasses(index: number): string;
|
|
1741
2193
|
indicatorClasses(index: number): string;
|
|
1742
2194
|
go(index: number): void;
|
|
@@ -1763,31 +2215,153 @@ declare class DgaToc {
|
|
|
1763
2215
|
interface DgaSideNavItem {
|
|
1764
2216
|
label: string;
|
|
1765
2217
|
value: string;
|
|
1766
|
-
icon?:
|
|
2218
|
+
icon?: DgaIconName;
|
|
2219
|
+
disabled?: boolean;
|
|
2220
|
+
/** Optional link target — when set, the item renders as an anchor. */
|
|
2221
|
+
href?: string;
|
|
2222
|
+
badge?: string;
|
|
2223
|
+
/** Nested level-2 items (expandable on desktop). */
|
|
2224
|
+
children?: DgaSideNavItem[];
|
|
2225
|
+
/** Start expanded when children exist (default: true if active child). */
|
|
2226
|
+
expanded?: boolean;
|
|
2227
|
+
}
|
|
2228
|
+
/** Category / section in a multi-level admin side nav. */
|
|
2229
|
+
interface DgaSideNavGroup {
|
|
2230
|
+
id: string;
|
|
2231
|
+
/** Optional section heading (hidden when sidebar is narrow). */
|
|
2232
|
+
label?: string;
|
|
2233
|
+
items: DgaSideNavItem[];
|
|
1767
2234
|
}
|
|
1768
2235
|
/**
|
|
1769
|
-
* Side navigation.
|
|
1770
|
-
* Below `lg`: horizontal scroll rail (
|
|
2236
|
+
* Side navigation with optional groups and nested children.
|
|
2237
|
+
* Below `lg`: horizontal scroll rail (top-level only).
|
|
1771
2238
|
* From `lg`: vertical sidebar (optional collapse to icons).
|
|
1772
2239
|
*/
|
|
1773
2240
|
declare class DgaSideNav {
|
|
2241
|
+
/** Flat item list (backward compatible). Ignored when `groups` is set. */
|
|
1774
2242
|
readonly items: _angular_core.InputSignal<DgaSideNavItem[]>;
|
|
2243
|
+
/** Grouped / categorized navigation (preferred for admin shells). */
|
|
2244
|
+
readonly groups: _angular_core.InputSignal<DgaSideNavGroup[]>;
|
|
1775
2245
|
readonly active: _angular_core.ModelSignal<string>;
|
|
1776
2246
|
readonly collapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1777
2247
|
readonly label: _angular_core.InputSignal<string>;
|
|
1778
2248
|
readonly toggleLabel: _angular_core.InputSignal<string>;
|
|
1779
2249
|
readonly select: _angular_core.OutputEmitterRef<DgaSideNavItem>;
|
|
1780
2250
|
readonly narrow: _angular_core.ModelSignal<boolean>;
|
|
1781
|
-
|
|
2251
|
+
/** Values of parents forced open by the user. */
|
|
2252
|
+
private readonly expanded;
|
|
2253
|
+
/** Values of parents forced closed by the user. */
|
|
2254
|
+
private readonly collapsed;
|
|
2255
|
+
readonly resolvedGroups: _angular_core.Signal<DgaSideNavGroup[]>;
|
|
2256
|
+
hasChildren(item: DgaSideNavItem): boolean;
|
|
2257
|
+
isExpanded(item: DgaSideNavItem): boolean;
|
|
2258
|
+
isActive(item: DgaSideNavItem): boolean;
|
|
2259
|
+
itemClasses(item: DgaSideNavItem, depth: number): string;
|
|
1782
2260
|
toggleNarrow(): void;
|
|
1783
|
-
onSelect(item: DgaSideNavItem): void;
|
|
2261
|
+
onSelect(item: DgaSideNavItem, event?: Event): void;
|
|
2262
|
+
private childIsActive;
|
|
2263
|
+
private toggleExpanded;
|
|
1784
2264
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaSideNav, never>;
|
|
1785
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaSideNav, "dga-side-nav", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "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>;
|
|
2265
|
+
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; }; "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>;
|
|
2266
|
+
}
|
|
2267
|
+
|
|
2268
|
+
/** Category block inside a dual-nav secondary panel. */
|
|
2269
|
+
interface DgaDualNavCategory {
|
|
2270
|
+
id: string;
|
|
2271
|
+
label?: string;
|
|
2272
|
+
items: DgaSideNavItem[];
|
|
2273
|
+
}
|
|
2274
|
+
/** Top-level rail section (icon) + secondary panel categories. */
|
|
2275
|
+
interface DgaDualNavSection {
|
|
2276
|
+
id: string;
|
|
2277
|
+
label: string;
|
|
2278
|
+
icon: DgaIconName;
|
|
2279
|
+
badge?: string;
|
|
2280
|
+
categories: DgaDualNavCategory[];
|
|
2281
|
+
}
|
|
2282
|
+
/**
|
|
2283
|
+
* Metronic Demo 4–style dual navigation:
|
|
2284
|
+
* slim icon rail + secondary panel with categorized links.
|
|
2285
|
+
* @see https://keenthemes.com/metronic/tailwind/demo4/
|
|
2286
|
+
*/
|
|
2287
|
+
declare class DgaDualNav {
|
|
2288
|
+
readonly sections: _angular_core.InputSignal<DgaDualNavSection[]>;
|
|
2289
|
+
readonly active: _angular_core.ModelSignal<string>;
|
|
2290
|
+
readonly activeSectionId: _angular_core.ModelSignal<string>;
|
|
2291
|
+
readonly panelOpen: _angular_core.ModelSignal<boolean>;
|
|
2292
|
+
readonly railLabel: _angular_core.InputSignal<string>;
|
|
2293
|
+
readonly panelEyebrow: _angular_core.InputSignal<string>;
|
|
2294
|
+
readonly closePanelLabel: _angular_core.InputSignal<string>;
|
|
2295
|
+
readonly select: _angular_core.OutputEmitterRef<DgaSideNavItem>;
|
|
2296
|
+
readonly activeSection: _angular_core.Signal<DgaDualNavSection>;
|
|
2297
|
+
constructor();
|
|
2298
|
+
selectSection(id: string): void;
|
|
2299
|
+
onSelect(item: DgaSideNavItem): void;
|
|
2300
|
+
linkClasses(item: DgaSideNavItem, nested?: boolean): string;
|
|
2301
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaDualNav, never>;
|
|
2302
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaDualNav, "dga-dual-nav", never, { "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "activeSectionId": { "alias": "activeSectionId"; "required": false; "isSignal": true; }; "panelOpen": { "alias": "panelOpen"; "required": false; "isSignal": true; }; "railLabel": { "alias": "railLabel"; "required": false; "isSignal": true; }; "panelEyebrow": { "alias": "panelEyebrow"; "required": false; "isSignal": true; }; "closePanelLabel": { "alias": "closePanelLabel"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; "activeSectionId": "activeSectionIdChange"; "panelOpen": "panelOpenChange"; "select": "select"; }, never, ["[dgaDualNavBrand]", "[dgaDualNavRailFoot]"], true, never>;
|
|
2303
|
+
}
|
|
2304
|
+
|
|
2305
|
+
type DgaNavRailPosition = 'static' | 'start' | 'end' | 'left' | 'right';
|
|
2306
|
+
type DgaNavRailAppearance = 'plain' | 'elevated' | 'outline';
|
|
2307
|
+
type DgaNavRailSize = 'sm' | 'md' | 'lg';
|
|
2308
|
+
type DgaNavRailActiveStyle = 'soft' | 'solid' | 'ring';
|
|
2309
|
+
interface DgaNavRailItem {
|
|
2310
|
+
/** Accessible label (also used for tooltip). */
|
|
2311
|
+
label: string;
|
|
2312
|
+
/** Stable id used for `active` binding / selection. */
|
|
2313
|
+
value: string;
|
|
2314
|
+
icon: DgaIconName;
|
|
2315
|
+
disabled?: boolean;
|
|
2316
|
+
/** Optional in-page or external link (`#section` for section jumps). */
|
|
2317
|
+
href?: string;
|
|
2318
|
+
}
|
|
2319
|
+
/**
|
|
2320
|
+
* Slim icon rail for jumping between page sections or compact app areas.
|
|
2321
|
+
* Distinct from `dga-side-nav` (labeled sidebar) and `dga-toc` (text outline).
|
|
2322
|
+
*/
|
|
2323
|
+
declare class DgaNavRail {
|
|
2324
|
+
readonly items: _angular_core.InputSignal<readonly DgaNavRailItem[]>;
|
|
2325
|
+
readonly active: _angular_core.ModelSignal<string>;
|
|
2326
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
2327
|
+
readonly expandLabel: _angular_core.InputSignal<string>;
|
|
2328
|
+
/** `static` for in-flow layout; otherwise docks to a viewport edge. */
|
|
2329
|
+
readonly position: _angular_core.InputSignal<DgaNavRailPosition>;
|
|
2330
|
+
readonly appearance: _angular_core.InputSignal<DgaNavRailAppearance>;
|
|
2331
|
+
readonly size: _angular_core.InputSignal<DgaNavRailSize>;
|
|
2332
|
+
readonly activeStyle: _angular_core.InputSignal<DgaNavRailActiveStyle>;
|
|
2333
|
+
/** Edge inset in px when `position` is fixed. */
|
|
2334
|
+
readonly offset: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
2335
|
+
/** Show a chevron control that emits `expandChange`. */
|
|
2336
|
+
readonly expandable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2337
|
+
readonly expanded: _angular_core.ModelSignal<boolean>;
|
|
2338
|
+
/** Smooth-scroll to `#href` targets inside the page. */
|
|
2339
|
+
readonly smoothScroll: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2340
|
+
readonly select: _angular_core.OutputEmitterRef<DgaNavRailItem>;
|
|
2341
|
+
readonly expandChange: _angular_core.OutputEmitterRef<boolean>;
|
|
2342
|
+
readonly edgeAttr: _angular_core.Signal<"start" | "end" | "right" | "left" | null>;
|
|
2343
|
+
readonly offsetCss: _angular_core.Signal<string>;
|
|
2344
|
+
readonly tooltipPlacement: _angular_core.Signal<"start" | "end">;
|
|
2345
|
+
readonly iconSize: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
2346
|
+
readonly expandIcon: _angular_core.Signal<"chevronLeft" | "chevronRight">;
|
|
2347
|
+
readonly listGapClass: _angular_core.Signal<"gap-xs" | "gap-sm" | "gap-md">;
|
|
2348
|
+
readonly railClasses: _angular_core.Signal<string>;
|
|
2349
|
+
expandBtnClasses(): string;
|
|
2350
|
+
itemClasses(item: DgaNavRailItem): string;
|
|
2351
|
+
onSelect(item: DgaNavRailItem, event?: MouseEvent): void;
|
|
2352
|
+
toggleExpand(): void;
|
|
2353
|
+
private prefersReducedMotion;
|
|
2354
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaNavRail, never>;
|
|
2355
|
+
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>;
|
|
1786
2356
|
}
|
|
1787
2357
|
|
|
1788
2358
|
interface DgaFilterItem {
|
|
1789
2359
|
id: string;
|
|
1790
2360
|
label: string;
|
|
2361
|
+
/** Optional result count shown as a trailing badge. */
|
|
2362
|
+
count?: number;
|
|
2363
|
+
disabled?: boolean;
|
|
2364
|
+
icon?: DgaIconName;
|
|
1791
2365
|
}
|
|
1792
2366
|
declare class DgaFilterBar {
|
|
1793
2367
|
readonly filters: _angular_core.InputSignal<DgaFilterItem[]>;
|
|
@@ -1796,8 +2370,9 @@ declare class DgaFilterBar {
|
|
|
1796
2370
|
readonly clearLabel: _angular_core.InputSignal<string>;
|
|
1797
2371
|
readonly activeSet: _angular_core.Signal<Set<string>>;
|
|
1798
2372
|
isActive(id: string): boolean;
|
|
1799
|
-
chipClass(active: boolean): string;
|
|
1800
|
-
|
|
2373
|
+
chipClass(active: boolean, disabled: boolean): string;
|
|
2374
|
+
countClass(active: boolean): string;
|
|
2375
|
+
toggle(id: string, disabled?: boolean): void;
|
|
1801
2376
|
clearAll(): void;
|
|
1802
2377
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaFilterBar, never>;
|
|
1803
2378
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaFilterBar, "dga-filter-bar", never, { "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "activeIds": { "alias": "activeIds"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; }, { "activeIds": "activeIdsChange"; }, never, never, true, never>;
|
|
@@ -1829,11 +2404,16 @@ declare class DgaScrollTop {
|
|
|
1829
2404
|
/** Use smooth scrolling when supported. */
|
|
1830
2405
|
readonly smooth: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1831
2406
|
/**
|
|
1832
|
-
*
|
|
1833
|
-
*
|
|
2407
|
+
* 0-based slot in the shared FAB dock (bottom → top).
|
|
2408
|
+
* Typical: a11y=0, scroll-top=1, chatbot=2.
|
|
2409
|
+
*/
|
|
2410
|
+
readonly stack: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
2411
|
+
/**
|
|
2412
|
+
* @deprecated Prefer `stack`. Kept for older callers.
|
|
1834
2413
|
*/
|
|
1835
2414
|
readonly clearFab: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1836
2415
|
readonly visible: _angular_core.WritableSignal<boolean>;
|
|
2416
|
+
readonly fabBottom: _angular_core.Signal<string>;
|
|
1837
2417
|
private ticking;
|
|
1838
2418
|
private readonly onScroll;
|
|
1839
2419
|
readonly btnClasses: _angular_core.Signal<string>;
|
|
@@ -1842,7 +2422,7 @@ declare class DgaScrollTop {
|
|
|
1842
2422
|
scrollToTop(): void;
|
|
1843
2423
|
private syncVisibility;
|
|
1844
2424
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaScrollTop, never>;
|
|
1845
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaScrollTop, "dga-scroll-top", never, { "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "smooth": { "alias": "smooth"; "required": false; "isSignal": true; }; "clearFab": { "alias": "clearFab"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2425
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaScrollTop, "dga-scroll-top", never, { "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "smooth": { "alias": "smooth"; "required": false; "isSignal": true; }; "stack": { "alias": "stack"; "required": false; "isSignal": true; }; "clearFab": { "alias": "clearFab"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1846
2426
|
}
|
|
1847
2427
|
|
|
1848
2428
|
/** Maps official card surface: stroke / elevation / fill. */
|
|
@@ -2000,6 +2580,37 @@ declare class DgaExpandable {
|
|
|
2000
2580
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaExpandable, "dga-expandable", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "summary": { "alias": "summary"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, ["*"], true, never>;
|
|
2001
2581
|
}
|
|
2002
2582
|
|
|
2583
|
+
/**
|
|
2584
|
+
* `content` — sticky aside inside page flow (portal templates).
|
|
2585
|
+
* `viewport` — fixed full-height admin shell (Metronic-style app chrome).
|
|
2586
|
+
*/
|
|
2587
|
+
type DgaAppShellAppearance = 'content' | 'viewport';
|
|
2588
|
+
/**
|
|
2589
|
+
* App shell: aside nav + optional header + main column.
|
|
2590
|
+
*
|
|
2591
|
+
* Projection hooks (class selectors — more reliable than camelCase attrs):
|
|
2592
|
+
* - `.dga-app-shell-brand` — sidebar brand
|
|
2593
|
+
* - `.dga-app-shell-nav` — side navigation
|
|
2594
|
+
* - `.dga-app-shell-nav-foot` — sidebar footer
|
|
2595
|
+
* - `.dga-app-shell-header` — main top bar
|
|
2596
|
+
* - default slot — scrollable main body
|
|
2597
|
+
*/
|
|
2598
|
+
declare class DgaAppShell {
|
|
2599
|
+
/** Accessible name for the nav aside. */
|
|
2600
|
+
readonly navLabel: _angular_core.InputSignal<string>;
|
|
2601
|
+
/** `viewport` = full-height admin shell; `content` = in-flow sticky aside. */
|
|
2602
|
+
readonly appearance: _angular_core.InputSignal<DgaAppShellAppearance>;
|
|
2603
|
+
/** Soften viewport body padding (default true for viewport). */
|
|
2604
|
+
readonly padded: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2605
|
+
readonly isViewport: _angular_core.Signal<boolean>;
|
|
2606
|
+
readonly layoutClasses: _angular_core.Signal<string>;
|
|
2607
|
+
readonly navClasses: _angular_core.Signal<string>;
|
|
2608
|
+
readonly mainClasses: _angular_core.Signal<string>;
|
|
2609
|
+
readonly bodyClasses: _angular_core.Signal<string>;
|
|
2610
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAppShell, never>;
|
|
2611
|
+
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>;
|
|
2612
|
+
}
|
|
2613
|
+
|
|
2003
2614
|
type DgaHeaderAppearance = 'default' | 'portal';
|
|
2004
2615
|
/**
|
|
2005
2616
|
* Mobile / narrow navigation chrome (portal header, `md` and below):
|
|
@@ -2222,6 +2833,8 @@ declare class DgaHeader {
|
|
|
2222
2833
|
}>;
|
|
2223
2834
|
readonly logout: _angular_core.OutputEmitterRef<void>;
|
|
2224
2835
|
readonly userLinkClick: _angular_core.OutputEmitterRef<DgaHeaderUserMenuLink>;
|
|
2836
|
+
/** Emits on click of any top-level nav link or dropdown link (desktop + mobile). */
|
|
2837
|
+
readonly navLinkClick: _angular_core.OutputEmitterRef<DgaNavLink | DgaNavItem>;
|
|
2225
2838
|
readonly mobileOpen: _angular_core.WritableSignal<boolean>;
|
|
2226
2839
|
readonly openDropdown: _angular_core.WritableSignal<number | null>;
|
|
2227
2840
|
readonly searchOpen: _angular_core.WritableSignal<boolean>;
|
|
@@ -2343,9 +2956,10 @@ declare class DgaHeader {
|
|
|
2343
2956
|
onKey(event: KeyboardEvent): void;
|
|
2344
2957
|
onScroll(): void;
|
|
2345
2958
|
onResize(): void;
|
|
2959
|
+
onNavLinkClick(link: DgaNavLink | DgaNavItem, event: MouseEvent): void;
|
|
2346
2960
|
onDocClick(event: MouseEvent): void;
|
|
2347
2961
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaHeader, never>;
|
|
2348
|
-
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"; }, never, ["[dgaHeaderBrand]", "*", "[dgaHeaderEnd]"], true, never>;
|
|
2962
|
+
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>;
|
|
2349
2963
|
}
|
|
2350
2964
|
|
|
2351
2965
|
interface DgaStampNotice {
|
|
@@ -2597,6 +3211,100 @@ declare class DgaHero {
|
|
|
2597
3211
|
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>;
|
|
2598
3212
|
}
|
|
2599
3213
|
|
|
3214
|
+
type DgaPageHeroTone = 'faint' | 'body' | 'surface';
|
|
3215
|
+
/**
|
|
3216
|
+
* Compact portal page header: breadcrumb + title + lede + optional actions slot.
|
|
3217
|
+
* Prefer this over hand-rolled `*-hero` bands on inner portal pages.
|
|
3218
|
+
*/
|
|
3219
|
+
declare class DgaPageHero {
|
|
3220
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
3221
|
+
readonly description: _angular_core.InputSignal<string>;
|
|
3222
|
+
readonly breadcrumbs: _angular_core.InputSignal<DgaBreadcrumbItem[]>;
|
|
3223
|
+
readonly breadcrumbLabel: _angular_core.InputSignal<string>;
|
|
3224
|
+
readonly tone: _angular_core.InputSignal<DgaPageHeroTone>;
|
|
3225
|
+
/** Extra bottom padding for denser pages. */
|
|
3226
|
+
readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3227
|
+
private readonly seq;
|
|
3228
|
+
readonly titleId: string;
|
|
3229
|
+
readonly sectionClasses: _angular_core.Signal<string>;
|
|
3230
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaPageHero, never>;
|
|
3231
|
+
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>;
|
|
3232
|
+
}
|
|
3233
|
+
|
|
3234
|
+
type DgaAnnouncementTone = 'info' | 'warning' | 'success' | 'neutral' | 'critical' | 'brand';
|
|
3235
|
+
type DgaAnnouncementDensity = 'compact' | 'comfortable';
|
|
3236
|
+
type DgaAnnouncementAlign = 'start' | 'center';
|
|
3237
|
+
type DgaAnnouncementActionVariant = 'link' | 'button' | 'chip';
|
|
3238
|
+
type DgaAnnouncementPersist = 'none' | 'session' | 'local';
|
|
3239
|
+
type DgaAnnouncementElevation = 'none' | 'soft';
|
|
3240
|
+
/**
|
|
3241
|
+
* Site-wide campaign / outage strip for chrome (above or below `dga-top-bar`).
|
|
3242
|
+
* Distinct from page-level `dga-alert`.
|
|
3243
|
+
*
|
|
3244
|
+
* Layout note: use full-bleed width + `--wrapper-padding` only.
|
|
3245
|
+
* Do NOT add `max-w-(--container-*)` — that double-shrinks with wrapper padding.
|
|
3246
|
+
*/
|
|
3247
|
+
declare class DgaAnnouncementBar {
|
|
3248
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
3249
|
+
readonly message: _angular_core.InputSignal<string>;
|
|
3250
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
3251
|
+
readonly tone: _angular_core.InputSignal<DgaAnnouncementTone>;
|
|
3252
|
+
readonly density: _angular_core.InputSignal<DgaAnnouncementDensity>;
|
|
3253
|
+
readonly align: _angular_core.InputSignal<DgaAnnouncementAlign>;
|
|
3254
|
+
readonly actionVariant: _angular_core.InputSignal<DgaAnnouncementActionVariant>;
|
|
3255
|
+
readonly elevation: _angular_core.InputSignal<DgaAnnouncementElevation>;
|
|
3256
|
+
readonly icon: _angular_core.InputSignal<DgaIconName | null>;
|
|
3257
|
+
readonly dismissible: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3258
|
+
readonly dismissLabel: _angular_core.InputSignal<string>;
|
|
3259
|
+
readonly actionLabel: _angular_core.InputSignal<string>;
|
|
3260
|
+
readonly actionHref: _angular_core.InputSignal<string>;
|
|
3261
|
+
readonly actionExternal: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3262
|
+
/** Sticky under the viewport top while scrolling. */
|
|
3263
|
+
readonly sticky: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3264
|
+
/** Start accent stripe (alert-style). Off by default for site chrome. */
|
|
3265
|
+
readonly accent: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3266
|
+
/** Start dismissed (e.g. after reading storage). */
|
|
3267
|
+
readonly initiallyDismissed: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3268
|
+
/**
|
|
3269
|
+
* Persist dismiss across reloads.
|
|
3270
|
+
* Uses `persistKey` when set, otherwise a hash of title+message.
|
|
3271
|
+
*/
|
|
3272
|
+
readonly persist: _angular_core.InputSignal<DgaAnnouncementPersist>;
|
|
3273
|
+
readonly persistKey: _angular_core.InputSignal<string>;
|
|
3274
|
+
readonly dismissedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
3275
|
+
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
3276
|
+
readonly dismissed: _angular_core.WritableSignal<boolean>;
|
|
3277
|
+
constructor();
|
|
3278
|
+
readonly iconTone: _angular_core.Signal<DgaIconTone>;
|
|
3279
|
+
readonly iconShellClasses: _angular_core.Signal<string>;
|
|
3280
|
+
readonly barClasses: _angular_core.Signal<string>;
|
|
3281
|
+
dismiss(): void;
|
|
3282
|
+
show(): void;
|
|
3283
|
+
private storageKey;
|
|
3284
|
+
private storage;
|
|
3285
|
+
private readPersisted;
|
|
3286
|
+
private writePersisted;
|
|
3287
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAnnouncementBar, never>;
|
|
3288
|
+
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"; }, never, ["*"], true, never>;
|
|
3289
|
+
}
|
|
3290
|
+
|
|
3291
|
+
/**
|
|
3292
|
+
* Centered auth / registration shell: logo, optional chrome tools, form slot.
|
|
3293
|
+
* Not an IdP SDK — drop Nafath / OAuth buttons into the default slot.
|
|
3294
|
+
*/
|
|
3295
|
+
declare class DgaAuthCard {
|
|
3296
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
3297
|
+
readonly description: _angular_core.InputSignal<string>;
|
|
3298
|
+
readonly logoSrc: _angular_core.InputSignal<string>;
|
|
3299
|
+
readonly logoAlt: _angular_core.InputSignal<string>;
|
|
3300
|
+
readonly cardId: _angular_core.InputSignal<string>;
|
|
3301
|
+
/** Full-viewport centered layout (registration pages). */
|
|
3302
|
+
readonly centered: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3303
|
+
readonly shellClasses: _angular_core.Signal<string>;
|
|
3304
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAuthCard, never>;
|
|
3305
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaAuthCard, "dga-auth-card", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "logoSrc": { "alias": "logoSrc"; "required": false; "isSignal": true; }; "logoAlt": { "alias": "logoAlt"; "required": false; "isSignal": true; }; "cardId": { "alias": "cardId"; "required": false; "isSignal": true; }; "centered": { "alias": "centered"; "required": false; "isSignal": true; }; }, {}, never, ["[dgaAuthTools]", "[dgaAuthLogo]", "*"], true, never>;
|
|
3306
|
+
}
|
|
3307
|
+
|
|
2600
3308
|
interface DgaSideInfoItem {
|
|
2601
3309
|
label: string;
|
|
2602
3310
|
href?: string;
|
|
@@ -2726,6 +3434,49 @@ declare class DgaDescriptionList {
|
|
|
2726
3434
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaDescriptionList, "dga-description-list", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
2727
3435
|
}
|
|
2728
3436
|
|
|
3437
|
+
interface DgaInfoListItem {
|
|
3438
|
+
id?: string;
|
|
3439
|
+
label: string;
|
|
3440
|
+
value: string;
|
|
3441
|
+
icon?: DgaIconName;
|
|
3442
|
+
href?: string;
|
|
3443
|
+
/** Open href in a new tab. */
|
|
3444
|
+
external?: boolean;
|
|
3445
|
+
/** Show a copy control for the value. */
|
|
3446
|
+
copyable?: boolean;
|
|
3447
|
+
}
|
|
3448
|
+
/**
|
|
3449
|
+
* Icon + label + value rows for contact channels, service meta, and side panels.
|
|
3450
|
+
*/
|
|
3451
|
+
declare class DgaInfoList {
|
|
3452
|
+
readonly items: _angular_core.InputSignal<readonly DgaInfoListItem[]>;
|
|
3453
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
3454
|
+
readonly copyLabel: _angular_core.InputSignal<string>;
|
|
3455
|
+
readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3456
|
+
readonly copy: _angular_core.OutputEmitterRef<DgaInfoListItem>;
|
|
3457
|
+
readonly listClasses: _angular_core.Signal<string>;
|
|
3458
|
+
onCopy(item: DgaInfoListItem): void;
|
|
3459
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaInfoList, never>;
|
|
3460
|
+
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>;
|
|
3461
|
+
}
|
|
3462
|
+
|
|
3463
|
+
interface DgaTimelineItem {
|
|
3464
|
+
title: string;
|
|
3465
|
+
meta?: string;
|
|
3466
|
+
description?: string;
|
|
3467
|
+
}
|
|
3468
|
+
/**
|
|
3469
|
+
* Vertical timeline (dot + connector) for experience, history, and status flows.
|
|
3470
|
+
*/
|
|
3471
|
+
declare class DgaTimeline {
|
|
3472
|
+
readonly items: _angular_core.InputSignal<readonly DgaTimelineItem[]>;
|
|
3473
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
3474
|
+
readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3475
|
+
readonly listClasses: _angular_core.Signal<string>;
|
|
3476
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaTimeline, never>;
|
|
3477
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaTimeline, "dga-timeline", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3478
|
+
}
|
|
3479
|
+
|
|
2729
3480
|
type DgaCurrency = 'SAR' | 'USD' | 'EUR' | 'GBP' | 'JPY' | 'CNY' | 'INR' | 'KRW' | 'TRY';
|
|
2730
3481
|
/**
|
|
2731
3482
|
* Locale-aware number display with optional currency/unit and scroll-triggered counter.
|
|
@@ -2761,6 +3512,59 @@ declare class DgaNumber implements OnInit {
|
|
|
2761
3512
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaNumber, "dga-number", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "free": { "alias": "free"; "required": false; "isSignal": true; }; "counter": { "alias": "counter"; "required": false; "isSignal": true; }; "start": { "alias": "start"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; "decimals": { "alias": "decimals"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2762
3513
|
}
|
|
2763
3514
|
|
|
3515
|
+
/**
|
|
3516
|
+
* Official Saudi Riyal symbol path (SAMA / Saudi Riyal Font, OFL-1.1).
|
|
3517
|
+
* Unicode: U+20C1 SAUDI RIYAL SIGN
|
|
3518
|
+
*/
|
|
3519
|
+
declare const DGA_RIYAL_SVG_PATH = "M750 1119C730 1163 716 1211 711 1262L1136 1172C1156 1127 1169 1079 1174 1028L750 1119ZM1136 901C1156 857 1169 809 1174 758L843 828V693L1136 631C1156 587 1169 538 1174 488L843 558V72C793 100 748 138 711 183V586L579 614V6C528 34 483 72 447 117V642L151 705C131 750 117 798 112 849L447 777V948L88 1024C68 1068 55 1117 50 1167L425 1088C456 1081 482 1063 499 1038L568 936C575 926 579 913 579 899V749L711 721V992L1136 901Z";
|
|
3520
|
+
/** Tight viewBox around the official glyph (aspect ≈ 0.89). */
|
|
3521
|
+
declare const DGA_RIYAL_VIEWBOX = "50 0 1124 1268";
|
|
3522
|
+
/**
|
|
3523
|
+
* Size tokens. Prefer `em` so the glyph matches surrounding text height
|
|
3524
|
+
* (SAMA alignment rule). Fixed sizes are for standalone chrome use.
|
|
3525
|
+
*/
|
|
3526
|
+
type DgaRiyalSize = 'em' | 'sm' | 'md' | 'lg' | 'xl';
|
|
3527
|
+
type DgaRiyalTone = 'current' | 'primary' | 'muted' | 'on-color';
|
|
3528
|
+
/** `contained` adds circular clear-space ≈ ⅓ of the glyph height (SAMA). */
|
|
3529
|
+
type DgaRiyalAppearance = 'plain' | 'contained';
|
|
3530
|
+
/**
|
|
3531
|
+
* Official Saudi Riyal currency symbol.
|
|
3532
|
+
*
|
|
3533
|
+
* SAMA usage rules enforced by the component:
|
|
3534
|
+
* - Symbol stays to the **left** of any amount (all languages)
|
|
3535
|
+
* - Single space between symbol and amount
|
|
3536
|
+
* - Default height matches text (`1em`); geometry is never stretched/mirrored
|
|
3537
|
+
*
|
|
3538
|
+
* @example
|
|
3539
|
+
* ```html
|
|
3540
|
+
* <dga-riyal />
|
|
3541
|
+
* <dga-riyal [amount]="1250" />
|
|
3542
|
+
* <dga-riyal amount="-123" />
|
|
3543
|
+
* <dga-riyal amount="123 million" />
|
|
3544
|
+
* <dga-riyal appearance="contained" size="lg" />
|
|
3545
|
+
* ```
|
|
3546
|
+
*/
|
|
3547
|
+
declare class DgaRiyal {
|
|
3548
|
+
readonly path = "M750 1119C730 1163 716 1211 711 1262L1136 1172C1156 1127 1169 1079 1174 1028L750 1119ZM1136 901C1156 857 1169 809 1174 758L843 828V693L1136 631C1156 587 1169 538 1174 488L843 558V72C793 100 748 138 711 183V586L579 614V6C528 34 483 72 447 117V642L151 705C131 750 117 798 112 849L447 777V948L88 1024C68 1068 55 1117 50 1167L425 1088C456 1081 482 1063 499 1038L568 936C575 926 579 913 579 899V749L711 721V992L1136 901Z";
|
|
3549
|
+
readonly viewBox = "50 0 1124 1268";
|
|
3550
|
+
/** Glyph height. Default `em` matches accompanying text (SAMA). */
|
|
3551
|
+
readonly size: _angular_core.InputSignal<DgaRiyalSize>;
|
|
3552
|
+
readonly tone: _angular_core.InputSignal<DgaRiyalTone>;
|
|
3553
|
+
readonly appearance: _angular_core.InputSignal<DgaRiyalAppearance>;
|
|
3554
|
+
/**
|
|
3555
|
+
* Numeric / formatted amount. Negative values keep the minus after the
|
|
3556
|
+
* symbol (SAMA: ` -123`). Written units stay after the number
|
|
3557
|
+
* (e.g. `123 million`).
|
|
3558
|
+
*/
|
|
3559
|
+
readonly amount: _angular_core.InputSignal<string | number | null>;
|
|
3560
|
+
/** Accessible name when the glyph is used alone (decorative when empty). */
|
|
3561
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
3562
|
+
readonly amountText: _angular_core.Signal<string>;
|
|
3563
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
3564
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaRiyal, never>;
|
|
3565
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaRiyal, "dga-riyal", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "amount": { "alias": "amount"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
3566
|
+
}
|
|
3567
|
+
|
|
2764
3568
|
type DgaMetricTrend = 'up' | 'down' | 'neutral';
|
|
2765
3569
|
/** `stat` = portal home metrics (icon well, value, label, centered). */
|
|
2766
3570
|
type DgaMetricAppearance = 'default' | 'stat';
|
|
@@ -3120,5 +3924,5 @@ declare function dgaSaudiCityOptions(locale?: 'ar' | 'en', cities?: readonly Dga
|
|
|
3120
3924
|
value: string;
|
|
3121
3925
|
}[];
|
|
3122
3926
|
|
|
3123
|
-
export { DGA_GREGORIAN_MONTHS, DGA_HIJRI_MONTHS, DGA_ICON_NAMES, DGA_ICON_SVG, DGA_LOGICAL_ICON_NAMES, DGA_PHONE_COUNTRIES, DGA_SAUDI_CITIES, DGA_WEEKDAYS, DgaAccessibility, DgaAccessibilityService, DgaAccordion, DgaAccordionItem, DgaAlert, DgaAutocomplete, DgaAvatar, DgaBadge, DgaBreadcrumb, DgaButton, DgaCard, DgaCardMedia, DgaCarousel, DgaCarouselSlideDirective, DgaChart, DgaCheckbox, DgaChip, DgaChipInput, DgaClamp, DgaCode, DgaCookies, DgaCopy, DgaDatePickerComponent as DgaDatePicker, DgaDescriptionList, DgaDialog, DgaDivider, DgaDrawer, DgaEmpty, DgaExpandable, DgaExport, DgaExportToolbar, DgaFeedback, DgaField, DgaFilterBar, DgaFooter, DgaFormControl, DgaFormEnd, DgaFormStart, DgaGrid, DgaHeader, DgaHero, DgaIcon, DgaIconBadge, DgaIconFontService, DgaImagePopup, DgaInput, DgaLabel, DgaLink, DgaList, DgaLogoTile, DgaMenu, DgaMetric, DgaModal, DgaMultiselect, DgaNativeSelect, DgaNumber, DgaNumberInput, DgaOtp, DgaPageFeedback, DgaPagination, DgaPersona, DgaPhoneInput, DgaPreloader, DgaProgress, DgaQuote, DgaRadio, DgaRating, DgaScrollTop, DgaSection, DgaSelect, DgaShare, DgaSideInfo, DgaSideNav, DgaSkeleton, DgaSkipLink, DgaSlider, DgaSpinner, DgaStepper, DgaSwitch, DgaTab, DgaTable, DgaTabs, DgaToast, DgaToastOutlet, DgaToastService, DgaToc, DgaToolbar, DgaTooltip, DgaTopBar, DgaUpload, decodePlatformscodeSvg, dgaAddMonths, dgaClampDate, dgaCoerceDate, dgaCompareDays, dgaDaysInMonth, dgaFormatDate, dgaGetCalendarParts, dgaGroupSaudiCitiesByRegion, dgaModeFromFormat, dgaMonthNames, dgaMonthStartWeekday, dgaParseDate, dgaPartsToDate, dgaSameDay, dgaSaudiCityOptions, dgaTodayUtc };
|
|
3124
|
-
export type { DgaA11yBundle, DgaA11yMode, DgaA11yVisualFilter, DgaAccessibilityPosition, DgaAlertDisplay, DgaAlertVariant, DgaAutocompleteOption, DgaAvatarSize, DgaBadgeSize, DgaBadgeVariant, DgaBreadcrumbItem, DgaBreadcrumbSeparator, DgaButtonSize, DgaButtonVariant, DgaCalendar, DgaCalendarParts, DgaCardActionsAlign, DgaCardAppearance, DgaCardBadge, DgaCardBorder, DgaCardPadding, DgaCardShadow, DgaCarouselSlide, DgaChartDataset, DgaChartPoint, DgaChartType, DgaCheckboxSize, DgaChipVariant, DgaCookieConsent, DgaCurrency, DgaDateCalendar, DgaDatePickerMode, DgaDateRangeValue, DgaDescriptionItem, DgaDescriptionLayout, DgaDialogSize, DgaDividerOrientation, DgaDrawerSide, DgaEmptyAppearance, DgaExportColumn, DgaExportData, DgaExportScope, DgaFeedbackSubmit, DgaFilterItem, DgaFooterAppearance, DgaFooterColumn, DgaFooterIconGroup, DgaFooterIconLink, DgaFooterLink, DgaFooterLogo, DgaFormControlSize, DgaFormStatus, DgaGridCols, DgaGridGap, DgaHeaderAction, DgaHeaderAppearance, DgaHeaderLoginConfig, DgaHeaderNotification, DgaHeaderNotificationAction, DgaHeaderNotificationTone, DgaHeaderNotificationsConfig, DgaHeaderSearchConfig, DgaHeaderSearchSuggestion, DgaHeaderUserConfig, DgaHeaderUserMenuLink, DgaHeroAppearance, DgaHeroImageMask, DgaHeroOverlayTone, DgaHeroSlide, DgaHeroTransition, DgaIconBadgeAppearance, DgaIconBadgeSize, DgaIconName, DgaIconSize, DgaIconTone, DgaImagePopupAnimation, DgaImagePopupImage, DgaImagePopupImageTransition, DgaImagePopupSource, DgaInputSize, DgaLinkVariant, DgaMenuItem, DgaMetricAppearance, DgaMetricTrend, DgaMobileNavMode, DgaModalAnimation, DgaModalSize, DgaMultiselectOption, DgaNativeSelectSize, DgaNavColumn, DgaNavDropdown, DgaNavDropdownLayout, DgaNavDropdownVariant, DgaNavFeatured, DgaNavItem, DgaNavLink, DgaPageFeedbackAgreementLink, DgaPageFeedbackAnswer, DgaPageFeedbackOption, DgaPageFeedbackPhase, DgaPageFeedbackSubmit, DgaPhoneCountry, DgaPreloaderPersist, DgaProgressAppearance, DgaProgressSize, DgaProgressTone, DgaRadioSize, DgaRatingSize, DgaSaudiCity, DgaScrollTopPosition, DgaSectionTone, DgaSectionWidth, DgaSelectOpenMode, DgaSelectOption, DgaSelectSize, DgaShareAppearance, DgaSideInfoItem, DgaSideNavItem, DgaSkeletonAnimation, DgaSkeletonRadius, DgaSkeletonShape, DgaSkeletonSize, DgaSortDir, DgaSpinnerSize, DgaSpinnerTone, DgaStampNotice, DgaStep, DgaSwitchSize, DgaTableColumn, DgaTableDensity, DgaTimeFormat, DgaToastRequest, DgaToastShowOptions, DgaToastVariant, DgaTocItem, DgaTooltipPlacement, DgaTooltipVariant, DgaUploadAppearance, DgaUploadFile };
|
|
3927
|
+
export { DGA_GREGORIAN_MONTHS, DGA_HIJRI_MONTHS, DGA_ICON_NAMES, DGA_ICON_SVG, DGA_LOGICAL_ICON_NAMES, DGA_PHONE_COUNTRIES, DGA_RIYAL_SVG_PATH, DGA_RIYAL_VIEWBOX, DGA_SAUDI_CITIES, DGA_WEEKDAYS, DgaAccessibility, DgaAccessibilityService, DgaAccordion, DgaAccordionItem, DgaAlert, DgaAnnouncementBar, DgaAppShell, DgaAuthCard, DgaAutocomplete, DgaAvatar, DgaBadge, DgaBreadcrumb, DgaButton, DgaCard, DgaCardMedia, DgaCarousel, DgaCarouselSlideDirective, DgaChart, DgaChatbot, DgaCheckbox, DgaChip, DgaChipInput, DgaClamp, DgaCode, DgaCookies, DgaCopy, DgaDatePickerComponent as DgaDatePicker, DgaDescriptionList, DgaDialog, DgaDivider, DgaDrawer, DgaDualNav, DgaEmpty, DgaExpandable, DgaExport, DgaExportToolbar, DgaFeedback, DgaField, DgaFilterBar, DgaFooter, DgaFormControl, DgaFormEnd, DgaFormStart, DgaGrid, DgaHeader, DgaHero, DgaIcon, DgaIconBadge, DgaIconFontService, DgaImagePopup, DgaInfoList, DgaInput, DgaLabel, DgaLink, DgaList, DgaLogoTile, DgaMenu, DgaMetric, DgaModal, DgaMultiselect, DgaNativeSelect, DgaNavRail, DgaNumber, DgaNumberInput, DgaOtp, DgaPageFeedback, DgaPageHero, DgaPagination, DgaPersona, DgaPhoneInput, DgaPreloader, DgaProgress, DgaQuote, DgaRadio, DgaRating, DgaRiyal, DgaScrollTop, DgaSection, DgaSelect, DgaShare, DgaSideInfo, DgaSideNav, DgaSkeleton, DgaSkipLink, DgaSlider, DgaSpinner, DgaStepper, DgaSwitch, DgaTab, DgaTable, DgaTabs, DgaTimePicker, DgaTimeline, DgaToast, DgaToastOutlet, DgaToastService, DgaToc, DgaToolbar, DgaTooltip, DgaTopBar, DgaUpload, decodePlatformscodeSvg, dgaAddMonths, dgaClampDate, dgaCoerceDate, dgaCompareDays, dgaDaysInMonth, dgaFormatDate, dgaGetCalendarParts, dgaGroupSaudiCitiesByRegion, dgaModeFromFormat, dgaMonthNames, dgaMonthStartWeekday, dgaNormalizeTime, dgaParseDate, dgaPartsToDate, dgaProvideValueAccessor, dgaSameDay, dgaSaudiCityOptions, dgaTodayUtc };
|
|
3928
|
+
export type { DgaA11yBundle, DgaA11yMode, DgaA11yVisualFilter, DgaAccessibilityPosition, DgaAccordionSection, DgaAlertDisplay, DgaAlertVariant, DgaAnnouncementActionVariant, DgaAnnouncementAlign, DgaAnnouncementDensity, DgaAnnouncementElevation, DgaAnnouncementPersist, DgaAnnouncementTone, DgaAppShellAppearance, DgaAutocompleteOption, DgaAvatarSize, DgaBadgeSize, DgaBadgeVariant, DgaBreadcrumbItem, DgaBreadcrumbSeparator, DgaButtonSize, DgaButtonVariant, DgaCalendar, DgaCalendarParts, DgaCardActionsAlign, DgaCardAppearance, DgaCardBadge, DgaCardBorder, DgaCardPadding, DgaCardShadow, DgaCarouselSlide, DgaChartDataset, DgaChartPoint, DgaChartType, DgaChatbotAnimation, DgaChatbotFabTone, DgaChatbotMessage, DgaChatbotPosition, DgaChatbotSize, DgaCheckboxSize, DgaChipVariant, DgaCookieCategory, DgaCookieConsent, DgaCookieDecision, DgaCookiePreferences, DgaCookiesAlign, DgaCookiesPosition, DgaCurrency, DgaDateCalendar, DgaDatePickerMode, DgaDateRangeValue, DgaDescriptionItem, DgaDescriptionLayout, DgaDialogSize, DgaDividerOrientation, DgaDrawerSide, DgaDualNavCategory, DgaDualNavSection, DgaEmptyAppearance, DgaExportColumn, DgaExportData, DgaExportScope, DgaFeedbackSubmit, DgaFilterItem, DgaFooterAppearance, DgaFooterColumn, DgaFooterIconGroup, DgaFooterIconLink, DgaFooterLink, DgaFooterLogo, DgaFormControlSize, DgaFormStatus, DgaGridCols, DgaGridGap, DgaHeaderAction, DgaHeaderAppearance, DgaHeaderLoginConfig, DgaHeaderNotification, DgaHeaderNotificationAction, DgaHeaderNotificationTone, DgaHeaderNotificationsConfig, DgaHeaderSearchConfig, DgaHeaderSearchSuggestion, DgaHeaderUserConfig, DgaHeaderUserMenuLink, DgaHeroAppearance, DgaHeroImageMask, DgaHeroOverlayTone, DgaHeroSlide, DgaHeroTransition, DgaIconBadgeAppearance, DgaIconBadgeSize, DgaIconName, DgaIconSize, DgaIconTone, DgaImagePopupAnimation, DgaImagePopupImage, DgaImagePopupImageTransition, DgaImagePopupSource, DgaInfoListItem, DgaInputSize, DgaLinkVariant, DgaMenuItem, DgaMetricAppearance, DgaMetricTrend, DgaMobileNavMode, DgaModalAnimation, DgaModalSize, DgaMultiselectOption, DgaNativeSelectSize, DgaNavColumn, DgaNavDropdown, DgaNavDropdownLayout, DgaNavDropdownVariant, DgaNavFeatured, DgaNavItem, DgaNavLink, DgaNavRailActiveStyle, DgaNavRailAppearance, DgaNavRailItem, DgaNavRailPosition, DgaNavRailSize, DgaPageFeedbackAgreementLink, DgaPageFeedbackAnswer, DgaPageFeedbackOption, DgaPageFeedbackPhase, DgaPageFeedbackSubmit, DgaPageHeroTone, 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, DgaToastRequest, DgaToastShowOptions, DgaToastVariant, DgaTocItem, DgaTooltipPlacement, DgaTooltipVariant, DgaUploadAppearance, DgaUploadFile, DgaUploadRejectReason, DgaUploadRejection };
|