@eagami/ui 2.12.0 → 3.1.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.
@@ -7,8 +7,12 @@ import * as _eagami_ui from '@eagami/ui';
7
7
  * BCP 47 locale tags supported out of the box. Consumers select one of these
8
8
  * via `provideEagamiUi({ locale })` or `EagamiI18nService.setLocale()`.
9
9
  */
10
- type EagamiLocale = 'en' | 'fr-FR' | 'el' | 'pl' | 'es-ES';
11
- /** Ordered list of every supported locale, handy for language switchers. */
10
+ type EagamiLocale = 'en' | 'fr-FR' | 'el' | 'pl' | 'es-ES' | 'de' | 'pt-BR' | 'zh-CN' | 'is' | 'nl';
11
+ /**
12
+ * Supported locales for language switchers: English pinned first (default
13
+ * fallback), then alphabetical by each language's own name (Latin scripts
14
+ * first, then Greek and Chinese).
15
+ */
12
16
  declare const EAGAMI_LOCALES: readonly EagamiLocale[];
13
17
  /**
14
18
  * Every user-facing string baked into the component library, grouped by
@@ -170,6 +174,16 @@ interface EagamiMessages {
170
174
  expand: string;
171
175
  collapse: string;
172
176
  };
177
+ validation: {
178
+ required: string;
179
+ email: string;
180
+ min: (min: number) => string;
181
+ max: (max: number) => string;
182
+ minlength: (requiredLength: number) => string;
183
+ maxlength: (requiredLength: number) => string;
184
+ pattern: string;
185
+ invalid: string;
186
+ };
173
187
  wordmark: {
174
188
  overline: string;
175
189
  tagline: string;
@@ -536,6 +550,8 @@ declare class AutocompleteComponent implements ControlValueAccessor {
536
550
  readonly required: _angular_core.InputSignal<boolean>;
537
551
  readonly hint: _angular_core.InputSignal<string | undefined>;
538
552
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
553
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
554
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
539
555
  readonly minLength: _angular_core.InputSignal<number>;
540
556
  readonly maxResults: _angular_core.InputSignal<number>;
541
557
  readonly emptyMessage: _angular_core.InputSignal<string | undefined>;
@@ -557,6 +573,8 @@ declare class AutocompleteComponent implements ControlValueAccessor {
557
573
  private onChange;
558
574
  private onTouched;
559
575
  readonly isDisabled: _angular_core.Signal<boolean>;
576
+ private readonly errorState;
577
+ readonly errorText: _angular_core.Signal<string | null>;
560
578
  readonly hasError: _angular_core.Signal<boolean>;
561
579
  readonly showError: _angular_core.Signal<boolean>;
562
580
  readonly showHint: _angular_core.Signal<boolean>;
@@ -590,7 +608,7 @@ declare class AutocompleteComponent implements ControlValueAccessor {
590
608
  focus(): void;
591
609
  private moveFocus;
592
610
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AutocompleteComponent, never>;
593
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AutocompleteComponent, "ea-autocomplete", 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; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "maxResults": { "alias": "maxResults"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "selected": "selected"; "changed": "changed"; "focused": "focused"; "blurred": "blurred"; }, never, ["[slot=prefix]", "[slot=suffix]"], true, never>;
611
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AutocompleteComponent, "ea-autocomplete", 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; }; "errorMessages": { "alias": "errorMessages"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "maxResults": { "alias": "maxResults"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "selected": "selected"; "changed": "changed"; "focused": "focused"; "blurred": "blurred"; }, never, ["[slot=prefix]", "[slot=suffix]"], true, never>;
594
612
  }
595
613
 
596
614
  /** Crop mask shape applied to the exported image. */
