@eagami/ui 1.5.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.
@@ -78,6 +78,15 @@ interface EagamiMessages {
78
78
  menu: {
79
79
  label: string;
80
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
+ };
81
90
  paginator: {
82
91
  label: string;
83
92
  rowsPerPage: string;
@@ -91,9 +100,27 @@ interface EagamiMessages {
91
100
  spinner: {
92
101
  label: string;
93
102
  };
103
+ stepper: {
104
+ optional: string;
105
+ };
94
106
  tag: {
95
107
  remove: string;
96
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
+ };
97
124
  toast: {
98
125
  dismiss: string;
99
126
  };
@@ -142,6 +169,7 @@ declare class EagamiI18nService {
142
169
  private readonly _locale;
143
170
  /** The currently active locale. Read it reactively or call `setLocale()`. */
144
171
  readonly locale: Signal<EagamiLocale>;
172
+ constructor();
145
173
  /** The resolved message dictionary for the active locale. */
146
174
  readonly messages: Signal<EagamiMessages>;
147
175
  /** Switches the active locale; falls back to English if unsupported. */
@@ -406,6 +434,8 @@ declare class AvatarEditorComponent implements OnDestroy {
406
434
  [x: string]: boolean;
407
435
  'ea-avatar-editor--has-image': boolean;
408
436
  'ea-avatar-editor--drag-over': boolean;
437
+ 'ea-avatar-editor--compact': boolean;
438
+ 'ea-avatar-editor--ultra-compact': boolean;
409
439
  }>;
410
440
  private readonly injector;
411
441
  private readonly boundWheel;
@@ -496,17 +526,25 @@ type BadgeVariant = 'default' | 'success' | 'warning' | 'error' | 'info';
496
526
  /** Visual size of a badge. */
497
527
  type BadgeSize = 'sm' | 'md' | 'lg';
498
528
  /**
499
- * Compact pill-shaped indicator used to communicate status, counts, or labels
500
- * inline with surrounding content.
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.
501
538
  */
502
539
  declare class BadgeComponent {
503
540
  readonly variant: i0.InputSignal<BadgeVariant>;
504
541
  readonly size: i0.InputSignal<BadgeSize>;
542
+ readonly shape: i0.InputSignal<BadgeShape>;
505
543
  readonly hostClasses: i0.Signal<{
506
544
  [x: string]: boolean;
507
545
  }>;
508
546
  static ɵfac: i0.ɵɵFactoryDeclaration<BadgeComponent, never>;
509
- 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>;
510
548
  }
511
549
 
512
550
  /** Visual style of the separator rendered between breadcrumb items. */
@@ -674,14 +712,11 @@ interface Rgb {
674
712
  * `ControlValueAccessor`. Accepts any CSS color string in `writeValue`.
675
713
  */
676
714
  declare class ColorPickerComponent implements ControlValueAccessor {
677
- private readonly hostEl;
678
- private readonly triggerEl;
679
- private readonly popoverEl;
715
+ protected readonly triggerEl: i0.Signal<ElementRef<HTMLButtonElement> | undefined>;
680
716
  private readonly svAreaEl;
681
717
  private readonly hueTrackEl;
682
718
  private readonly alphaTrackEl;
683
719
  private readonly injector;
684
- private readonly destroyRef;
685
720
  protected readonly i18n: EagamiI18nService;
686
721
  readonly label: i0.InputSignal<string | undefined>;
687
722
  readonly placeholder: i0.InputSignal<string | undefined>;
@@ -716,13 +751,6 @@ declare class ColorPickerComponent implements ControlValueAccessor {
716
751
  * can type a partial value (`#1`, `#12`, `#123…`) without each keystroke being
717
752
  * expanded back into a 6-digit canonical form. */
718
753
  readonly hexInputValue: i0.WritableSignal<string>;
719
- /** Pixel position of the popover when open. Calculated from the trigger's
720
- * bounding rect so the popover can use `position: fixed` and escape any
721
- * ancestor with `overflow: hidden`. */
722
- readonly popoverPosition: i0.WritableSignal<{
723
- top: number;
724
- left: number;
725
- } | null>;
726
754
  private readonly _formDisabled;
727
755
  private onChange;
728
756
  private onTouched;
@@ -744,9 +772,14 @@ declare class ColorPickerComponent implements ControlValueAccessor {
744
772
  'ea-color-picker__trigger--open': boolean;
745
773
  'ea-color-picker__trigger--disabled': boolean;
746
774
  }>;
747
- /** True when the browser supports the EyeDropper API. */
748
- readonly hasEyeDropper: i0.Signal<boolean>;
749
- constructor();
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;
750
783
  writeValue(val: ColorPickerValue): void;
751
784
  registerOnChange(fn: (value: string | null) => void): void;
752
785
  registerOnTouched(fn: () => void): void;
@@ -794,13 +827,8 @@ declare class ColorPickerComponent implements ControlValueAccessor {
794
827
  selectPreset(hex: string): void;
795
828
  onTriggerKeydown(event: KeyboardEvent): void;
796
829
  onPopoverKeydown(event: KeyboardEvent): void;
797
- onDocumentClick(event: Event): void;
798
- /**
799
- * Repositions the popover when it would extend past the viewport edges.
800
- * Prefers flipping above the trigger when there's more room there, then
801
- * clamps so the popover always has a small margin from the viewport edges.
802
- */
803
- private clampPopoverToViewport;
830
+ /** Called by `<ea-popover>` when the user clicks outside the picker. */
831
+ onPopoverCloseRequested(): void;
804
832
  private applyHsv;
805
833
  private applyRgba;
806
834
  private commit;
@@ -945,8 +973,7 @@ interface CalendarDay {
945
973
  * Escape). Integrates with Angular forms via `ControlValueAccessor`.
946
974
  */
947
975
  declare class DatePickerComponent implements ControlValueAccessor {
948
- private readonly hostEl;
949
- private readonly triggerEl;
976
+ protected readonly triggerEl: i0.Signal<ElementRef<HTMLButtonElement> | undefined>;
950
977
  private readonly injector;
951
978
  protected readonly i18n: EagamiI18nService;
952
979
  readonly label: i0.InputSignal<string | undefined>;
@@ -1015,7 +1042,8 @@ declare class DatePickerComponent implements ControlValueAccessor {
1015
1042
  goToToday(): void;
1016
1043
  handleTriggerKeydown(event: KeyboardEvent): void;
1017
1044
  handleGridKeydown(event: KeyboardEvent): void;
1018
- onDocumentClick(event: Event): void;
1045
+ /** Called by `<ea-popover>` when the user clicks outside the picker. */
1046
+ onPopoverCloseRequested(): void;
1019
1047
  private formatOptions;
1020
1048
  private toDate;
1021
1049
  private startOfDay;
@@ -1120,12 +1148,11 @@ type DropdownSize = 'sm' | 'md' | 'lg';
1120
1148
  * Single-select dropdown with a custom popup list. Supports keyboard
1121
1149
  * navigation (arrow keys, Enter/Space to select, Escape to close), closes
1122
1150
  * on outside click or viewport scroll/resize, and integrates with Angular
1123
- * forms via `ControlValueAccessor`.
1151
+ * forms via `ControlValueAccessor`. Positioning, dismissal, and SSR-safe
1152
+ * scroll handling are provided by `<ea-popover>`.
1124
1153
  */
1125
1154
  declare class DropdownComponent implements ControlValueAccessor {
1126
1155
  private readonly elRef;
1127
- private readonly menuEl;
1128
- private readonly destroyRef;
1129
1156
  private readonly i18n;
1130
1157
  readonly label: i0.InputSignal<string | undefined>;
1131
1158
  readonly placeholder: i0.InputSignal<string | undefined>;
@@ -1158,7 +1185,6 @@ declare class DropdownComponent implements ControlValueAccessor {
1158
1185
  'ea-dropdown__trigger--open': boolean;
1159
1186
  'ea-dropdown__trigger--disabled': boolean;
1160
1187
  }>;
1161
- constructor();
1162
1188
  writeValue(val: string): void;
1163
1189
  registerOnChange(fn: (value: string) => void): void;
1164
1190
  registerOnTouched(fn: () => void): void;
@@ -1171,9 +1197,10 @@ declare class DropdownComponent implements ControlValueAccessor {
1171
1197
  close(): void;
1172
1198
  /** Moves keyboard focus to the dropdown trigger. */
1173
1199
  focus(): void;
1200
+ /** Called by `<ea-popover>` when the user clicks outside the dropdown. */
1201
+ onPopoverCloseRequested(): void;
1174
1202
  handleKeydown(event: KeyboardEvent): void;
1175
1203
  private moveFocus;
1176
- onDocumentClick(event: Event): void;
1177
1204
  static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, never>;
1178
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>;
1179
1206
  }
@@ -1294,9 +1321,6 @@ declare function iconDisplayName(iconOrSlug: IconComponentType | string): string
1294
1321
  * the full set. For single-icon usage import the component directly (e.g.
1295
1322
  * `import { HomeIconComponent } from '@eagami/ui'`) and the bundler will
1296
1323
  * tree-shake `ICONS` away.
1297
- *
1298
- * Deprecated aliases (e.g. `PencilIconComponent`) are intentionally excluded
1299
- * so they don't surface in generated catalogues.
1300
1324
  */
1301
1325
  declare const ICONS: ReadonlyArray<IconComponentType>;
1302
1326
 
@@ -1388,18 +1412,6 @@ declare class ApertureIconComponent extends IconComponentBase {
1388
1412
  static ɵcmp: i0.ɵɵComponentDeclaration<ApertureIconComponent, "ea-icon-aperture", never, {}, {}, never, never, true, never>;
1389
1413
  }
1390
1414
 
1391
- /**
1392
- * @deprecated Will be removed in v2.0.0. The icon depicts Apple Inc.'s logo,
1393
- * which is more strictly protected than other brand marks. Source the asset
1394
- * directly from Apple per their brand guidelines for use cases like "Sign in
1395
- * with Apple".
1396
- */
1397
- declare class AppleIconComponent extends IconComponentBase {
1398
- readonly brand: i0.InputSignal<boolean>;
1399
- static ɵfac: i0.ɵɵFactoryDeclaration<AppleIconComponent, never>;
1400
- static ɵcmp: i0.ɵɵComponentDeclaration<AppleIconComponent, "ea-icon-apple", never, { "brand": { "alias": "brand"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1401
- }
1402
-
1403
1415
  declare class ArchiveIconComponent extends IconComponentBase {
1404
1416
  static readonly slug = "archive";
1405
1417
  static readonly category: IconCategory;
@@ -2638,6 +2650,14 @@ declare class LayoutIconComponent extends IconComponentBase {
2638
2650
  static ɵcmp: i0.ɵɵComponentDeclaration<LayoutIconComponent, "ea-icon-layout", never, {}, {}, never, never, true, never>;
2639
2651
  }
2640
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
+
2641
2661
  declare class LifeBuoyIconComponent extends IconComponentBase {
2642
2662
  static readonly slug = "life-buoy";
2643
2663
  static readonly category: IconCategory;
@@ -3053,20 +3073,6 @@ declare class PenToolIconComponent extends IconComponentBase {
3053
3073
  static ɵcmp: i0.ɵɵComponentDeclaration<PenToolIconComponent, "ea-icon-pen-tool", never, {}, {}, never, never, true, never>;
3054
3074
  }
3055
3075
 
3056
- /**
3057
- * @deprecated Will be removed in v2.0.0. The `pencil` icon depicts the same
3058
- * mark as Feather's canonical `edit-2` (with a marginally different cap
3059
- * curvature) and is being retired as redundant. Switch to `<ea-icon-edit-2>`
3060
- * / `Edit2IconComponent`.
3061
- */
3062
- declare class PencilIconComponent extends IconComponentBase {
3063
- static readonly slug = "pencil";
3064
- static readonly category: IconCategory;
3065
- static readonly tags: ReadonlyArray<string>;
3066
- static ɵfac: i0.ɵɵFactoryDeclaration<PencilIconComponent, never>;
3067
- static ɵcmp: i0.ɵɵComponentDeclaration<PencilIconComponent, "ea-icon-pencil", never, {}, {}, never, never, true, never>;
3068
- }
3069
-
3070
3076
  declare class PentagonIconComponent extends IconComponentBase {
3071
3077
  static readonly slug = "pentagon";
3072
3078
  static readonly category: IconCategory;
@@ -3277,6 +3283,14 @@ declare class RewindIconComponent extends IconComponentBase {
3277
3283
  static ɵcmp: i0.ɵɵComponentDeclaration<RewindIconComponent, "ea-icon-rewind", never, {}, {}, never, never, true, never>;
3278
3284
  }
3279
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
+
3280
3294
  declare class RotateCcwIconComponent extends IconComponentBase {
3281
3295
  static readonly slug = "rotate-ccw";
3282
3296
  static readonly category: IconCategory;
@@ -4162,7 +4176,8 @@ type MenuPlacement = 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end';
4162
4176
  * Popup action menu attached to any focusable element via the
4163
4177
  * `[eaMenuTrigger]` directive. Supports keyboard navigation
4164
4178
  * (arrow keys, Home/End), closes on outside click or Escape, and restores
4165
- * 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>`.
4166
4181
  */
4167
4182
  declare class MenuComponent {
4168
4183
  private readonly injector;
@@ -4179,12 +4194,8 @@ declare class MenuComponent {
4179
4194
  readonly opened: i0.OutputEmitterRef<void>;
4180
4195
  /** Fires when the menu closes. */
4181
4196
  readonly closed: i0.OutputEmitterRef<void>;
4182
- private triggerEl;
4183
- private readonly triggerRect;
4184
- readonly listClasses: i0.Signal<{
4185
- [x: string]: boolean;
4186
- }>;
4187
- 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>;
4188
4199
  /** Toggles the menu open state, anchoring it to the given trigger element. */
4189
4200
  toggleAt(triggerEl: HTMLElement): void;
4190
4201
  /** Opens the menu anchored to the given trigger element and focuses the first item. */
@@ -4195,6 +4206,8 @@ declare class MenuComponent {
4195
4206
  * not used on outside click, where the user has chosen a new focus target).
4196
4207
  */
4197
4208
  close(restoreFocus?: boolean): void;
4209
+ /** Called by `<ea-popover>` when the user clicks outside the menu. */
4210
+ onPopoverCloseRequested(): void;
4198
4211
  private getEnabledItems;
4199
4212
  /**
4200
4213
  * `preventScroll: true` is critical here. The menu list is `position: fixed`
@@ -4208,9 +4221,7 @@ declare class MenuComponent {
4208
4221
  */
4209
4222
  private focusFirstItem;
4210
4223
  onKeydown(event: KeyboardEvent): void;
4211
- onDocumentClick(event: Event): void;
4212
4224
  onEscape(): void;
4213
- onViewportChange(): void;
4214
4225
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, never>;
4215
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>;
4216
4227
  }
@@ -4247,6 +4258,116 @@ declare class MenuTriggerDirective {
4247
4258
  static ɵdir: i0.ɵɵDirectiveDeclaration<MenuTriggerDirective, "[eaMenuTrigger]", never, { "menu": { "alias": "eaMenuTrigger"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
4248
4259
  }
4249
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
+
4250
4371
  /** Horizontal alignment of paginator controls within their container. */
4251
4372
  type PaginatorAlign = 'left' | 'center' | 'right';
4252
4373
  /** Snapshot of the paginator's page and page size. */
@@ -4289,6 +4410,141 @@ declare class PaginatorComponent {
4289
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>;
4290
4411
  }
4291
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
+
4292
4548
  /** Semantic colour scheme of the progress bar. */
4293
4549
  type ProgressBarVariant = 'default' | 'success' | 'warning' | 'error' | 'info';
4294
4550
  /** Visual height of the progress bar. */
@@ -4382,6 +4638,81 @@ declare class RadioComponent {
4382
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>;
4383
4639
  }
4384
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
+
4385
4716
  /** Visual size of the segmented control. */
4386
4717
  type SegmentedSize = 'sm' | 'md' | 'lg';
4387
4718
  /**
@@ -4531,6 +4862,71 @@ declare class SpinnerComponent {
4531
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>;
4532
4863
  }
4533
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
+
4534
4930
  /** Visual size of the switch. */
4535
4931
  type SwitchSize = 'sm' | 'md' | 'lg';
4536
4932
  /**
@@ -4704,6 +5100,165 @@ declare class TextareaComponent implements ControlValueAccessor {
4704
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>;
4705
5101
  }
4706
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
+
4707
5262
  /** Semantic colour scheme of a toast. */
4708
5263
  type ToastVariant = 'default' | 'success' | 'warning' | 'error' | 'info';
4709
5264
  /** A single live toast notification rendered by `ea-toast`. */
@@ -4797,5 +5352,5 @@ declare class TooltipDirective implements OnDestroy {
4797
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>;
4798
5353
  }
4799
5354
 
4800
- export { AccordionComponent, AccordionItemComponent, ActivityIconComponent, AirplayIconComponent, AlertCircleIconComponent, AlertComponent, AlertOctagonIconComponent, AlertTriangleIconComponent, AlignCenterIconComponent, AlignJustifyIconComponent, AlignLeftIconComponent, AlignRightIconComponent, AnchorIconComponent, ApertureIconComponent, AppleIconComponent, 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, 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, MusicIconComponent, Navigation2IconComponent, NavigationIconComponent, NetlifyIconComponent, NotionIconComponent, NpmIconComponent, OctagonIconComponent, PackageIconComponent, PaginatorComponent, PaperclipIconComponent, PauseCircleIconComponent, PauseIconComponent, PaypalIconComponent, PenToolIconComponent, PencilIconComponent, PentagonIconComponent, PercentIconComponent, PhoneCallIconComponent, PhoneForwardedIconComponent, PhoneIconComponent, PhoneIncomingIconComponent, PhoneMissedIconComponent, PhoneOffIconComponent, PhoneOutgoingIconComponent, PieChartIconComponent, PlayCircleIconComponent, PlayIconComponent, PlusCircleIconComponent, PlusIconComponent, PlusSquareIconComponent, PocketIconComponent, PowerIconComponent, PrinterIconComponent, ProgressBarComponent, RadioComponent, RadioGroupComponent, RadioIconComponent, RectangleHorizontalIconComponent, RectangleVerticalIconComponent, RedditIconComponent, RefreshCcwIconComponent, RefreshCwIconComponent, RepeatIconComponent, RewindIconComponent, 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, StopCircleIconComponent, StripeIconComponent, SunIconComponent, SunriseIconComponent, SunsetIconComponent, SwitchComponent, TabComponent, TableIconComponent, TabletIconComponent, TabsComponent, TagComponent, TagIconComponent, TargetIconComponent, TerminalIconComponent, TextareaComponent, ThermometerIconComponent, ThumbsDownIconComponent, ThumbsUpIconComponent, 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, el, en, esES, frFR, frenchSpacing, iconDisplayName, pl, provideEagamiUi };
4801
- export type { AlertVariant, AutocompleteSize, AvatarEditorCropEvent, AvatarEditorCropState, AvatarEditorShape, AvatarShape, AvatarSize, 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, 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 };