@eagami/ui 5.65.0 → 5.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eagami/ui",
3
- "version": "5.65.0",
3
+ "version": "5.66.0",
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",
@@ -894,7 +894,7 @@ export declare class AutocompleteComponent implements ControlValueAccessor {
894
894
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
895
895
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
896
896
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
897
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
897
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
898
898
  readonly minLength: import("@angular/core").InputSignal<number>;
899
899
  /** Maximum number of characters the input accepts (native `maxlength`). */
900
900
  readonly maxLength: import("@angular/core").InputSignal<number | undefined>;
@@ -2073,7 +2073,7 @@ export declare class CheckboxComponent implements ControlValueAccessor {
2073
2073
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
2074
2074
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
2075
2075
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
2076
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
2076
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
2077
2077
  readonly size: import("@angular/core").InputSignal<EaSize>;
2078
2078
  /**
2079
2079
  * Ellipsize a label too long for the space the checkbox is given, revealing
@@ -2454,7 +2454,7 @@ export declare class ColorPickerComponent implements ControlValueAccessor {
2454
2454
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
2455
2455
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
2456
2456
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
2457
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
2457
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
2458
2458
  /** Whether to show the alpha slider. When `false` the emitted value always has alpha = 1. */
2459
2459
  readonly showAlpha: import("@angular/core").InputSignal<boolean>;
2460
2460
  /** Whether to show the clear button when a value is set. */
@@ -3468,7 +3468,7 @@ export declare class CodeInputComponent implements ControlValueAccessor {
3468
3468
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
3469
3469
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
3470
3470
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
3471
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
3471
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
3472
3472
  readonly disabled: import("@angular/core").InputSignal<boolean>;
3473
3473
  readonly readonly: import("@angular/core").InputSignal<boolean>;
3474
3474
  readonly required: import("@angular/core").InputSignal<boolean>;
@@ -3643,7 +3643,7 @@ export declare class DatePickerComponent implements ControlValueAccessor {
3643
3643
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
3644
3644
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
3645
3645
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
3646
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
3646
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
3647
3647
  readonly minDate: import("@angular/core").InputSignal<Date | null>;
3648
3648
  readonly maxDate: import("@angular/core").InputSignal<Date | null>;
3649
3649
  /** Weekdays that cannot be picked, numbered as `Date.getDay()` does: 0 for Sunday through 6 for Saturday. */
@@ -4301,7 +4301,7 @@ export declare class DropdownComponent implements ControlValueAccessor {
4301
4301
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
4302
4302
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
4303
4303
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
4304
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
4304
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
4305
4305
  readonly id: import("@angular/core").InputSignal<string>;
4306
4306
  readonly value: import("@angular/core").ModelSignal<string>;
4307
4307
  /** Fires with the new value when the user selects an option or clears the selection. */
@@ -4685,7 +4685,7 @@ export declare class FormFieldComponent {
4685
4685
  /** Error message shown below the control; replaces the hint and flags the field invalid. */
4686
4686
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
4687
4687
  /** Per-validator-key message overrides for the projected form control (e.g. `{ required: '...' }`). */
4688
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
4688
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
4689
4689
  /** Marks the field as required. */
4690
4690
  readonly required: import("@angular/core").InputSignal<boolean>;
4691
4691
  /** Visual size of the field; the label, control text, spacing, and messages scale with it. */
@@ -4758,9 +4758,10 @@ type EaValidationErrorKey = 'required' | 'email' | 'min' | 'max' | 'minlength' |
4758
4758
  * Per-error-key message overrides for a form control. Keys are validator error
4759
4759
  * names (`required`, `email`, or any custom validator key); values are the text
4760
4760
  * shown when that error is the active one. Keys left unset fall back to the
4761
- * library's localized default message.
4761
+ * library's localized default message, and a key set to `null` is never shown,
4762
+ * so a field whose only errors are hidden keeps out of its error state.
4762
4763
  */
4763
- type EaErrorMessages = Partial<Record<string, string>>;
4764
+ type EaErrorMessages = Partial<Record<string, string | null>>;
4764
4765
  interface ControlErrorStateConfig {
4765
4766
  /** Explicit error text; shown unconditionally and overrides any auto-derived message. */
4766
4767
  errorMsg: Signal<string | null | undefined>;
@@ -4776,12 +4777,16 @@ interface ControlErrorState {
4776
4777
  /**
4777
4778
  * Derives a form control's display error from, in priority order: an explicit
4778
4779
  * `errorMsg`, a consumer `errorMessages` override, then the library's localized
4779
- * default for the active `ValidationErrors` key. Auto-derived messages surface
4780
- * only once the bound control is `invalid && touched`, matching the moment a
4781
- * user expects validation feedback. A message revealed by a pointer press
4782
- * moving focus away waits until that press has landed its click. The control
4783
- * arrives as a signal so callers decide how it is resolved: from the host's own
4784
- * `NgControl` (CVA components) or from projected content (`<ea-form-field>`).
4780
+ * default for the active `ValidationErrors` key.
4781
+ *
4782
+ * Auto-derived messages surface only once the bound control is `invalid &&
4783
+ * touched`, and a new one waits while focus is still inside the field, until
4784
+ * the user leaves it or submits the form, so nothing is flagged mid-edit. A
4785
+ * message already showing follows the value as it is typed and clears the
4786
+ * moment it is fixed. A message revealed by a pointer press moving focus away
4787
+ * waits until that press has landed its click. The control arrives as a signal
4788
+ * so callers decide how it is resolved: from the host's own `NgControl` (CVA
4789
+ * components) or from projected content (`<ea-form-field>`).
4785
4790
  */
4786
4791
  declare function controlErrorStateFrom(control: Signal<AbstractControl | null>, config: ControlErrorStateConfig): ControlErrorState;
4787
4792
  /**
@@ -4852,7 +4857,7 @@ export declare class FileUploaderComponent implements ControlValueAccessor {
4852
4857
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
4853
4858
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
4854
4859
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
4855
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
4860
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
4856
4861
  readonly size: import("@angular/core").InputSignal<EaSize>;
4857
4862
  /**
4858
4863
  * `dropzone` renders the drag-and-drop area; `button` renders a compact
@@ -5131,7 +5136,7 @@ export declare class InputComponent implements ControlValueAccessor {
5131
5136
  /** Error message shown below the field; replaces the hint and flags the field invalid. */
5132
5137
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
5133
5138
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
5134
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
5139
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
5135
5140
  /** Disables the field. */
5136
5141
  readonly disabled: import("@angular/core").InputSignal<boolean>;
5137
5142
  /** Renders the field read-only. */
@@ -5837,7 +5842,7 @@ export declare class MultiSelectComponent implements ControlValueAccessor {
5837
5842
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
5838
5843
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
5839
5844
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
5840
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
5845
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
5841
5846
  /** Toggle the search input at the top of the popover. */
5842
5847
  readonly searchable: import("@angular/core").InputSignal<boolean>;
5843
5848
  /** Toggle the "Select all" row at the top of the option list. */
@@ -6154,7 +6159,7 @@ export declare class NumberInputComponent implements ControlValueAccessor {
6154
6159
  /** Error message shown below the field; replaces the hint and flags the field invalid. */
6155
6160
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
6156
6161
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
6157
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
6162
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
6158
6163
  /** Disables the field. */
6159
6164
  readonly disabled: import("@angular/core").InputSignal<boolean>;
6160
6165
  /** Renders the field read-only. */
@@ -6730,7 +6735,7 @@ export declare class RadioGroupComponent implements ControlValueAccessor {
6730
6735
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
6731
6736
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
6732
6737
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
6733
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
6738
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
6734
6739
  readonly ariaLabel: import("@angular/core").InputSignal<string | undefined>;
6735
6740
  /** Space-separated ids of the elements whose text names the group, such as a label outside the component. */
6736
6741
  readonly ariaLabelledby: import("@angular/core").InputSignal<string | undefined>;
@@ -6908,7 +6913,7 @@ export declare class RangeSliderComponent implements ControlValueAccessor {
6908
6913
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
6909
6914
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
6910
6915
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
6911
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
6916
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
6912
6917
  readonly min: import("@angular/core").InputSignal<number>;
6913
6918
  readonly max: import("@angular/core").InputSignal<number>;
6914
6919
  readonly step: import("@angular/core").InputSignal<number>;
@@ -7115,7 +7120,7 @@ export declare class RatingComponent implements ControlValueAccessor {
7115
7120
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
7116
7121
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
7117
7122
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
7118
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
7123
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
7119
7124
  readonly size: import("@angular/core").InputSignal<EaSize>;
7120
7125
  readonly min: import("@angular/core").InputSignal<number>;
7121
7126
  readonly max: import("@angular/core").InputSignal<number>;
@@ -7301,7 +7306,7 @@ export declare class SegmentedComponent implements ControlValueAccessor {
7301
7306
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
7302
7307
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
7303
7308
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
7304
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
7309
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
7305
7310
  readonly size: import("@angular/core").InputSignal<EaSize>;
7306
7311
  readonly disabled: import("@angular/core").InputSignal<boolean>;
7307
7312
  readonly required: import("@angular/core").InputSignal<boolean>;
@@ -7476,7 +7481,7 @@ export declare class SliderComponent implements ControlValueAccessor {
7476
7481
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
7477
7482
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
7478
7483
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
7479
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
7484
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
7480
7485
  /** Force the error-state styling without binding `errorMsg`. Lets consumers
7481
7486
  * render the error text themselves (e.g. above the slider in a form layout)
7482
7487
  * while still getting the built-in recolour of the fill and thumb. */
@@ -7827,7 +7832,7 @@ export declare class SwitchComponent implements ControlValueAccessor {
7827
7832
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
7828
7833
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
7829
7834
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
7830
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
7835
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
7831
7836
  readonly size: import("@angular/core").InputSignal<EaSize>;
7832
7837
  /**
7833
7838
  * Status tone for the track: a tinted wash with a toned border while off and
@@ -8368,7 +8373,7 @@ export declare class TextareaComponent implements ControlValueAccessor {
8368
8373
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
8369
8374
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
8370
8375
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
8371
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
8376
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
8372
8377
  readonly disabled: import("@angular/core").InputSignal<boolean>;
8373
8378
  readonly readonly: import("@angular/core").InputSignal<boolean>;
8374
8379
  readonly required: import("@angular/core").InputSignal<boolean>;
@@ -8589,7 +8594,7 @@ export declare class TimePickerComponent implements ControlValueAccessor {
8589
8594
  readonly hint: import("@angular/core").InputSignal<string | undefined>;
8590
8595
  readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
8591
8596
  /** Per-validator-key message overrides for a bound form control (e.g. `{ required: '...' }`). */
8592
- readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string>> | undefined>;
8597
+ readonly errorMessages: import("@angular/core").InputSignal<Partial<Record<string, string | null>> | undefined>;
8593
8598
  /** Display format for the trigger label. Wire value is always 24h. */
8594
8599
  readonly format: import("@angular/core").InputSignal<TimePickerFormat>;
8595
8600
  readonly includeSeconds: import("@angular/core").InputSignal<boolean>;
@@ -9020,14 +9025,16 @@ export declare class ToastComponent {
9020
9025
  }
9021
9026
  export type ToggleChipSize = EaSize;
9022
9027
  /**
9023
- * Pill-shaped toggle button for filters and feature pickers. Projected content,
9024
- * an optional leading icon and a label, names it, and a check marks it as on,
9025
- * so its state never rests on colour alone.
9028
+ * Pill-shaped toggle button for filters and feature pickers. Projected content
9029
+ * names it, an optional icon leads it, and a check marks it as on, so its state
9030
+ * never rests on colour alone.
9026
9031
  */
9027
9032
  export declare class ToggleChipComponent {
9028
9033
  /** Whether the chip is on, two-way bindable via [(selected)]. */
9029
9034
  readonly selected: import("@angular/core").ModelSignal<boolean>;
9030
9035
  readonly size: import("@angular/core").InputSignal<EaSize>;
9036
+ /** Optional icon component rendered before the label. */
9037
+ readonly icon: import("@angular/core").InputSignal<Type<unknown> | undefined>;
9031
9038
  /** Disables the chip and blocks toggling. */
9032
9039
  readonly disabled: import("@angular/core").InputSignal<boolean>;
9033
9040
  /** Accessible label for a chip whose projected content has no visible text. */
@@ -9053,6 +9060,11 @@ export declare class ToggleChipComponent {
9053
9060
  "required": false;
9054
9061
  "isSignal": true;
9055
9062
  };
9063
+ "icon": {
9064
+ "alias": "icon";
9065
+ "required": false;
9066
+ "isSignal": true;
9067
+ };
9056
9068
  "disabled": {
9057
9069
  "alias": "disabled";
9058
9070
  "required": false;