@@ -890,6 +908,8 @@ declare class CheckboxComponent implements ControlValueAccessor {
890
908
  readonly count: _angular_core.InputSignal<string | number | undefined>;
891
909
  readonly hint: _angular_core.InputSignal<string | undefined>;
892
910
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
911
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
912
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
893
913
  readonly size: _angular_core.InputSignal<EaSize>;
894
914
  readonly disabled: _angular_core.InputSignal<boolean>;
895
915
  readonly required: _angular_core.InputSignal<boolean>;
@@ -901,6 +921,8 @@ declare class CheckboxComponent implements ControlValueAccessor {
901
921
  readonly changed: _angular_core.OutputEmitterRef<boolean>;
902
922
  private readonly _formDisabled;
903
923
  readonly isDisabled: _angular_core.Signal<boolean>;
924
+ private readonly errorState;
925
+ readonly errorText: _angular_core.Signal<string | null>;
904
926
  readonly hasError: _angular_core.Signal<boolean>;
905
927
  readonly showError: _angular_core.Signal<boolean>;
906
928
  readonly showHint: _angular_core.Signal<boolean>;
@@ -919,7 +941,7 @@ declare class CheckboxComponent implements ControlValueAccessor {
919
941
  setDisabledState(isDisabled: boolean): void;
920
942
  handleChange(): void;
921
943
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CheckboxComponent, never>;
922
- static ɵcmp: _angular_core.ɵɵ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>;
944
+ static ɵcmp: _angular_core.ɵɵ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; }; "errorMessages": { "alias": "errorMessages"; "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>;
923
945
  }
924
946
 
925
947
  /**
@@ -1073,6 +1095,8 @@ declare class ColorPickerComponent implements ControlValueAccessor {
1073
1095
  readonly required: _angular_core.InputSignal<boolean>;
1074
1096
  readonly hint: _angular_core.InputSignal<string | undefined>;
1075
1097
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
1098
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
1099
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
1076
1100
  /** Whether to show the alpha slider. When `false` the emitted value always has alpha = 1. */
1077
1101
  readonly showAlpha: _angular_core.InputSignal<boolean>;
1078
1102
  /** Output format. `all` lets the user cycle hex/rgb/hsl in the popover; a specific value locks it. */
@@ -1104,6 +1128,8 @@ declare class ColorPickerComponent implements ControlValueAccessor {
1104
1128
  private onChange;
1105
1129
  private onTouched;
1106
1130
  readonly isDisabled: _angular_core.Signal<boolean>;
1131
+ private readonly errorState;
1132
+ readonly errorText: _angular_core.Signal<string | null>;
1107
1133
  readonly hasError: _angular_core.Signal<boolean>;
1108
1134
  readonly showError: _angular_core.Signal<boolean>;
1109
1135
  readonly showHint: _angular_core.Signal<boolean>;
@@ -1195,7 +1221,7 @@ declare class ColorPickerComponent implements ControlValueAccessor {
1195
1221
  private commit;
1196
1222
  private refreshHexInput;
1197
1223
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorPickerComponent, never>;
1198
- static ɵcmp: _angular_core.ɵɵ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>;
1224
+ static ɵcmp: _angular_core.ɵɵ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; }; "errorMessages": { "alias": "errorMessages"; "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>;
1199
1225
  }
1200
1226
 
1201
1227
  /** Vertical density preset for table rows and header cells. */
@@ -1278,6 +1304,8 @@ declare class CodeInputComponent implements ControlValueAccessor {
1278
1304
  readonly size: _angular_core.InputSignal<EaSize>;
1279
1305
  readonly hint: _angular_core.InputSignal<string | undefined>;
1280
1306
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
1307
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
1308
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
1281
1309
  readonly disabled: _angular_core.InputSignal<boolean>;
1282
1310
  readonly readonly: _angular_core.InputSignal<boolean>;
1283
1311
  readonly required: _angular_core.InputSignal<boolean>;
@@ -1292,6 +1320,8 @@ declare class CodeInputComponent implements ControlValueAccessor {
1292
1320
  private onChange;
1293
1321
  private onTouched;
1294
1322
  readonly isDisabled: _angular_core.Signal<boolean>;
1323
+ private readonly errorState;
1324
+ readonly errorText: _angular_core.Signal<string | null>;
1295
1325
  readonly hasError: _angular_core.Signal<boolean>;
1296
1326
  readonly showError: _angular_core.Signal<boolean>;
1297
1327
  readonly showHint: _angular_core.Signal<boolean>;
@@ -1312,7 +1342,7 @@ declare class CodeInputComponent implements ControlValueAccessor {
1312
1342
  private sanitize;
1313
1343
  private focusDigit;
1314
1344
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CodeInputComponent, never>;
1315
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CodeInputComponent, "ea-code-input", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "length": { "alias": "length"; "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; }; "allowAllChars": { "alias": "allowAllChars"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "completed": "completed"; }, never, never, true, never>;
1345
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CodeInputComponent, "ea-code-input", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "length": { "alias": "length"; "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; }; "errorMessages": { "alias": "errorMessages"; "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; }; "allowAllChars": { "alias": "allowAllChars"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "completed": "completed"; }, never, never, true, never>;
1316
1346
  }
1317
1347
 
1318
1348
  /** Visual size of the date picker trigger. */
@@ -1351,6 +1381,8 @@ declare class DatePickerComponent implements ControlValueAccessor {
1351
1381
  readonly required: _angular_core.InputSignal<boolean>;
1352
1382
  readonly hint: _angular_core.InputSignal<string | undefined>;
1353
1383
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
1384
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
1385
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
1354
1386
  readonly minDate: _angular_core.InputSignal<Date | null>;
1355
1387
  readonly maxDate: _angular_core.InputSignal<Date | null>;
1356
1388
  readonly format: _angular_core.InputSignal<DatePickerFormat>;
@@ -1368,6 +1400,8 @@ declare class DatePickerComponent implements ControlValueAccessor {
1368
1400
  private onChange;
1369
1401
  private onTouched;
1370
1402
  readonly isDisabled: _angular_core.Signal<boolean>;
1403
+ private readonly errorState;
1404
+ readonly errorText: _angular_core.Signal<string | null>;
1371
1405
  readonly hasError: _angular_core.Signal<boolean>;
1372
1406
  readonly showError: _angular_core.Signal<boolean>;
1373
1407
  readonly showHint: _angular_core.Signal<boolean>;
@@ -1420,13 +1454,11 @@ declare class DatePickerComponent implements ControlValueAccessor {
1420
1454
  private addDays;
1421
1455
  private addMonths;
1422
1456
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatePickerComponent, never>;
1423
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatePickerComponent, "ea-date-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; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "weekStartsOn": { "alias": "weekStartsOn"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "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>;
1457
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatePickerComponent, "ea-date-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; }; "errorMessages": { "alias": "errorMessages"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "weekStartsOn": { "alias": "weekStartsOn"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "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>;
1424
1458
  }
1425
1459
 
1426
1460
  /** Width preset of the dialog panel. */
1427
1461
  type DialogWidth = EaWidth;
1428
- /** @deprecated Use `DialogWidth` instead. Will be removed in v3.0.0. */
1429
- type DialogSize = DialogWidth;
1430
1462
  /**
1431
1463
  * Modal dialog backed by the native `<dialog>` element. Uses `showModal()`
1432
1464
  * for browser-managed focus trapping, supports backdrop and Escape dismissal,
@@ -1437,11 +1469,7 @@ declare class DialogComponent {
1437
1469
  private readonly dialogEl;
1438
1470
  private previouslyFocused;
1439
1471
  protected readonly i18n: EagamiI18nService;
1440
- readonly width: _angular_core.InputSignal<EaWidth | undefined>;
1441
- /**
1442
- * @deprecated Use `width` instead. Will be removed in v3.0.0.
1443
- */
1444
- readonly size: _angular_core.InputSignal<EaWidth>;
1472
+ readonly width: _angular_core.InputSignal<EaWidth>;
1445
1473
  readonly closeOnBackdrop: _angular_core.InputSignal<boolean>;
1446
1474
  readonly closeOnEscape: _angular_core.InputSignal<boolean>;
1447
1475
  readonly showClose: _angular_core.InputSignal<boolean>;
@@ -1452,8 +1480,6 @@ declare class DialogComponent {
1452
1480
  readonly opened: _angular_core.OutputEmitterRef<void>;
1453
1481
  /** Fires when the dialog closes (via close button, backdrop, or Escape). */
1454
1482
  readonly closed: _angular_core.OutputEmitterRef<void>;
1455
- /** Effective panel width, preferring `width` over the deprecated `size`. */
1456
- readonly resolvedWidth: _angular_core.Signal<EaWidth>;
1457
1483
  readonly panelClasses: _angular_core.Signal<{
1458
1484
  [x: string]: boolean;
1459
1485
  }>;
@@ -1462,7 +1488,7 @@ declare class DialogComponent {
1462
1488
  handleBackdropClick(event: MouseEvent): void;
1463
1489
  handleCancel(event: Event): void;
1464
1490
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DialogComponent, never>;
1465
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogComponent, "ea-dialog", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "closeOnBackdrop": { "alias": "closeOnBackdrop"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "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, ["[slot=header]", "*", "[slot=footer]"], true, never>;
1491
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogComponent, "ea-dialog", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "closeOnBackdrop": { "alias": "closeOnBackdrop"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "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, ["[slot=header]", "*", "[slot=footer]"], true, never>;
1466
1492
  }
1467
1493
 
1468
1494
  /** Orientation of the divider rule. */
@@ -1489,8 +1515,6 @@ declare class DividerComponent {
1489
1515
  type DrawerPosition = 'left' | 'right' | 'top' | 'bottom';
1490
1516
  /** Width of the drawer panel along its primary axis. */
1491
1517
  type DrawerWidth = EaWidth;
1492
- /** @deprecated Use `DrawerWidth` instead. Will be removed in v3.0.0. */
1493
- type DrawerSize = DrawerWidth;
1494
1518
  /**
1495
1519
  * Side panel backed by the native `<dialog>` element for browser-managed
1496
1520
  * focus trapping. Slides in from a configurable edge, supports backdrop and
@@ -1502,11 +1526,7 @@ declare class DrawerComponent {
1502
1526
  private previouslyFocused;
1503
1527
  protected readonly i18n: EagamiI18nService;
1504
1528
  readonly position: _angular_core.InputSignal<DrawerPosition>;
1505
- readonly width: _angular_core.InputSignal<EaWidth | undefined>;
1506
- /**
1507
- * @deprecated Use `width` instead. Will be removed in v3.0.0.
1508
- */
1509
- readonly size: _angular_core.InputSignal<EaWidth>;
1529
+ readonly width: _angular_core.InputSignal<EaWidth>;
1510
1530
  readonly closeOnBackdrop: _angular_core.InputSignal<boolean>;
1511
1531
  readonly closeOnEscape: _angular_core.InputSignal<boolean>;
1512
1532
  /** Slide the panel in from its edge when the drawer opens. */
@@ -1519,8 +1539,6 @@ declare class DrawerComponent {
1519
1539
  readonly opened: _angular_core.OutputEmitterRef<void>;
1520
1540
  /** Fires when the drawer closes (via close button, backdrop, or Escape). */
1521
1541
  readonly closed: _angular_core.OutputEmitterRef<void>;
1522
- /** Effective panel width, preferring `width` over the deprecated `size`. */
1523
- readonly resolvedWidth: _angular_core.Signal<EaWidth>;
1524
1542
  readonly panelClasses: _angular_core.Signal<{
1525
1543
  [x: string]: boolean;
1526
1544
  }>;
@@ -1530,7 +1548,7 @@ declare class DrawerComponent {
1530
1548
  handleCancel(event: Event): void;
1531
1549
  onDialogClose(): void;
1532
1550
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerComponent, never>;
1533
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DrawerComponent, "ea-drawer", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "closeOnBackdrop": { "alias": "closeOnBackdrop"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "animated": { "alias": "animated"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "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, ["[slot=header]", "*", "[slot=footer]"], true, never>;
1551
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DrawerComponent, "ea-drawer", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "closeOnBackdrop": { "alias": "closeOnBackdrop"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "animated": { "alias": "animated"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "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, ["[slot=header]", "*", "[slot=footer]"], true, never>;
1534
1552
  }
1535
1553
 
1536
1554
  /** Visual size of the dropdown trigger. */
@@ -1554,6 +1572,8 @@ declare class DropdownComponent implements ControlValueAccessor {
1554
1572
  readonly required: _angular_core.InputSignal<boolean>;
1555
1573
  readonly hint: _angular_core.InputSignal<string | undefined>;
1556
1574
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
1575
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
1576
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
1557
1577
  readonly id: _angular_core.InputSignal<string>;
1558
1578
  readonly value: _angular_core.ModelSignal<string>;
1559
1579
  /** Fires with the new value when the user selects an option. */
@@ -1564,6 +1584,8 @@ declare class DropdownComponent implements ControlValueAccessor {
1564
1584
  private onChange;
1565
1585
  private onTouched;
1566
1586
  readonly isDisabled: _angular_core.Signal<boolean>;
1587
+ private readonly errorState;
1588
+ readonly errorText: _angular_core.Signal<string | null>;
1567
1589
  readonly hasError: _angular_core.Signal<boolean>;
1568
1590
  readonly showError: _angular_core.Signal<boolean>;
1569
1591
  readonly showHint: _angular_core.Signal<boolean>;
@@ -1596,13 +1618,11 @@ declare class DropdownComponent implements ControlValueAccessor {
1596
1618
  handleKeydown(event: KeyboardEvent): void;
1597
1619
  private moveFocus;
1598
1620
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropdownComponent, never>;
1599
- static ɵcmp: _angular_core.ɵɵ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>;
1621
+ static ɵcmp: _angular_core.ɵɵ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; }; "errorMessages": { "alias": "errorMessages"; "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>;
1600
1622
  }
1601
1623
 
1602
1624
  /** Content variant: `default` is the bare wordmark, `byline` adds the handcrafted-by line, `tagline` adds the tagline. */
1603
1625
  type EagamiWordmarkVariant = 'default' | 'byline' | 'tagline';
1604
- /** @deprecated Numeric variants (1, 2, 3) alias `default`/`byline`/`tagline`. Removed in v3.0.0. */
1605
- type EagamiWordmarkVariantLegacy = 1 | 2 | 3;
1606
1626
  /** Layout of the wordmark: `stacked` for multi-line, `inline` for a single line with em-dash separators. */
1607
1627
  type EagamiWordmarkLayout = 'stacked' | 'inline';
1608
1628
  /**
@@ -1612,15 +1632,10 @@ type EagamiWordmarkLayout = 'stacked' | 'inline';
1612
1632
  */
1613
1633
  declare class EagamiWordmarkComponent {
1614
1634
  protected readonly i18n: EagamiI18nService;
1615
- /**
1616
- * Content variant. The numeric values `1`/`2`/`3` are accepted as deprecated
1617
- * aliases for `default`/`byline`/`tagline` and are removed in v3.0.0.
1618
- */
1619
- readonly variant: _angular_core.InputSignal<EagamiWordmarkVariant | EagamiWordmarkVariantLegacy>;
1635
+ /** Content variant. */
1636
+ readonly variant: _angular_core.InputSignal<EagamiWordmarkVariant>;
1620
1637
  readonly layout: _angular_core.InputSignal<EagamiWordmarkLayout>;
1621
1638
  readonly size: _angular_core.InputSignal<number>;
1622
- /** Collapses the deprecated numeric variants to the string form. */
1623
- private readonly resolvedVariant;
1624
1639
  /** Clamps size to a 10px floor and falls back to the default when cleared. */
1625
1640
  protected readonly resolvedSize: _angular_core.Signal<number>;
1626
1641
  protected readonly showOverline: _angular_core.Signal<boolean>;
@@ -1674,6 +1689,16 @@ declare class FieldMessagesComponent {
1674
1689
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FieldMessagesComponent, "ea-field-messages", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1675
1690
  }
1676
1691
 
1692
+ /** Validator error keys the library ships built-in localized messages for. */
1693
+ type EaValidationErrorKey = 'required' | 'email' | 'min' | 'max' | 'minlength' | 'maxlength' | 'pattern';
1694
+ /**
1695
+ * Per-error-key message overrides for a form control. Keys are validator error
1696
+ * names (`required`, `email`, or any custom validator key); values are the text
1697
+ * shown when that error is the active one. Keys left unset fall back to the
1698
+ * library's localized default message.
1699
+ */
1700
+ type EaErrorMessages = Partial<Record<string, string>>;
1701
+
1677
1702
  /** Visual size of the file uploader. */
1678
1703
  type FileUploaderSize = EaSize;
1679
1704
  /** Reason a file was rejected during selection. */
@@ -1707,6 +1732,8 @@ declare class FileUploaderComponent implements ControlValueAccessor {
1707
1732
  readonly label: _angular_core.InputSignal<string | undefined>;
1708
1733
  readonly hint: _angular_core.InputSignal<string | undefined>;
1709
1734
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
1735
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
1736
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
1710
1737
  readonly size: _angular_core.InputSignal<EaSize>;
1711
1738
  readonly disabled: _angular_core.InputSignal<boolean>;
1712
1739
  readonly required: _angular_core.InputSignal<boolean>;
@@ -1738,6 +1765,8 @@ declare class FileUploaderComponent implements ControlValueAccessor {
1738
1765
  private onChange;
1739
1766
  private onTouched;
1740
1767
  protected readonly isDisabled: _angular_core.Signal<boolean>;
1768
+ private readonly errorState;
1769
+ protected readonly errorText: _angular_core.Signal<string | null>;
1741
1770
  protected readonly hasError: _angular_core.Signal<boolean>;
1742
1771
  protected readonly showError: _angular_core.Signal<boolean>;
1743
1772
  protected readonly showHint: _angular_core.Signal<boolean>;
@@ -1775,7 +1804,7 @@ declare class FileUploaderComponent implements ControlValueAccessor {
1775
1804
  /** Stable track key for the `@for` over `value()`. */
1776
1805
  protected trackFile(_index: number, file: File): string;
1777
1806
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileUploaderComponent, never>;
1778
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploaderComponent, "ea-file-uploader", never, { "label": { "alias": "label"; "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; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "maxSize": { "alias": "maxSize"; "required": false; "isSignal": true; }; "maxFiles": { "alias": "maxFiles"; "required": false; "isSignal": true; }; "showFileList": { "alias": "showFileList"; "required": false; "isSignal": true; }; "progress": { "alias": "progress"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "rejected": "rejected"; "fileRemoved": "fileRemoved"; }, never, ["[icon]"], true, never>;
1807
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploaderComponent, "ea-file-uploader", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "errorMessages": { "alias": "errorMessages"; "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; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "maxSize": { "alias": "maxSize"; "required": false; "isSignal": true; }; "maxFiles": { "alias": "maxFiles"; "required": false; "isSignal": true; }; "showFileList": { "alias": "showFileList"; "required": false; "isSignal": true; }; "progress": { "alias": "progress"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "rejected": "rejected"; "fileRemoved": "fileRemoved"; }, never, ["[icon]"], true, never>;
1779
1808
  }
1780
1809
 
1781
1810
  /** Visual size of the input. */
@@ -1806,6 +1835,8 @@ declare class InputComponent implements ControlValueAccessor {
1806
1835
  readonly hint: _angular_core.InputSignal<string | undefined>;
1807
1836
  /** Error message shown below the field; replaces the hint and flags the field invalid. */
1808
1837
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
1838
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
1839
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
1809
1840
  /** Disables the field. */
1810
1841
  readonly disabled: _angular_core.InputSignal<boolean>;
1811
1842
  /** Renders the field read-only. */
@@ -1847,6 +1878,8 @@ declare class InputComponent implements ControlValueAccessor {
1847
1878
  private onTouched;
1848
1879
  readonly isDisabled: _angular_core.Signal<boolean>;
1849
1880
  readonly effectiveType: _angular_core.Signal<InputType>;
1881
+ private readonly errorState;
1882
+ readonly errorText: _angular_core.Signal<string | null>;
1850
1883
  readonly hasError: _angular_core.Signal<boolean>;
1851
1884
  readonly showError: _angular_core.Signal<boolean>;
1852
1885
  readonly showHint: _angular_core.Signal<boolean>;
@@ -1881,7 +1914,7 @@ declare class InputComponent implements ControlValueAccessor {
1881
1914
  /** Moves keyboard focus to the underlying native input element. */
1882
1915
  focus(): void;
1883
1916
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputComponent, never>;
1884
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputComponent, "ea-input", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "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; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "list": { "alias": "list"; "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; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "showPasswordToggle": { "alias": "showPasswordToggle"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "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, ["[slot=prefix]", "[slot=suffix]"], true, never>;
1917
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputComponent, "ea-input", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "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; }; "errorMessages": { "alias": "errorMessages"; "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; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "list": { "alias": "list"; "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; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "showPasswordToggle": { "alias": "showPasswordToggle"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "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, ["[slot=prefix]", "[slot=suffix]"], true, never>;
1885
1918
  }
1886
1919
 
1887
1920
  /** Placement of the menu list relative to its trigger. */
@@ -1898,6 +1931,8 @@ declare class MenuComponent {
1898
1931
  private readonly i18n;
1899
1932
  private readonly listEl;
1900
1933
  readonly placement: _angular_core.InputSignal<MenuPlacement>;
1934
+ /** Max height of the scrollable list as a CSS length; tall menus scroll past it. */
1935
+ readonly maxHeight: _angular_core.InputSignal<string>;
1901
1936
  readonly disabled: _angular_core.InputSignal<boolean>;
1902
1937
  readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
1903
1938
  readonly id: _angular_core.InputSignal<string>;
@@ -1937,7 +1972,7 @@ declare class MenuComponent {
1937
1972
  onKeydown(event: KeyboardEvent): void;
1938
1973
  onEscape(): void;
1939
1974
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuComponent, never>;
1940
- static ɵcmp: _angular_core.ɵɵ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>;
1975
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuComponent, "ea-menu", never, { "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "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>;
1941
1976
  }
1942
1977
 
1943
1978
  /** Visual style of a menu item; `danger` for destructive actions. */
@@ -1997,6 +2032,8 @@ declare class MultiSelectComponent implements ControlValueAccessor {
1997
2032
  readonly required: _angular_core.InputSignal<boolean>;
1998
2033
  readonly hint: _angular_core.InputSignal<string | undefined>;
1999
2034
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
2035
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
2036
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
2000
2037
  /** Toggle the search input at the top of the popover. */
2001
2038
  readonly searchable: _angular_core.InputSignal<boolean>;
2002
2039
  /** Toggle the "Select all" row at the top of the option list. */
@@ -2016,6 +2053,8 @@ declare class MultiSelectComponent implements ControlValueAccessor {
2016
2053
  private onChange;
2017
2054
  private onTouched;
2018
2055
  readonly isDisabled: _angular_core.Signal<boolean>;
2056
+ private readonly errorState;
2057
+ readonly errorText: _angular_core.Signal<string | null>;
2019
2058
  readonly hasError: _angular_core.Signal<boolean>;
2020
2059
  readonly showError: _angular_core.Signal<boolean>;
2021
2060
  readonly showHint: _angular_core.Signal<boolean>;
@@ -2085,7 +2124,7 @@ declare class MultiSelectComponent implements ControlValueAccessor {
2085
2124
  private resetEditState;
2086
2125
  private commit;
2087
2126
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MultiSelectComponent, never>;
2088
- static ɵcmp: _angular_core.ɵɵ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>;
2127
+ static ɵcmp: _angular_core.ɵɵ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; }; "errorMessages": { "alias": "errorMessages"; "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>;
2089
2128
  }
2090
2129
 
2091
2130
  /** Horizontal alignment of paginator controls within their container. */
@@ -2302,12 +2341,8 @@ declare class ProgressBarComponent {
2302
2341
  readonly label: _angular_core.InputSignal<string | undefined>;
2303
2342
  /** Shows the rounded percentage alongside the label. */
2304
2343
  readonly showPercentage: _angular_core.InputSignal<boolean>;
2305
- /**
2306
- * @deprecated Use `showPercentage` instead. Will be removed in v3.0.0.
2307
- */
2308
- readonly showValue: _angular_core.InputSignal<boolean>;
2309
2344
  readonly indeterminate: _angular_core.InputSignal<boolean>;
2310
- /** Whether to render the percentage (honours the deprecated `showValue` alias). */
2345
+ /** Whether to render the percentage. */
2311
2346
  readonly showsPercentage: _angular_core.Signal<boolean>;
2312
2347
  readonly percentage: _angular_core.Signal<number>;
2313
2348
  readonly percentageRounded: _angular_core.Signal<number>;
@@ -2316,7 +2351,7 @@ declare class ProgressBarComponent {
2316
2351
  'ea-progress-bar--indeterminate': boolean;
2317
2352
  }>;
2318
2353
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgressBarComponent, never>;
2319
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgressBarComponent, "ea-progress-bar", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "showPercentage": { "alias": "showPercentage"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2354
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgressBarComponent, "ea-progress-bar", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "showPercentage": { "alias": "showPercentage"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2320
2355
  }
2321
2356
 
2322
2357
  /** Visual size shared by all radios in the group. */
@@ -2338,12 +2373,16 @@ declare class RadioGroupComponent implements ControlValueAccessor {
2338
2373
  readonly label: _angular_core.InputSignal<string | undefined>;
2339
2374
  readonly hint: _angular_core.InputSignal<string | undefined>;
2340
2375
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
2376
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
2377
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
2341
2378
  readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
2342
2379
  readonly value: _angular_core.ModelSignal<string>;
2343
2380
  /** Fires with the new value when an option is selected. */
2344
2381
  readonly changed: _angular_core.OutputEmitterRef<string>;
2345
2382
  private readonly _formDisabled;
2346
2383
  readonly isDisabled: _angular_core.Signal<boolean>;
2384
+ private readonly errorState;
2385
+ readonly errorText: _angular_core.Signal<string | null>;
2347
2386
  readonly hasError: _angular_core.Signal<boolean>;
2348
2387
  readonly showError: _angular_core.Signal<boolean>;
2349
2388
  readonly showHint: _angular_core.Signal<boolean>;
@@ -2356,7 +2395,7 @@ declare class RadioGroupComponent implements ControlValueAccessor {
2356
2395
  /** Programmatically selects the option with the given value. */
2357
2396
  select(val: string): void;
2358
2397
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadioGroupComponent, never>;
2359
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioGroupComponent, "ea-radio-group", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, never, ["*"], true, never>;
2398
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioGroupComponent, "ea-radio-group", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "errorMessages": { "alias": "errorMessages"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, never, ["*"], true, never>;
2360
2399
  }
2361
2400
 
2362
2401
  /**
@@ -2407,6 +2446,8 @@ declare class RangeSliderComponent implements ControlValueAccessor {
2407
2446
  readonly label: _angular_core.InputSignal<string | undefined>;
2408
2447
  readonly hint: _angular_core.InputSignal<string | undefined>;
2409
2448
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
2449
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
2450
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
2410
2451
  readonly min: _angular_core.InputSignal<number>;
2411
2452
  readonly max: _angular_core.InputSignal<number>;
2412
2453
  readonly step: _angular_core.InputSignal<number>;
@@ -2437,6 +2478,8 @@ declare class RangeSliderComponent implements ControlValueAccessor {
2437
2478
  readonly highPercent: _angular_core.Signal<number>;
2438
2479
  /** Formats a value for display, grouping thousands with commas unless a custom `formatValue` is set. */
2439
2480
  protected formatDisplay(value: number): string;
2481
+ private readonly errorState;
2482
+ readonly errorText: _angular_core.Signal<string | null>;
2440
2483
  readonly hasError: _angular_core.Signal<boolean>;
2441
2484
  readonly showError: _angular_core.Signal<boolean>;
2442
2485
  readonly showHint: _angular_core.Signal<boolean>;
@@ -2460,7 +2503,7 @@ declare class RangeSliderComponent implements ControlValueAccessor {
2460
2503
  /** Snap to step, clamp to `[min, max]`, then constrain by the opposite thumb. */
2461
2504
  private commitThumb;
2462
2505
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RangeSliderComponent, never>;
2463
- static ɵcmp: _angular_core.ɵɵ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; }; "groupThousands": { "alias": "groupThousands"; "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>;
2506
+ static ɵcmp: _angular_core.ɵɵ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; }; "errorMessages": { "alias": "errorMessages"; "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; }; "groupThousands": { "alias": "groupThousands"; "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>;
2464
2507
  }
2465
2508
 
2466
2509
  /** Per-position render state, computed from the current display value. */
@@ -2489,6 +2532,8 @@ declare class RatingComponent implements ControlValueAccessor {
2489
2532
  readonly label: _angular_core.InputSignal<string | undefined>;
2490
2533
  readonly hint: _angular_core.InputSignal<string | undefined>;
2491
2534
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
2535
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
2536
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
2492
2537
  readonly size: _angular_core.InputSignal<EaSize>;
2493
2538
  readonly min: _angular_core.InputSignal<number>;
2494
2539
  readonly max: _angular_core.InputSignal<number>;
@@ -2514,6 +2559,8 @@ declare class RatingComponent implements ControlValueAccessor {
2514
2559
  private onTouched;
2515
2560
  protected readonly isDisabled: _angular_core.Signal<boolean>;
2516
2561
  protected readonly isInteractive: _angular_core.Signal<boolean>;
2562
+ private readonly errorState;
2563
+ protected readonly errorText: _angular_core.Signal<string | null>;
2517
2564
  protected readonly hasError: _angular_core.Signal<boolean>;
2518
2565
  protected readonly showError: _angular_core.Signal<boolean>;
2519
2566
  protected readonly showHint: _angular_core.Signal<boolean>;
@@ -2552,7 +2599,7 @@ declare class RatingComponent implements ControlValueAccessor {
2552
2599
  private clamp;
2553
2600
  private computePointerValue;
2554
2601
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RatingComponent, never>;
2555
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RatingComponent, "ea-rating", never, { "label": { "alias": "label"; "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; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "allowHalf": { "alias": "allowHalf"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "iconClass": { "alias": "iconClass"; "required": false; "isSignal": true; }; "halfIconClass": { "alias": "halfIconClass"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "hoverChanged": "hoverChanged"; }, never, never, true, never>;
2602
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RatingComponent, "ea-rating", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "errorMessages": { "alias": "errorMessages"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "allowHalf": { "alias": "allowHalf"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "iconClass": { "alias": "iconClass"; "required": false; "isSignal": true; }; "halfIconClass": { "alias": "halfIconClass"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "hoverChanged": "hoverChanged"; }, never, never, true, never>;
2556
2603
  }
2557
2604
 
2558
2605
  /** Visual size of the segmented control. */
@@ -2569,6 +2616,8 @@ declare class SegmentedComponent implements ControlValueAccessor {
2569
2616
  readonly label: _angular_core.InputSignal<string | undefined>;
2570
2617
  readonly hint: _angular_core.InputSignal<string | undefined>;
2571
2618
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
2619
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
2620
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
2572
2621
  readonly size: _angular_core.InputSignal<EaSize>;
2573
2622
  readonly disabled: _angular_core.InputSignal<boolean>;
2574
2623
  readonly required: _angular_core.InputSignal<boolean>;
@@ -2582,6 +2631,8 @@ declare class SegmentedComponent implements ControlValueAccessor {
2582
2631
  private onChange;
2583
2632
  private onTouched;
2584
2633
  readonly isDisabled: _angular_core.Signal<boolean>;
2634
+ private readonly errorState;
2635
+ readonly errorText: _angular_core.Signal<string | null>;
2585
2636
  readonly hasError: _angular_core.Signal<boolean>;
2586
2637
  readonly showError: _angular_core.Signal<boolean>;
2587
2638
  readonly showHint: _angular_core.Signal<boolean>;
@@ -2602,7 +2653,7 @@ declare class SegmentedComponent implements ControlValueAccessor {
2602
2653
  select(option: SelectOption): void;
2603
2654
  handleKeydown(event: KeyboardEvent, index: number): void;
2604
2655
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SegmentedComponent, never>;
2605
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SegmentedComponent, "ea-segmented", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "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; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "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>;
2656
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SegmentedComponent, "ea-segmented", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "errorMessages": { "alias": "errorMessages"; "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; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "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>;
2606
2657
  }
2607
2658
 
2608
2659
  /** Shape preset of a skeleton placeholder. */
@@ -2639,6 +2690,8 @@ declare class SliderComponent implements ControlValueAccessor {
2639
2690
  readonly label: _angular_core.InputSignal<string | undefined>;
2640
2691
  readonly hint: _angular_core.InputSignal<string | undefined>;
2641
2692
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
2693
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
2694
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
2642
2695
  /** Force the error-state styling without binding `errorMsg`. Lets consumers
2643
2696
  * render the error text themselves (e.g. above the slider in a form layout)
2644
2697
  * while still getting the built-in recolour of the fill and thumb. */
@@ -2668,6 +2721,8 @@ declare class SliderComponent implements ControlValueAccessor {
2668
2721
  readonly percent: _angular_core.Signal<number>;
2669
2722
  /** Formats a value for display, grouping thousands with commas unless a custom `formatValue` is set. */
2670
2723
  protected formatDisplay(value: number): string;
2724
+ private readonly errorState;
2725
+ readonly errorText: _angular_core.Signal<string | null>;
2671
2726
  readonly errored: _angular_core.Signal<boolean>;
2672
2727
  readonly showError: _angular_core.Signal<boolean>;
2673
2728
  readonly showHint: _angular_core.Signal<boolean>;
@@ -2689,7 +2744,7 @@ declare class SliderComponent implements ControlValueAccessor {
2689
2744
  private updateFromPointer;
2690
2745
  private commitValue;
2691
2746
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SliderComponent, never>;
2692
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SliderComponent, "ea-slider", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "hasError": { "alias": "hasError"; "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; }; "groupThousands": { "alias": "groupThousands"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "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>;
2747
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SliderComponent, "ea-slider", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "errorMessages": { "alias": "errorMessages"; "required": false; "isSignal": true; }; "hasError": { "alias": "hasError"; "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; }; "groupThousands": { "alias": "groupThousands"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "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>;
2693
2748
  }
2694
2749
 
2695
2750
  /** Visual size of the spinner. */
@@ -2788,6 +2843,8 @@ declare class SwitchComponent implements ControlValueAccessor {
2788
2843
  readonly label: _angular_core.InputSignal<string | undefined>;
2789
2844
  readonly hint: _angular_core.InputSignal<string | undefined>;
2790
2845
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
2846
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
2847
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
2791
2848
  readonly size: _angular_core.InputSignal<EaSize>;
2792
2849
  readonly disabled: _angular_core.InputSignal<boolean>;
2793
2850
  readonly required: _angular_core.InputSignal<boolean>;
@@ -2800,6 +2857,8 @@ declare class SwitchComponent implements ControlValueAccessor {
2800
2857
  private onChange;
2801
2858
  private onTouched;
2802
2859
  readonly isDisabled: _angular_core.Signal<boolean>;
2860
+ private readonly errorState;
2861
+ readonly errorText: _angular_core.Signal<string | null>;
2803
2862
  readonly hasError: _angular_core.Signal<boolean>;
2804
2863
  readonly showError: _angular_core.Signal<boolean>;
2805
2864
  readonly showHint: _angular_core.Signal<boolean>;
@@ -2815,7 +2874,7 @@ declare class SwitchComponent implements ControlValueAccessor {
2815
2874
  setDisabledState(isDisabled: boolean): void;
2816
2875
  handleChange(): void;
2817
2876
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SwitchComponent, never>;
2818
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SwitchComponent, "ea-switch", never, { "label": { "alias": "label"; "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; }; "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>;
2877
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SwitchComponent, "ea-switch", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "errorMessages": { "alias": "errorMessages"; "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; }; "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>;
2819
2878
  }
2820
2879
 
2821
2880
  /**
@@ -2900,7 +2959,7 @@ type TextareaSize = EaSize;
2900
2959
  type TextareaResize = 'none' | 'vertical' | 'horizontal' | 'both';
2901
2960
  /**
2902
2961
  * Multiline text field that mirrors the `ea-input` API. Supports configurable
2903
- * `rows`, `resize` direction, and `maxlength`, and integrates with Angular
2962
+ * `resize` direction and `maxlength`, and integrates with Angular
2904
2963
  * forms via `ControlValueAccessor`.
2905
2964
  */
2906
2965
  declare class TextareaComponent implements ControlValueAccessor {
@@ -2910,21 +2969,18 @@ declare class TextareaComponent implements ControlValueAccessor {
2910
2969
  readonly size: _angular_core.InputSignal<EaSize>;
2911
2970
  readonly hint: _angular_core.InputSignal<string | undefined>;
2912
2971
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
2972
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
2973
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
2913
2974
  readonly disabled: _angular_core.InputSignal<boolean>;
2914
2975
  readonly readonly: _angular_core.InputSignal<boolean>;
2915
2976
  readonly required: _angular_core.InputSignal<boolean>;
2916
- /**
2917
- * @deprecated Use `maxHeight` and the `resize` handle to control height; this
2918
- * sets the initial height only. Will be removed in v3.0.0.
2919
- */
2920
- readonly rows: _angular_core.InputSignal<number>;
2921
2977
  readonly resize: _angular_core.InputSignal<TextareaResize>;
2922
2978
  readonly maxlength: _angular_core.InputSignal<number | undefined>;
2923
2979
  /** Optional pixel ceiling for the textarea's height. Beyond it, the inner
2924
2980
  * field scrolls vertically instead of growing. */
2925
2981
  readonly maxHeight: _angular_core.InputSignal<number | undefined>;
2926
2982
  /** Optional pixel floor for the textarea's height. Clamped so it never drops
2927
- * below the height implied by `rows`. */
2983
+ * below the default height. */
2928
2984
  readonly minHeight: _angular_core.InputSignal<number | undefined>;
2929
2985
  readonly id: _angular_core.InputSignal<string>;
2930
2986
  readonly value: _angular_core.ModelSignal<string>;
@@ -2937,6 +2993,8 @@ declare class TextareaComponent implements ControlValueAccessor {
2937
2993
  private onChange;
2938
2994
  private onTouched;
2939
2995
  readonly isDisabled: _angular_core.Signal<boolean>;
2996
+ private readonly errorState;
2997
+ readonly errorText: _angular_core.Signal<string | null>;
2940
2998
  readonly hasError: _angular_core.Signal<boolean>;
2941
2999
  readonly showError: _angular_core.Signal<boolean>;
2942
3000
  readonly showHint: _angular_core.Signal<boolean>;
@@ -2958,7 +3016,7 @@ declare class TextareaComponent implements ControlValueAccessor {
2958
3016
  /** Moves keyboard focus to the underlying native textarea element. */
2959
3017
  focus(): void;
2960
3018
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextareaComponent, never>;
2961
- static ɵcmp: _angular_core.ɵɵ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; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "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>;
3019
+ static ɵcmp: _angular_core.ɵɵ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; }; "errorMessages": { "alias": "errorMessages"; "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; }; "resize": { "alias": "resize"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "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>;
2962
3020
  }
2963
3021
 
2964
3022
  /** Visual size of the time picker trigger. */
@@ -3002,6 +3060,8 @@ declare class TimePickerComponent implements ControlValueAccessor {
3002
3060
  readonly required: _angular_core.InputSignal<boolean>;
3003
3061
  readonly hint: _angular_core.InputSignal<string | undefined>;
3004
3062
  readonly errorMsg: _angular_core.InputSignal<string | undefined>;
3063
+ /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
3064
+ readonly errorMessages: _angular_core.InputSignal<Partial<Record<string, string>> | undefined>;
3005
3065
  /** Display format for the trigger label. Wire value is always 24h. */
3006
3066
  readonly format: _angular_core.InputSignal<TimePickerFormat>;
3007
3067
  readonly includeSeconds: _angular_core.InputSignal<boolean>;
@@ -3026,6 +3086,8 @@ declare class TimePickerComponent implements ControlValueAccessor {
3026
3086
  private holdIntervalTimer;
3027
3087
  private holdStartedAt;
3028
3088
  readonly isDisabled: _angular_core.Signal<boolean>;
3089
+ private readonly errorState;
3090
+ readonly errorText: _angular_core.Signal<string | null>;
3029
3091
  readonly hasError: _angular_core.Signal<boolean>;
3030
3092
  readonly showError: _angular_core.Signal<boolean>;
3031
3093
  readonly showHint: _angular_core.Signal<boolean>;
@@ -3120,7 +3182,7 @@ declare class TimePickerComponent implements ControlValueAccessor {
3120
3182
  private nextUnit;
3121
3183
  private commit;
3122
3184
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TimePickerComponent, never>;
3123
- static ɵcmp: _angular_core.ɵɵ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>;
3185
+ static ɵcmp: _angular_core.ɵɵ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; }; "errorMessages": { "alias": "errorMessages"; "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>;
3124
3186
  }
3125
3187
 
3126
3188
  /** Semantic colour scheme of a toast. */
@@ -6311,4 +6373,4 @@ declare class ZoomOutIconComponent extends IconComponentBase {
6311
6373
  }
6312
6374
 
6313
6375
  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, CommandPaletteComponent, CompassIconComponent, CopyIconComponent, CornerDownLeftIconComponent, CornerDownRightIconComponent, CornerLeftDownIconComponent, CornerLeftUpIconComponent, CornerRightDownIconComponent, CornerRightUpIconComponent, CornerUpLeftIconComponent, CornerUpRightIconComponent, CpuIconComponent, CreditCardIconComponent, CropIconComponent, CrosshairIconComponent, DEFAULT_PALETTE_ROLES, 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, FieldLabelComponent, FieldMessagesComponent, Figma2IconComponent, FigmaIconComponent, FileIconComponent, FileMinusIconComponent, FilePlusIconComponent, FileTextIconComponent, FileUploaderComponent, FilmIconComponent, FilterIconComponent, FlagIconComponent, FolderIconComponent, FolderMinusIconComponent, FolderPlusIconComponent, FramerIconComponent, FrownIconComponent, GiftIconComponent, GitBranchIconComponent, GitCommitIconComponent, GitMergeIconComponent, GitPullRequestIconComponent, Github2IconComponent, GithubIconComponent, GitlabIconComponent, GlobeIconComponent, GoogleIconComponent, GridIconComponent, HalfCircleIconComponent, HalfHeartIconComponent, 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, RatingComponent, 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, TransferListComponent, Trash2IconComponent, TrashIconComponent, TreeComponent, 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, VirtualListComponent, VoicemailIconComponent, Volume1IconComponent, Volume2IconComponent, VolumeIconComponent, VolumeXIconComponent, WCAG_AA, WatchIconComponent, WifiIconComponent, WifiOffIconComponent, WindIconComponent, XCircleIconComponent, XIconComponent, XOctagonIconComponent, XSquareIconComponent, XTwitterIconComponent, Youtube2IconComponent, YoutubeIconComponent, ZapIconComponent, ZapOffIconComponent, ZoomInIconComponent, ZoomOutIconComponent, applyPalette, computePopoverPosition, contrastRatio, derivePalette, el, en, esES, formatViolations, frFR, frenchSpacing, hexToOklch, iconDisplayName, oklchToHex, pl, provideEagamiUi, relativeLuminance, validatePalette, visibleNodeIds, walkTree };
6314
- export type { AlertSize, 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, CommandPaletteItem, ContrastSurfaces, ContrastViolation, DataTableColumn, DataTableDensity, DataTableSortDirection, DataTableSortState, DatePickerFormat, DatePickerSize, DatePickerValue, DatePickerWeekStart, DerivedPalette, DialogSize, DialogWidth, DividerOrientation, DrawerPosition, DrawerSize, DrawerWidth, DropdownSize, EaSize, EaWidth, EagamiI18nConfig, EagamiLocale, EagamiMessages, EagamiMessagesOverride, EagamiPaletteConfig, EagamiWordmarkLayout, EagamiWordmarkVariant, EagamiWordmarkVariantLegacy, EmptyStateHeadingLevel, EmptyStateSize, FileUploaderRejection, FileUploaderRejectionReason, FileUploaderSize, IconCategory, IconComponentType, IconMeta, InputSize, InputType, MenuItemVariant, MenuPlacement, ModePalette, ModeSurfaces, MultiSelectSize, PaginatorAlign, PaginatorSize, PaginatorState, PaletteConfig, PaletteRoles, PaletteShade, PopoverPlacement, PopoverPositionOptions, PopoverPositionResult, PopoverRole, PopoverScrollBehavior, ProgressBarSize, ProgressBarVariant, RadioOrientation, RadioSize, RangeSliderSize, RangeSliderValue, RatingSize, RatingStarState, SegmentedSize, SelectOption, SkeletonVariant, SliderSize, SpinnerSize, StepperSize, SwitchSize, TabsSize, TabsVariant, TagSize, TagVariant, TextareaResize, TextareaSize, TimePickerFormat, TimePickerSize, Toast, ToastOptions, ToastPosition, ToastVariant, TooltipPosition, TransferListItem, TransferListSize, TreeNode, TreeSize, VirtualListItemContext };
6376
+ export type { AlertSize, 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, CommandPaletteItem, ContrastSurfaces, ContrastViolation, DataTableColumn, DataTableDensity, DataTableSortDirection, DataTableSortState, DatePickerFormat, DatePickerSize, DatePickerValue, DatePickerWeekStart, DerivedPalette, DialogWidth, DividerOrientation, DrawerPosition, DrawerWidth, DropdownSize, EaErrorMessages, EaSize, EaValidationErrorKey, EaWidth, EagamiI18nConfig, EagamiLocale, EagamiMessages, EagamiMessagesOverride, EagamiPaletteConfig, EagamiWordmarkLayout, EagamiWordmarkVariant, EmptyStateHeadingLevel, EmptyStateSize, FileUploaderRejection, FileUploaderRejectionReason, FileUploaderSize, IconCategory, IconComponentType, IconMeta, InputSize, InputType, MenuItemVariant, MenuPlacement, ModePalette, ModeSurfaces, MultiSelectSize, PaginatorAlign, PaginatorSize, PaginatorState, PaletteConfig, PaletteRoles, PaletteShade, PopoverPlacement, PopoverPositionOptions, PopoverPositionResult, PopoverRole, PopoverScrollBehavior, ProgressBarSize, ProgressBarVariant, RadioOrientation, RadioSize, RangeSliderSize, RangeSliderValue, RatingSize, RatingStarState, SegmentedSize, SelectOption, SkeletonVariant, SliderSize, SpinnerSize, StepperSize, SwitchSize, TabsSize, TabsVariant, TagSize, TagVariant, TextareaResize, TextareaSize, TimePickerFormat, TimePickerSize, Toast, ToastOptions, ToastPosition, ToastVariant, TooltipPosition, TransferListItem, TransferListSize, TreeNode, TreeSize, VirtualListItemContext };