@eagami/ui 1.4.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/eagami-ui.mjs +3085 -634
- package/fesm2022/eagami-ui.mjs.map +1 -1
- package/package.json +3 -3
- package/src/styles/tokens/_colors.scss +13 -0
- package/src/styles/tokens/_spacing.scss +28 -0
- package/src/styles/tokens/_typography.scss +49 -5
- package/types/eagami-ui.d.ts +785 -54
package/types/eagami-ui.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, EnvironmentProviders, Signal, OnDestroy, ElementRef, TemplateRef, Type,
|
|
2
|
+
import { InjectionToken, EnvironmentProviders, Signal, OnDestroy, ElementRef, TemplateRef, Type, OnInit } from '@angular/core';
|
|
3
3
|
import { ControlValueAccessor } from '@angular/forms';
|
|
4
4
|
import * as _eagami_ui from '@eagami/ui';
|
|
5
5
|
|
|
@@ -40,6 +40,16 @@ interface EagamiMessages {
|
|
|
40
40
|
groupLabel: (length: number) => string;
|
|
41
41
|
digitLabel: (index: number, length: number) => string;
|
|
42
42
|
};
|
|
43
|
+
colorPicker: {
|
|
44
|
+
placeholder: string;
|
|
45
|
+
clear: string;
|
|
46
|
+
hue: string;
|
|
47
|
+
saturationAndValue: string;
|
|
48
|
+
alpha: string;
|
|
49
|
+
eyedropper: string;
|
|
50
|
+
presets: string;
|
|
51
|
+
toggleFormat: string;
|
|
52
|
+
};
|
|
43
53
|
dataTable: {
|
|
44
54
|
noData: string;
|
|
45
55
|
};
|
|
@@ -68,6 +78,15 @@ interface EagamiMessages {
|
|
|
68
78
|
menu: {
|
|
69
79
|
label: string;
|
|
70
80
|
};
|
|
81
|
+
multiSelect: {
|
|
82
|
+
placeholder: string;
|
|
83
|
+
searchPlaceholder: string;
|
|
84
|
+
searchEmpty: string;
|
|
85
|
+
selectAll: string;
|
|
86
|
+
clearAll: string;
|
|
87
|
+
removeOption: (label: string) => string;
|
|
88
|
+
selectedCount: (count: number) => string;
|
|
89
|
+
};
|
|
71
90
|
paginator: {
|
|
72
91
|
label: string;
|
|
73
92
|
rowsPerPage: string;
|
|
@@ -81,9 +100,27 @@ interface EagamiMessages {
|
|
|
81
100
|
spinner: {
|
|
82
101
|
label: string;
|
|
83
102
|
};
|
|
103
|
+
stepper: {
|
|
104
|
+
optional: string;
|
|
105
|
+
};
|
|
84
106
|
tag: {
|
|
85
107
|
remove: string;
|
|
86
108
|
};
|
|
109
|
+
timePicker: {
|
|
110
|
+
placeholder: string;
|
|
111
|
+
clear: string;
|
|
112
|
+
hoursLabel: string;
|
|
113
|
+
minutesLabel: string;
|
|
114
|
+
secondsLabel: string;
|
|
115
|
+
incrementHours: string;
|
|
116
|
+
decrementHours: string;
|
|
117
|
+
incrementMinutes: string;
|
|
118
|
+
decrementMinutes: string;
|
|
119
|
+
incrementSeconds: string;
|
|
120
|
+
decrementSeconds: string;
|
|
121
|
+
amLabel: string;
|
|
122
|
+
pmLabel: string;
|
|
123
|
+
};
|
|
87
124
|
toast: {
|
|
88
125
|
dismiss: string;
|
|
89
126
|
};
|
|
@@ -132,6 +169,7 @@ declare class EagamiI18nService {
|
|
|
132
169
|
private readonly _locale;
|
|
133
170
|
/** The currently active locale. Read it reactively or call `setLocale()`. */
|
|
134
171
|
readonly locale: Signal<EagamiLocale>;
|
|
172
|
+
constructor();
|
|
135
173
|
/** The resolved message dictionary for the active locale. */
|
|
136
174
|
readonly messages: Signal<EagamiMessages>;
|
|
137
175
|
/** Switches the active locale; falls back to English if unsupported. */
|
|
@@ -396,6 +434,8 @@ declare class AvatarEditorComponent implements OnDestroy {
|
|
|
396
434
|
[x: string]: boolean;
|
|
397
435
|
'ea-avatar-editor--has-image': boolean;
|
|
398
436
|
'ea-avatar-editor--drag-over': boolean;
|
|
437
|
+
'ea-avatar-editor--compact': boolean;
|
|
438
|
+
'ea-avatar-editor--ultra-compact': boolean;
|
|
399
439
|
}>;
|
|
400
440
|
private readonly injector;
|
|
401
441
|
private readonly boundWheel;
|
|
@@ -486,17 +526,25 @@ type BadgeVariant = 'default' | 'success' | 'warning' | 'error' | 'info';
|
|
|
486
526
|
/** Visual size of a badge. */
|
|
487
527
|
type BadgeSize = 'sm' | 'md' | 'lg';
|
|
488
528
|
/**
|
|
489
|
-
*
|
|
490
|
-
*
|
|
529
|
+
* Outer shape of a badge.
|
|
530
|
+
* - `pill` (default): content-shaped pill, ideal for inline status labels
|
|
531
|
+
* - `pin`: fixed-min square that renders as a perfect circle for single
|
|
532
|
+
* characters (counts) and expands into a pill for longer content
|
|
533
|
+
*/
|
|
534
|
+
type BadgeShape = 'pill' | 'pin';
|
|
535
|
+
/**
|
|
536
|
+
* Compact indicator used to communicate status, counts, or labels inline with
|
|
537
|
+
* surrounding content.
|
|
491
538
|
*/
|
|
492
539
|
declare class BadgeComponent {
|
|
493
540
|
readonly variant: i0.InputSignal<BadgeVariant>;
|
|
494
541
|
readonly size: i0.InputSignal<BadgeSize>;
|
|
542
|
+
readonly shape: i0.InputSignal<BadgeShape>;
|
|
495
543
|
readonly hostClasses: i0.Signal<{
|
|
496
544
|
[x: string]: boolean;
|
|
497
545
|
}>;
|
|
498
546
|
static ɵfac: i0.ɵɵFactoryDeclaration<BadgeComponent, never>;
|
|
499
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BadgeComponent, "ea-badge", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
547
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BadgeComponent, "ea-badge", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
500
548
|
}
|
|
501
549
|
|
|
502
550
|
/** Visual style of the separator rendered between breadcrumb items. */
|
|
@@ -644,6 +692,151 @@ declare class CheckboxComponent implements ControlValueAccessor {
|
|
|
644
692
|
static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxComponent, "ea-checkbox", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "count": { "alias": "count"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "changed": "changed"; }, never, never, true, never>;
|
|
645
693
|
}
|
|
646
694
|
|
|
695
|
+
/** Visual size of the color picker trigger. */
|
|
696
|
+
type ColorPickerSize = 'sm' | 'md' | 'lg';
|
|
697
|
+
/** Format used to emit the selected value via `value` / `changed`. */
|
|
698
|
+
type ColorPickerFormat = 'hex' | 'rgb' | 'hsl';
|
|
699
|
+
/** Which group of inputs the popover currently shows (hex string or RGB channels). */
|
|
700
|
+
type ColorPickerInputMode = 'hex' | 'rgb';
|
|
701
|
+
/** Value accepted via `writeValue` — any CSS color string or `null`. */
|
|
702
|
+
type ColorPickerValue = string | null;
|
|
703
|
+
interface Rgb {
|
|
704
|
+
r: number;
|
|
705
|
+
g: number;
|
|
706
|
+
b: number;
|
|
707
|
+
}
|
|
708
|
+
/**
|
|
709
|
+
* Popover color picker with a saturation/value gradient area, hue slider,
|
|
710
|
+
* optional alpha slider, hex + RGB inputs, a configurable preset palette,
|
|
711
|
+
* and an eyedropper (Chromium browsers). Integrates with Angular forms via
|
|
712
|
+
* `ControlValueAccessor`. Accepts any CSS color string in `writeValue`.
|
|
713
|
+
*/
|
|
714
|
+
declare class ColorPickerComponent implements ControlValueAccessor {
|
|
715
|
+
protected readonly triggerEl: i0.Signal<ElementRef<HTMLButtonElement> | undefined>;
|
|
716
|
+
private readonly svAreaEl;
|
|
717
|
+
private readonly hueTrackEl;
|
|
718
|
+
private readonly alphaTrackEl;
|
|
719
|
+
private readonly injector;
|
|
720
|
+
protected readonly i18n: EagamiI18nService;
|
|
721
|
+
readonly label: i0.InputSignal<string | undefined>;
|
|
722
|
+
readonly placeholder: i0.InputSignal<string | undefined>;
|
|
723
|
+
readonly size: i0.InputSignal<ColorPickerSize>;
|
|
724
|
+
readonly disabled: i0.InputSignal<boolean>;
|
|
725
|
+
readonly readonly: i0.InputSignal<boolean>;
|
|
726
|
+
readonly required: i0.InputSignal<boolean>;
|
|
727
|
+
readonly hint: i0.InputSignal<string | undefined>;
|
|
728
|
+
readonly errorMsg: i0.InputSignal<string | undefined>;
|
|
729
|
+
/** Whether to show the alpha slider. When `false` the emitted value always has alpha = 1. */
|
|
730
|
+
readonly showAlpha: i0.InputSignal<boolean>;
|
|
731
|
+
/** Output format for emitted values. */
|
|
732
|
+
readonly format: i0.InputSignal<ColorPickerFormat>;
|
|
733
|
+
/** Preset swatches shown at the bottom of the popover. Pass an empty array to hide. */
|
|
734
|
+
readonly presets: i0.InputSignal<readonly string[]>;
|
|
735
|
+
readonly id: i0.InputSignal<string>;
|
|
736
|
+
readonly value: i0.ModelSignal<string | null>;
|
|
737
|
+
/** Fires with the new color string whenever the selection changes. */
|
|
738
|
+
readonly changed: i0.OutputEmitterRef<string | null>;
|
|
739
|
+
readonly isOpen: i0.WritableSignal<boolean>;
|
|
740
|
+
private readonly hue;
|
|
741
|
+
private readonly sat;
|
|
742
|
+
private readonly val;
|
|
743
|
+
private readonly alpha;
|
|
744
|
+
/** Tracks the active drag target so pointermove can route correctly. */
|
|
745
|
+
private readonly dragging;
|
|
746
|
+
/** Which input row is visible (hex string or RGB channels). Toggles via the
|
|
747
|
+
* format button. Independent of the `format` input, which only controls the
|
|
748
|
+
* emitted value. */
|
|
749
|
+
readonly inputMode: i0.WritableSignal<ColorPickerInputMode>;
|
|
750
|
+
/** What the hex input shows. Kept separate from the canonical hex so the user
|
|
751
|
+
* can type a partial value (`#1`, `#12`, `#123…`) without each keystroke being
|
|
752
|
+
* expanded back into a 6-digit canonical form. */
|
|
753
|
+
readonly hexInputValue: i0.WritableSignal<string>;
|
|
754
|
+
private readonly _formDisabled;
|
|
755
|
+
private onChange;
|
|
756
|
+
private onTouched;
|
|
757
|
+
readonly isDisabled: i0.Signal<boolean>;
|
|
758
|
+
readonly hasError: i0.Signal<boolean>;
|
|
759
|
+
readonly showError: i0.Signal<boolean>;
|
|
760
|
+
readonly showHint: i0.Signal<boolean>;
|
|
761
|
+
readonly rgb: i0.Signal<Rgb>;
|
|
762
|
+
readonly displayColor: i0.Signal<string>;
|
|
763
|
+
/** Opaque version of the current color — used as the hue/SV reference. */
|
|
764
|
+
readonly opaqueColor: i0.Signal<string>;
|
|
765
|
+
readonly hueColor: i0.Signal<string>;
|
|
766
|
+
readonly hexDisplay: i0.Signal<string>;
|
|
767
|
+
readonly displayValue: i0.Signal<string>;
|
|
768
|
+
readonly resolvedPlaceholder: i0.Signal<string>;
|
|
769
|
+
readonly triggerClasses: i0.Signal<{
|
|
770
|
+
[x: string]: boolean;
|
|
771
|
+
'ea-color-picker__trigger--error': boolean;
|
|
772
|
+
'ea-color-picker__trigger--open': boolean;
|
|
773
|
+
'ea-color-picker__trigger--disabled': boolean;
|
|
774
|
+
}>;
|
|
775
|
+
/**
|
|
776
|
+
* True when the browser supports the EyeDropper API. Not a `computed` —
|
|
777
|
+
* `window.EyeDropper` isn't a signal, so a memoized computed would cache the
|
|
778
|
+
* first read (typically `false`, since the popover content's bindings now
|
|
779
|
+
* evaluate at parent-view creation time via content projection, before any
|
|
780
|
+
* polyfill / test setup runs). A plain method re-checks on every call.
|
|
781
|
+
*/
|
|
782
|
+
hasEyeDropper(): boolean;
|
|
783
|
+
writeValue(val: ColorPickerValue): void;
|
|
784
|
+
registerOnChange(fn: (value: string | null) => void): void;
|
|
785
|
+
registerOnTouched(fn: () => void): void;
|
|
786
|
+
setDisabledState(isDisabled: boolean): void;
|
|
787
|
+
toggle(): void;
|
|
788
|
+
open(): void;
|
|
789
|
+
close(): void;
|
|
790
|
+
focus(): void;
|
|
791
|
+
clear(event: Event): void;
|
|
792
|
+
readonly svPointerLeft: i0.Signal<string>;
|
|
793
|
+
readonly svPointerTop: i0.Signal<string>;
|
|
794
|
+
readonly huePointerLeft: i0.Signal<string>;
|
|
795
|
+
readonly alphaPointerLeft: i0.Signal<string>;
|
|
796
|
+
readonly hueRounded: i0.Signal<number>;
|
|
797
|
+
readonly alphaPercentRounded: i0.Signal<number>;
|
|
798
|
+
onSvPointerDown(event: PointerEvent): void;
|
|
799
|
+
onSvPointerMove(event: PointerEvent): void;
|
|
800
|
+
onSvPointerUp(event: PointerEvent): void;
|
|
801
|
+
onSvKeydown(event: KeyboardEvent): void;
|
|
802
|
+
private updateSvFromPointer;
|
|
803
|
+
onHuePointerDown(event: PointerEvent): void;
|
|
804
|
+
onHuePointerMove(event: PointerEvent): void;
|
|
805
|
+
onHuePointerUp(event: PointerEvent): void;
|
|
806
|
+
onHueKeydown(event: KeyboardEvent): void;
|
|
807
|
+
private updateHueFromPointer;
|
|
808
|
+
onAlphaPointerDown(event: PointerEvent): void;
|
|
809
|
+
onAlphaPointerMove(event: PointerEvent): void;
|
|
810
|
+
onAlphaPointerUp(event: PointerEvent): void;
|
|
811
|
+
onAlphaKeydown(event: KeyboardEvent): void;
|
|
812
|
+
private updateAlphaFromPointer;
|
|
813
|
+
/**
|
|
814
|
+
* Mirrors the user's literal text into `hexInputValue` and (if the text
|
|
815
|
+
* parses) applies the new color silently — without rewriting the input.
|
|
816
|
+
* Without `refreshHex: false`, typing `#123` would parse, commit, and then
|
|
817
|
+
* snap the input back to `#112233` mid-keystroke, fighting the user's caret.
|
|
818
|
+
* Canonicalization happens only on blur via {@link onHexBlur}.
|
|
819
|
+
*/
|
|
820
|
+
onHexInput(event: Event): void;
|
|
821
|
+
onHexBlur(): void;
|
|
822
|
+
onRgbInput(channel: 'r' | 'g' | 'b', event: Event): void;
|
|
823
|
+
/** Cycles the input row between hex string and RGB channels. */
|
|
824
|
+
cycleInputMode(): void;
|
|
825
|
+
onAlphaInput(event: Event): void;
|
|
826
|
+
pickFromScreen(): Promise<void>;
|
|
827
|
+
selectPreset(hex: string): void;
|
|
828
|
+
onTriggerKeydown(event: KeyboardEvent): void;
|
|
829
|
+
onPopoverKeydown(event: KeyboardEvent): void;
|
|
830
|
+
/** Called by `<ea-popover>` when the user clicks outside the picker. */
|
|
831
|
+
onPopoverCloseRequested(): void;
|
|
832
|
+
private applyHsv;
|
|
833
|
+
private applyRgba;
|
|
834
|
+
private commit;
|
|
835
|
+
private refreshHexInput;
|
|
836
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ColorPickerComponent, never>;
|
|
837
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ColorPickerComponent, "ea-color-picker", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "showAlpha": { "alias": "showAlpha"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "presets": { "alias": "presets"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, never, never, true, never>;
|
|
838
|
+
}
|
|
839
|
+
|
|
647
840
|
/** Vertical density preset for table rows and header cells. */
|
|
648
841
|
type DataTableDensity = 'compact' | 'comfortable' | 'spacious';
|
|
649
842
|
/** Sort direction; `null` means no sort is applied. */
|
|
@@ -780,8 +973,7 @@ interface CalendarDay {
|
|
|
780
973
|
* Escape). Integrates with Angular forms via `ControlValueAccessor`.
|
|
781
974
|
*/
|
|
782
975
|
declare class DatePickerComponent implements ControlValueAccessor {
|
|
783
|
-
|
|
784
|
-
private readonly triggerEl;
|
|
976
|
+
protected readonly triggerEl: i0.Signal<ElementRef<HTMLButtonElement> | undefined>;
|
|
785
977
|
private readonly injector;
|
|
786
978
|
protected readonly i18n: EagamiI18nService;
|
|
787
979
|
readonly label: i0.InputSignal<string | undefined>;
|
|
@@ -850,7 +1042,8 @@ declare class DatePickerComponent implements ControlValueAccessor {
|
|
|
850
1042
|
goToToday(): void;
|
|
851
1043
|
handleTriggerKeydown(event: KeyboardEvent): void;
|
|
852
1044
|
handleGridKeydown(event: KeyboardEvent): void;
|
|
853
|
-
|
|
1045
|
+
/** Called by `<ea-popover>` when the user clicks outside the picker. */
|
|
1046
|
+
onPopoverCloseRequested(): void;
|
|
854
1047
|
private formatOptions;
|
|
855
1048
|
private toDate;
|
|
856
1049
|
private startOfDay;
|
|
@@ -955,12 +1148,11 @@ type DropdownSize = 'sm' | 'md' | 'lg';
|
|
|
955
1148
|
* Single-select dropdown with a custom popup list. Supports keyboard
|
|
956
1149
|
* navigation (arrow keys, Enter/Space to select, Escape to close), closes
|
|
957
1150
|
* on outside click or viewport scroll/resize, and integrates with Angular
|
|
958
|
-
* forms via `ControlValueAccessor`.
|
|
1151
|
+
* forms via `ControlValueAccessor`. Positioning, dismissal, and SSR-safe
|
|
1152
|
+
* scroll handling are provided by `<ea-popover>`.
|
|
959
1153
|
*/
|
|
960
1154
|
declare class DropdownComponent implements ControlValueAccessor {
|
|
961
1155
|
private readonly elRef;
|
|
962
|
-
private readonly menuEl;
|
|
963
|
-
private readonly destroyRef;
|
|
964
1156
|
private readonly i18n;
|
|
965
1157
|
readonly label: i0.InputSignal<string | undefined>;
|
|
966
1158
|
readonly placeholder: i0.InputSignal<string | undefined>;
|
|
@@ -993,7 +1185,6 @@ declare class DropdownComponent implements ControlValueAccessor {
|
|
|
993
1185
|
'ea-dropdown__trigger--open': boolean;
|
|
994
1186
|
'ea-dropdown__trigger--disabled': boolean;
|
|
995
1187
|
}>;
|
|
996
|
-
constructor();
|
|
997
1188
|
writeValue(val: string): void;
|
|
998
1189
|
registerOnChange(fn: (value: string) => void): void;
|
|
999
1190
|
registerOnTouched(fn: () => void): void;
|
|
@@ -1006,9 +1197,10 @@ declare class DropdownComponent implements ControlValueAccessor {
|
|
|
1006
1197
|
close(): void;
|
|
1007
1198
|
/** Moves keyboard focus to the dropdown trigger. */
|
|
1008
1199
|
focus(): void;
|
|
1200
|
+
/** Called by `<ea-popover>` when the user clicks outside the dropdown. */
|
|
1201
|
+
onPopoverCloseRequested(): void;
|
|
1009
1202
|
handleKeydown(event: KeyboardEvent): void;
|
|
1010
1203
|
private moveFocus;
|
|
1011
|
-
onDocumentClick(event: Event): void;
|
|
1012
1204
|
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, never>;
|
|
1013
1205
|
static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "ea-dropdown", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, never, never, true, never>;
|
|
1014
1206
|
}
|
|
@@ -1129,9 +1321,6 @@ declare function iconDisplayName(iconOrSlug: IconComponentType | string): string
|
|
|
1129
1321
|
* the full set. For single-icon usage import the component directly (e.g.
|
|
1130
1322
|
* `import { HomeIconComponent } from '@eagami/ui'`) and the bundler will
|
|
1131
1323
|
* tree-shake `ICONS` away.
|
|
1132
|
-
*
|
|
1133
|
-
* Deprecated aliases (e.g. `PencilIconComponent`) are intentionally excluded
|
|
1134
|
-
* so they don't surface in generated catalogues.
|
|
1135
1324
|
*/
|
|
1136
1325
|
declare const ICONS: ReadonlyArray<IconComponentType>;
|
|
1137
1326
|
|
|
@@ -1223,18 +1412,6 @@ declare class ApertureIconComponent extends IconComponentBase {
|
|
|
1223
1412
|
static ɵcmp: i0.ɵɵComponentDeclaration<ApertureIconComponent, "ea-icon-aperture", never, {}, {}, never, never, true, never>;
|
|
1224
1413
|
}
|
|
1225
1414
|
|
|
1226
|
-
/**
|
|
1227
|
-
* @deprecated Will be removed in v2.0.0. The icon depicts Apple Inc.'s logo,
|
|
1228
|
-
* which is more strictly protected than other brand marks. Source the asset
|
|
1229
|
-
* directly from Apple per their brand guidelines for use cases like "Sign in
|
|
1230
|
-
* with Apple".
|
|
1231
|
-
*/
|
|
1232
|
-
declare class AppleIconComponent extends IconComponentBase {
|
|
1233
|
-
readonly brand: i0.InputSignal<boolean>;
|
|
1234
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AppleIconComponent, never>;
|
|
1235
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AppleIconComponent, "ea-icon-apple", never, { "brand": { "alias": "brand"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1236
|
-
}
|
|
1237
|
-
|
|
1238
1415
|
declare class ArchiveIconComponent extends IconComponentBase {
|
|
1239
1416
|
static readonly slug = "archive";
|
|
1240
1417
|
static readonly category: IconCategory;
|
|
@@ -2473,6 +2650,14 @@ declare class LayoutIconComponent extends IconComponentBase {
|
|
|
2473
2650
|
static ɵcmp: i0.ɵɵComponentDeclaration<LayoutIconComponent, "ea-icon-layout", never, {}, {}, never, never, true, never>;
|
|
2474
2651
|
}
|
|
2475
2652
|
|
|
2653
|
+
declare class LeftHalfStarIconComponent extends IconComponentBase {
|
|
2654
|
+
static readonly slug = "left-half-star";
|
|
2655
|
+
static readonly category: IconCategory;
|
|
2656
|
+
static readonly tags: ReadonlyArray<string>;
|
|
2657
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LeftHalfStarIconComponent, never>;
|
|
2658
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LeftHalfStarIconComponent, "ea-icon-left-half-star", never, {}, {}, never, never, true, never>;
|
|
2659
|
+
}
|
|
2660
|
+
|
|
2476
2661
|
declare class LifeBuoyIconComponent extends IconComponentBase {
|
|
2477
2662
|
static readonly slug = "life-buoy";
|
|
2478
2663
|
static readonly category: IconCategory;
|
|
@@ -2888,20 +3073,6 @@ declare class PenToolIconComponent extends IconComponentBase {
|
|
|
2888
3073
|
static ɵcmp: i0.ɵɵComponentDeclaration<PenToolIconComponent, "ea-icon-pen-tool", never, {}, {}, never, never, true, never>;
|
|
2889
3074
|
}
|
|
2890
3075
|
|
|
2891
|
-
/**
|
|
2892
|
-
* @deprecated Will be removed in v2.0.0. The `pencil` icon depicts the same
|
|
2893
|
-
* mark as Feather's canonical `edit-2` (with a marginally different cap
|
|
2894
|
-
* curvature) and is being retired as redundant. Switch to `<ea-icon-edit-2>`
|
|
2895
|
-
* / `Edit2IconComponent`.
|
|
2896
|
-
*/
|
|
2897
|
-
declare class PencilIconComponent extends IconComponentBase {
|
|
2898
|
-
static readonly slug = "pencil";
|
|
2899
|
-
static readonly category: IconCategory;
|
|
2900
|
-
static readonly tags: ReadonlyArray<string>;
|
|
2901
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PencilIconComponent, never>;
|
|
2902
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PencilIconComponent, "ea-icon-pencil", never, {}, {}, never, never, true, never>;
|
|
2903
|
-
}
|
|
2904
|
-
|
|
2905
3076
|
declare class PentagonIconComponent extends IconComponentBase {
|
|
2906
3077
|
static readonly slug = "pentagon";
|
|
2907
3078
|
static readonly category: IconCategory;
|
|
@@ -3112,6 +3283,14 @@ declare class RewindIconComponent extends IconComponentBase {
|
|
|
3112
3283
|
static ɵcmp: i0.ɵɵComponentDeclaration<RewindIconComponent, "ea-icon-rewind", never, {}, {}, never, never, true, never>;
|
|
3113
3284
|
}
|
|
3114
3285
|
|
|
3286
|
+
declare class RightHalfStarIconComponent extends IconComponentBase {
|
|
3287
|
+
static readonly slug = "right-half-star";
|
|
3288
|
+
static readonly category: IconCategory;
|
|
3289
|
+
static readonly tags: ReadonlyArray<string>;
|
|
3290
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RightHalfStarIconComponent, never>;
|
|
3291
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RightHalfStarIconComponent, "ea-icon-right-half-star", never, {}, {}, never, never, true, never>;
|
|
3292
|
+
}
|
|
3293
|
+
|
|
3115
3294
|
declare class RotateCcwIconComponent extends IconComponentBase {
|
|
3116
3295
|
static readonly slug = "rotate-ccw";
|
|
3117
3296
|
static readonly category: IconCategory;
|
|
@@ -3936,8 +4115,9 @@ type InputType = 'text' | 'email' | 'password' | 'number' | 'search' | 'tel' | '
|
|
|
3936
4115
|
* with Angular forms via `ControlValueAccessor`. Prefix and suffix content
|
|
3937
4116
|
* can be projected via the `prefix` and `suffix` slots.
|
|
3938
4117
|
*/
|
|
3939
|
-
declare class InputComponent implements ControlValueAccessor
|
|
4118
|
+
declare class InputComponent implements ControlValueAccessor {
|
|
3940
4119
|
readonly inputEl: i0.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
4120
|
+
private readonly injector;
|
|
3941
4121
|
protected readonly i18n: EagamiI18nService;
|
|
3942
4122
|
readonly label: i0.InputSignal<string | undefined>;
|
|
3943
4123
|
readonly type: i0.InputSignal<InputType>;
|
|
@@ -3974,7 +4154,7 @@ declare class InputComponent implements ControlValueAccessor, AfterViewInit {
|
|
|
3974
4154
|
'ea-input-wrapper--disabled': boolean;
|
|
3975
4155
|
'ea-input-wrapper--readonly': boolean;
|
|
3976
4156
|
}>;
|
|
3977
|
-
|
|
4157
|
+
constructor();
|
|
3978
4158
|
writeValue(val: string): void;
|
|
3979
4159
|
registerOnChange(fn: (value: string) => void): void;
|
|
3980
4160
|
registerOnTouched(fn: () => void): void;
|
|
@@ -3996,7 +4176,8 @@ type MenuPlacement = 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end';
|
|
|
3996
4176
|
* Popup action menu attached to any focusable element via the
|
|
3997
4177
|
* `[eaMenuTrigger]` directive. Supports keyboard navigation
|
|
3998
4178
|
* (arrow keys, Home/End), closes on outside click or Escape, and restores
|
|
3999
|
-
* focus to the trigger on close.
|
|
4179
|
+
* focus to the trigger on close. Positioning, dismissal, and SSR-safe scroll
|
|
4180
|
+
* handling are provided by `<ea-popover>`.
|
|
4000
4181
|
*/
|
|
4001
4182
|
declare class MenuComponent {
|
|
4002
4183
|
private readonly injector;
|
|
@@ -4013,12 +4194,8 @@ declare class MenuComponent {
|
|
|
4013
4194
|
readonly opened: i0.OutputEmitterRef<void>;
|
|
4014
4195
|
/** Fires when the menu closes. */
|
|
4015
4196
|
readonly closed: i0.OutputEmitterRef<void>;
|
|
4016
|
-
|
|
4017
|
-
|
|
4018
|
-
readonly listClasses: i0.Signal<{
|
|
4019
|
-
[x: string]: boolean;
|
|
4020
|
-
}>;
|
|
4021
|
-
readonly listStyle: i0.Signal<Record<string, string>>;
|
|
4197
|
+
/** Trigger element currently anchoring the menu. Signal-typed so `<ea-popover>` reacts when it changes. */
|
|
4198
|
+
protected readonly triggerEl: i0.WritableSignal<HTMLElement | undefined>;
|
|
4022
4199
|
/** Toggles the menu open state, anchoring it to the given trigger element. */
|
|
4023
4200
|
toggleAt(triggerEl: HTMLElement): void;
|
|
4024
4201
|
/** Opens the menu anchored to the given trigger element and focuses the first item. */
|
|
@@ -4029,12 +4206,22 @@ declare class MenuComponent {
|
|
|
4029
4206
|
* not used on outside click, where the user has chosen a new focus target).
|
|
4030
4207
|
*/
|
|
4031
4208
|
close(restoreFocus?: boolean): void;
|
|
4209
|
+
/** Called by `<ea-popover>` when the user clicks outside the menu. */
|
|
4210
|
+
onPopoverCloseRequested(): void;
|
|
4032
4211
|
private getEnabledItems;
|
|
4212
|
+
/**
|
|
4213
|
+
* `preventScroll: true` is critical here. The menu list is `position: fixed`
|
|
4214
|
+
* but its DOM ancestor is whatever element hosts the menu (often a sticky
|
|
4215
|
+
* header). When `.focus()` is called without `preventScroll`, Chromium uses
|
|
4216
|
+
* the focused element's DOM-tree position (inside the sticky ancestor) rather
|
|
4217
|
+
* than its rendered fixed position to decide whether to scroll — which on a
|
|
4218
|
+
* scrolled page nudges the document up by a few pixels per open, until the
|
|
4219
|
+
* trigger reaches the top edge. The same guard applies to keyboard navigation
|
|
4220
|
+
* and restoring focus on close.
|
|
4221
|
+
*/
|
|
4033
4222
|
private focusFirstItem;
|
|
4034
4223
|
onKeydown(event: KeyboardEvent): void;
|
|
4035
|
-
onDocumentClick(event: Event): void;
|
|
4036
4224
|
onEscape(): void;
|
|
4037
|
-
onViewportChange(): void;
|
|
4038
4225
|
static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, never>;
|
|
4039
4226
|
static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "ea-menu", never, { "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "opened": "opened"; "closed": "closed"; }, never, ["*"], true, never>;
|
|
4040
4227
|
}
|
|
@@ -4071,6 +4258,116 @@ declare class MenuTriggerDirective {
|
|
|
4071
4258
|
static ɵdir: i0.ɵɵDirectiveDeclaration<MenuTriggerDirective, "[eaMenuTrigger]", never, { "menu": { "alias": "eaMenuTrigger"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4072
4259
|
}
|
|
4073
4260
|
|
|
4261
|
+
/** Visual size of the multi-select trigger. */
|
|
4262
|
+
type MultiSelectSize = 'sm' | 'md' | 'lg';
|
|
4263
|
+
/**
|
|
4264
|
+
* Multi-select dropdown. Renders selections as removable `<ea-tag>` chips
|
|
4265
|
+
* inside the trigger, opens a popover containing an optional search input,
|
|
4266
|
+
* a tri-state "Select all" toggle, and a list of `<ea-checkbox>` options.
|
|
4267
|
+
* The wire value is a `readonly string[]` of selected option values, ordered
|
|
4268
|
+
* to match the input `options` array. Closes on outside click / scroll, and
|
|
4269
|
+
* integrates with Angular forms via `ControlValueAccessor`.
|
|
4270
|
+
*/
|
|
4271
|
+
declare class MultiSelectComponent implements ControlValueAccessor {
|
|
4272
|
+
protected readonly triggerEl: i0.Signal<ElementRef<HTMLElement> | undefined>;
|
|
4273
|
+
protected readonly searchEl: i0.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
4274
|
+
protected readonly i18n: EagamiI18nService;
|
|
4275
|
+
private readonly injector;
|
|
4276
|
+
readonly label: i0.InputSignal<string | undefined>;
|
|
4277
|
+
readonly placeholder: i0.InputSignal<string | undefined>;
|
|
4278
|
+
readonly searchPlaceholder: i0.InputSignal<string | undefined>;
|
|
4279
|
+
readonly options: i0.InputSignal<readonly SelectOption[]>;
|
|
4280
|
+
readonly size: i0.InputSignal<MultiSelectSize>;
|
|
4281
|
+
readonly disabled: i0.InputSignal<boolean>;
|
|
4282
|
+
readonly readonly: i0.InputSignal<boolean>;
|
|
4283
|
+
readonly required: i0.InputSignal<boolean>;
|
|
4284
|
+
readonly hint: i0.InputSignal<string | undefined>;
|
|
4285
|
+
readonly errorMsg: i0.InputSignal<string | undefined>;
|
|
4286
|
+
/** Toggle the search input at the top of the popover. */
|
|
4287
|
+
readonly searchable: i0.InputSignal<boolean>;
|
|
4288
|
+
/** Toggle the "Select all" row at the top of the option list. */
|
|
4289
|
+
readonly selectAll: i0.InputSignal<boolean>;
|
|
4290
|
+
/** Max number of chips shown inside the trigger; the rest collapse into a "+N more" pill. `0` removes the cap. */
|
|
4291
|
+
readonly maxVisibleChips: i0.InputSignal<number>;
|
|
4292
|
+
readonly id: i0.InputSignal<string>;
|
|
4293
|
+
/** Selected option values, in the original options order. */
|
|
4294
|
+
readonly value: i0.ModelSignal<readonly string[]>;
|
|
4295
|
+
/** Fires with the new value whenever the selection changes. */
|
|
4296
|
+
readonly changed: i0.OutputEmitterRef<readonly string[]>;
|
|
4297
|
+
readonly isOpen: i0.WritableSignal<boolean>;
|
|
4298
|
+
readonly searchTerm: i0.WritableSignal<string>;
|
|
4299
|
+
/** Index into `filteredOptions()` for keyboard navigation. `-1` when none focused. */
|
|
4300
|
+
readonly focusedIndex: i0.WritableSignal<number>;
|
|
4301
|
+
private readonly _formDisabled;
|
|
4302
|
+
private onChange;
|
|
4303
|
+
private onTouched;
|
|
4304
|
+
readonly isDisabled: i0.Signal<boolean>;
|
|
4305
|
+
readonly hasError: i0.Signal<boolean>;
|
|
4306
|
+
readonly showError: i0.Signal<boolean>;
|
|
4307
|
+
readonly showHint: i0.Signal<boolean>;
|
|
4308
|
+
/** Set-backed lookup for `selectedSet().has(value)`. */
|
|
4309
|
+
readonly selectedSet: i0.Signal<Set<string>>;
|
|
4310
|
+
/** Options matching the current search term (case-insensitive substring on label). */
|
|
4311
|
+
readonly filteredOptions: i0.Signal<readonly SelectOption[]>;
|
|
4312
|
+
/** Currently selected options, ordered to match the input `options`. */
|
|
4313
|
+
readonly selectedOptions: i0.Signal<readonly SelectOption[]>;
|
|
4314
|
+
readonly hasValue: i0.Signal<boolean>;
|
|
4315
|
+
/** Chips visible inside the trigger, capped by `maxVisibleChips`. */
|
|
4316
|
+
readonly visibleChips: i0.Signal<readonly SelectOption[]>;
|
|
4317
|
+
/** Count behind the "+N more" pill, or `0` when all chips fit. */
|
|
4318
|
+
readonly hiddenChipCount: i0.Signal<number>;
|
|
4319
|
+
/** Tri-state of the Select-all checkbox over the **currently filtered** list. */
|
|
4320
|
+
readonly selectAllState: i0.Signal<"some" | "none" | "all">;
|
|
4321
|
+
readonly resolvedPlaceholder: i0.Signal<string>;
|
|
4322
|
+
readonly resolvedSearchPlaceholder: i0.Signal<string>;
|
|
4323
|
+
readonly triggerClasses: i0.Signal<{
|
|
4324
|
+
[x: string]: boolean;
|
|
4325
|
+
'ea-multi-select__trigger--error': boolean;
|
|
4326
|
+
'ea-multi-select__trigger--open': boolean;
|
|
4327
|
+
'ea-multi-select__trigger--disabled': boolean;
|
|
4328
|
+
'ea-multi-select__trigger--placeholder': boolean;
|
|
4329
|
+
}>;
|
|
4330
|
+
writeValue(val: readonly string[] | null | undefined): void;
|
|
4331
|
+
registerOnChange(fn: (value: readonly string[]) => void): void;
|
|
4332
|
+
registerOnTouched(fn: () => void): void;
|
|
4333
|
+
setDisabledState(isDisabled: boolean): void;
|
|
4334
|
+
toggle(): void;
|
|
4335
|
+
close(): void;
|
|
4336
|
+
/** Called by `<ea-popover>` when the user clicks outside or scrolls. */
|
|
4337
|
+
onPopoverCloseRequested(): void;
|
|
4338
|
+
/** Toggle one option's membership in the selection. */
|
|
4339
|
+
toggleOption(opt: SelectOption): void;
|
|
4340
|
+
/**
|
|
4341
|
+
* Remove a single chip from the trigger. `<ea-tag>` already stops the
|
|
4342
|
+
* click from bubbling to the trigger's `(click)`, so no event handling
|
|
4343
|
+
* is needed here.
|
|
4344
|
+
*/
|
|
4345
|
+
removeChip(opt: SelectOption): void;
|
|
4346
|
+
/** Clear every selection via the trigger × button. */
|
|
4347
|
+
clear(event: Event): void;
|
|
4348
|
+
/**
|
|
4349
|
+
* Toggle the Select-all checkbox. If any filtered option is unselected, the
|
|
4350
|
+
* action selects all filtered. Otherwise, the action removes every filtered
|
|
4351
|
+
* value from the selection. Disabled options are skipped either way.
|
|
4352
|
+
*/
|
|
4353
|
+
toggleSelectAll(): void;
|
|
4354
|
+
onSearchInput(event: Event): void;
|
|
4355
|
+
handleTriggerKeydown(event: KeyboardEvent): void;
|
|
4356
|
+
/**
|
|
4357
|
+
* Keyboard navigation inside the popover. Bound to both the search input
|
|
4358
|
+
* and each option row; Space passes through to the search input naturally
|
|
4359
|
+
* so users can type spaces in their query.
|
|
4360
|
+
*/
|
|
4361
|
+
handlePopoverKeydown(event: KeyboardEvent): void;
|
|
4362
|
+
private focusSearchWhenReady;
|
|
4363
|
+
/** Reorder a value-set against the input `options` array. */
|
|
4364
|
+
private orderedValues;
|
|
4365
|
+
private resetEditState;
|
|
4366
|
+
private commit;
|
|
4367
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MultiSelectComponent, never>;
|
|
4368
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MultiSelectComponent, "ea-multi-select", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "selectAll": { "alias": "selectAll"; "required": false; "isSignal": true; }; "maxVisibleChips": { "alias": "maxVisibleChips"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, never, never, true, never>;
|
|
4369
|
+
}
|
|
4370
|
+
|
|
4074
4371
|
/** Horizontal alignment of paginator controls within their container. */
|
|
4075
4372
|
type PaginatorAlign = 'left' | 'center' | 'right';
|
|
4076
4373
|
/** Snapshot of the paginator's page and page size. */
|
|
@@ -4113,6 +4410,141 @@ declare class PaginatorComponent {
|
|
|
4113
4410
|
static ɵcmp: i0.ɵɵComponentDeclaration<PaginatorComponent, "ea-paginator", never, { "totalItems": { "alias": "totalItems"; "required": true; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "showPageSizeSelector": { "alias": "showPageSizeSelector"; "required": false; "isSignal": true; }; "showRangeLabel": { "alias": "showRangeLabel"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; }, { "page": "pageChange"; "pageSize": "pageSizeChange"; "changed": "changed"; }, never, never, true, never>;
|
|
4114
4411
|
}
|
|
4115
4412
|
|
|
4413
|
+
/**
|
|
4414
|
+
* Placement of the popover relative to its anchor. Each placement names the
|
|
4415
|
+
* side of the anchor the popover attaches to, optionally followed by a corner
|
|
4416
|
+
* suffix (`-start` or `-end`) that decides the alignment along the perpendicular
|
|
4417
|
+
* axis. The plain side names (`top`, `bottom`, `left`, `right`) centre the
|
|
4418
|
+
* popover on that axis.
|
|
4419
|
+
*/
|
|
4420
|
+
type PopoverPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'right';
|
|
4421
|
+
interface PopoverPositionResult {
|
|
4422
|
+
/** Top coordinate in viewport (px); pairs with `position: fixed`. */
|
|
4423
|
+
readonly top: number;
|
|
4424
|
+
/** Left coordinate in viewport (px). */
|
|
4425
|
+
readonly left: number;
|
|
4426
|
+
/** Width hint when the popover should match the anchor's width. */
|
|
4427
|
+
readonly width?: number;
|
|
4428
|
+
/** Effective placement after any flip logic ran. */
|
|
4429
|
+
readonly placement: PopoverPlacement;
|
|
4430
|
+
}
|
|
4431
|
+
interface PopoverPositionOptions {
|
|
4432
|
+
readonly placement: PopoverPlacement;
|
|
4433
|
+
/** Gap in px between the anchor and the popover. Default 4. */
|
|
4434
|
+
readonly offset?: number;
|
|
4435
|
+
/** Flip to the opposite side when the requested side overflows the viewport. Default true. */
|
|
4436
|
+
readonly flip?: boolean;
|
|
4437
|
+
/** Clamp inside the viewport when the popover still overflows after any flip. Default true. */
|
|
4438
|
+
readonly clamp?: boolean;
|
|
4439
|
+
/** Margin from the viewport edge in px when clamping. Default 8. */
|
|
4440
|
+
readonly margin?: number;
|
|
4441
|
+
/** Set the popover's width to match the anchor's. Useful for dropdown-style menus. */
|
|
4442
|
+
readonly matchAnchorWidth?: boolean;
|
|
4443
|
+
}
|
|
4444
|
+
interface Rect {
|
|
4445
|
+
readonly width: number;
|
|
4446
|
+
readonly height: number;
|
|
4447
|
+
}
|
|
4448
|
+
interface AnchorRect extends Rect {
|
|
4449
|
+
readonly top: number;
|
|
4450
|
+
readonly bottom: number;
|
|
4451
|
+
readonly left: number;
|
|
4452
|
+
readonly right: number;
|
|
4453
|
+
}
|
|
4454
|
+
interface Viewport {
|
|
4455
|
+
readonly width: number;
|
|
4456
|
+
readonly height: number;
|
|
4457
|
+
}
|
|
4458
|
+
/**
|
|
4459
|
+
* Computes the viewport-space top/left for a popover anchored to `anchorRect`,
|
|
4460
|
+
* applying optional flip-on-overflow and edge-clamp logic. Pure function — no
|
|
4461
|
+
* DOM access. Both `<ea-popover>` and `[eaTooltip]` consume this.
|
|
4462
|
+
*
|
|
4463
|
+
* @param anchorRect The anchor element's `getBoundingClientRect()`.
|
|
4464
|
+
* @param popoverRect Width and height of the popover (post-render measurement).
|
|
4465
|
+
* @param viewport Viewport dimensions (`window.innerWidth/Height`).
|
|
4466
|
+
* @param options Placement and behavior flags.
|
|
4467
|
+
*/
|
|
4468
|
+
declare function computePopoverPosition(anchorRect: AnchorRect, popoverRect: Rect, viewport: Viewport, options: PopoverPositionOptions): PopoverPositionResult;
|
|
4469
|
+
|
|
4470
|
+
/** ARIA role to apply to the popover surface. */
|
|
4471
|
+
type PopoverRole = 'menu' | 'listbox' | 'dialog' | 'tooltip' | 'grid';
|
|
4472
|
+
/**
|
|
4473
|
+
* How the popover should respond to scroll / resize events while open.
|
|
4474
|
+
*
|
|
4475
|
+
* - `reposition` (default): re-measure the anchor and update the popover's
|
|
4476
|
+
* coordinates so it stays attached. Suitable for menus and tooltips.
|
|
4477
|
+
* - `close`: request close. Suitable for dropdown lists and the colour-picker
|
|
4478
|
+
* popover, where re-tracking a tall popover during a scroll feels intrusive.
|
|
4479
|
+
* - `ignore`: do nothing. The popover stays at its initial coordinates and
|
|
4480
|
+
* may visually detach from a scrolling anchor — useful when the anchor is
|
|
4481
|
+
* guaranteed not to move (e.g. inside a non-scrolling region).
|
|
4482
|
+
*/
|
|
4483
|
+
type PopoverScrollBehavior = 'reposition' | 'close' | 'ignore';
|
|
4484
|
+
/**
|
|
4485
|
+
* Floating-element primitive. Renders projected content as `position: fixed`
|
|
4486
|
+
* anchored to an external element, with flip-on-overflow, viewport clamping,
|
|
4487
|
+
* outside-click and Escape dismissal, and SSR-safe scroll / resize handling.
|
|
4488
|
+
*
|
|
4489
|
+
* The primitive is intentionally low-level: a parent component drives the
|
|
4490
|
+
* `[open]` state and listens for `(closeRequested)` to mirror it back. Internal
|
|
4491
|
+
* library components (`<ea-menu>`, `<ea-dropdown>`, `<ea-color-picker>`,
|
|
4492
|
+
* `<ea-date-picker>`, `[eaTooltip]`) compose on top of it; downstream apps can
|
|
4493
|
+
* use it directly to build their own popover-based UI.
|
|
4494
|
+
*
|
|
4495
|
+
* @example
|
|
4496
|
+
* ```html
|
|
4497
|
+
* <button #trigger (click)="open.set(!open())">Open</button>
|
|
4498
|
+
* <ea-popover [anchor]="trigger" [open]="open()" (closeRequested)="open.set(false)">
|
|
4499
|
+
* <div>Popover content</div>
|
|
4500
|
+
* </ea-popover>
|
|
4501
|
+
* ```
|
|
4502
|
+
*/
|
|
4503
|
+
declare class PopoverComponent {
|
|
4504
|
+
private readonly destroyRef;
|
|
4505
|
+
private readonly surfaceEl;
|
|
4506
|
+
/** Anchor element the popover positions itself against. */
|
|
4507
|
+
readonly anchor: i0.InputSignal<HTMLElement | ElementRef<HTMLElement> | undefined>;
|
|
4508
|
+
/** Whether the popover is currently open. */
|
|
4509
|
+
readonly open: i0.InputSignal<boolean>;
|
|
4510
|
+
/** Where the popover attaches relative to the anchor. */
|
|
4511
|
+
readonly placement: i0.InputSignal<PopoverPlacement>;
|
|
4512
|
+
/** ARIA role applied to the popover surface. */
|
|
4513
|
+
readonly role: i0.InputSignal<PopoverRole>;
|
|
4514
|
+
/** Accessible label. Falls back to nothing; consumers should provide one when no visible heading is in the popover. */
|
|
4515
|
+
readonly ariaLabel: i0.InputSignal<string | undefined>;
|
|
4516
|
+
/** DOM id for the surface so trigger elements can reference it via aria-controls. */
|
|
4517
|
+
readonly surfaceId: i0.InputSignal<string>;
|
|
4518
|
+
/** Gap in px between the anchor and the popover. */
|
|
4519
|
+
readonly offset: i0.InputSignal<number>;
|
|
4520
|
+
/** Flip to the opposite side when the requested side overflows the viewport. */
|
|
4521
|
+
readonly flip: i0.InputSignal<boolean>;
|
|
4522
|
+
/** Clamp the popover inside the viewport when it would otherwise overflow. */
|
|
4523
|
+
readonly clamp: i0.InputSignal<boolean>;
|
|
4524
|
+
/** Set the popover's `min-width` to match the anchor's width (dropdown pattern). */
|
|
4525
|
+
readonly matchAnchorWidth: i0.InputSignal<boolean>;
|
|
4526
|
+
/** Close on click outside the popover and the anchor. */
|
|
4527
|
+
readonly closeOnOutsideClick: i0.InputSignal<boolean>;
|
|
4528
|
+
/** Close on Escape. */
|
|
4529
|
+
readonly closeOnEscape: i0.InputSignal<boolean>;
|
|
4530
|
+
/** What to do on scroll / resize while open. */
|
|
4531
|
+
readonly scrollBehavior: i0.InputSignal<PopoverScrollBehavior>;
|
|
4532
|
+
/** Requested close. The parent should mirror this into `[open]`. */
|
|
4533
|
+
readonly closeRequested: i0.OutputEmitterRef<void>;
|
|
4534
|
+
private readonly position;
|
|
4535
|
+
/** True placement after flip, for class-based styling (e.g. arrow direction). */
|
|
4536
|
+
readonly effectivePlacement: i0.Signal<PopoverPlacement>;
|
|
4537
|
+
/** Inline style applied to the surface element. */
|
|
4538
|
+
readonly surfaceStyle: i0.Signal<Record<string, string>>;
|
|
4539
|
+
constructor();
|
|
4540
|
+
private resolveAnchor;
|
|
4541
|
+
private reposition;
|
|
4542
|
+
onDocumentClick(event: MouseEvent): void;
|
|
4543
|
+
onEscape(): void;
|
|
4544
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PopoverComponent, never>;
|
|
4545
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PopoverComponent, "ea-popover", never, { "anchor": { "alias": "anchor"; "required": true; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "surfaceId": { "alias": "surfaceId"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "flip": { "alias": "flip"; "required": false; "isSignal": true; }; "clamp": { "alias": "clamp"; "required": false; "isSignal": true; }; "matchAnchorWidth": { "alias": "matchAnchorWidth"; "required": false; "isSignal": true; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; "isSignal": true; }; }, { "closeRequested": "closeRequested"; }, never, ["*"], true, never>;
|
|
4546
|
+
}
|
|
4547
|
+
|
|
4116
4548
|
/** Semantic colour scheme of the progress bar. */
|
|
4117
4549
|
type ProgressBarVariant = 'default' | 'success' | 'warning' | 'error' | 'info';
|
|
4118
4550
|
/** Visual height of the progress bar. */
|
|
@@ -4206,6 +4638,81 @@ declare class RadioComponent {
|
|
|
4206
4638
|
static ɵcmp: i0.ɵɵComponentDeclaration<RadioComponent, "ea-radio", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4207
4639
|
}
|
|
4208
4640
|
|
|
4641
|
+
/** Visual size of the range slider track and thumbs. */
|
|
4642
|
+
type RangeSliderSize = 'sm' | 'md' | 'lg';
|
|
4643
|
+
/** Tuple model emitted by the range slider — `[low, high]`, with `low <= high`. */
|
|
4644
|
+
type RangeSliderValue = readonly [number, number];
|
|
4645
|
+
/** Identifies which of the two thumbs an event affects. */
|
|
4646
|
+
type Thumb = 'low' | 'high';
|
|
4647
|
+
/**
|
|
4648
|
+
* Two-thumb extension of `<ea-slider>`. Drives a `[low, high]` numeric range
|
|
4649
|
+
* with pointer drag (the closer thumb to the pointer responds) and full
|
|
4650
|
+
* keyboard navigation per thumb (arrows / PageUp / PageDown / Home / End).
|
|
4651
|
+
* Tab moves between thumbs. Configurable `min`, `max`, `step`, optional value
|
|
4652
|
+
* display, and integrates with Angular forms via `ControlValueAccessor`.
|
|
4653
|
+
*
|
|
4654
|
+
* Overlap rule: a thumb cannot cross past the other; once it reaches the
|
|
4655
|
+
* opposite thumb's position, it clamps to that boundary. Drag-induced
|
|
4656
|
+
* overlap (where the user yanks the low thumb past the high) is resolved by
|
|
4657
|
+
* keeping the moving thumb on its side and the other thumb pinned.
|
|
4658
|
+
*/
|
|
4659
|
+
declare class RangeSliderComponent implements ControlValueAccessor {
|
|
4660
|
+
readonly trackEl: i0.Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
4661
|
+
readonly label: i0.InputSignal<string | undefined>;
|
|
4662
|
+
readonly hint: i0.InputSignal<string | undefined>;
|
|
4663
|
+
readonly errorMsg: i0.InputSignal<string | undefined>;
|
|
4664
|
+
readonly min: i0.InputSignal<number>;
|
|
4665
|
+
readonly max: i0.InputSignal<number>;
|
|
4666
|
+
readonly step: i0.InputSignal<number>;
|
|
4667
|
+
readonly size: i0.InputSignal<RangeSliderSize>;
|
|
4668
|
+
readonly disabled: i0.InputSignal<boolean>;
|
|
4669
|
+
readonly required: i0.InputSignal<boolean>;
|
|
4670
|
+
readonly showValue: i0.InputSignal<boolean>;
|
|
4671
|
+
readonly showMinMaxLabels: i0.InputSignal<boolean>;
|
|
4672
|
+
readonly formatValue: i0.InputSignal<(value: number) => string>;
|
|
4673
|
+
/** Accessible label for the low (start) thumb. Falls back to the field label when omitted. */
|
|
4674
|
+
readonly ariaLabelLow: i0.InputSignal<string | undefined>;
|
|
4675
|
+
/** Accessible label for the high (end) thumb. Falls back to the field label when omitted. */
|
|
4676
|
+
readonly ariaLabelHigh: i0.InputSignal<string | undefined>;
|
|
4677
|
+
readonly id: i0.InputSignal<string>;
|
|
4678
|
+
readonly value: i0.ModelSignal<RangeSliderValue>;
|
|
4679
|
+
/** Fires with the new `[low, high]` tuple whenever either thumb moves. */
|
|
4680
|
+
readonly changed: i0.OutputEmitterRef<RangeSliderValue>;
|
|
4681
|
+
private readonly _formDisabled;
|
|
4682
|
+
readonly dragging: i0.WritableSignal<Thumb | null>;
|
|
4683
|
+
private onChange;
|
|
4684
|
+
private onTouched;
|
|
4685
|
+
readonly isDisabled: i0.Signal<boolean>;
|
|
4686
|
+
/** Clamped, ordered `[low, high]` tuple — `low <= high`, both within `[min, max]`. */
|
|
4687
|
+
readonly clampedValue: i0.Signal<RangeSliderValue>;
|
|
4688
|
+
readonly lowPercent: i0.Signal<number>;
|
|
4689
|
+
readonly highPercent: i0.Signal<number>;
|
|
4690
|
+
readonly hasError: i0.Signal<boolean>;
|
|
4691
|
+
readonly showError: i0.Signal<boolean>;
|
|
4692
|
+
readonly showHint: i0.Signal<boolean>;
|
|
4693
|
+
readonly hostClasses: i0.Signal<{
|
|
4694
|
+
[x: string]: boolean;
|
|
4695
|
+
'ea-range-slider--error': boolean;
|
|
4696
|
+
'ea-range-slider--disabled': boolean;
|
|
4697
|
+
'ea-range-slider--dragging': boolean;
|
|
4698
|
+
}>;
|
|
4699
|
+
writeValue(val: RangeSliderValue | null | undefined): void;
|
|
4700
|
+
registerOnChange(fn: (value: RangeSliderValue) => void): void;
|
|
4701
|
+
registerOnTouched(fn: () => void): void;
|
|
4702
|
+
setDisabledState(isDisabled: boolean): void;
|
|
4703
|
+
handleKeydown(event: KeyboardEvent, thumb: Thumb): void;
|
|
4704
|
+
handleBlur(): void;
|
|
4705
|
+
handleTrackPointerDown(event: PointerEvent): void;
|
|
4706
|
+
handleTrackPointerMove(event: PointerEvent): void;
|
|
4707
|
+
handleTrackPointerUp(event: PointerEvent): void;
|
|
4708
|
+
private toPercent;
|
|
4709
|
+
private pointerToValue;
|
|
4710
|
+
/** Snap to step, clamp to `[min, max]`, then constrain by the opposite thumb. */
|
|
4711
|
+
private commitThumb;
|
|
4712
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RangeSliderComponent, never>;
|
|
4713
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RangeSliderComponent, "ea-range-slider", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "showMinMaxLabels": { "alias": "showMinMaxLabels"; "required": false; "isSignal": true; }; "formatValue": { "alias": "formatValue"; "required": false; "isSignal": true; }; "ariaLabelLow": { "alias": "aria-label-low"; "required": false; "isSignal": true; }; "ariaLabelHigh": { "alias": "aria-label-high"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, never, never, true, never>;
|
|
4714
|
+
}
|
|
4715
|
+
|
|
4209
4716
|
/** Visual size of the segmented control. */
|
|
4210
4717
|
type SegmentedSize = 'sm' | 'md' | 'lg';
|
|
4211
4718
|
/**
|
|
@@ -4355,6 +4862,71 @@ declare class SpinnerComponent {
|
|
|
4355
4862
|
static ɵcmp: i0.ɵɵComponentDeclaration<SpinnerComponent, "ea-spinner", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4356
4863
|
}
|
|
4357
4864
|
|
|
4865
|
+
/**
|
|
4866
|
+
* Single step within an `<ea-stepper>`. Registers itself with the parent on
|
|
4867
|
+
* init, exposes its `label` / `completed` / `optional` flags, and shows its
|
|
4868
|
+
* projected content when active.
|
|
4869
|
+
*/
|
|
4870
|
+
declare class StepComponent implements OnInit, OnDestroy {
|
|
4871
|
+
private readonly stepper;
|
|
4872
|
+
readonly label: i0.InputSignal<string>;
|
|
4873
|
+
readonly completed: i0.InputSignal<boolean>;
|
|
4874
|
+
readonly disabled: i0.InputSignal<boolean>;
|
|
4875
|
+
readonly optional: i0.InputSignal<boolean>;
|
|
4876
|
+
readonly id: i0.InputSignal<string>;
|
|
4877
|
+
readonly isActive: i0.Signal<boolean>;
|
|
4878
|
+
ngOnInit(): void;
|
|
4879
|
+
ngOnDestroy(): void;
|
|
4880
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StepComponent, never>;
|
|
4881
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StepComponent, "ea-step", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "completed": { "alias": "completed"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "optional": { "alias": "optional"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
4882
|
+
}
|
|
4883
|
+
|
|
4884
|
+
/** Visual size of the stepper. */
|
|
4885
|
+
type StepperSize = 'sm' | 'md' | 'lg';
|
|
4886
|
+
/**
|
|
4887
|
+
* Multi-step navigation paired with content panels. Child `<ea-step>`
|
|
4888
|
+
* components register themselves automatically and the active panel is
|
|
4889
|
+
* shown based on the `activeStep` (zero-based index) two-way binding.
|
|
4890
|
+
*
|
|
4891
|
+
* In `linear` mode, steps cannot be navigated to until all earlier
|
|
4892
|
+
* non-optional steps are marked `completed`. Otherwise any step can be
|
|
4893
|
+
* clicked. ArrowLeft / ArrowRight walk through reachable steps; Home/End
|
|
4894
|
+
* jump to the extremes.
|
|
4895
|
+
*/
|
|
4896
|
+
declare class StepperComponent {
|
|
4897
|
+
protected readonly i18n: EagamiI18nService;
|
|
4898
|
+
readonly registeredSteps: i0.WritableSignal<StepComponent[]>;
|
|
4899
|
+
readonly activeStep: i0.ModelSignal<number>;
|
|
4900
|
+
readonly linear: i0.InputSignal<boolean>;
|
|
4901
|
+
readonly size: i0.InputSignal<StepperSize>;
|
|
4902
|
+
readonly disabled: i0.InputSignal<boolean>;
|
|
4903
|
+
readonly id: i0.InputSignal<string>;
|
|
4904
|
+
/** Fires with the new active step index when the user navigates. */
|
|
4905
|
+
readonly changed: i0.OutputEmitterRef<number>;
|
|
4906
|
+
readonly hostClasses: i0.Signal<{
|
|
4907
|
+
[x: string]: boolean;
|
|
4908
|
+
'ea-stepper--disabled': boolean;
|
|
4909
|
+
}>;
|
|
4910
|
+
registerStep(step: StepComponent): void;
|
|
4911
|
+
unregisterStep(step: StepComponent): void;
|
|
4912
|
+
/** Returns the index of a given step, or `-1` if it isn't registered. */
|
|
4913
|
+
indexOf(step: StepComponent): number;
|
|
4914
|
+
/**
|
|
4915
|
+
* True when the user can navigate directly to the step at `index`. In
|
|
4916
|
+
* non-linear mode this is true for any non-disabled step; in linear mode,
|
|
4917
|
+
* every non-optional earlier step must also be marked `completed`.
|
|
4918
|
+
*/
|
|
4919
|
+
canNavigateTo(index: number): boolean;
|
|
4920
|
+
/** Activate the step at `index` if reachable. */
|
|
4921
|
+
selectStep(index: number): void;
|
|
4922
|
+
handleKeydown(event: KeyboardEvent): void;
|
|
4923
|
+
private nextReachable;
|
|
4924
|
+
private firstReachable;
|
|
4925
|
+
private lastReachable;
|
|
4926
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StepperComponent, never>;
|
|
4927
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StepperComponent, "ea-stepper", never, { "activeStep": { "alias": "activeStep"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, { "activeStep": "activeStepChange"; "changed": "changed"; }, never, ["*"], true, never>;
|
|
4928
|
+
}
|
|
4929
|
+
|
|
4358
4930
|
/** Visual size of the switch. */
|
|
4359
4931
|
type SwitchSize = 'sm' | 'md' | 'lg';
|
|
4360
4932
|
/**
|
|
@@ -4528,6 +5100,165 @@ declare class TextareaComponent implements ControlValueAccessor {
|
|
|
4528
5100
|
static ɵcmp: i0.ɵɵComponentDeclaration<TextareaComponent, "ea-textarea", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "resize": { "alias": "resize"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "focused": "focused"; "blurred": "blurred"; }, never, never, true, never>;
|
|
4529
5101
|
}
|
|
4530
5102
|
|
|
5103
|
+
/** Visual size of the time picker trigger. */
|
|
5104
|
+
type TimePickerSize = 'sm' | 'md' | 'lg';
|
|
5105
|
+
/** Display format for the trigger label. The wire value is always 24h. */
|
|
5106
|
+
type TimePickerFormat = '12h' | '24h';
|
|
5107
|
+
/** Internal identifier for the three unit columns. */
|
|
5108
|
+
type Unit = 'hours' | 'minutes' | 'seconds';
|
|
5109
|
+
interface ParsedTime {
|
|
5110
|
+
readonly hours: number;
|
|
5111
|
+
readonly minutes: number;
|
|
5112
|
+
readonly seconds: number;
|
|
5113
|
+
}
|
|
5114
|
+
/**
|
|
5115
|
+
* Pops a stepper UI for selecting an `HH:MM[:SS]` time. The wire value is
|
|
5116
|
+
* always a 24-hour string (`"14:30"` or `"14:30:00"`); the `format` input
|
|
5117
|
+
* toggles the trigger's display between 12-hour and 24-hour styles. Supports
|
|
5118
|
+
* configurable steps for minutes and seconds, optional seconds column, and
|
|
5119
|
+
* integrates with Angular forms via `ControlValueAccessor`.
|
|
5120
|
+
*
|
|
5121
|
+
* Keyboard: Tab moves between the hour, minute, (seconds), and AM/PM columns.
|
|
5122
|
+
* Each spinner accepts ArrowUp/ArrowDown to step by 1 (or by the configured
|
|
5123
|
+
* step), PageUp/PageDown for a coarser bump, and digit keys to type a value
|
|
5124
|
+
* directly. After typing two digits (or one digit that already maxes the
|
|
5125
|
+
* unit), focus auto-advances to the next column. Backspace clears the typed
|
|
5126
|
+
* buffer; Escape closes the popover.
|
|
5127
|
+
*/
|
|
5128
|
+
declare class TimePickerComponent implements ControlValueAccessor {
|
|
5129
|
+
protected readonly triggerEl: i0.Signal<ElementRef<HTMLButtonElement> | undefined>;
|
|
5130
|
+
protected readonly hoursEl: i0.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
5131
|
+
protected readonly minutesEl: i0.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
5132
|
+
protected readonly secondsEl: i0.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
5133
|
+
protected readonly i18n: EagamiI18nService;
|
|
5134
|
+
private readonly destroyRef;
|
|
5135
|
+
private readonly injector;
|
|
5136
|
+
readonly label: i0.InputSignal<string | undefined>;
|
|
5137
|
+
readonly placeholder: i0.InputSignal<string | undefined>;
|
|
5138
|
+
readonly size: i0.InputSignal<TimePickerSize>;
|
|
5139
|
+
readonly disabled: i0.InputSignal<boolean>;
|
|
5140
|
+
readonly readonly: i0.InputSignal<boolean>;
|
|
5141
|
+
readonly required: i0.InputSignal<boolean>;
|
|
5142
|
+
readonly hint: i0.InputSignal<string | undefined>;
|
|
5143
|
+
readonly errorMsg: i0.InputSignal<string | undefined>;
|
|
5144
|
+
/** Display format for the trigger label. Wire value is always 24h. */
|
|
5145
|
+
readonly format: i0.InputSignal<TimePickerFormat>;
|
|
5146
|
+
readonly includeSeconds: i0.InputSignal<boolean>;
|
|
5147
|
+
readonly minuteStep: i0.InputSignal<number>;
|
|
5148
|
+
readonly secondStep: i0.InputSignal<number>;
|
|
5149
|
+
readonly id: i0.InputSignal<string>;
|
|
5150
|
+
/** `"HH:MM"` or `"HH:MM:SS"` in 24-hour notation, or `null` when unset. */
|
|
5151
|
+
readonly value: i0.ModelSignal<string | null>;
|
|
5152
|
+
/** Fires with the new value whenever the user changes the time. */
|
|
5153
|
+
readonly changed: i0.OutputEmitterRef<string | null>;
|
|
5154
|
+
readonly isOpen: i0.WritableSignal<boolean>;
|
|
5155
|
+
/** Typed-digit buffer for the currently focused column, or `null` when idle. */
|
|
5156
|
+
readonly editBuffer: i0.WritableSignal<{
|
|
5157
|
+
unit: Unit;
|
|
5158
|
+
digits: string;
|
|
5159
|
+
} | null>;
|
|
5160
|
+
private readonly _formDisabled;
|
|
5161
|
+
private onChange;
|
|
5162
|
+
private onTouched;
|
|
5163
|
+
/** Long-press timers for the chevron buttons. Cleared on release/destroy. */
|
|
5164
|
+
private holdDelayTimer;
|
|
5165
|
+
private holdIntervalTimer;
|
|
5166
|
+
private holdStartedAt;
|
|
5167
|
+
readonly isDisabled: i0.Signal<boolean>;
|
|
5168
|
+
readonly hasError: i0.Signal<boolean>;
|
|
5169
|
+
readonly showError: i0.Signal<boolean>;
|
|
5170
|
+
readonly showHint: i0.Signal<boolean>;
|
|
5171
|
+
/** Parsed `[hh, mm, ss]` from the current value, defaulting to midnight. */
|
|
5172
|
+
readonly parsed: i0.Signal<ParsedTime>;
|
|
5173
|
+
/** True when the picker has a non-null value. Drives the clear button + placeholder fallback. */
|
|
5174
|
+
readonly hasValue: i0.Signal<boolean>;
|
|
5175
|
+
/** Hours digit displayed in the popover stepper. Honors the `format` input. */
|
|
5176
|
+
readonly displayHours: i0.Signal<number>;
|
|
5177
|
+
/**
|
|
5178
|
+
* Text shown in a column's value cell. Reflects the typed-digit buffer when
|
|
5179
|
+
* the user is mid-edit on that column; otherwise renders the committed
|
|
5180
|
+
* value. Hours pad to two digits in 24h mode only (so 9 AM still reads as
|
|
5181
|
+
* "9", but 09:00 in 24h reads as "09").
|
|
5182
|
+
*/
|
|
5183
|
+
hoursText: i0.Signal<string>;
|
|
5184
|
+
minutesText: i0.Signal<string>;
|
|
5185
|
+
secondsText: i0.Signal<string>;
|
|
5186
|
+
/** `'AM' | 'PM'` for 12h mode; `null` in 24h. */
|
|
5187
|
+
readonly period: i0.Signal<"AM" | "PM" | null>;
|
|
5188
|
+
/** Localized text shown on the trigger. Falls back to placeholder when no value. */
|
|
5189
|
+
readonly displayValue: i0.Signal<string | null>;
|
|
5190
|
+
readonly resolvedPlaceholder: i0.Signal<string>;
|
|
5191
|
+
readonly triggerClasses: i0.Signal<{
|
|
5192
|
+
[x: string]: boolean;
|
|
5193
|
+
'ea-time-picker__trigger--error': boolean;
|
|
5194
|
+
'ea-time-picker__trigger--open': boolean;
|
|
5195
|
+
'ea-time-picker__trigger--disabled': boolean;
|
|
5196
|
+
'ea-time-picker__trigger--placeholder': boolean;
|
|
5197
|
+
}>;
|
|
5198
|
+
writeValue(val: string | null | undefined): void;
|
|
5199
|
+
registerOnChange(fn: (value: string | null) => void): void;
|
|
5200
|
+
registerOnTouched(fn: () => void): void;
|
|
5201
|
+
setDisabledState(isDisabled: boolean): void;
|
|
5202
|
+
constructor();
|
|
5203
|
+
toggle(): void;
|
|
5204
|
+
/**
|
|
5205
|
+
* Push focus into the hours input once the popover surface has been
|
|
5206
|
+
* rendered. `afterNextRender` guarantees the DOM has been updated (and the
|
|
5207
|
+
* surface is no longer `display: none`) before we call `.focus()`.
|
|
5208
|
+
*/
|
|
5209
|
+
private focusHoursWhenReady;
|
|
5210
|
+
close(): void;
|
|
5211
|
+
/** Called by `<ea-popover>` when the user clicks outside or scrolls. */
|
|
5212
|
+
onPopoverCloseRequested(): void;
|
|
5213
|
+
clear(event: Event): void;
|
|
5214
|
+
handleTriggerKeydown(event: KeyboardEvent): void;
|
|
5215
|
+
/** Stepper button or keyboard arrow nudges one column up or down. */
|
|
5216
|
+
step(unit: Unit, direction: 1 | -1): void;
|
|
5217
|
+
/**
|
|
5218
|
+
* Begin a long-press repeat on a chevron button. Fires once immediately,
|
|
5219
|
+
* then after a `HOLD_INITIAL_DELAY` pause repeats at `HOLD_INTERVAL_MS`,
|
|
5220
|
+
* accelerating to `HOLD_FAST_INTERVAL_MS` after `HOLD_ACCELERATE_AFTER_MS`
|
|
5221
|
+
* of continuous holding. Pointer up / leave / cancel stops the repeat.
|
|
5222
|
+
*/
|
|
5223
|
+
startHold(unit: Unit, direction: 1 | -1, event: Event): void;
|
|
5224
|
+
/** End any in-flight long-press repeat. Idempotent. */
|
|
5225
|
+
stopHold(): void;
|
|
5226
|
+
/** Switches the AM/PM period in 12h mode by toggling the 12-hour offset. */
|
|
5227
|
+
togglePeriod(): void;
|
|
5228
|
+
handlePopoverKeydown(event: KeyboardEvent, unit: Unit): void;
|
|
5229
|
+
/** Select-all on focus so the first keystroke replaces the current value. */
|
|
5230
|
+
onSpinnerFocus(event: FocusEvent): void;
|
|
5231
|
+
/**
|
|
5232
|
+
* Native `(input)` event: the typed value is already in `el.value`. Strip
|
|
5233
|
+
* non-digits, update the buffer (which drives the displayed text), and
|
|
5234
|
+
* commit + auto-advance once the column is full or a third digit would
|
|
5235
|
+
* overflow.
|
|
5236
|
+
*/
|
|
5237
|
+
onSpinnerInput(unit: Unit, event: Event): void;
|
|
5238
|
+
/** Commits the current buffer if any. Wired to each input's `(blur)`. */
|
|
5239
|
+
onSpinnerBlur(): void;
|
|
5240
|
+
/** True when no digit `0`–`9` can validly extend the current buffer. */
|
|
5241
|
+
private cannotExtend;
|
|
5242
|
+
/** Commits any pending buffer. Called on blur, on arrow keys, on Tab. */
|
|
5243
|
+
private flushBuffer;
|
|
5244
|
+
/** Writes the buffered digits into the value and clears the buffer. */
|
|
5245
|
+
private commitDigits;
|
|
5246
|
+
/**
|
|
5247
|
+
* Map a typed hours value back to 24h. In 24h mode the typed value is the
|
|
5248
|
+
* hour. In 12h mode the typed value is interpreted in the current period
|
|
5249
|
+
* (AM → 12 maps to 0, others stay; PM → 12 stays, others add 12).
|
|
5250
|
+
*/
|
|
5251
|
+
private hoursFromTyped;
|
|
5252
|
+
private minFor;
|
|
5253
|
+
private maxFor;
|
|
5254
|
+
/** Move focus to the next unit column, looping back to hours at the end. */
|
|
5255
|
+
private advanceFocus;
|
|
5256
|
+
private nextUnit;
|
|
5257
|
+
private commit;
|
|
5258
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TimePickerComponent, never>;
|
|
5259
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TimePickerComponent, "ea-time-picker", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "includeSeconds": { "alias": "includeSeconds"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "secondStep": { "alias": "secondStep"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, never, never, true, never>;
|
|
5260
|
+
}
|
|
5261
|
+
|
|
4531
5262
|
/** Semantic colour scheme of a toast. */
|
|
4532
5263
|
type ToastVariant = 'default' | 'success' | 'warning' | 'error' | 'info';
|
|
4533
5264
|
/** A single live toast notification rendered by `ea-toast`. */
|
|
@@ -4621,5 +5352,5 @@ declare class TooltipDirective implements OnDestroy {
|
|
|
4621
5352
|
static ɵdir: i0.ɵɵDirectiveDeclaration<TooltipDirective, "[eaTooltip]", never, { "eaTooltip": { "alias": "eaTooltip"; "required": true; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4622
5353
|
}
|
|
4623
5354
|
|
|
4624
|
-
export { AccordionComponent, AccordionItemComponent, ActivityIconComponent, AirplayIconComponent, AlertCircleIconComponent, AlertComponent, AlertOctagonIconComponent, AlertTriangleIconComponent, AlignCenterIconComponent, AlignJustifyIconComponent, AlignLeftIconComponent, AlignRightIconComponent, AnchorIconComponent, ApertureIconComponent,
|
|
4625
|
-
export type { AlertVariant, AutocompleteSize, AvatarEditorCropEvent, AvatarEditorCropState, AvatarEditorShape, AvatarShape, AvatarSize, BadgeSize, BadgeVariant, BreadcrumbClickEvent, BreadcrumbItem, BreadcrumbsSeparator, ButtonSize, ButtonType, ButtonVariant, CardHeaderAlign, CardPadding, CardVariant, CheckboxSize, CodeInputSize, DataTableColumn, DataTableDensity, DataTableSortDirection, DataTableSortState, DatePickerFormat, DatePickerSize, DatePickerValue, DatePickerWeekStart, DialogSize, DividerOrientation, DrawerPosition, DrawerSize, DropdownSize, EagamiI18nConfig, EagamiLocale, EagamiMessages, EagamiMessagesOverride, EagamiWordmarkLayout, EagamiWordmarkVariant, EmptyStateHeadingLevel, EmptyStateSize, IconCategory, IconComponentType, IconMeta, InputSize, InputType, MenuItemVariant, MenuPlacement, PaginatorAlign, PaginatorState, ProgressBarSize, ProgressBarVariant, RadioOrientation, RadioSize, SegmentedSize, SelectOption, SkeletonVariant, SliderSize, SpinnerSize, SwitchSize, TabsSize, TabsVariant, TagSize, TagVariant, TextareaResize, TextareaSize, Toast, ToastOptions, ToastVariant, TooltipPosition };
|
|
5355
|
+
export { AccordionComponent, AccordionItemComponent, ActivityIconComponent, AirplayIconComponent, AlertCircleIconComponent, AlertComponent, AlertOctagonIconComponent, AlertTriangleIconComponent, AlignCenterIconComponent, AlignJustifyIconComponent, AlignLeftIconComponent, AlignRightIconComponent, AnchorIconComponent, ApertureIconComponent, ArchiveIconComponent, ArrowDownCircleIconComponent, ArrowDownIconComponent, ArrowDownLeftIconComponent, ArrowDownRightIconComponent, ArrowLeftCircleIconComponent, ArrowLeftIconComponent, ArrowRightCircleIconComponent, ArrowRightIconComponent, ArrowUpCircleIconComponent, ArrowUpIconComponent, ArrowUpLeftIconComponent, ArrowUpRightIconComponent, AtSignIconComponent, AutocompleteComponent, AvatarComponent, AvatarEditorComponent, AwardIconComponent, BadgeComponent, BarChart2IconComponent, BarChartIconComponent, BatteryChargingIconComponent, BatteryIconComponent, BellIconComponent, BellOffIconComponent, BluetoothIconComponent, BoldIconComponent, BookIconComponent, BookOpenIconComponent, BookmarkIconComponent, BottleIconComponent, BoxIconComponent, BreadcrumbsComponent, BriefcaseIconComponent, ButtonComponent, CalendarIconComponent, CameraIconComponent, CameraOffIconComponent, CandleIconComponent, CardComponent, CastIconComponent, CheckCircleIconComponent, CheckIconComponent, CheckSquareIconComponent, CheckboxComponent, ChevronDownIconComponent, ChevronLeftIconComponent, ChevronRightIconComponent, ChevronUpIconComponent, ChevronsDownIconComponent, ChevronsLeftIconComponent, ChevronsRightIconComponent, ChevronsUpDownIconComponent, ChevronsUpIconComponent, ChromeIconComponent, CircleIconComponent, ClipboardIconComponent, ClockIconComponent, CloudDrizzleIconComponent, CloudIconComponent, CloudLightningIconComponent, CloudOffIconComponent, CloudRainIconComponent, CloudSnowIconComponent, CloudflareIconComponent, CodeIconComponent, CodeInputComponent, CodepenIconComponent, CodesandboxIconComponent, CoffeeIconComponent, ColorPickerComponent, ColumnsIconComponent, CommandIconComponent, CompassIconComponent, CopyIconComponent, CornerDownLeftIconComponent, CornerDownRightIconComponent, CornerLeftDownIconComponent, CornerLeftUpIconComponent, CornerRightDownIconComponent, CornerRightUpIconComponent, CornerUpLeftIconComponent, CornerUpRightIconComponent, CpuIconComponent, CreditCardIconComponent, CropIconComponent, CrosshairIconComponent, DataTableComponent, DatabaseIconComponent, DatePickerComponent, DeleteIconComponent, DialogComponent, DiscIconComponent, DiscordIconComponent, DivideCircleIconComponent, DivideIconComponent, DivideSquareIconComponent, DividerComponent, DockerIconComponent, DollarSignIconComponent, DownloadCloudIconComponent, DownloadIconComponent, DrawerComponent, DribbbleIconComponent, DropboxIconComponent, DropdownComponent, DropletIconComponent, EAGAMI_I18N_CONFIG, EAGAMI_LOCALES, EAGAMI_MESSAGES, EagamiI18nService, EagamiIconComponent, EagamiWordmarkComponent, Edit2IconComponent, Edit3IconComponent, EditIconComponent, EmptyStateComponent, ExternalLinkIconComponent, EyeIconComponent, EyeOffIconComponent, Facebook2IconComponent, FacebookIconComponent, FastForwardIconComponent, FeatherIconComponent, Figma2IconComponent, FigmaIconComponent, FileIconComponent, FileMinusIconComponent, FilePlusIconComponent, FileTextIconComponent, FilmIconComponent, FilterIconComponent, FlagIconComponent, FolderIconComponent, FolderMinusIconComponent, FolderPlusIconComponent, FramerIconComponent, FrownIconComponent, GiftIconComponent, GitBranchIconComponent, GitCommitIconComponent, GitMergeIconComponent, GitPullRequestIconComponent, Github2IconComponent, GithubIconComponent, GitlabIconComponent, GlobeIconComponent, GoogleIconComponent, GridIconComponent, HardDriveIconComponent, HashIconComponent, HeadphonesIconComponent, HeartIconComponent, HelpCircleIconComponent, HeptagonIconComponent, HexagonIconComponent, HomeIconComponent, ICONS, IconComponentBase, ImageIconComponent, InboxIconComponent, InfoIconComponent, InputComponent, InstagramIconComponent, ItalicIconComponent, KeyIconComponent, KubernetesIconComponent, LampIconComponent, LayersIconComponent, LayoutIconComponent, LeftHalfStarIconComponent, LifeBuoyIconComponent, Link2IconComponent, LinkIconComponent, Linkedin2IconComponent, LinkedinIconComponent, ListIconComponent, LoaderIconComponent, LockIconComponent, LogInIconComponent, LogOutIconComponent, MailIconComponent, MapIconComponent, MapPinIconComponent, MastercardIconComponent, Maximize2IconComponent, MaximizeIconComponent, MehIconComponent, MenuComponent, MenuIconComponent, MenuItemComponent, MenuTriggerDirective, MessageCircleIconComponent, MessageSquareIconComponent, MicIconComponent, MicOffIconComponent, MicrosoftIconComponent, Minimize2IconComponent, MinimizeIconComponent, MinusCircleIconComponent, MinusIconComponent, MinusSquareIconComponent, MongodbIconComponent, MonitorIconComponent, MoonIconComponent, MoreHorizontalIconComponent, MoreVerticalIconComponent, MousePointerIconComponent, MoveIconComponent, MultiSelectComponent, MusicIconComponent, Navigation2IconComponent, NavigationIconComponent, NetlifyIconComponent, NotionIconComponent, NpmIconComponent, OctagonIconComponent, PackageIconComponent, PaginatorComponent, PaperclipIconComponent, PauseCircleIconComponent, PauseIconComponent, PaypalIconComponent, PenToolIconComponent, PentagonIconComponent, PercentIconComponent, PhoneCallIconComponent, PhoneForwardedIconComponent, PhoneIconComponent, PhoneIncomingIconComponent, PhoneMissedIconComponent, PhoneOffIconComponent, PhoneOutgoingIconComponent, PieChartIconComponent, PlayCircleIconComponent, PlayIconComponent, PlusCircleIconComponent, PlusIconComponent, PlusSquareIconComponent, PocketIconComponent, PopoverComponent, PowerIconComponent, PrinterIconComponent, ProgressBarComponent, RadioComponent, RadioGroupComponent, RadioIconComponent, RangeSliderComponent, RectangleHorizontalIconComponent, RectangleVerticalIconComponent, RedditIconComponent, RefreshCcwIconComponent, RefreshCwIconComponent, RepeatIconComponent, RewindIconComponent, RightHalfStarIconComponent, RotateCcwIconComponent, RotateCwIconComponent, RssIconComponent, SaveIconComponent, ScissorsIconComponent, SearchIconComponent, SegmentedComponent, SendIconComponent, ServerIconComponent, SettingsIconComponent, Share2IconComponent, ShareIconComponent, ShieldIconComponent, ShieldOffIconComponent, ShoppingBagIconComponent, ShoppingCartIconComponent, ShuffleIconComponent, SidebarIconComponent, SkeletonComponent, SkipBackIconComponent, SkipForwardIconComponent, Slack2IconComponent, SlackIconComponent, SlashIconComponent, SliderComponent, SlidersIconComponent, SmartphoneIconComponent, SmileIconComponent, SoccerBallIconComponent, SpeakerIconComponent, SpinnerComponent, SpotifyIconComponent, SquareIconComponent, StarIconComponent, StepComponent, StepperComponent, StopCircleIconComponent, StripeIconComponent, SunIconComponent, SunriseIconComponent, SunsetIconComponent, SwitchComponent, TabComponent, TableIconComponent, TabletIconComponent, TabsComponent, TagComponent, TagIconComponent, TargetIconComponent, TerminalIconComponent, TextareaComponent, ThermometerIconComponent, ThumbsDownIconComponent, ThumbsUpIconComponent, TimePickerComponent, ToastComponent, ToastService, ToggleLeftIconComponent, ToggleRightIconComponent, ToolIconComponent, TooltipDirective, Trash2IconComponent, TrashIconComponent, TrelloIconComponent, TrendingDownIconComponent, TrendingUpIconComponent, TriangleIconComponent, TrophyIconComponent, TruckIconComponent, TvIconComponent, Twitch2IconComponent, TwitchIconComponent, TwitterIconComponent, TypeIconComponent, UmbrellaIconComponent, UnderlineIconComponent, UnlockIconComponent, UploadCloudIconComponent, UploadIconComponent, UserCheckIconComponent, UserIconComponent, UserMinusIconComponent, UserPlusIconComponent, UserXIconComponent, UsersIconComponent, VercelIconComponent, VideoIconComponent, VideoOffIconComponent, VoicemailIconComponent, Volume1IconComponent, Volume2IconComponent, VolumeIconComponent, VolumeXIconComponent, WatchIconComponent, WifiIconComponent, WifiOffIconComponent, WindIconComponent, XCircleIconComponent, XIconComponent, XOctagonIconComponent, XSquareIconComponent, XTwitterIconComponent, Youtube2IconComponent, YoutubeIconComponent, ZapIconComponent, ZapOffIconComponent, ZoomInIconComponent, ZoomOutIconComponent, computePopoverPosition, el, en, esES, frFR, frenchSpacing, iconDisplayName, pl, provideEagamiUi };
|
|
5356
|
+
export type { AlertVariant, AutocompleteSize, AvatarEditorCropEvent, AvatarEditorCropState, AvatarEditorShape, AvatarShape, AvatarSize, BadgeShape, BadgeSize, BadgeVariant, BreadcrumbClickEvent, BreadcrumbItem, BreadcrumbsSeparator, ButtonSize, ButtonType, ButtonVariant, CardHeaderAlign, CardPadding, CardVariant, CheckboxSize, CodeInputSize, ColorPickerFormat, ColorPickerInputMode, ColorPickerSize, ColorPickerValue, DataTableColumn, DataTableDensity, DataTableSortDirection, DataTableSortState, DatePickerFormat, DatePickerSize, DatePickerValue, DatePickerWeekStart, DialogSize, DividerOrientation, DrawerPosition, DrawerSize, DropdownSize, EagamiI18nConfig, EagamiLocale, EagamiMessages, EagamiMessagesOverride, EagamiWordmarkLayout, EagamiWordmarkVariant, EmptyStateHeadingLevel, EmptyStateSize, IconCategory, IconComponentType, IconMeta, InputSize, InputType, MenuItemVariant, MenuPlacement, MultiSelectSize, PaginatorAlign, PaginatorState, PopoverPlacement, PopoverPositionOptions, PopoverPositionResult, PopoverRole, PopoverScrollBehavior, ProgressBarSize, ProgressBarVariant, RadioOrientation, RadioSize, RangeSliderSize, RangeSliderValue, SegmentedSize, SelectOption, SkeletonVariant, SliderSize, SpinnerSize, StepperSize, SwitchSize, TabsSize, TabsVariant, TagSize, TagVariant, TextareaResize, TextareaSize, TimePickerFormat, TimePickerSize, Toast, ToastOptions, ToastVariant, TooltipPosition };
|