@eagami/ui 5.71.0 → 5.71.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eagami/ui",
3
- "version": "5.71.0",
3
+ "version": "5.71.1",
4
4
  "description": "Lightweight, accessible, themeable Angular UI component library and icon set built on CSS custom properties",
5
5
  "author": "Michal Wiraszka <michal@eagami.com>",
6
6
  "license": "MIT",
@@ -1,6 +1,27 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import { AfterContentChecked, ElementRef, EnvironmentProviders, InjectionToken, Injector, OnDestroy, OnInit, Signal, TemplateRef, Type } from "@angular/core";
3
3
  import { AbstractControl, ControlValueAccessor } from "@angular/forms";
4
+ /**
5
+ * When a form component shows its validation error.
6
+ *
7
+ * - `'change'`: once the user changes the field and leaves it, or submits the
8
+ * form. A field the user tabs past stays quiet, and a new error waits until
9
+ * focus leaves the field.
10
+ * - `'touch'`: as soon as the user leaves the field, even unchanged, and live
11
+ * while they edit it after that.
12
+ */
13
+ type EaShowErrorsOn = 'change' | 'touch';
14
+ /**
15
+ * App-wide defaults for form components, set through
16
+ * `provideEagamiUi({ forms })`. A form component's own `showErrorsOn` input
17
+ * wins over these for that one field.
18
+ */
19
+ interface EagamiFormsConfig {
20
+ /** When form components show their validation errors; `'change'` by default. */
21
+ showErrorsOn?: EaShowErrorsOn;
22
+ }
23
+ /** DI token carrying the consumer-supplied form defaults. */
24
+ declare const EAGAMI_FORMS_CONFIG: InjectionToken<EagamiFormsConfig>;
4
25
  /**
5
26
  * BCP 47 locale tags supported out of the box. Consumers select one of these
6
27
  * via `provideEagamiUi({ locale })` or `EagamiI18nService.setLocale()`.
@@ -391,8 +412,8 @@ export interface ModePalette {
391
412
  }
392
413
  /**
393
414
  * Full provider configuration for `provideEagamiUi()`. Extends the i18n config
394
- * with an optional brand palette; omit `palette` to keep the un-themed SCSS
395
- * defaults.
415
+ * with an optional brand palette and form error timing; omit `palette` to keep
416
+ * the un-themed SCSS defaults.
396
417
  */
397
418
  export interface EagamiUiConfig extends EagamiI18nConfig {
398
419
  /**
@@ -401,6 +422,11 @@ export interface EagamiUiConfig extends EagamiI18nConfig {
401
422
  * pairing. A contrast violation throws at bootstrap.
402
423
  */
403
424
  palette?: EagamiPaletteConfig;
425
+ /**
426
+ * App-wide defaults for form components, such as `showErrorsOn` for when
427
+ * they show their validation errors. Omit it to keep the `'change'` default.
428
+ */
429
+ forms?: EagamiFormsConfig;
404
430
  }
405
431
  /**
406
432
  * Configures Eagami UI for the application.
@@ -924,6 +950,8 @@ export declare class AutocompleteComponent implements ControlValueAccessor {
924
950
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
925
951
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
926
952
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
953
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
954
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
927
955
  readonly minLength: import("@angular/core").InputSignal<number>;
928
956
  /** Maximum number of characters the input accepts (native `maxlength`). */
929
957
  readonly maxLength: import("@angular/core").InputSignal<number | undefined>;
@@ -1061,6 +1089,11 @@ export declare class AutocompleteComponent implements ControlValueAccessor {
1061
1089
  "required": false;
1062
1090
  "isSignal": true;
1063
1091
  };
