@eagami/ui 2.5.2 → 2.6.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": "2.5.2",
3
+ "version": "2.6.0",
4
4
  "description": "Lightweight, accessible Angular UI component library built on CSS custom properties",
5
5
  "author": "Michal Wiraszka <michal@eagami.com>",
6
6
  "license": "MIT",
@@ -81,6 +81,14 @@
81
81
  --color-bg-elevated: var(--color-neutral-0);
82
82
  --color-bg-overlay: rgba(0, 0, 0, 0.5);
83
83
 
84
+ // Interactive lift layers for hover and active/selected fills. Light surfaces
85
+ // are all near-white and never collapse onto these shades, so solid muted
86
+ // tones read cleanly. Dark mode swaps them for translucent washes (see the
87
+ // dark overrides) because its surfaces all collapse onto the same neutrals,
88
+ // where a solid fill would vanish into whatever it sits on.
89
+ --color-state-hover: var(--color-neutral-100);
90
+ --color-state-active: var(--color-neutral-200);
91
+
84
92
  --color-border-subtle: var(--color-neutral-200);
85
93
  --color-border-default: var(--color-neutral-200);
86
94
  --color-border-strong: var(--color-neutral-400);
@@ -158,10 +166,17 @@
158
166
  --color-bg-subtle: var(--color-neutral-700);
159
167
  --color-bg-stripe: var(--color-neutral-900);
160
168
  --color-bg-elevated: var(--color-neutral-700);
161
- // One step above bg-base so hover fills (ghost/secondary button, table row)
162
- // and muted surfaces lift subtly; neutral-600 read too strong on dark.
169
+ // Opaque muted surface for static fills (disabled fields, slider/progress
170
+ // tracks, skeletons). Hover/active fills route through the translucent
171
+ // --color-state-* tokens instead, so they never collide with this shade.
163
172
  --color-bg-muted: var(--color-neutral-700);
164
173
 
174
+ // White wash so an interactive lift reads on any dark surface, including the
175
+ // neutral-700 tier where bg-muted/-subtle/-elevated all coincide. This is the
176
+ // fix that lets dropdown/menu/dialog hovers lift off their elevated surfaces.
177
+ --color-state-hover: rgba(255, 255, 255, 0.08);
178
+ --color-state-active: rgba(255, 255, 255, 0.14);
179
+
165
180
  // Borders stay clear of every bg-* shade so they stay visible. subtle mixes
166
181
  // neutral-700/-800 to sit between card and cell backgrounds; default can't go
167
182
  // darker without colliding with bg-subtle/-elevated (both neutral-700).
@@ -1728,21 +1728,37 @@ declare class InputComponent implements ControlValueAccessor {
1728
1728
  readonly inputEl: i0.Signal<ElementRef<HTMLInputElement> | undefined>;
1729
1729
  private readonly injector;
1730
1730
  protected readonly i18n: EagamiI18nService;
1731
+ /** Text label rendered above the field. */
1731
1732
  readonly label: i0.InputSignal<string | undefined>;
1733
+ /** Native input type; `password` adds a built-in show/hide toggle. */
1732
1734
  readonly type: i0.InputSignal<InputType>;
1735
+ /** Placeholder shown while the field is empty. */
1733
1736
  readonly placeholder: i0.InputSignal<string>;
1737
+ /** Visual size of the field. */
1734
1738
  readonly size: i0.InputSignal<InputSize>;
1739
+ /** Helper text shown below the field; hidden while an error is showing. */
1735
1740
  readonly hint: i0.InputSignal<string | undefined>;
1741
+ /** Error message shown below the field; replaces the hint and flags the field invalid. */
1736
1742
  readonly errorMsg: i0.InputSignal<string | undefined>;
1743
+ /** Disables the field. */
1737
1744
  readonly disabled: i0.InputSignal<boolean>;
1745
+ /** Renders the field read-only. */
1738
1746
  readonly readonly: i0.InputSignal<boolean>;
1747
+ /** Marks the field as required. */
1739
1748
  readonly required: i0.InputSignal<boolean>;
1749
+ /** Value for the native `autocomplete` attribute. */
1740
1750
  readonly autocomplete: i0.InputSignal<string | undefined>;
1751
+ /** `id` of a `<datalist>` to associate for native suggestions. */
1741
1752
  readonly list: i0.InputSignal<string | undefined>;
1753
+ /** Focuses the field once, after it first renders. */
1742
1754
  readonly autofocus: i0.InputSignal<boolean>;
1755
+ /** Shows the reveal toggle for `password` inputs. */
1743
1756
  readonly showPasswordToggle: i0.InputSignal<boolean>;
1757
+ /** Shows a clear button while the field has a value. */
1744
1758
  readonly clearable: i0.InputSignal<boolean>;
1759
+ /** `id` applied to the native input and label `for`; auto-generated when omitted. */
1745
1760
  readonly id: i0.InputSignal<string>;
1761
+ /** Current field value; two-way bindable via `[(value)]`. */
1746
1762
  readonly value: i0.ModelSignal<string>;
1747
1763
  readonly isFocused: i0.WritableSignal<boolean>;
1748
1764
  readonly passwordVisible: i0.WritableSignal<boolean>;