@a.nemreen/dga-ui 0.2.2 → 0.2.4
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/fesm2022/a.nemreen-dga-ui.mjs +2532 -698
- package/package.json +1 -1
- package/types/a.nemreen-dga-ui.d.ts +878 -74
|
@@ -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<"block w-full" | "inline-flex">;
|
|
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,12 @@ interface DgaUploadFile {
|
|
|
500
578
|
size: number;
|
|
501
579
|
file?: File;
|
|
502
580
|
}
|
|
581
|
+
interface DgaUploadRejection {
|
|
582
|
+
file: File;
|
|
583
|
+
reason: 'maxSize';
|
|
584
|
+
}
|
|
503
585
|
type DgaUploadAppearance = 'zone' | 'browse';
|
|
504
|
-
declare class DgaUpload {
|
|
586
|
+
declare class DgaUpload implements ControlValueAccessor {
|
|
505
587
|
readonly filesInput: _angular_core.InputSignal<DgaUploadFile[]>;
|
|
506
588
|
readonly files: _angular_core.WritableSignal<DgaUploadFile[]>;
|
|
507
589
|
readonly accept: _angular_core.InputSignal<string>;
|
|
@@ -511,10 +593,16 @@ declare class DgaUpload {
|
|
|
511
593
|
readonly hint: _angular_core.InputSignal<string>;
|
|
512
594
|
readonly browseLabel: _angular_core.InputSignal<string>;
|
|
513
595
|
readonly removeLabel: _angular_core.InputSignal<string>;
|
|
514
|
-
readonly
|
|
596
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
597
|
+
private readonly cvaDisabled;
|
|
598
|
+
readonly disabled: _angular_core.Signal<boolean>;
|
|
515
599
|
readonly maxSize: _angular_core.InputSignal<number>;
|
|
516
600
|
readonly filesChange: _angular_core.OutputEmitterRef<DgaUploadFile[]>;
|
|
601
|
+
/** Emitted when picked/dropped files were filtered out because they exceed `maxSize`. */
|
|
602
|
+
readonly rejected: _angular_core.OutputEmitterRef<DgaUploadRejection[]>;
|
|
517
603
|
readonly dragging: _angular_core.ModelSignal<boolean>;
|
|
604
|
+
private onChange;
|
|
605
|
+
onTouched: () => void;
|
|
518
606
|
readonly zoneClasses: _angular_core.Signal<string>;
|
|
519
607
|
onDragOver(event: DragEvent): void;
|
|
520
608
|
onDrop(event: DragEvent): void;
|
|
@@ -523,8 +611,12 @@ declare class DgaUpload {
|
|
|
523
611
|
formatSize(bytes: number): string;
|
|
524
612
|
private addFiles;
|
|
525
613
|
private commit;
|
|
614
|
+
writeValue(value: DgaUploadFile[]): void;
|
|
615
|
+
registerOnChange(fn: (value: DgaUploadFile[]) => void): void;
|
|
616
|
+
registerOnTouched(fn: () => void): void;
|
|
617
|
+
setDisabledState(isDisabled: boolean): void;
|
|
526
618
|
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; }; "
|
|
619
|
+
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; }; "dragging": { "alias": "dragging"; "required": false; "isSignal": true; }; }, { "filesChange": "filesChange"; "rejected": "rejected"; "dragging": "draggingChange"; }, never, never, true, never>;
|
|
528
620
|
}
|
|
529
621
|
|
|
530
622
|
interface DgaPhoneCountry {
|
|
@@ -541,7 +633,7 @@ declare const DGA_PHONE_COUNTRIES: DgaPhoneCountry[];
|
|
|
541
633
|
* Phone field with country-code prefix select.
|
|
542
634
|
* The control group is always LTR so digits and codes read correctly in RTL pages.
|
|
543
635
|
*/
|
|
544
|
-
declare class DgaPhoneInput {
|
|
636
|
+
declare class DgaPhoneInput implements ControlValueAccessor {
|
|
545
637
|
readonly countries: _angular_core.InputSignal<DgaPhoneCountry[]>;
|
|
546
638
|
readonly countryCode: _angular_core.ModelSignal<string>;
|
|
547
639
|
readonly nationalNumber: _angular_core.ModelSignal<string>;
|
|
@@ -550,14 +642,24 @@ declare class DgaPhoneInput {
|
|
|
550
642
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
551
643
|
readonly autocomplete: _angular_core.InputSignal<string>;
|
|
552
644
|
readonly codeLabel: _angular_core.InputSignal<string>;
|
|
553
|
-
readonly
|
|
645
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
646
|
+
private readonly cvaDisabled;
|
|
647
|
+
readonly disabled: _angular_core.Signal<boolean>;
|
|
554
648
|
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
555
649
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
556
|
-
/** Full E.164-ish value: code + national digits. */
|
|
557
|
-
readonly value: _angular_core.
|
|
650
|
+
/** Full E.164-ish combined value: country code + national digits. */
|
|
651
|
+
readonly value: _angular_core.ModelSignal<string>;
|
|
558
652
|
readonly groupClasses: _angular_core.Signal<string>;
|
|
653
|
+
private onChange;
|
|
654
|
+
onTouched: () => void;
|
|
655
|
+
constructor();
|
|
656
|
+
writeValue(value: string): void;
|
|
657
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
658
|
+
registerOnTouched(fn: () => void): void;
|
|
659
|
+
setDisabledState(isDisabled: boolean): void;
|
|
660
|
+
private parseValue;
|
|
559
661
|
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; }; "
|
|
662
|
+
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
663
|
}
|
|
562
664
|
|
|
563
665
|
/** @deprecated Prefer `DgaSelectOption` — alias kept for existing imports. */
|
|
@@ -569,13 +671,15 @@ declare class DgaAutocomplete {
|
|
|
569
671
|
readonly value: _angular_core.WritableSignal<string>;
|
|
570
672
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
571
673
|
readonly label: _angular_core.InputSignal<string>;
|
|
674
|
+
readonly size: _angular_core.InputSignal<_a_nemreen_dga_ui.DgaFormControlSize>;
|
|
675
|
+
readonly clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
572
676
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
573
677
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
574
678
|
readonly status: _angular_core.InputSignal<DgaFormStatus>;
|
|
575
679
|
readonly valueChange: _angular_core.OutputEmitterRef<string>;
|
|
576
680
|
onValueChange(next: string | string[]): void;
|
|
577
681
|
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>;
|
|
682
|
+
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
683
|
}
|
|
580
684
|
|
|
581
685
|
/** @deprecated Prefer `DgaSelectOption` — alias kept for existing imports. */
|
|
@@ -588,13 +692,16 @@ declare class DgaMultiselect {
|
|
|
588
692
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
589
693
|
readonly label: _angular_core.InputSignal<string>;
|
|
590
694
|
readonly removeLabel: _angular_core.InputSignal<string>;
|
|
695
|
+
readonly size: _angular_core.InputSignal<_a_nemreen_dga_ui.DgaFormControlSize>;
|
|
696
|
+
readonly searchable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
697
|
+
readonly clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
591
698
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
592
699
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
593
700
|
readonly status: _angular_core.InputSignal<DgaFormStatus>;
|
|
594
701
|
readonly valueChange: _angular_core.OutputEmitterRef<string[]>;
|
|
595
702
|
onValueChange(next: string | string[]): void;
|
|
596
703
|
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>;
|
|
704
|
+
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
705
|
}
|
|
599
706
|
|
|
600
707
|
/** Calendar system for date values and the picker UI. */
|
|
@@ -647,7 +754,7 @@ interface DgaDateRangeValue {
|
|
|
647
754
|
end: string;
|
|
648
755
|
}
|
|
649
756
|
type PanelView = DgaDatePickerMode;
|
|
650
|
-
declare class DgaDatePickerComponent {
|
|
757
|
+
declare class DgaDatePickerComponent implements ControlValueAccessor {
|
|
651
758
|
private readonly host;
|
|
652
759
|
private readonly destroyRef;
|
|
653
760
|
readonly inputId: string;
|
|
@@ -656,6 +763,8 @@ declare class DgaDatePickerComponent {
|
|
|
656
763
|
readonly value: _angular_core.WritableSignal<string>;
|
|
657
764
|
readonly startValue: _angular_core.ModelSignal<string>;
|
|
658
765
|
readonly endValue: _angular_core.ModelSignal<string>;
|
|
766
|
+
private onChange;
|
|
767
|
+
private onTouched;
|
|
659
768
|
readonly calendar: _angular_core.InputSignal<DgaDateCalendar>;
|
|
660
769
|
readonly range: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
661
770
|
readonly format: _angular_core.InputSignal<string>;
|
|
@@ -669,7 +778,9 @@ declare class DgaDatePickerComponent {
|
|
|
669
778
|
readonly controlId: _angular_core.InputSignal<string>;
|
|
670
779
|
readonly name: _angular_core.InputSignal<string>;
|
|
671
780
|
readonly size: _angular_core.InputSignal<DgaFormControlSize>;
|
|
672
|
-
readonly
|
|
781
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
782
|
+
private readonly cvaDisabled;
|
|
783
|
+
readonly disabled: _angular_core.Signal<boolean>;
|
|
673
784
|
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
674
785
|
readonly clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
675
786
|
readonly editable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -771,12 +882,16 @@ declare class DgaDatePickerComponent {
|
|
|
771
882
|
private syncDraftFromModels;
|
|
772
883
|
private parseRangeFromValue;
|
|
773
884
|
private emitValues;
|
|
885
|
+
writeValue(value: string): void;
|
|
886
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
887
|
+
registerOnTouched(fn: () => void): void;
|
|
888
|
+
setDisabledState(isDisabled: boolean): void;
|
|
774
889
|
private isDateDisabled;
|
|
775
890
|
private isMonthDisabled;
|
|
776
891
|
private isYearDisabled;
|
|
777
892
|
private initialViewParts;
|
|
778
893
|
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; }; "
|
|
894
|
+
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
895
|
}
|
|
781
896
|
interface DayCell {
|
|
782
897
|
key: string;
|
|
@@ -791,6 +906,48 @@ interface DayCell {
|
|
|
791
906
|
label?: string;
|
|
792
907
|
}
|
|
793
908
|
|
|
909
|
+
type DgaTimePickerSize = DgaNativeSelectSize;
|
|
910
|
+
type DgaTimePickerFormat = '24h' | '12h';
|
|
911
|
+
declare function pad2(n: number): string;
|
|
912
|
+
/** Normalize to `HH:mm` (24h). Empty string when incomplete. */
|
|
913
|
+
declare function dgaNormalizeTime(value: string): string;
|
|
914
|
+
/**
|
|
915
|
+
* Time-of-day control (hour / minute selects). Value is `HH:mm` (24h).
|
|
916
|
+
* Pair with `dga-date-picker` for appointment-style datetime flows.
|
|
917
|
+
*/
|
|
918
|
+
declare class DgaTimePicker {
|
|
919
|
+
/** 24h `HH:mm` string. */
|
|
920
|
+
readonly value: _angular_core.ModelSignal<string>;
|
|
921
|
+
readonly format: _angular_core.InputSignal<DgaTimePickerFormat>;
|
|
922
|
+
readonly size: _angular_core.InputSignal<_a_nemreen_dga_ui.DgaFormControlSize>;
|
|
923
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
924
|
+
readonly hourLabel: _angular_core.InputSignal<string>;
|
|
925
|
+
readonly minuteLabel: _angular_core.InputSignal<string>;
|
|
926
|
+
readonly periodLabel: _angular_core.InputSignal<string>;
|
|
927
|
+
readonly amLabel: _angular_core.InputSignal<string>;
|
|
928
|
+
readonly pmLabel: _angular_core.InputSignal<string>;
|
|
929
|
+
/** Minute step (1, 5, 15, …). */
|
|
930
|
+
readonly minuteStep: _angular_core.InputSignal<number>;
|
|
931
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
932
|
+
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
933
|
+
readonly status: _angular_core.InputSignal<DgaFormStatus>;
|
|
934
|
+
readonly pad: typeof pad2;
|
|
935
|
+
readonly minuteOptions: _angular_core.Signal<number[]>;
|
|
936
|
+
readonly hourOptions: _angular_core.Signal<{
|
|
937
|
+
value: string;
|
|
938
|
+
label: string;
|
|
939
|
+
}[]>;
|
|
940
|
+
hourSelect(): string;
|
|
941
|
+
minuteSelect(): string;
|
|
942
|
+
periodSelect(): string;
|
|
943
|
+
onHour(raw: string): void;
|
|
944
|
+
onMinute(raw: string): void;
|
|
945
|
+
onPeriod(raw: string): void;
|
|
946
|
+
private commit;
|
|
947
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaTimePicker, never>;
|
|
948
|
+
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>;
|
|
949
|
+
}
|
|
950
|
+
|
|
794
951
|
type DgaDialogSize = 'sm' | 'md' | 'lg';
|
|
795
952
|
declare class DgaDialog {
|
|
796
953
|
private readonly injector;
|
|
@@ -876,7 +1033,7 @@ declare class DgaToast implements OnDestroy {
|
|
|
876
1033
|
private timer;
|
|
877
1034
|
readonly classes: _angular_core.Signal<string>;
|
|
878
1035
|
readonly iconName: _angular_core.Signal<DgaIconName>;
|
|
879
|
-
readonly iconTone: _angular_core.Signal<"
|
|
1036
|
+
readonly iconTone: _angular_core.Signal<"warning" | "error" | "success" | "muted" | "current">;
|
|
880
1037
|
constructor();
|
|
881
1038
|
ngOnDestroy(): void;
|
|
882
1039
|
dismiss(): void;
|
|
@@ -995,10 +1152,16 @@ declare class DgaTooltip {
|
|
|
995
1152
|
}
|
|
996
1153
|
|
|
997
1154
|
interface DgaMenuItem {
|
|
998
|
-
|
|
999
|
-
|
|
1155
|
+
/** Required for actionable items; optional when `divider` is true. */
|
|
1156
|
+
label?: string;
|
|
1157
|
+
/** Required for actionable items; optional when `divider` is true. */
|
|
1158
|
+
value?: string;
|
|
1000
1159
|
icon?: DgaIconName;
|
|
1001
1160
|
danger?: boolean;
|
|
1161
|
+
/** Skipped in keyboard nav / click selection; renders with disabled styling. */
|
|
1162
|
+
disabled?: boolean;
|
|
1163
|
+
/** Renders as a separator (`role="separator"`) instead of a menu item. */
|
|
1164
|
+
divider?: boolean;
|
|
1002
1165
|
}
|
|
1003
1166
|
declare class DgaMenu {
|
|
1004
1167
|
private readonly host;
|
|
@@ -1014,7 +1177,12 @@ declare class DgaMenu {
|
|
|
1014
1177
|
readonly showChevron: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1015
1178
|
/** Minimum panel width (e.g. share menus). */
|
|
1016
1179
|
readonly menuMinWidth: _angular_core.InputSignal<string>;
|
|
1017
|
-
|
|
1180
|
+
/** Emits the full selected item. */
|
|
1181
|
+
readonly selected: _angular_core.OutputEmitterRef<DgaMenuItem>;
|
|
1182
|
+
/** Emits `item.value` alongside `selected` — handy for quick migrations. */
|
|
1183
|
+
readonly selectedValue: _angular_core.OutputEmitterRef<string>;
|
|
1184
|
+
readonly opened: _angular_core.OutputEmitterRef<void>;
|
|
1185
|
+
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
1018
1186
|
/** Viewport coords - panel is portaled to body so ancestors cannot clip it. */
|
|
1019
1187
|
readonly panelStyle: _angular_core.WritableSignal<Record<string, string>>;
|
|
1020
1188
|
private readonly seq;
|
|
@@ -1026,6 +1194,7 @@ declare class DgaMenu {
|
|
|
1026
1194
|
triggerClasses(): string;
|
|
1027
1195
|
menuClasses(): string;
|
|
1028
1196
|
itemId(index: number): string;
|
|
1197
|
+
trackItem(item: DgaMenuItem, index: number): string;
|
|
1029
1198
|
itemClass(item: DgaMenuItem): string;
|
|
1030
1199
|
toggle(event: Event): void;
|
|
1031
1200
|
openMenu(): void;
|
|
@@ -1035,12 +1204,17 @@ declare class DgaMenu {
|
|
|
1035
1204
|
onMenuKey(event: KeyboardEvent): void;
|
|
1036
1205
|
onDocumentClick(event: MouseEvent): void;
|
|
1037
1206
|
onDocumentKeydown(event: KeyboardEvent): void;
|
|
1207
|
+
private isSelectable;
|
|
1208
|
+
private firstSelectableIndex;
|
|
1209
|
+
private lastSelectableIndex;
|
|
1210
|
+
private stepIndex;
|
|
1038
1211
|
private portalMenuToBody;
|
|
1039
1212
|
private detachPortaledMenu;
|
|
1040
1213
|
private syncPanelPosition;
|
|
1214
|
+
private cssLengthToPx;
|
|
1041
1215
|
private focusItem;
|
|
1042
1216
|
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>;
|
|
1217
|
+
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
1218
|
}
|
|
1045
1219
|
|
|
1046
1220
|
type DgaDrawerSide = 'start' | 'end';
|
|
@@ -1157,7 +1331,7 @@ declare class DgaAlert {
|
|
|
1157
1331
|
readonly titleClasses: _angular_core.Signal<string>;
|
|
1158
1332
|
readonly descriptionClasses: _angular_core.Signal<string>;
|
|
1159
1333
|
readonly iconName: _angular_core.Signal<DgaIconName>;
|
|
1160
|
-
readonly iconTone: _angular_core.Signal<"
|
|
1334
|
+
readonly iconTone: _angular_core.Signal<"warning" | "error" | "success" | "muted" | "current">;
|
|
1161
1335
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAlert, never>;
|
|
1162
1336
|
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
1337
|
}
|
|
@@ -1275,32 +1449,107 @@ declare class DgaPageFeedback {
|
|
|
1275
1449
|
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
1450
|
}
|
|
1277
1451
|
|
|
1278
|
-
|
|
1452
|
+
/** Stored consent outcome. `custom` = per-category preferences were saved. */
|
|
1453
|
+
type DgaCookieConsent = 'accepted' | 'declined' | 'custom' | null;
|
|
1454
|
+
/** Horizontal placement. Logical `start`/`end` follow reading direction. */
|
|
1455
|
+
type DgaCookiesAlign = 'start' | 'center' | 'end';
|
|
1456
|
+
/**
|
|
1457
|
+
* Banner anchor on the viewport.
|
|
1458
|
+
* - `start` | `center` | `end` → bottom edge + that alignment (compact)
|
|
1459
|
+
* - `bottom` | `top` → that edge, centered
|
|
1460
|
+
* - `bottom-start` / `top-end` / … → explicit edge + alignment
|
|
1461
|
+
*/
|
|
1462
|
+
type DgaCookiesPosition = DgaCookiesAlign | 'bottom' | 'top' | 'bottom-start' | 'bottom-center' | 'bottom-end' | 'top-start' | 'top-center' | 'top-end';
|
|
1463
|
+
/** Optional cookie category for granular consent (GDPR-style preferences). */
|
|
1464
|
+
interface DgaCookieCategory {
|
|
1465
|
+
id: string;
|
|
1466
|
+
label: string;
|
|
1467
|
+
description?: string;
|
|
1468
|
+
/** Always enabled; toggle is disabled. */
|
|
1469
|
+
required?: boolean;
|
|
1470
|
+
/** Initial state when no stored preference exists (ignored when `required`). */
|
|
1471
|
+
defaultEnabled?: boolean;
|
|
1472
|
+
}
|
|
1473
|
+
type DgaCookiePreferences = Record<string, boolean>;
|
|
1474
|
+
interface DgaCookieDecision {
|
|
1475
|
+
consent: Exclude<DgaCookieConsent, null>;
|
|
1476
|
+
preferences: DgaCookiePreferences;
|
|
1477
|
+
}
|
|
1279
1478
|
/**
|
|
1280
1479
|
* Privacy-compliant cookie consent banner.
|
|
1281
|
-
* Persists choice
|
|
1480
|
+
* Persists choice (default 365 days); optional category preferences and GA gating.
|
|
1282
1481
|
*/
|
|
1283
1482
|
declare class DgaCookies implements OnInit {
|
|
1284
1483
|
private readonly destroyRef;
|
|
1484
|
+
private readonly hostRef;
|
|
1485
|
+
/** Original parent before body portal (restored on destroy). */
|
|
1486
|
+
private portalHome;
|
|
1285
1487
|
readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1488
|
+
/**
|
|
1489
|
+
* Viewport anchor. Use `start` / `center` / `end` for bottom placement,
|
|
1490
|
+
* or compound values like `top-end`. Prefer `align` to set horizontal only.
|
|
1491
|
+
*/
|
|
1492
|
+
readonly position: _angular_core.InputSignal<DgaCookiesPosition>;
|
|
1493
|
+
/** Horizontal alignment (`start` | `center` | `end`). Overrides `position` when set. */
|
|
1494
|
+
readonly align: _angular_core.InputSignal<"" | DgaCookiesAlign>;
|
|
1286
1495
|
/** Auto-open delay when no consent is stored. `0` disables auto-show. */
|
|
1287
1496
|
readonly delayMs: _angular_core.InputSignal<number>;
|
|
1497
|
+
/** When false, never auto-opens (call `show()` manually). */
|
|
1498
|
+
readonly autoShow: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1499
|
+
/** Show the dismiss (X) control. Dismiss does not persist a decision. */
|
|
1500
|
+
readonly dismissible: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1501
|
+
/** Show the reject / decline non-essential button. */
|
|
1502
|
+
readonly showDecline: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1503
|
+
/** Show policy / terms links row. */
|
|
1504
|
+
readonly showLinks: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1505
|
+
/** Show Customize when `categories` are provided. */
|
|
1506
|
+
readonly showCustomize: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1507
|
+
/** Dim the page behind the banner (modal-style overlay). */
|
|
1508
|
+
readonly overlay: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1509
|
+
/**
|
|
1510
|
+
* @deprecated Prefer `overlay`. Same behavior — kept for backward compatibility.
|
|
1511
|
+
*/
|
|
1512
|
+
readonly blocking: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1513
|
+
/** Close the banner when the overlay backdrop is clicked (requires dismissible). */
|
|
1514
|
+
readonly overlayClose: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1288
1515
|
readonly termsHref: _angular_core.InputSignal<string>;
|
|
1289
1516
|
readonly privacyHref: _angular_core.InputSignal<string>;
|
|
1517
|
+
/** Optional third policy link (cookie policy). Empty hides it. */
|
|
1518
|
+
readonly cookiePolicyHref: _angular_core.InputSignal<string>;
|
|
1519
|
+
readonly termsLabel: _angular_core.InputSignal<string>;
|
|
1520
|
+
readonly privacyLabel: _angular_core.InputSignal<string>;
|
|
1521
|
+
readonly cookiePolicyLabel: _angular_core.InputSignal<string>;
|
|
1290
1522
|
readonly title: _angular_core.InputSignal<string>;
|
|
1291
1523
|
readonly description: _angular_core.InputSignal<string>;
|
|
1292
1524
|
readonly acceptLabel: _angular_core.InputSignal<string>;
|
|
1293
1525
|
readonly declineLabel: _angular_core.InputSignal<string>;
|
|
1294
|
-
|
|
1526
|
+
readonly customizeLabel: _angular_core.InputSignal<string>;
|
|
1527
|
+
readonly saveLabel: _angular_core.InputSignal<string>;
|
|
1528
|
+
readonly icon: _angular_core.InputSignal<DgaIconName>;
|
|
1529
|
+
/** Google Analytics IDs to disable on decline / when analytics is off. */
|
|
1295
1530
|
readonly gaTrackingIds: _angular_core.InputSignal<string | readonly string[]>;
|
|
1531
|
+
/** Consent cookie lifetime in days. */
|
|
1532
|
+
readonly consentDays: _angular_core.InputSignal<number>;
|
|
1533
|
+
/** Consent cookie name (also used as localStorage key prefix). */
|
|
1534
|
+
readonly consentCookieName: _angular_core.InputSignal<string>;
|
|
1535
|
+
/** Extra cookies to delete when analytics/marketing is denied. */
|
|
1536
|
+
readonly analyticsCookieNames: _angular_core.InputSignal<readonly string[]>;
|
|
1537
|
+
/** Granular categories. When set, Customize / Save Preferences become available. */
|
|
1538
|
+
readonly categories: _angular_core.InputSignal<readonly DgaCookieCategory[]>;
|
|
1296
1539
|
readonly accepted: _angular_core.OutputEmitterRef<void>;
|
|
1297
1540
|
readonly declined: _angular_core.OutputEmitterRef<void>;
|
|
1298
1541
|
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
1299
|
-
readonly decided: _angular_core.OutputEmitterRef<"accepted" | "declined">;
|
|
1542
|
+
readonly decided: _angular_core.OutputEmitterRef<"accepted" | "declined" | "custom">;
|
|
1543
|
+
readonly preferencesChange: _angular_core.OutputEmitterRef<DgaCookiePreferences>;
|
|
1544
|
+
readonly decision: _angular_core.OutputEmitterRef<DgaCookieDecision>;
|
|
1300
1545
|
/** Controls enter/exit animation state. */
|
|
1301
1546
|
readonly visible: _angular_core.WritableSignal<boolean>;
|
|
1302
1547
|
/** Keeps the panel in the DOM while exit animation plays. */
|
|
1303
1548
|
readonly mounted: _angular_core.WritableSignal<boolean>;
|
|
1549
|
+
/** Whether the category preferences panel is expanded. */
|
|
1550
|
+
readonly customizing: _angular_core.WritableSignal<boolean>;
|
|
1551
|
+
/** Draft toggles while customizing. */
|
|
1552
|
+
readonly draftPrefs: _angular_core.WritableSignal<DgaCookiePreferences>;
|
|
1304
1553
|
private readonly seq;
|
|
1305
1554
|
readonly titleId: string;
|
|
1306
1555
|
readonly bodyId: string;
|
|
@@ -1311,31 +1560,87 @@ declare class DgaCookies implements OnInit {
|
|
|
1311
1560
|
body: string;
|
|
1312
1561
|
terms: string;
|
|
1313
1562
|
privacy: string;
|
|
1563
|
+
cookiePolicy: string;
|
|
1314
1564
|
accept: string;
|
|
1565
|
+
acceptAll: string;
|
|
1315
1566
|
decline: string;
|
|
1567
|
+
customize: string;
|
|
1568
|
+
save: string;
|
|
1569
|
+
categories: string;
|
|
1570
|
+
policies: string;
|
|
1316
1571
|
close: string;
|
|
1317
1572
|
}>;
|
|
1573
|
+
readonly resolvedCategories: _angular_core.Signal<DgaCookieCategory[]>;
|
|
1574
|
+
readonly resolvedLinks: _angular_core.Signal<{
|
|
1575
|
+
href: string;
|
|
1576
|
+
label: string;
|
|
1577
|
+
}[]>;
|
|
1578
|
+
/**
|
|
1579
|
+
* Accept + Decline share a row; Customize / Save spans full width underneath
|
|
1580
|
+
* so Arabic labels stay on one line. Actions stay pinned below the scroll body.
|
|
1581
|
+
*/
|
|
1582
|
+
readonly actionsClasses: _angular_core.Signal<string>;
|
|
1583
|
+
/** Resolved vertical edge + horizontal align (logical start/end). */
|
|
1584
|
+
readonly placement: _angular_core.Signal<{
|
|
1585
|
+
edge: "top" | "bottom";
|
|
1586
|
+
align: DgaCookiesAlign;
|
|
1587
|
+
}>;
|
|
1588
|
+
/** Whether a dimmed backdrop is shown (`overlay` or legacy `blocking`). */
|
|
1589
|
+
readonly hasOverlay: _angular_core.Signal<boolean>;
|
|
1318
1590
|
readonly panelClasses: _angular_core.Signal<string>;
|
|
1319
1591
|
constructor();
|
|
1320
1592
|
ngOnInit(): void;
|
|
1321
|
-
|
|
1593
|
+
hasCategories(): boolean;
|
|
1594
|
+
hasLinks(): boolean;
|
|
1595
|
+
/**
|
|
1596
|
+
* Re-open the banner (e.g. from a footer Cookie Settings link).
|
|
1597
|
+
* Portals to `document.body` so overflow/transform ancestors cannot clip it.
|
|
1598
|
+
*/
|
|
1322
1599
|
show(): void;
|
|
1323
1600
|
/** Hide without persisting a decision. */
|
|
1324
1601
|
dismiss(): void;
|
|
1602
|
+
/** Backdrop click — dismiss only when overlayClose + dismissible. */
|
|
1603
|
+
onOverlayClick(): void;
|
|
1604
|
+
openCustomize(): void;
|
|
1605
|
+
onCategoryToggle(id: string, enabled: boolean): void;
|
|
1325
1606
|
accept(): void;
|
|
1326
1607
|
decline(): void;
|
|
1608
|
+
savePreferences(): void;
|
|
1609
|
+
private commit;
|
|
1610
|
+
private buildDefaultPrefs;
|
|
1611
|
+
private buildAllPrefs;
|
|
1612
|
+
private readStored;
|
|
1327
1613
|
private hidePanel;
|
|
1328
1614
|
private trackingIds;
|
|
1615
|
+
/** Move host to `body` so fixed positioning escapes overflow/transform ancestors. */
|
|
1616
|
+
private ensureBodyPortal;
|
|
1617
|
+
private restorePortal;
|
|
1329
1618
|
private clearTimer;
|
|
1330
1619
|
private clearCloseTimer;
|
|
1331
|
-
static getConsent(): DgaCookieConsent;
|
|
1332
|
-
static
|
|
1333
|
-
static
|
|
1620
|
+
static getConsent(cookieName?: string): DgaCookieConsent;
|
|
1621
|
+
static getPreferences(cookieName?: string): DgaCookiePreferences | null;
|
|
1622
|
+
static setConsent(value: Exclude<DgaCookieConsent, null>, options?: {
|
|
1623
|
+
name?: string;
|
|
1624
|
+
days?: number;
|
|
1625
|
+
preferences?: DgaCookiePreferences;
|
|
1626
|
+
}): void;
|
|
1627
|
+
static clearConsent(cookieName?: string): void;
|
|
1628
|
+
/** @internal */
|
|
1629
|
+
static parseStored(raw: string | null): {
|
|
1630
|
+
consent: DgaCookieConsent;
|
|
1631
|
+
preferences: DgaCookiePreferences | null;
|
|
1632
|
+
};
|
|
1633
|
+
/** @internal */
|
|
1634
|
+
static writeConsent(status: Exclude<DgaCookieConsent, null>, preferences: DgaCookiePreferences | null, opts: {
|
|
1635
|
+
name: string;
|
|
1636
|
+
days: number;
|
|
1637
|
+
hasCategories: boolean;
|
|
1638
|
+
}): void;
|
|
1334
1639
|
static get(name: string): string | null;
|
|
1335
1640
|
static set(name: string, value: string, days?: number): void;
|
|
1336
1641
|
static delete(name: string): void;
|
|
1337
1642
|
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>;
|
|
1643
|
+
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
1644
|
}
|
|
1340
1645
|
|
|
1341
1646
|
type DgaRatingSize = 'sm' | 'md' | 'lg';
|
|
@@ -1428,7 +1733,7 @@ declare class DgaShare {
|
|
|
1428
1733
|
readonly inlineClasses: _angular_core.Signal<string>;
|
|
1429
1734
|
resolvedUrl(): string;
|
|
1430
1735
|
resolvedTitle(): string;
|
|
1431
|
-
onMenuSelect(
|
|
1736
|
+
onMenuSelect(item: DgaMenuItem | string): void;
|
|
1432
1737
|
share(channel: string): void;
|
|
1433
1738
|
copyLink(): Promise<void>;
|
|
1434
1739
|
onCopied(): void;
|
|
@@ -1436,6 +1741,104 @@ declare class DgaShare {
|
|
|
1436
1741
|
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
1742
|
}
|
|
1438
1743
|
|
|
1744
|
+
type DgaChatbotPosition = 'end' | 'start' | 'left' | 'right';
|
|
1745
|
+
type DgaChatbotAnimation = 'fade' | 'slide' | 'scale' | 'none';
|
|
1746
|
+
type DgaChatbotSize = 'sm' | 'md' | 'lg';
|
|
1747
|
+
type DgaChatbotFabTone = 'primary' | 'secondary';
|
|
1748
|
+
interface DgaChatbotMessage {
|
|
1749
|
+
id: string;
|
|
1750
|
+
role: 'bot' | 'user';
|
|
1751
|
+
text: string;
|
|
1752
|
+
}
|
|
1753
|
+
/**
|
|
1754
|
+
* Floating live-chat launcher + panel. Place once near the app root
|
|
1755
|
+
* (beside `dga-scroll-top` / `dga-accessibility`).
|
|
1756
|
+
*
|
|
1757
|
+
* Use `stack` so FABs share one vertical dock:
|
|
1758
|
+
* a11y `0` → scroll-top `1` → chatbot `2`.
|
|
1759
|
+
*/
|
|
1760
|
+
declare class DgaChatbot {
|
|
1761
|
+
private readonly destroyRef;
|
|
1762
|
+
private readonly injector;
|
|
1763
|
+
private readonly composerRef;
|
|
1764
|
+
private readonly logRef;
|
|
1765
|
+
/** Corner for FAB + panel. `end` / `start` follow reading direction. */
|
|
1766
|
+
readonly position: _angular_core.InputSignal<DgaChatbotPosition>;
|
|
1767
|
+
/** Panel enter animation. Honors `prefers-reduced-motion`. */
|
|
1768
|
+
readonly animation: _angular_core.InputSignal<DgaChatbotAnimation>;
|
|
1769
|
+
readonly size: _angular_core.InputSignal<DgaChatbotSize>;
|
|
1770
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
1771
|
+
readonly subtitle: _angular_core.InputSignal<string>;
|
|
1772
|
+
readonly fabLabel: _angular_core.InputSignal<string>;
|
|
1773
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1774
|
+
readonly fabIcon: _angular_core.InputSignal<DgaIconName>;
|
|
1775
|
+
/** Prefer a directional arrow so send ≠ chat bubble. */
|
|
1776
|
+
readonly sendIcon: _angular_core.InputSignal<DgaIconName>;
|
|
1777
|
+
readonly agentIcon: _angular_core.InputSignal<DgaIconName>;
|
|
1778
|
+
readonly fabTone: _angular_core.InputSignal<DgaChatbotFabTone>;
|
|
1779
|
+
/** Dim page behind the panel. */
|
|
1780
|
+
readonly overlay: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1781
|
+
/** Close when clicking the overlay. */
|
|
1782
|
+
readonly overlayClose: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1783
|
+
/** Green online dot on the agent avatar. */
|
|
1784
|
+
readonly online: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1785
|
+
/** Hide launcher while the panel is open (recommended). */
|
|
1786
|
+
readonly hideFabWhenOpen: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1787
|
+
/**
|
|
1788
|
+
* 0-based slot in the shared FAB dock (bottom → top).
|
|
1789
|
+
* Typical: a11y=0, scroll-top=1, chatbot=2.
|
|
1790
|
+
*/
|
|
1791
|
+
readonly stack: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
1792
|
+
/**
|
|
1793
|
+
* @deprecated Prefer `stack`. When true and `stack` is unset legacy path —
|
|
1794
|
+
* kept for callers; `stack` wins.
|
|
1795
|
+
*/
|
|
1796
|
+
readonly clearFab: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1797
|
+
/**
|
|
1798
|
+
* Anchor FAB/panel inside a relative parent (gallery / docs preview)
|
|
1799
|
+
* instead of the viewport — avoids a second global FAB.
|
|
1800
|
+
*/
|
|
1801
|
+
readonly embedded: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1802
|
+
readonly initialMessages: _angular_core.InputSignal<readonly DgaChatbotMessage[]>;
|
|
1803
|
+
readonly sent: _angular_core.OutputEmitterRef<string>;
|
|
1804
|
+
readonly opened: _angular_core.OutputEmitterRef<void>;
|
|
1805
|
+
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
1806
|
+
readonly open: _angular_core.WritableSignal<boolean>;
|
|
1807
|
+
readonly draft: _angular_core.WritableSignal<string>;
|
|
1808
|
+
readonly messages: _angular_core.WritableSignal<DgaChatbotMessage[]>;
|
|
1809
|
+
private readonly seq;
|
|
1810
|
+
readonly panelId: string;
|
|
1811
|
+
private msgSeq;
|
|
1812
|
+
private seeded;
|
|
1813
|
+
private prevOverflow;
|
|
1814
|
+
readonly copy: _angular_core.Signal<{
|
|
1815
|
+
title: string;
|
|
1816
|
+
subtitle: string;
|
|
1817
|
+
open: string;
|
|
1818
|
+
close: string;
|
|
1819
|
+
send: string;
|
|
1820
|
+
input: string;
|
|
1821
|
+
placeholder: string;
|
|
1822
|
+
panelLabel: string;
|
|
1823
|
+
welcome: string;
|
|
1824
|
+
}>;
|
|
1825
|
+
readonly fabBottom: _angular_core.Signal<string>;
|
|
1826
|
+
readonly fabClasses: _angular_core.Signal<string>;
|
|
1827
|
+
readonly panelClasses: _angular_core.Signal<string>;
|
|
1828
|
+
constructor();
|
|
1829
|
+
private ensureSeed;
|
|
1830
|
+
toggle(): void;
|
|
1831
|
+
show(): void;
|
|
1832
|
+
close(): void;
|
|
1833
|
+
onBackdrop(): void;
|
|
1834
|
+
onSubmit(event: Event): void;
|
|
1835
|
+
private scrollLogToEnd;
|
|
1836
|
+
private lockScroll;
|
|
1837
|
+
private unlockScroll;
|
|
1838
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaChatbot, never>;
|
|
1839
|
+
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>;
|
|
1840
|
+
}
|
|
1841
|
+
|
|
1439
1842
|
/** One-tap accessibility presets (compose primitives + settings). */
|
|
1440
1843
|
type DgaA11yBundle = 'epilepsy-safe' | 'visually-impaired' | 'cognitive-disability' | 'motor-impaired' | 'colorblind' | 'dyslexia-friendly' | 'adhd-friendly';
|
|
1441
1844
|
/** Primitive toggles stamped on `data-a11y`. */
|
|
@@ -1520,8 +1923,14 @@ type SectionOpen = SectionId | null;
|
|
|
1520
1923
|
declare class DgaAccessibility {
|
|
1521
1924
|
readonly a11y: DgaAccessibilityService;
|
|
1522
1925
|
readonly position: _angular_core.InputSignal<DgaAccessibilityPosition>;
|
|
1926
|
+
/**
|
|
1927
|
+
* 0-based slot in the shared FAB dock (bottom → top).
|
|
1928
|
+
* Typical: a11y=0, scroll-top=1, chatbot=2.
|
|
1929
|
+
*/
|
|
1930
|
+
readonly stack: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
1523
1931
|
readonly panelId = "dga-accessibility-panel";
|
|
1524
1932
|
private readonly panelRef;
|
|
1933
|
+
readonly fabBottom: _angular_core.Signal<string>;
|
|
1525
1934
|
readonly sectionOpen: _angular_core.WritableSignal<SectionOpen>;
|
|
1526
1935
|
readonly resetArmed: _angular_core.WritableSignal<boolean>;
|
|
1527
1936
|
readonly liveMsg: _angular_core.WritableSignal<string>;
|
|
@@ -1641,7 +2050,7 @@ declare class DgaAccessibility {
|
|
|
1641
2050
|
private announce;
|
|
1642
2051
|
private onMaskKeys;
|
|
1643
2052
|
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>;
|
|
2053
|
+
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
2054
|
}
|
|
1646
2055
|
|
|
1647
2056
|
/**
|
|
@@ -1667,13 +2076,29 @@ declare class DgaAccordionItem {
|
|
|
1667
2076
|
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
2077
|
}
|
|
1669
2078
|
|
|
2079
|
+
interface DgaAccordionSection {
|
|
2080
|
+
id: string;
|
|
2081
|
+
title: string;
|
|
2082
|
+
content?: string;
|
|
2083
|
+
open?: boolean;
|
|
2084
|
+
}
|
|
1670
2085
|
declare class DgaAccordion {
|
|
1671
2086
|
/** Allow multiple panels open at once. */
|
|
1672
2087
|
readonly multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2088
|
+
/** Optional data-driven sections; when non-empty, renders items from this list instead of `<ng-content>`. */
|
|
2089
|
+
readonly sections: _angular_core.InputSignal<DgaAccordionSection[]>;
|
|
1673
2090
|
readonly items: _angular_core.Signal<readonly DgaAccordionItem[]>;
|
|
2091
|
+
private readonly seq;
|
|
2092
|
+
private readonly openSectionIds;
|
|
2093
|
+
private sectionsInitialized;
|
|
2094
|
+
constructor();
|
|
2095
|
+
headerId(section: DgaAccordionSection): string;
|
|
2096
|
+
panelId(section: DgaAccordionSection): string;
|
|
2097
|
+
isSectionOpen(section: DgaAccordionSection): boolean;
|
|
2098
|
+
toggleSection(section: DgaAccordionSection): void;
|
|
1674
2099
|
onItemOpen(item: DgaAccordionItem): void;
|
|
1675
2100
|
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>;
|
|
2101
|
+
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
2102
|
}
|
|
1678
2103
|
|
|
1679
2104
|
interface DgaBreadcrumbItem {
|
|
@@ -1685,58 +2110,79 @@ declare class DgaBreadcrumb {
|
|
|
1685
2110
|
readonly items: _angular_core.InputSignal<DgaBreadcrumbItem[]>;
|
|
1686
2111
|
readonly label: _angular_core.InputSignal<string>;
|
|
1687
2112
|
readonly separator: _angular_core.InputSignal<DgaBreadcrumbSeparator>;
|
|
2113
|
+
/** Emits the clicked item for non-last links. Navigation via `href` is not prevented. */
|
|
2114
|
+
readonly itemClick: _angular_core.OutputEmitterRef<DgaBreadcrumbItem>;
|
|
2115
|
+
onItemClick(item: DgaBreadcrumbItem): void;
|
|
1688
2116
|
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>;
|
|
2117
|
+
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
2118
|
}
|
|
1691
2119
|
|
|
1692
2120
|
declare class DgaPagination {
|
|
1693
|
-
|
|
1694
|
-
readonly page: _angular_core.
|
|
2121
|
+
/** Two-way bindable via `[(page)]`; also emits the built-in `pageChange` output. */
|
|
2122
|
+
readonly page: _angular_core.ModelSignal<number>;
|
|
1695
2123
|
readonly totalPages: _angular_core.InputSignal<number>;
|
|
1696
2124
|
readonly label: _angular_core.InputSignal<string>;
|
|
1697
2125
|
readonly prevLabel: _angular_core.InputSignal<string>;
|
|
1698
2126
|
readonly nextLabel: _angular_core.InputSignal<string>;
|
|
1699
|
-
readonly pageChange: _angular_core.OutputEmitterRef<number>;
|
|
1700
2127
|
readonly pages: _angular_core.Signal<(number | "…")[]>;
|
|
1701
2128
|
btnClass(active: boolean): string;
|
|
1702
2129
|
go(next: number): void;
|
|
1703
2130
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaPagination, never>;
|
|
1704
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DgaPagination, "dga-pagination", never, { "
|
|
2131
|
+
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
2132
|
}
|
|
1706
2133
|
|
|
1707
2134
|
declare class DgaTab {
|
|
1708
2135
|
private readonly tabs;
|
|
1709
2136
|
readonly value: _angular_core.InputSignal<string>;
|
|
1710
2137
|
readonly label: _angular_core.InputSignal<string>;
|
|
2138
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1711
2139
|
readonly seq: number;
|
|
1712
2140
|
readonly tabId: string;
|
|
1713
2141
|
readonly panelId: string;
|
|
1714
2142
|
readonly active: _angular_core.Signal<boolean>;
|
|
1715
2143
|
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>;
|
|
2144
|
+
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
2145
|
}
|
|
1718
2146
|
|
|
2147
|
+
interface DgaTabItem {
|
|
2148
|
+
value: string;
|
|
2149
|
+
label: string;
|
|
2150
|
+
disabled?: boolean;
|
|
2151
|
+
}
|
|
1719
2152
|
declare class DgaTabs {
|
|
1720
2153
|
private readonly host;
|
|
2154
|
+
private readonly seq;
|
|
1721
2155
|
readonly selected: _angular_core.ModelSignal<string>;
|
|
1722
2156
|
readonly label: _angular_core.InputSignal<string>;
|
|
2157
|
+
/** Optional data-driven tab headers; when non-empty, renders the tablist from this list. */
|
|
2158
|
+
readonly items: _angular_core.InputSignal<DgaTabItem[]>;
|
|
1723
2159
|
readonly tabs: _angular_core.Signal<readonly DgaTab[]>;
|
|
2160
|
+
readonly headerItems: _angular_core.Signal<DgaTabItem[]>;
|
|
1724
2161
|
constructor();
|
|
1725
|
-
tabButtonClass(value: string): string;
|
|
2162
|
+
tabButtonClass(value: string, disabled: boolean): string;
|
|
2163
|
+
tabIdFor(value: string): string;
|
|
2164
|
+
panelIdFor(value: string): string;
|
|
1726
2165
|
select(value: string): void;
|
|
1727
2166
|
onTablistKey(event: KeyboardEvent): void;
|
|
2167
|
+
private stepIndex;
|
|
2168
|
+
private lastEnabledIndex;
|
|
1728
2169
|
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>;
|
|
2170
|
+
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
2171
|
}
|
|
1731
2172
|
|
|
2173
|
+
type DgaStepStatus = 'pending' | 'active' | 'completed' | 'error';
|
|
1732
2174
|
interface DgaStep {
|
|
1733
2175
|
label: string;
|
|
1734
2176
|
description?: string;
|
|
2177
|
+
disabled?: boolean;
|
|
2178
|
+
/** Overrides the status normally derived from the active index. */
|
|
2179
|
+
status?: DgaStepStatus;
|
|
1735
2180
|
}
|
|
1736
2181
|
declare class DgaStepper {
|
|
1737
2182
|
readonly steps: _angular_core.InputSignal<DgaStep[]>;
|
|
1738
2183
|
readonly active: _angular_core.ModelSignal<number>;
|
|
1739
2184
|
readonly label: _angular_core.InputSignal<string>;
|
|
2185
|
+
stepStatus(index: number): DgaStepStatus;
|
|
1740
2186
|
stepButtonClasses(index: number): string;
|
|
1741
2187
|
indicatorClasses(index: number): string;
|
|
1742
2188
|
go(index: number): void;
|
|
@@ -1763,31 +2209,153 @@ declare class DgaToc {
|
|
|
1763
2209
|
interface DgaSideNavItem {
|
|
1764
2210
|
label: string;
|
|
1765
2211
|
value: string;
|
|
1766
|
-
icon?:
|
|
2212
|
+
icon?: DgaIconName;
|
|
2213
|
+
disabled?: boolean;
|
|
2214
|
+
/** Optional link target — when set, the item renders as an anchor. */
|
|
2215
|
+
href?: string;
|
|
2216
|
+
badge?: string;
|
|
2217
|
+
/** Nested level-2 items (expandable on desktop). */
|
|
2218
|
+
children?: DgaSideNavItem[];
|
|
2219
|
+
/** Start expanded when children exist (default: true if active child). */
|
|
2220
|
+
expanded?: boolean;
|
|
2221
|
+
}
|
|
2222
|
+
/** Category / section in a multi-level admin side nav. */
|
|
2223
|
+
interface DgaSideNavGroup {
|
|
2224
|
+
id: string;
|
|
2225
|
+
/** Optional section heading (hidden when sidebar is narrow). */
|
|
2226
|
+
label?: string;
|
|
2227
|
+
items: DgaSideNavItem[];
|
|
1767
2228
|
}
|
|
1768
2229
|
/**
|
|
1769
|
-
* Side navigation.
|
|
1770
|
-
* Below `lg`: horizontal scroll rail (
|
|
2230
|
+
* Side navigation with optional groups and nested children.
|
|
2231
|
+
* Below `lg`: horizontal scroll rail (top-level only).
|
|
1771
2232
|
* From `lg`: vertical sidebar (optional collapse to icons).
|
|
1772
2233
|
*/
|
|
1773
2234
|
declare class DgaSideNav {
|
|
2235
|
+
/** Flat item list (backward compatible). Ignored when `groups` is set. */
|
|
1774
2236
|
readonly items: _angular_core.InputSignal<DgaSideNavItem[]>;
|
|
2237
|
+
/** Grouped / categorized navigation (preferred for admin shells). */
|
|
2238
|
+
readonly groups: _angular_core.InputSignal<DgaSideNavGroup[]>;
|
|
1775
2239
|
readonly active: _angular_core.ModelSignal<string>;
|
|
1776
2240
|
readonly collapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1777
2241
|
readonly label: _angular_core.InputSignal<string>;
|
|
1778
2242
|
readonly toggleLabel: _angular_core.InputSignal<string>;
|
|
1779
2243
|
readonly select: _angular_core.OutputEmitterRef<DgaSideNavItem>;
|
|
1780
2244
|
readonly narrow: _angular_core.ModelSignal<boolean>;
|
|
1781
|
-
|
|
2245
|
+
/** Values of parents forced open by the user. */
|
|
2246
|
+
private readonly expanded;
|
|
2247
|
+
/** Values of parents forced closed by the user. */
|
|
2248
|
+
private readonly collapsed;
|
|
2249
|
+
readonly resolvedGroups: _angular_core.Signal<DgaSideNavGroup[]>;
|
|
2250
|
+
hasChildren(item: DgaSideNavItem): boolean;
|
|
2251
|
+
isExpanded(item: DgaSideNavItem): boolean;
|
|
2252
|
+
isActive(item: DgaSideNavItem): boolean;
|
|
2253
|
+
itemClasses(item: DgaSideNavItem, depth: number): string;
|
|
1782
2254
|
toggleNarrow(): void;
|
|
1783
|
-
onSelect(item: DgaSideNavItem): void;
|
|
2255
|
+
onSelect(item: DgaSideNavItem, event?: Event): void;
|
|
2256
|
+
private childIsActive;
|
|
2257
|
+
private toggleExpanded;
|
|
1784
2258
|
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>;
|
|
2259
|
+
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>;
|
|
2260
|
+
}
|
|
2261
|
+
|
|
2262
|
+
/** Category block inside a dual-nav secondary panel. */
|
|
2263
|
+
interface DgaDualNavCategory {
|
|
2264
|
+
id: string;
|
|
2265
|
+
label?: string;
|
|
2266
|
+
items: DgaSideNavItem[];
|
|
2267
|
+
}
|
|
2268
|
+
/** Top-level rail section (icon) + secondary panel categories. */
|
|
2269
|
+
interface DgaDualNavSection {
|
|
2270
|
+
id: string;
|
|
2271
|
+
label: string;
|
|
2272
|
+
icon: DgaIconName;
|
|
2273
|
+
badge?: string;
|
|
2274
|
+
categories: DgaDualNavCategory[];
|
|
2275
|
+
}
|
|
2276
|
+
/**
|
|
2277
|
+
* Metronic Demo 4–style dual navigation:
|
|
2278
|
+
* slim icon rail + secondary panel with categorized links.
|
|
2279
|
+
* @see https://keenthemes.com/metronic/tailwind/demo4/
|
|
2280
|
+
*/
|
|
2281
|
+
declare class DgaDualNav {
|
|
2282
|
+
readonly sections: _angular_core.InputSignal<DgaDualNavSection[]>;
|
|
2283
|
+
readonly active: _angular_core.ModelSignal<string>;
|
|
2284
|
+
readonly activeSectionId: _angular_core.ModelSignal<string>;
|
|
2285
|
+
readonly panelOpen: _angular_core.ModelSignal<boolean>;
|
|
2286
|
+
readonly railLabel: _angular_core.InputSignal<string>;
|
|
2287
|
+
readonly panelEyebrow: _angular_core.InputSignal<string>;
|
|
2288
|
+
readonly closePanelLabel: _angular_core.InputSignal<string>;
|
|
2289
|
+
readonly select: _angular_core.OutputEmitterRef<DgaSideNavItem>;
|
|
2290
|
+
readonly activeSection: _angular_core.Signal<DgaDualNavSection>;
|
|
2291
|
+
constructor();
|
|
2292
|
+
selectSection(id: string): void;
|
|
2293
|
+
onSelect(item: DgaSideNavItem): void;
|
|
2294
|
+
linkClasses(item: DgaSideNavItem, nested?: boolean): string;
|
|
2295
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaDualNav, never>;
|
|
2296
|
+
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>;
|
|
2297
|
+
}
|
|
2298
|
+
|
|
2299
|
+
type DgaNavRailPosition = 'static' | 'start' | 'end' | 'left' | 'right';
|
|
2300
|
+
type DgaNavRailAppearance = 'plain' | 'elevated' | 'outline';
|
|
2301
|
+
type DgaNavRailSize = 'sm' | 'md' | 'lg';
|
|
2302
|
+
type DgaNavRailActiveStyle = 'soft' | 'solid' | 'ring';
|
|
2303
|
+
interface DgaNavRailItem {
|
|
2304
|
+
/** Accessible label (also used for tooltip). */
|
|
2305
|
+
label: string;
|
|
2306
|
+
/** Stable id used for `active` binding / selection. */
|
|
2307
|
+
value: string;
|
|
2308
|
+
icon: DgaIconName;
|
|
2309
|
+
disabled?: boolean;
|
|
2310
|
+
/** Optional in-page or external link (`#section` for section jumps). */
|
|
2311
|
+
href?: string;
|
|
2312
|
+
}
|
|
2313
|
+
/**
|
|
2314
|
+
* Slim icon rail for jumping between page sections or compact app areas.
|
|
2315
|
+
* Distinct from `dga-side-nav` (labeled sidebar) and `dga-toc` (text outline).
|
|
2316
|
+
*/
|
|
2317
|
+
declare class DgaNavRail {
|
|
2318
|
+
readonly items: _angular_core.InputSignal<readonly DgaNavRailItem[]>;
|
|
2319
|
+
readonly active: _angular_core.ModelSignal<string>;
|
|
2320
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
2321
|
+
readonly expandLabel: _angular_core.InputSignal<string>;
|
|
2322
|
+
/** `static` for in-flow layout; otherwise docks to a viewport edge. */
|
|
2323
|
+
readonly position: _angular_core.InputSignal<DgaNavRailPosition>;
|
|
2324
|
+
readonly appearance: _angular_core.InputSignal<DgaNavRailAppearance>;
|
|
2325
|
+
readonly size: _angular_core.InputSignal<DgaNavRailSize>;
|
|
2326
|
+
readonly activeStyle: _angular_core.InputSignal<DgaNavRailActiveStyle>;
|
|
2327
|
+
/** Edge inset in px when `position` is fixed. */
|
|
2328
|
+
readonly offset: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
2329
|
+
/** Show a chevron control that emits `expandChange`. */
|
|
2330
|
+
readonly expandable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2331
|
+
readonly expanded: _angular_core.ModelSignal<boolean>;
|
|
2332
|
+
/** Smooth-scroll to `#href` targets inside the page. */
|
|
2333
|
+
readonly smoothScroll: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2334
|
+
readonly select: _angular_core.OutputEmitterRef<DgaNavRailItem>;
|
|
2335
|
+
readonly expandChange: _angular_core.OutputEmitterRef<boolean>;
|
|
2336
|
+
readonly edgeAttr: _angular_core.Signal<"start" | "end" | "right" | "left" | null>;
|
|
2337
|
+
readonly offsetCss: _angular_core.Signal<string>;
|
|
2338
|
+
readonly tooltipPlacement: _angular_core.Signal<"start" | "end">;
|
|
2339
|
+
readonly iconSize: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
2340
|
+
readonly expandIcon: _angular_core.Signal<"chevronLeft" | "chevronRight">;
|
|
2341
|
+
readonly listGapClass: _angular_core.Signal<"gap-xs" | "gap-sm" | "gap-md">;
|
|
2342
|
+
readonly railClasses: _angular_core.Signal<string>;
|
|
2343
|
+
expandBtnClasses(): string;
|
|
2344
|
+
itemClasses(item: DgaNavRailItem): string;
|
|
2345
|
+
onSelect(item: DgaNavRailItem, event?: MouseEvent): void;
|
|
2346
|
+
toggleExpand(): void;
|
|
2347
|
+
private prefersReducedMotion;
|
|
2348
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaNavRail, never>;
|
|
2349
|
+
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
2350
|
}
|
|
1787
2351
|
|
|
1788
2352
|
interface DgaFilterItem {
|
|
1789
2353
|
id: string;
|
|
1790
2354
|
label: string;
|
|
2355
|
+
/** Optional result count shown as a trailing badge. */
|
|
2356
|
+
count?: number;
|
|
2357
|
+
disabled?: boolean;
|
|
2358
|
+
icon?: DgaIconName;
|
|
1791
2359
|
}
|
|
1792
2360
|
declare class DgaFilterBar {
|
|
1793
2361
|
readonly filters: _angular_core.InputSignal<DgaFilterItem[]>;
|
|
@@ -1796,8 +2364,9 @@ declare class DgaFilterBar {
|
|
|
1796
2364
|
readonly clearLabel: _angular_core.InputSignal<string>;
|
|
1797
2365
|
readonly activeSet: _angular_core.Signal<Set<string>>;
|
|
1798
2366
|
isActive(id: string): boolean;
|
|
1799
|
-
chipClass(active: boolean): string;
|
|
1800
|
-
|
|
2367
|
+
chipClass(active: boolean, disabled: boolean): string;
|
|
2368
|
+
countClass(active: boolean): string;
|
|
2369
|
+
toggle(id: string, disabled?: boolean): void;
|
|
1801
2370
|
clearAll(): void;
|
|
1802
2371
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaFilterBar, never>;
|
|
1803
2372
|
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 +2398,16 @@ declare class DgaScrollTop {
|
|
|
1829
2398
|
/** Use smooth scrolling when supported. */
|
|
1830
2399
|
readonly smooth: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1831
2400
|
/**
|
|
1832
|
-
*
|
|
1833
|
-
*
|
|
2401
|
+
* 0-based slot in the shared FAB dock (bottom → top).
|
|
2402
|
+
* Typical: a11y=0, scroll-top=1, chatbot=2.
|
|
2403
|
+
*/
|
|
2404
|
+
readonly stack: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
2405
|
+
/**
|
|
2406
|
+
* @deprecated Prefer `stack`. Kept for older callers.
|
|
1834
2407
|
*/
|
|
1835
2408
|
readonly clearFab: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1836
2409
|
readonly visible: _angular_core.WritableSignal<boolean>;
|
|
2410
|
+
readonly fabBottom: _angular_core.Signal<string>;
|
|
1837
2411
|
private ticking;
|
|
1838
2412
|
private readonly onScroll;
|
|
1839
2413
|
readonly btnClasses: _angular_core.Signal<string>;
|
|
@@ -1842,7 +2416,7 @@ declare class DgaScrollTop {
|
|
|
1842
2416
|
scrollToTop(): void;
|
|
1843
2417
|
private syncVisibility;
|
|
1844
2418
|
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>;
|
|
2419
|
+
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
2420
|
}
|
|
1847
2421
|
|
|
1848
2422
|
/** Maps official card surface: stroke / elevation / fill. */
|
|
@@ -2000,6 +2574,37 @@ declare class DgaExpandable {
|
|
|
2000
2574
|
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
2575
|
}
|
|
2002
2576
|
|
|
2577
|
+
/**
|
|
2578
|
+
* `content` — sticky aside inside page flow (portal templates).
|
|
2579
|
+
* `viewport` — fixed full-height admin shell (Metronic-style app chrome).
|
|
2580
|
+
*/
|
|
2581
|
+
type DgaAppShellAppearance = 'content' | 'viewport';
|
|
2582
|
+
/**
|
|
2583
|
+
* App shell: aside nav + optional header + main column.
|
|
2584
|
+
*
|
|
2585
|
+
* Projection hooks (class selectors — more reliable than camelCase attrs):
|
|
2586
|
+
* - `.dga-app-shell-brand` — sidebar brand
|
|
2587
|
+
* - `.dga-app-shell-nav` — side navigation
|
|
2588
|
+
* - `.dga-app-shell-nav-foot` — sidebar footer
|
|
2589
|
+
* - `.dga-app-shell-header` — main top bar
|
|
2590
|
+
* - default slot — scrollable main body
|
|
2591
|
+
*/
|
|
2592
|
+
declare class DgaAppShell {
|
|
2593
|
+
/** Accessible name for the nav aside. */
|
|
2594
|
+
readonly navLabel: _angular_core.InputSignal<string>;
|
|
2595
|
+
/** `viewport` = full-height admin shell; `content` = in-flow sticky aside. */
|
|
2596
|
+
readonly appearance: _angular_core.InputSignal<DgaAppShellAppearance>;
|
|
2597
|
+
/** Soften viewport body padding (default true for viewport). */
|
|
2598
|
+
readonly padded: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2599
|
+
readonly isViewport: _angular_core.Signal<boolean>;
|
|
2600
|
+
readonly layoutClasses: _angular_core.Signal<string>;
|
|
2601
|
+
readonly navClasses: _angular_core.Signal<string>;
|
|
2602
|
+
readonly mainClasses: _angular_core.Signal<string>;
|
|
2603
|
+
readonly bodyClasses: _angular_core.Signal<string>;
|
|
2604
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAppShell, never>;
|
|
2605
|
+
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>;
|
|
2606
|
+
}
|
|
2607
|
+
|
|
2003
2608
|
type DgaHeaderAppearance = 'default' | 'portal';
|
|
2004
2609
|
/**
|
|
2005
2610
|
* Mobile / narrow navigation chrome (portal header, `md` and below):
|
|
@@ -2066,12 +2671,16 @@ interface DgaHeaderSearchSuggestion {
|
|
|
2066
2671
|
icon?: DgaIconName;
|
|
2067
2672
|
}
|
|
2068
2673
|
/**
|
|
2069
|
-
* Built-in header search
|
|
2070
|
-
* Pass this to `[search]` to enable the
|
|
2674
|
+
* Built-in header search popup (opens from the action whose `id` matches `actionId`).
|
|
2675
|
+
* Pass this to `[search]` to enable the modal search experience.
|
|
2071
2676
|
*/
|
|
2072
2677
|
interface DgaHeaderSearchConfig {
|
|
2073
2678
|
/** Action id that toggles the panel. Default: `'search'`. */
|
|
2074
2679
|
actionId?: string;
|
|
2680
|
+
/** Modal title. Default: `'Search'`. */
|
|
2681
|
+
title?: string;
|
|
2682
|
+
description?: string;
|
|
2683
|
+
closeLabel?: string;
|
|
2075
2684
|
placeholder?: string;
|
|
2076
2685
|
submitLabel?: string;
|
|
2077
2686
|
suggestionsLabel?: string;
|
|
@@ -2218,6 +2827,8 @@ declare class DgaHeader {
|
|
|
2218
2827
|
}>;
|
|
2219
2828
|
readonly logout: _angular_core.OutputEmitterRef<void>;
|
|
2220
2829
|
readonly userLinkClick: _angular_core.OutputEmitterRef<DgaHeaderUserMenuLink>;
|
|
2830
|
+
/** Emits on click of any top-level nav link or dropdown link (desktop + mobile). */
|
|
2831
|
+
readonly navLinkClick: _angular_core.OutputEmitterRef<DgaNavLink | DgaNavItem>;
|
|
2221
2832
|
readonly mobileOpen: _angular_core.WritableSignal<boolean>;
|
|
2222
2833
|
readonly openDropdown: _angular_core.WritableSignal<number | null>;
|
|
2223
2834
|
readonly searchOpen: _angular_core.WritableSignal<boolean>;
|
|
@@ -2310,6 +2921,8 @@ declare class DgaHeader {
|
|
|
2310
2921
|
onMobileAction(action: DgaHeaderAction, event?: Event): void;
|
|
2311
2922
|
closeUtilityOverlays(): void;
|
|
2312
2923
|
toggleSearch(): void;
|
|
2924
|
+
onSearchModalOpenChange(open: boolean): void;
|
|
2925
|
+
focusSearchInput(): void;
|
|
2313
2926
|
closeSearch(clearVoice?: boolean): void;
|
|
2314
2927
|
toggleNotifications(trigger?: HTMLElement | null): void;
|
|
2315
2928
|
closeNotifications(): void;
|
|
@@ -2337,9 +2950,10 @@ declare class DgaHeader {
|
|
|
2337
2950
|
onKey(event: KeyboardEvent): void;
|
|
2338
2951
|
onScroll(): void;
|
|
2339
2952
|
onResize(): void;
|
|
2953
|
+
onNavLinkClick(link: DgaNavLink | DgaNavItem, event: MouseEvent): void;
|
|
2340
2954
|
onDocClick(event: MouseEvent): void;
|
|
2341
2955
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaHeader, never>;
|
|
2342
|
-
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>;
|
|
2956
|
+
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>;
|
|
2343
2957
|
}
|
|
2344
2958
|
|
|
2345
2959
|
interface DgaStampNotice {
|
|
@@ -2591,6 +3205,100 @@ declare class DgaHero {
|
|
|
2591
3205
|
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>;
|
|
2592
3206
|
}
|
|
2593
3207
|
|
|
3208
|
+
type DgaPageHeroTone = 'faint' | 'body' | 'surface';
|
|
3209
|
+
/**
|
|
3210
|
+
* Compact portal page header: breadcrumb + title + lede + optional actions slot.
|
|
3211
|
+
* Prefer this over hand-rolled `*-hero` bands on inner portal pages.
|
|
3212
|
+
*/
|
|
3213
|
+
declare class DgaPageHero {
|
|
3214
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
3215
|
+
readonly description: _angular_core.InputSignal<string>;
|
|
3216
|
+
readonly breadcrumbs: _angular_core.InputSignal<DgaBreadcrumbItem[]>;
|
|
3217
|
+
readonly breadcrumbLabel: _angular_core.InputSignal<string>;
|
|
3218
|
+
readonly tone: _angular_core.InputSignal<DgaPageHeroTone>;
|
|
3219
|
+
/** Extra bottom padding for denser pages. */
|
|
3220
|
+
readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3221
|
+
private readonly seq;
|
|
3222
|
+
readonly titleId: string;
|
|
3223
|
+
readonly sectionClasses: _angular_core.Signal<string>;
|
|
3224
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaPageHero, never>;
|
|
3225
|
+
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>;
|
|
3226
|
+
}
|
|
3227
|
+
|
|
3228
|
+
type DgaAnnouncementTone = 'info' | 'warning' | 'success' | 'neutral' | 'critical' | 'brand';
|
|
3229
|
+
type DgaAnnouncementDensity = 'compact' | 'comfortable';
|
|
3230
|
+
type DgaAnnouncementAlign = 'start' | 'center';
|
|
3231
|
+
type DgaAnnouncementActionVariant = 'link' | 'button' | 'chip';
|
|
3232
|
+
type DgaAnnouncementPersist = 'none' | 'session' | 'local';
|
|
3233
|
+
type DgaAnnouncementElevation = 'none' | 'soft';
|
|
3234
|
+
/**
|
|
3235
|
+
* Site-wide campaign / outage strip for chrome (above or below `dga-top-bar`).
|
|
3236
|
+
* Distinct from page-level `dga-alert`.
|
|
3237
|
+
*
|
|
3238
|
+
* Layout note: use full-bleed width + `--wrapper-padding` only.
|
|
3239
|
+
* Do NOT add `max-w-(--container-*)` — that double-shrinks with wrapper padding.
|
|
3240
|
+
*/
|
|
3241
|
+
declare class DgaAnnouncementBar {
|
|
3242
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
3243
|
+
readonly message: _angular_core.InputSignal<string>;
|
|
3244
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
3245
|
+
readonly tone: _angular_core.InputSignal<DgaAnnouncementTone>;
|
|
3246
|
+
readonly density: _angular_core.InputSignal<DgaAnnouncementDensity>;
|
|
3247
|
+
readonly align: _angular_core.InputSignal<DgaAnnouncementAlign>;
|
|
3248
|
+
readonly actionVariant: _angular_core.InputSignal<DgaAnnouncementActionVariant>;
|
|
3249
|
+
readonly elevation: _angular_core.InputSignal<DgaAnnouncementElevation>;
|
|
3250
|
+
readonly icon: _angular_core.InputSignal<DgaIconName | null>;
|
|
3251
|
+
readonly dismissible: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3252
|
+
readonly dismissLabel: _angular_core.InputSignal<string>;
|
|
3253
|
+
readonly actionLabel: _angular_core.InputSignal<string>;
|
|
3254
|
+
readonly actionHref: _angular_core.InputSignal<string>;
|
|
3255
|
+
readonly actionExternal: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3256
|
+
/** Sticky under the viewport top while scrolling. */
|
|
3257
|
+
readonly sticky: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3258
|
+
/** Start accent stripe (alert-style). Off by default for site chrome. */
|
|
3259
|
+
readonly accent: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3260
|
+
/** Start dismissed (e.g. after reading storage). */
|
|
3261
|
+
readonly initiallyDismissed: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3262
|
+
/**
|
|
3263
|
+
* Persist dismiss across reloads.
|
|
3264
|
+
* Uses `persistKey` when set, otherwise a hash of title+message.
|
|
3265
|
+
*/
|
|
3266
|
+
readonly persist: _angular_core.InputSignal<DgaAnnouncementPersist>;
|
|
3267
|
+
readonly persistKey: _angular_core.InputSignal<string>;
|
|
3268
|
+
readonly dismissedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
3269
|
+
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
3270
|
+
readonly dismissed: _angular_core.WritableSignal<boolean>;
|
|
3271
|
+
constructor();
|
|
3272
|
+
readonly iconTone: _angular_core.Signal<DgaIconTone>;
|
|
3273
|
+
readonly iconShellClasses: _angular_core.Signal<string>;
|
|
3274
|
+
readonly barClasses: _angular_core.Signal<string>;
|
|
3275
|
+
dismiss(): void;
|
|
3276
|
+
show(): void;
|
|
3277
|
+
private storageKey;
|
|
3278
|
+
private storage;
|
|
3279
|
+
private readPersisted;
|
|
3280
|
+
private writePersisted;
|
|
3281
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAnnouncementBar, never>;
|
|
3282
|
+
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>;
|
|
3283
|
+
}
|
|
3284
|
+
|
|
3285
|
+
/**
|
|
3286
|
+
* Centered auth / registration shell: logo, optional chrome tools, form slot.
|
|
3287
|
+
* Not an IdP SDK — drop Nafath / OAuth buttons into the default slot.
|
|
3288
|
+
*/
|
|
3289
|
+
declare class DgaAuthCard {
|
|
3290
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
3291
|
+
readonly description: _angular_core.InputSignal<string>;
|
|
3292
|
+
readonly logoSrc: _angular_core.InputSignal<string>;
|
|
3293
|
+
readonly logoAlt: _angular_core.InputSignal<string>;
|
|
3294
|
+
readonly cardId: _angular_core.InputSignal<string>;
|
|
3295
|
+
/** Full-viewport centered layout (registration pages). */
|
|
3296
|
+
readonly centered: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3297
|
+
readonly shellClasses: _angular_core.Signal<string>;
|
|
3298
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaAuthCard, never>;
|
|
3299
|
+
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>;
|
|
3300
|
+
}
|
|
3301
|
+
|
|
2594
3302
|
interface DgaSideInfoItem {
|
|
2595
3303
|
label: string;
|
|
2596
3304
|
href?: string;
|
|
@@ -2720,6 +3428,49 @@ declare class DgaDescriptionList {
|
|
|
2720
3428
|
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>;
|
|
2721
3429
|
}
|
|
2722
3430
|
|
|
3431
|
+
interface DgaInfoListItem {
|
|
3432
|
+
id?: string;
|
|
3433
|
+
label: string;
|
|
3434
|
+
value: string;
|
|
3435
|
+
icon?: DgaIconName;
|
|
3436
|
+
href?: string;
|
|
3437
|
+
/** Open href in a new tab. */
|
|
3438
|
+
external?: boolean;
|
|
3439
|
+
/** Show a copy control for the value. */
|
|
3440
|
+
copyable?: boolean;
|
|
3441
|
+
}
|
|
3442
|
+
/**
|
|
3443
|
+
* Icon + label + value rows for contact channels, service meta, and side panels.
|
|
3444
|
+
*/
|
|
3445
|
+
declare class DgaInfoList {
|
|
3446
|
+
readonly items: _angular_core.InputSignal<readonly DgaInfoListItem[]>;
|
|
3447
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
3448
|
+
readonly copyLabel: _angular_core.InputSignal<string>;
|
|
3449
|
+
readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3450
|
+
readonly copy: _angular_core.OutputEmitterRef<DgaInfoListItem>;
|
|
3451
|
+
readonly listClasses: _angular_core.Signal<string>;
|
|
3452
|
+
onCopy(item: DgaInfoListItem): void;
|
|
3453
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaInfoList, never>;
|
|
3454
|
+
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>;
|
|
3455
|
+
}
|
|
3456
|
+
|
|
3457
|
+
interface DgaTimelineItem {
|
|
3458
|
+
title: string;
|
|
3459
|
+
meta?: string;
|
|
3460
|
+
description?: string;
|
|
3461
|
+
}
|
|
3462
|
+
/**
|
|
3463
|
+
* Vertical timeline (dot + connector) for experience, history, and status flows.
|
|
3464
|
+
*/
|
|
3465
|
+
declare class DgaTimeline {
|
|
3466
|
+
readonly items: _angular_core.InputSignal<readonly DgaTimelineItem[]>;
|
|
3467
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
3468
|
+
readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3469
|
+
readonly listClasses: _angular_core.Signal<string>;
|
|
3470
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaTimeline, never>;
|
|
3471
|
+
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>;
|
|
3472
|
+
}
|
|
3473
|
+
|
|
2723
3474
|
type DgaCurrency = 'SAR' | 'USD' | 'EUR' | 'GBP' | 'JPY' | 'CNY' | 'INR' | 'KRW' | 'TRY';
|
|
2724
3475
|
/**
|
|
2725
3476
|
* Locale-aware number display with optional currency/unit and scroll-triggered counter.
|
|
@@ -2755,6 +3506,59 @@ declare class DgaNumber implements OnInit {
|
|
|
2755
3506
|
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>;
|
|
2756
3507
|
}
|
|
2757
3508
|
|
|
3509
|
+
/**
|
|
3510
|
+
* Official Saudi Riyal symbol path (SAMA / Saudi Riyal Font, OFL-1.1).
|
|
3511
|
+
* Unicode: U+20C1 SAUDI RIYAL SIGN
|
|
3512
|
+
*/
|
|
3513
|
+
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";
|
|
3514
|
+
/** Tight viewBox around the official glyph (aspect ≈ 0.89). */
|
|
3515
|
+
declare const DGA_RIYAL_VIEWBOX = "50 0 1124 1268";
|
|
3516
|
+
/**
|
|
3517
|
+
* Size tokens. Prefer `em` so the glyph matches surrounding text height
|
|
3518
|
+
* (SAMA alignment rule). Fixed sizes are for standalone chrome use.
|
|
3519
|
+
*/
|
|
3520
|
+
type DgaRiyalSize = 'em' | 'sm' | 'md' | 'lg' | 'xl';
|
|
3521
|
+
type DgaRiyalTone = 'current' | 'primary' | 'muted' | 'on-color';
|
|
3522
|
+
/** `contained` adds circular clear-space ≈ ⅓ of the glyph height (SAMA). */
|
|
3523
|
+
type DgaRiyalAppearance = 'plain' | 'contained';
|
|
3524
|
+
/**
|
|
3525
|
+
* Official Saudi Riyal currency symbol.
|
|
3526
|
+
*
|
|
3527
|
+
* SAMA usage rules enforced by the component:
|
|
3528
|
+
* - Symbol stays to the **left** of any amount (all languages)
|
|
3529
|
+
* - Single space between symbol and amount
|
|
3530
|
+
* - Default height matches text (`1em`); geometry is never stretched/mirrored
|
|
3531
|
+
*
|
|
3532
|
+
* @example
|
|
3533
|
+
* ```html
|
|
3534
|
+
* <dga-riyal />
|
|
3535
|
+
* <dga-riyal [amount]="1250" />
|
|
3536
|
+
* <dga-riyal amount="-123" />
|
|
3537
|
+
* <dga-riyal amount="123 million" />
|
|
3538
|
+
* <dga-riyal appearance="contained" size="lg" />
|
|
3539
|
+
* ```
|
|
3540
|
+
*/
|
|
3541
|
+
declare class DgaRiyal {
|
|
3542
|
+
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";
|
|
3543
|
+
readonly viewBox = "50 0 1124 1268";
|
|
3544
|
+
/** Glyph height. Default `em` matches accompanying text (SAMA). */
|
|
3545
|
+
readonly size: _angular_core.InputSignal<DgaRiyalSize>;
|
|
3546
|
+
readonly tone: _angular_core.InputSignal<DgaRiyalTone>;
|
|
3547
|
+
readonly appearance: _angular_core.InputSignal<DgaRiyalAppearance>;
|
|
3548
|
+
/**
|
|
3549
|
+
* Numeric / formatted amount. Negative values keep the minus after the
|
|
3550
|
+
* symbol (SAMA: ` -123`). Written units stay after the number
|
|
3551
|
+
* (e.g. `123 million`).
|
|
3552
|
+
*/
|
|
3553
|
+
readonly amount: _angular_core.InputSignal<string | number | null>;
|
|
3554
|
+
/** Accessible name when the glyph is used alone (decorative when empty). */
|
|
3555
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
3556
|
+
readonly amountText: _angular_core.Signal<string>;
|
|
3557
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
3558
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaRiyal, never>;
|
|
3559
|
+
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>;
|
|
3560
|
+
}
|
|
3561
|
+
|
|
2758
3562
|
type DgaMetricTrend = 'up' | 'down' | 'neutral';
|
|
2759
3563
|
/** `stat` = portal home metrics (icon well, value, label, centered). */
|
|
2760
3564
|
type DgaMetricAppearance = 'default' | 'stat';
|
|
@@ -3114,5 +3918,5 @@ declare function dgaSaudiCityOptions(locale?: 'ar' | 'en', cities?: readonly Dga
|
|
|
3114
3918
|
value: string;
|
|
3115
3919
|
}[];
|
|
3116
3920
|
|
|
3117
|
-
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 };
|
|
3118
|
-
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 };
|
|
3921
|
+
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 };
|
|
3922
|
+
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, DgaUploadRejection };
|