1092
+ "showErrorsOn": {
1093
+ "alias": "showErrorsOn";
1094
+ "required": false;
1095
+ "isSignal": true;
1096
+ };
1064
1097
  "minLength": {
1065
1098
  "alias": "minLength";
1066
1099
  "required": false;
@@ -2167,6 +2200,8 @@ export declare class CheckboxComponent implements ControlValueAccessor {
2167
2200
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
2168
2201
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
2169
2202
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
2203
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
2204
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
2170
2205
  readonly size: import("@angular/core").InputSignal<EaSize>;
2171
2206
  /**
2172
2207
  * Ellipsize a label too long for the space the checkbox is given, revealing
@@ -2234,6 +2269,11 @@ export declare class CheckboxComponent implements ControlValueAccessor {
2234
2269
  "required": false;
2235
2270
  "isSignal": true;
2236
2271
  };
2272
+ "showErrorsOn": {
2273
+ "alias": "showErrorsOn";
2274
+ "required": false;
2275
+ "isSignal": true;
2276
+ };
2237
2277
  "size": {
2238
2278
  "alias": "size";
2239
2279
  "required": false;
@@ -2550,6 +2590,8 @@ export declare class ColorPickerComponent implements ControlValueAccessor {
2550
2590
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
2551
2591
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
2552
2592
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
2593
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
2594
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
2553
2595
  /** Whether to show the alpha slider. When `false` the emitted value always has alpha = 1. */
2554
2596
  readonly showAlpha: import("@angular/core").InputSignal<boolean>;
2555
2597
  /** Whether to show the clear button when a value is set. */
@@ -2764,6 +2806,11 @@ export declare class ColorPickerComponent implements ControlValueAccessor {
2764
2806
  "required": false;
2765
2807
  "isSignal": true;
2766
2808
  };
2809
+ "showErrorsOn": {
2810
+ "alias": "showErrorsOn";
2811
+ "required": false;
2812
+ "isSignal": true;
2813
+ };
2767
2814
  "showAlpha": {
2768
2815
  "alias": "showAlpha";
2769
2816
  "required": false;
@@ -3571,6 +3618,8 @@ export declare class CodeInputComponent implements ControlValueAccessor {
3571
3618
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
3572
3619
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
3573
3620
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
3621
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
3622
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
3574
3623
  readonly disabled: import("@angular/core").InputSignal<boolean>;
3575
3624
  readonly readonly: import("@angular/core").InputSignal<boolean>;
3576
3625
  readonly required: import("@angular/core").InputSignal<boolean>;
@@ -3663,6 +3712,11 @@ export declare class CodeInputComponent implements ControlValueAccessor {
3663
3712
  "required": false;
3664
3713
  "isSignal": true;
3665
3714
  };
3715
+ "showErrorsOn": {
3716
+ "alias": "showErrorsOn";
3717
+ "required": false;
3718
+ "isSignal": true;
3719
+ };
3666
3720
  "disabled": {
3667
3721
  "alias": "disabled";
3668
3722
  "required": false;
@@ -3753,6 +3807,8 @@ export declare class DatePickerComponent implements ControlValueAccessor {
3753
3807
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
3754
3808
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
3755
3809
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
3810
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
3811
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
3756
3812
  readonly minDate: import("@angular/core").InputSignal<Date | null>;
3757
3813
  readonly maxDate: import("@angular/core").InputSignal<Date | null>;
3758
3814
  /** Weekdays that cannot be picked, numbered as `Date.getDay()` does: 0 for Sunday through 6 for Saturday. */
@@ -3925,6 +3981,11 @@ export declare class DatePickerComponent implements ControlValueAccessor {
3925
3981
  "required": false;
3926
3982
  "isSignal": true;
3927
3983
  };
3984
+ "showErrorsOn": {
3985
+ "alias": "showErrorsOn";
3986
+ "required": false;
3987
+ "isSignal": true;
3988
+ };
3928
3989
  "minDate": {
3929
3990
  "alias": "minDate";
3930
3991
  "required": false;
@@ -4418,6 +4479,8 @@ export declare class DropdownComponent implements ControlValueAccessor {
4418
4479
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
4419
4480
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
4420
4481
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
4482
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
4483
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
4421
4484
  readonly id: import("@angular/core").InputSignal<string>;
4422
4485
  readonly value: import("@angular/core").ModelSignal<string>;
4423
4486
  /** Fires with the new value when the user selects an option or clears the selection. */
@@ -4573,6 +4636,11 @@ export declare class DropdownComponent implements ControlValueAccessor {
4573
4636
  "required": false;
4574
4637
  "isSignal": true;
4575
4638
  };
4639
+ "showErrorsOn": {
4640
+ "alias": "showErrorsOn";
4641
+ "required": false;
4642
+ "isSignal": true;
4643
+ };
4576
4644
  "id": {
4577
4645
  "alias": "id";
4578
4646
  "required": false;
@@ -4818,6 +4886,8 @@ export declare class FormFieldComponent {
4818
4886
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
4819
4887
  /** Per-validator-key message overrides for the projected form control (e.g. `{ required: '...' }`). */
4820
4888
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
4889
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
4890
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
4821
4891
  /** Marks the field as required. */
4822
4892
  readonly required: import("@angular/core").InputSignal<boolean>;
4823
4893
  /** Visual size of the field; the label, control text, spacing, and messages scale with it. */
@@ -4872,6 +4942,11 @@ export declare class FormFieldComponent {
4872
4942
  "required": false;
4873
4943
  "isSignal": true;
4874
4944
  };
4945
+ "showErrorsOn": {
4946
+ "alias": "showErrorsOn";
4947
+ "required": false;
4948
+ "isSignal": true;
4949
+ };
4875
4950
  "required": {
4876
4951
  "alias": "required";
4877
4952
  "required": false;
@@ -4904,6 +4979,8 @@ interface ControlErrorStateConfig {
4904
4979
  errorMsg: Signal<string | null | undefined>;
4905
4980
  /** Per-error-key overrides for auto-derived validation messages. */
4906
4981
  errorMessages: Signal<EaErrorMessages | undefined>;
4982
+ /** Field-level `showErrorsOn`; `undefined` falls back to the app-wide `forms` config. */
4983
+ showErrorsOn?: Signal<EaShowErrorsOn | undefined>;
4907
4984
  }
4908
4985
  interface ControlErrorState {
4909
4986
  /** Error text to display, or `null` when the field is valid or untouched. */
@@ -4917,14 +4994,15 @@ interface ControlErrorState {
4917
4994
  * default for the active `ValidationErrors` key.
4918
4995
  *
4919
4996
  * Auto-derived messages surface only once the bound control is `invalid &&
4920
- * touched`, and a new one waits while focus is still inside the field, until
4921
- * the user leaves it or submits the form, so nothing is flagged mid-edit. A
4922
- * field the user only passed through, leaving it without changing it, stays
4923
- * quiet until they change it or the form is submitted, so tabbing past an
4924
- * empty required field never flags it. A
4925
- * message already showing follows the value as it is typed and clears the
4926
- * moment it is fixed. A message revealed by a pointer press moving focus away
4927
- * waits until that press has landed its click. The control arrives as a signal
4997
+ * touched`. Under the default `showErrorsOn: 'change'`, a new one waits while
4998
+ * focus is still inside the field, until the user leaves it or submits the
4999
+ * form, so nothing is flagged mid-edit, and a field the user only passed
5000
+ * through, leaving it without changing it, stays quiet until they change it or
5001
+ * the form is submitted, so tabbing past an empty required field never flags
5002
+ * it. `'touch'` drops both holds. A message already showing follows the value
5003
+ * as it is typed and clears the moment it is fixed. A message revealed by a
5004
+ * pointer press moving focus away waits until that press has landed its click,
5005
+ * in either mode. The control arrives as a signal
4928
5006
  * so callers decide how it is resolved: from the host's own `NgControl` (CVA
4929
5007
  * components) or from projected content (`<ea-form-field>`).
4930
5008
  */
@@ -5000,6 +5078,8 @@ export declare class FileUploaderComponent implements ControlValueAccessor {
5000
5078
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
5001
5079
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
5002
5080
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
5081
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
5082
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
5003
5083
  readonly size: import("@angular/core").InputSignal<EaSize>;
5004
5084
  /**
5005
5085
  * `dropzone` renders the drag-and-drop area; `button` renders a compact
@@ -5149,6 +5229,11 @@ export declare class FileUploaderComponent implements ControlValueAccessor {
5149
5229
  "required": false;
5150
5230
  "isSignal": true;
5151
5231
  };
5232
+ "showErrorsOn": {
5233
+ "alias": "showErrorsOn";
5234
+ "required": false;
5235
+ "isSignal": true;
5236
+ };
5152
5237
  "size": {
5153
5238
  "alias": "size";
5154
5239
  "required": false;
@@ -5314,6 +5399,8 @@ export declare class InputComponent implements ControlValueAccessor {
5314
5399
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
5315
5400
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
5316
5401
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
5402
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
5403
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
5317
5404
  /** Disables the field. */
5318
5405
  readonly disabled: import("@angular/core").InputSignal<boolean>;
5319
5406
  /** Renders the field read-only. */
@@ -5493,6 +5580,11 @@ export declare class InputComponent implements ControlValueAccessor {
5493
5580
  "required": false;
5494
5581
  "isSignal": true;
5495
5582
  };
5583
+ "showErrorsOn": {
5584
+ "alias": "showErrorsOn";
5585
+ "required": false;
5586
+ "isSignal": true;
5587
+ };
5496
5588
  "disabled": {
5497
5589
  "alias": "disabled";
5498
5590
  "required": false;
@@ -6057,6 +6149,8 @@ export declare class MultiSelectComponent implements ControlValueAccessor {
6057
6149
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
6058
6150
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
6059
6151
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
6152
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
6153
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
6060
6154
  /** Toggle the search input at the top of the popover. */
6061
6155
  readonly searchable: import("@angular/core").InputSignal<boolean>;
6062
6156
  /** Toggle the "Select all" row at the top of the option list. */
@@ -6301,6 +6395,11 @@ export declare class MultiSelectComponent implements ControlValueAccessor {
6301
6395
  "required": false;
6302
6396
  "isSignal": true;
6303
6397
  };
6398
+ "showErrorsOn": {
6399
+ "alias": "showErrorsOn";
6400
+ "required": false;
6401
+ "isSignal": true;
6402
+ };
6304
6403
  "searchable": {
6305
6404
  "alias": "searchable";
6306
6405
  "required": false;
@@ -6381,6 +6480,8 @@ export declare class NumberInputComponent implements ControlValueAccessor {
6381
6480
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
6382
6481
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
6383
6482
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
6483
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
6484
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
6384
6485
  /** Disables the field. */
6385
6486
  readonly disabled: import("@angular/core").InputSignal<boolean>;
6386
6487
  /** Renders the field read-only. */
@@ -6494,6 +6595,11 @@ export declare class NumberInputComponent implements ControlValueAccessor {
6494
6595
  "required": false;
6495
6596
  "isSignal": true;
6496
6597
  };
6598
+ "showErrorsOn": {
6599
+ "alias": "showErrorsOn";
6600
+ "required": false;
6601
+ "isSignal": true;
6602
+ };
6497
6603
  "disabled": {
6498
6604
  "alias": "disabled";
6499
6605
  "required": false;
@@ -6985,6 +7091,8 @@ export declare class RadioGroupComponent implements ControlValueAccessor {
6985
7091
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
6986
7092
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
6987
7093
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
7094
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
7095
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
6988
7096
  readonly ariaLabel: import("@angular/core").InputSignal<string | undefined>;
6989
7097
  /** Space-separated ids of the elements whose text names the group, such as a label outside the component. */
6990
7098
  readonly ariaLabelledby: import("@angular/core").InputSignal<string | undefined>;
@@ -7073,6 +7181,11 @@ export declare class RadioGroupComponent implements ControlValueAccessor {
7073
7181
  "required": false;
7074
7182
  "isSignal": true;
7075
7183
  };
7184
+ "showErrorsOn": {
7185
+ "alias": "showErrorsOn";
7186
+ "required": false;
7187
+ "isSignal": true;
7188
+ };
7076
7189
  "ariaLabel": {
7077
7190
  "alias": "aria-label";
7078
7191
  "required": false;
@@ -7170,6 +7283,8 @@ export declare class RangeSliderComponent implements ControlValueAccessor {
7170
7283
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
7171
7284
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
7172
7285
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
7286
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
7287
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
7173
7288
  readonly min: import("@angular/core").InputSignal<number>;
7174
7289
  readonly max: import("@angular/core").InputSignal<number>;
7175
7290
  readonly step: import("@angular/core").InputSignal<number>;
@@ -7268,6 +7383,11 @@ export declare class RangeSliderComponent implements ControlValueAccessor {
7268
7383
  "required": false;
7269
7384
  "isSignal": true;
7270
7385
  };
7386
+ "showErrorsOn": {
7387
+ "alias": "showErrorsOn";
7388
+ "required": false;
7389
+ "isSignal": true;
7390
+ };
7271
7391
  "min": {
7272
7392
  "alias": "min";
7273
7393
  "required": false;
@@ -7384,6 +7504,8 @@ export declare class RatingComponent implements ControlValueAccessor {
7384
7504
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
7385
7505
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
7386
7506
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
7507
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
7508
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
7387
7509
  readonly size: import("@angular/core").InputSignal<EaSize>;
7388
7510
  readonly min: import("@angular/core").InputSignal<number>;
7389
7511
  readonly max: import("@angular/core").InputSignal<number>;
@@ -7490,6 +7612,11 @@ export declare class RatingComponent implements ControlValueAccessor {
7490
7612
  "required": false;
7491
7613
  "isSignal": true;
7492
7614
  };
7615
+ "showErrorsOn": {
7616
+ "alias": "showErrorsOn";
7617
+ "required": false;
7618
+ "isSignal": true;
7619
+ };
7493
7620
  "size": {
7494
7621
  "alias": "size";
7495
7622
  "required": false;
@@ -7577,6 +7704,8 @@ export declare class SegmentedComponent implements ControlValueAccessor {
7577
7704
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
7578
7705
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
7579
7706
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
7707
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
7708
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
7580
7709
  readonly size: import("@angular/core").InputSignal<EaSize>;
7581
7710
  readonly disabled: import("@angular/core").InputSignal<boolean>;
7582
7711
  readonly required: import("@angular/core").InputSignal<boolean>;
@@ -7657,6 +7786,11 @@ export declare class SegmentedComponent implements ControlValueAccessor {
7657
7786
  "required": false;
7658
7787
  "isSignal": true;
7659
7788
  };
7789
+ "showErrorsOn": {
7790
+ "alias": "showErrorsOn";
7791
+ "required": false;
7792
+ "isSignal": true;
7793
+ };
7660
7794
  "size": {
7661
7795
  "alias": "size";
7662
7796
  "required": false;
@@ -7759,6 +7893,8 @@ export declare class SliderComponent implements ControlValueAccessor {
7759
7893
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
7760
7894
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
7761
7895
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
7896
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
7897
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
7762
7898
  /** Force the error-state styling without binding `errorMsg`. Lets consumers
7763
7899
  * render the error text themselves (e.g. above the slider in a form layout)
7764
7900
  * while still getting the built-in recolour of the fill and thumb. */
@@ -7859,6 +7995,11 @@ export declare class SliderComponent implements ControlValueAccessor {
7859
7995
  "required": false;
7860
7996
  "isSignal": true;
7861
7997
  };
7998
+ "showErrorsOn": {
7999
+ "alias": "showErrorsOn";
8000
+ "required": false;
8001
+ "isSignal": true;
8002
+ };
7862
8003
  "hasError": {
7863
8004
  "alias": "hasError";
7864
8005
  "required": false;
@@ -8292,6 +8433,8 @@ export declare class SwitchComponent implements ControlValueAccessor {
8292
8433
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
8293
8434
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
8294
8435
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
8436
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
8437
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
8295
8438
  readonly size: import("@angular/core").InputSignal<EaSize>;
8296
8439
  /**
8297
8440
  * Status tone for the track: a tinted wash with a toned border while off and
@@ -8352,6 +8495,11 @@ export declare class SwitchComponent implements ControlValueAccessor {
8352
8495
  "required": false;
8353
8496
  "isSignal": true;
8354
8497
  };
8498
+ "showErrorsOn": {
8499
+ "alias": "showErrorsOn";
8500
+ "required": false;
8501
+ "isSignal": true;
8502
+ };
8355
8503
  "size": {
8356
8504
  "alias": "size";
8357
8505
  "required": false;
@@ -8850,6 +8998,8 @@ export declare class TextareaComponent implements ControlValueAccessor {
8850
8998
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
8851
8999
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
8852
9000
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
9001
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
9002
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
8853
9003
  readonly disabled: import("@angular/core").InputSignal<boolean>;
8854
9004
  readonly readonly: import("@angular/core").InputSignal<boolean>;
8855
9005
  readonly required: import("@angular/core").InputSignal<boolean>;
@@ -8971,6 +9121,11 @@ export declare class TextareaComponent implements ControlValueAccessor {
8971
9121
  "required": false;
8972
9122
  "isSignal": true;
8973
9123
  };
9124
+ "showErrorsOn": {
9125
+ "alias": "showErrorsOn";
9126
+ "required": false;
9127
+ "isSignal": true;
9128
+ };
8974
9129
  "disabled": {
8975
9130
  "alias": "disabled";
8976
9131
  "required": false;
@@ -9086,6 +9241,8 @@ export declare class TimePickerComponent implements ControlValueAccessor {
9086
9241
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
9087
9242
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
9088
9243
  readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
9244
+ /** When the error shows: `'change'` once the user changes the field and leaves it, `'touch'` as soon as they leave it, even unchanged; unset follows the app-wide `forms` option of `provideEagamiUi`. */
9245
+ readonly showErrorsOn: import("@angular/core").InputSignal<EaShowErrorsOn | undefined>;
9089
9246
  /** Display format for the trigger label. Wire value is always 24h. */
9090
9247
  readonly format: import("@angular/core").InputSignal<TimePickerFormat>;
9091
9248
  readonly includeSeconds: import("@angular/core").InputSignal<boolean>;
@@ -9297,6 +9454,11 @@ export declare class TimePickerComponent implements ControlValueAccessor {
9297
9454
  "required": false;
9298
9455
  "isSignal": true;
9299
9456
  };
9457
+ "showErrorsOn": {
9458
+ "alias": "showErrorsOn";
9459
+ "required": false;
9460
+ "isSignal": true;
9461
+ };
9300
9462
  "format": {
9301
9463
  "alias": "format";
9302
9464
  "required": false;
@@ -14034,4 +14196,4 @@ export declare class ZoomOutIconComponent extends IconComponentBase {
14034
14196
  static ɵfac: i0.ɵɵFactoryDeclaration<ZoomOutIconComponent, never>;
14035
14197
  static ɵcmp: i0.ɵɵComponentDeclaration<ZoomOutIconComponent, "ea-icon-zoom-out", never, {}, {}, never, never, true, never>;
14036
14198
  }
14037
- export type { ChartCurve, ChartLabelOrientation, ChartPointEvent, ChartReferenceLine, ChartSeries, ChartSize, EaErrorMessages, EaValidationErrorKey };
14199
+ export type { ChartCurve, ChartLabelOrientation, ChartPointEvent, ChartReferenceLine, ChartSeries, ChartSize, EaErrorMessages, EaShowErrorsOn, EaValidationErrorKey, EagamiFormsConfig };