@eagami/ui 2.5.3 → 2.7.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/fesm2022/eagami-ui.mjs +178 -111
- package/fesm2022/eagami-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/src/styles/_mixins.scss +45 -0
- package/src/styles/tokens/_colors.scss +25 -2
- package/src/styles/tokens/_shape.scss +6 -0
- package/src/styles/tokens/_typography.scss +12 -2
- package/types/eagami-ui.d.ts +46 -8
package/package.json
CHANGED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Shared SCSS mixins for the library. Consume from a component stylesheet with:
|
|
2
|
+
// @use '../../styles/mixins' as ea;
|
|
3
|
+
// .ea-foo__close { @include ea.icon-button; }
|
|
4
|
+
|
|
5
|
+
// Standard icon button: clear, close/dismiss, password-toggle, nav, etc. The box
|
|
6
|
+
// is `--ea-icon-button-size` (em) so it scales with the host component's size and
|
|
7
|
+
// is consistent across components at a given size tier. The glyph is enlarged so
|
|
8
|
+
// it reads clearly inside the box regardless of how much padding the icon's own
|
|
9
|
+
// viewBox carries (the feather `x`, for instance, only fills its middle half).
|
|
10
|
+
@mixin icon-button {
|
|
11
|
+
display: inline-flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
justify-content: center;
|
|
14
|
+
flex-shrink: 0;
|
|
15
|
+
width: var(--ea-icon-button-size, 1.75em);
|
|
16
|
+
height: var(--ea-icon-button-size, 1.75em);
|
|
17
|
+
padding: 0;
|
|
18
|
+
border: none;
|
|
19
|
+
border-radius: var(--radius-sm);
|
|
20
|
+
background: none;
|
|
21
|
+
color: var(--color-text-secondary);
|
|
22
|
+
cursor: pointer;
|
|
23
|
+
transition: var(--transition-colors);
|
|
24
|
+
|
|
25
|
+
// Glyph sized via font-size (not width) so it overrides the icon's inline 1em
|
|
26
|
+
// host size and still scales with the box.
|
|
27
|
+
> * {
|
|
28
|
+
font-size: 1.25em;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&:hover {
|
|
32
|
+
background-color: var(--color-state-hover);
|
|
33
|
+
color: var(--color-text-primary);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&:focus-visible {
|
|
37
|
+
outline: none;
|
|
38
|
+
box-shadow: var(--shadow-focus-ring);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&:disabled {
|
|
42
|
+
cursor: not-allowed;
|
|
43
|
+
opacity: 0.5;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -78,12 +78,24 @@
|
|
|
78
78
|
--color-bg-subtle: var(--color-neutral-50);
|
|
79
79
|
--color-bg-stripe: var(--color-neutral-50);
|
|
80
80
|
--color-bg-muted: var(--color-neutral-100);
|
|
81
|
+
// Stronger neutral fill for placeholder surfaces (e.g. avatar) that must read
|
|
82
|
+
// clearly against the page; muted is too faint on a white base
|
|
83
|
+
--color-bg-emphasis: var(--color-neutral-300);
|
|
81
84
|
--color-bg-elevated: var(--color-neutral-0);
|
|
82
85
|
--color-bg-overlay: rgba(0, 0, 0, 0.5);
|
|
83
86
|
|
|
87
|
+
// Interactive lift layers for hover and active/selected fills. Light surfaces
|
|
88
|
+
// are all near-white and never collapse onto these shades, so solid muted
|
|
89
|
+
// tones read cleanly. Dark mode swaps them for translucent washes (see the
|
|
90
|
+
// dark overrides) because its surfaces all collapse onto the same neutrals,
|
|
91
|
+
// where a solid fill would vanish into whatever it sits on.
|
|
92
|
+
--color-state-hover: var(--color-neutral-100);
|
|
93
|
+
--color-state-active: var(--color-neutral-200);
|
|
94
|
+
|
|
84
95
|
--color-border-subtle: var(--color-neutral-200);
|
|
85
96
|
--color-border-default: var(--color-neutral-200);
|
|
86
97
|
--color-border-strong: var(--color-neutral-400);
|
|
98
|
+
--color-divider: var(--color-border-subtle);
|
|
87
99
|
--color-border-focus: var(--color-primary-500);
|
|
88
100
|
|
|
89
101
|
// brand-default/-hover/-active are the brand colour as a surface (solid bg
|
|
@@ -158,9 +170,17 @@
|
|
|
158
170
|
--color-bg-subtle: var(--color-neutral-700);
|
|
159
171
|
--color-bg-stripe: var(--color-neutral-900);
|
|
160
172
|
--color-bg-elevated: var(--color-neutral-700);
|
|
161
|
-
//
|
|
162
|
-
//
|
|
173
|
+
// Opaque muted surface for static fills (disabled fields, slider/progress
|
|
174
|
+
// tracks, skeletons). Hover/active fills route through the translucent
|
|
175
|
+
// --color-state-* tokens instead, so they never collide with this shade.
|
|
163
176
|
--color-bg-muted: var(--color-neutral-700);
|
|
177
|
+
--color-bg-emphasis: var(--color-neutral-600);
|
|
178
|
+
|
|
179
|
+
// White wash so an interactive lift reads on any dark surface, including the
|
|
180
|
+
// neutral-700 tier where bg-muted/-subtle/-elevated all coincide. This is the
|
|
181
|
+
// fix that lets dropdown/menu/dialog hovers lift off their elevated surfaces.
|
|
182
|
+
--color-state-hover: rgba(255, 255, 255, 0.08);
|
|
183
|
+
--color-state-active: rgba(255, 255, 255, 0.14);
|
|
164
184
|
|
|
165
185
|
// Borders stay clear of every bg-* shade so they stay visible. subtle mixes
|
|
166
186
|
// neutral-700/-800 to sit between card and cell backgrounds; default can't go
|
|
@@ -172,6 +192,9 @@
|
|
|
172
192
|
);
|
|
173
193
|
--color-border-default: var(--color-neutral-400);
|
|
174
194
|
--color-border-strong: var(--color-neutral-300);
|
|
195
|
+
// Dividers read as barely-there against dark surfaces at border-subtle, so
|
|
196
|
+
// they step one neutral lighter for a visible-but-quiet rule.
|
|
197
|
+
--color-divider: var(--color-neutral-600);
|
|
175
198
|
|
|
176
199
|
// Surface roles step one shade lighter than light mode so the button clears
|
|
177
200
|
// WCAG 1.4.11 (3:1) on the near-black canvas while keeping a white label
|
|
@@ -13,4 +13,10 @@
|
|
|
13
13
|
--border-width-thin: 1px;
|
|
14
14
|
--border-width-medium: 2px;
|
|
15
15
|
--border-width-thick: 4px;
|
|
16
|
+
|
|
17
|
+
// Hit-target box for icon buttons (clear / close / dismiss / toggle). em-based
|
|
18
|
+
// so it scales with the host component's size; since all sized components share
|
|
19
|
+
// a font-size per tier, this is also consistent across components at a tier
|
|
20
|
+
// (md = 1.75 * 16px = 28px).
|
|
21
|
+
--ea-icon-button-size: 1.75em;
|
|
16
22
|
}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
// The `* Fallback` faces are Arial tuned with metric overrides to match the
|
|
3
|
+
// web fonts, so they must sit right after each web font in the stack: that way
|
|
4
|
+
// text laid out before the font loads has the same metrics and `font-display:
|
|
5
|
+
// swap` causes no layout shift when the real font arrives.
|
|
6
|
+
--font-family-sans:
|
|
7
|
+
'DM Sans', 'DM Sans Fallback', 'Segoe UI', system-ui, -apple-system, sans-serif;
|
|
8
|
+
--font-family-brand:
|
|
9
|
+
'Syne', 'Syne Fallback', 'DM Sans', 'DM Sans Fallback', system-ui, sans-serif;
|
|
4
10
|
--font-family-serif: 'Georgia', 'Times New Roman', serif;
|
|
5
11
|
--font-family-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
6
12
|
|
|
@@ -35,6 +41,10 @@
|
|
|
35
41
|
--letter-spacing-wider: 0.05em;
|
|
36
42
|
--letter-spacing-widest: 0.1em;
|
|
37
43
|
|
|
44
|
+
// Leading/status icon sized relative to the text beside it; em keeps it in
|
|
45
|
+
// proportion as the surrounding font-size changes
|
|
46
|
+
--icon-inline-size: 1.5em;
|
|
47
|
+
|
|
38
48
|
--text-display-size: var(--font-size-5xl);
|
|
39
49
|
--text-display-weight: var(--font-weight-bold);
|
|
40
50
|
--text-display-lh: var(--line-height-tight);
|
package/types/eagami-ui.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, EnvironmentProviders, Signal, OnDestroy, ElementRef,
|
|
2
|
+
import { InjectionToken, EnvironmentProviders, Signal, Type, OnDestroy, ElementRef, TemplateRef, OnInit } from '@angular/core';
|
|
3
3
|
import { ControlValueAccessor } from '@angular/forms';
|
|
4
4
|
import * as _eagami_ui from '@eagami/ui';
|
|
5
5
|
|
|
@@ -468,6 +468,8 @@ declare class AccordionItemComponent {
|
|
|
468
468
|
|
|
469
469
|
/** Semantic colour scheme of an alert. Drives icon and palette. */
|
|
470
470
|
type AlertVariant = 'default' | 'success' | 'warning' | 'error' | 'info';
|
|
471
|
+
/** Scales the alert's text, icon, and gap together. */
|
|
472
|
+
type AlertSize = 'sm' | 'md' | 'lg';
|
|
471
473
|
/**
|
|
472
474
|
* Inline banner for surfacing semantic messages such as success confirmations,
|
|
473
475
|
* warnings, or errors. Optionally dismissible, with a two-way `visible`
|
|
@@ -476,8 +478,11 @@ type AlertVariant = 'default' | 'success' | 'warning' | 'error' | 'info';
|
|
|
476
478
|
declare class AlertComponent {
|
|
477
479
|
protected readonly i18n: EagamiI18nService;
|
|
478
480
|
readonly variant: i0.InputSignal<AlertVariant>;
|
|
481
|
+
readonly size: i0.InputSignal<AlertSize>;
|
|
479
482
|
readonly dismissible: i0.InputSignal<boolean>;
|
|
480
483
|
readonly visible: i0.ModelSignal<boolean>;
|
|
484
|
+
/** Overrides the variant's default status icon with any icon component. */
|
|
485
|
+
readonly icon: i0.InputSignal<Type<unknown> | undefined>;
|
|
481
486
|
/** Fires when the user dismisses the alert via its close button. */
|
|
482
487
|
readonly dismissed: i0.OutputEmitterRef<void>;
|
|
483
488
|
readonly alertClasses: i0.Signal<{
|
|
@@ -487,7 +492,7 @@ declare class AlertComponent {
|
|
|
487
492
|
/** Hides the alert and emits `dismissed`. */
|
|
488
493
|
dismiss(): void;
|
|
489
494
|
static ɵfac: i0.ɵɵFactoryDeclaration<AlertComponent, never>;
|
|
490
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AlertComponent, "ea-alert", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; "dismissed": "dismissed"; }, never, ["*"], true, never>;
|
|
495
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AlertComponent, "ea-alert", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; "dismissed": "dismissed"; }, never, ["*"], true, never>;
|
|
491
496
|
}
|
|
492
497
|
|
|
493
498
|
/**
|
|
@@ -1728,21 +1733,39 @@ declare class InputComponent implements ControlValueAccessor {
|
|
|
1728
1733
|
readonly inputEl: i0.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
1729
1734
|
private readonly injector;
|
|
1730
1735
|
protected readonly i18n: EagamiI18nService;
|
|
1736
|
+
/** Text label rendered above the field. */
|
|
1731
1737
|
readonly label: i0.InputSignal<string | undefined>;
|
|
1738
|
+
/** Native input type; `password` adds a built-in show/hide toggle. */
|
|
1732
1739
|
readonly type: i0.InputSignal<InputType>;
|
|
1740
|
+
/** Placeholder shown while the field is empty. */
|
|
1733
1741
|
readonly placeholder: i0.InputSignal<string>;
|
|
1742
|
+
/** Leading icon component rendered before the text, e.g. a search or filter glyph. */
|
|
1743
|
+
readonly icon: i0.InputSignal<Type<unknown> | undefined>;
|
|
1744
|
+
/** Visual size of the field. */
|
|
1734
1745
|
readonly size: i0.InputSignal<InputSize>;
|
|
1746
|
+
/** Helper text shown below the field; hidden while an error is showing. */
|
|
1735
1747
|
readonly hint: i0.InputSignal<string | undefined>;
|
|
1748
|
+
/** Error message shown below the field; replaces the hint and flags the field invalid. */
|
|
1736
1749
|
readonly errorMsg: i0.InputSignal<string | undefined>;
|
|
1750
|
+
/** Disables the field. */
|
|
1737
1751
|
readonly disabled: i0.InputSignal<boolean>;
|
|
1752
|
+
/** Renders the field read-only. */
|
|
1738
1753
|
readonly readonly: i0.InputSignal<boolean>;
|
|
1754
|
+
/** Marks the field as required. */
|
|
1739
1755
|
readonly required: i0.InputSignal<boolean>;
|
|
1756
|
+
/** Value for the native `autocomplete` attribute. */
|
|
1740
1757
|
readonly autocomplete: i0.InputSignal<string | undefined>;
|
|
1758
|
+
/** `id` of a `<datalist>` to associate for native suggestions. */
|
|
1741
1759
|
readonly list: i0.InputSignal<string | undefined>;
|
|
1760
|
+
/** Focuses the field once, after it first renders. */
|
|
1742
1761
|
readonly autofocus: i0.InputSignal<boolean>;
|
|
1762
|
+
/** Shows the reveal toggle for `password` inputs. */
|
|
1743
1763
|
readonly showPasswordToggle: i0.InputSignal<boolean>;
|
|
1764
|
+
/** Shows a clear button while the field has a value. */
|
|
1744
1765
|
readonly clearable: i0.InputSignal<boolean>;
|
|
1766
|
+
/** `id` applied to the native input and label `for`; auto-generated when omitted. */
|
|
1745
1767
|
readonly id: i0.InputSignal<string>;
|
|
1768
|
+
/** Current field value; two-way bindable via `[(value)]`. */
|
|
1746
1769
|
readonly value: i0.ModelSignal<string>;
|
|
1747
1770
|
readonly isFocused: i0.WritableSignal<boolean>;
|
|
1748
1771
|
readonly passwordVisible: i0.WritableSignal<boolean>;
|
|
@@ -1781,7 +1804,7 @@ declare class InputComponent implements ControlValueAccessor {
|
|
|
1781
1804
|
/** Moves keyboard focus to the underlying native input element. */
|
|
1782
1805
|
focus(): void;
|
|
1783
1806
|
static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>;
|
|
1784
|
-
static ɵcmp: i0.ɵɵ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; }; "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; }; "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>;
|
|
1807
|
+
static ɵcmp: i0.ɵɵ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; }; "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>;
|
|
1785
1808
|
}
|
|
1786
1809
|
|
|
1787
1810
|
/** Placement of the menu list relative to its trigger. */
|
|
@@ -2190,8 +2213,15 @@ declare class ProgressBarComponent {
|
|
|
2190
2213
|
readonly variant: i0.InputSignal<ProgressBarVariant>;
|
|
2191
2214
|
readonly size: i0.InputSignal<ProgressBarSize>;
|
|
2192
2215
|
readonly label: i0.InputSignal<string | undefined>;
|
|
2216
|
+
/** Shows the rounded percentage alongside the label. */
|
|
2217
|
+
readonly showPercentage: i0.InputSignal<boolean>;
|
|
2218
|
+
/**
|
|
2219
|
+
* @deprecated Use `showPercentage` instead. Will be removed in v3.0.0.
|
|
2220
|
+
*/
|
|
2193
2221
|
readonly showValue: i0.InputSignal<boolean>;
|
|
2194
2222
|
readonly indeterminate: i0.InputSignal<boolean>;
|
|
2223
|
+
/** Whether to render the percentage (honours the deprecated `showValue` alias). */
|
|
2224
|
+
readonly showsPercentage: i0.Signal<boolean>;
|
|
2195
2225
|
readonly percentage: i0.Signal<number>;
|
|
2196
2226
|
readonly percentageRounded: i0.Signal<number>;
|
|
2197
2227
|
readonly hostClasses: i0.Signal<{
|
|
@@ -2199,11 +2229,11 @@ declare class ProgressBarComponent {
|
|
|
2199
2229
|
'ea-progress-bar--indeterminate': boolean;
|
|
2200
2230
|
}>;
|
|
2201
2231
|
static ɵfac: i0.ɵɵFactoryDeclaration<ProgressBarComponent, never>;
|
|
2202
|
-
static ɵcmp: i0.ɵɵ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; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2232
|
+
static ɵcmp: i0.ɵɵ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>;
|
|
2203
2233
|
}
|
|
2204
2234
|
|
|
2205
2235
|
/** Visual size shared by all radios in the group. */
|
|
2206
|
-
type RadioSize = 'sm' | 'md' | 'lg';
|
|
2236
|
+
type RadioSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
2207
2237
|
/** Layout direction for radios within the group. */
|
|
2208
2238
|
type RadioOrientation = 'vertical' | 'horizontal';
|
|
2209
2239
|
/**
|
|
@@ -2568,7 +2598,7 @@ declare class SliderComponent implements ControlValueAccessor {
|
|
|
2568
2598
|
}
|
|
2569
2599
|
|
|
2570
2600
|
/** Visual size of the spinner. */
|
|
2571
|
-
type SpinnerSize = 'sm' | 'md' | 'lg';
|
|
2601
|
+
type SpinnerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
2572
2602
|
/**
|
|
2573
2603
|
* SVG loading indicator with an accessible `role="status"`. The `label` input
|
|
2574
2604
|
* overrides the accessible name announced to assistive technology; when unset
|
|
@@ -2788,12 +2818,19 @@ declare class TextareaComponent implements ControlValueAccessor {
|
|
|
2788
2818
|
readonly disabled: i0.InputSignal<boolean>;
|
|
2789
2819
|
readonly readonly: i0.InputSignal<boolean>;
|
|
2790
2820
|
readonly required: i0.InputSignal<boolean>;
|
|
2821
|
+
/**
|
|
2822
|
+
* @deprecated Use `maxHeight` and the `resize` handle to control height; this
|
|
2823
|
+
* sets the initial height only. Will be removed in v3.0.0.
|
|
2824
|
+
*/
|
|
2791
2825
|
readonly rows: i0.InputSignal<number>;
|
|
2792
2826
|
readonly resize: i0.InputSignal<TextareaResize>;
|
|
2793
2827
|
readonly maxlength: i0.InputSignal<number | undefined>;
|
|
2794
2828
|
/** Optional pixel ceiling for the textarea's height. Beyond it, the inner
|
|
2795
2829
|
* field scrolls vertically instead of growing. */
|
|
2796
2830
|
readonly maxHeight: i0.InputSignal<number | undefined>;
|
|
2831
|
+
/** Optional pixel floor for the textarea's height. Clamped so it never drops
|
|
2832
|
+
* below the height implied by `rows`. */
|
|
2833
|
+
readonly minHeight: i0.InputSignal<number | undefined>;
|
|
2797
2834
|
readonly id: i0.InputSignal<string>;
|
|
2798
2835
|
readonly value: i0.ModelSignal<string>;
|
|
2799
2836
|
readonly isFocused: i0.WritableSignal<boolean>;
|
|
@@ -2815,6 +2852,7 @@ declare class TextareaComponent implements ControlValueAccessor {
|
|
|
2815
2852
|
'ea-textarea-wrapper--disabled': boolean;
|
|
2816
2853
|
'ea-textarea-wrapper--readonly': boolean;
|
|
2817
2854
|
}>;
|
|
2855
|
+
readonly minHeightStyle: i0.Signal<string>;
|
|
2818
2856
|
writeValue(val: string): void;
|
|
2819
2857
|
registerOnChange(fn: (value: string) => void): void;
|
|
2820
2858
|
registerOnTouched(fn: () => void): void;
|
|
@@ -2825,7 +2863,7 @@ declare class TextareaComponent implements ControlValueAccessor {
|
|
|
2825
2863
|
/** Moves keyboard focus to the underlying native textarea element. */
|
|
2826
2864
|
focus(): void;
|
|
2827
2865
|
static ɵfac: i0.ɵɵFactoryDeclaration<TextareaComponent, never>;
|
|
2828
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TextareaComponent, "ea-textarea", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "resize": { "alias": "resize"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "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>;
|
|
2866
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TextareaComponent, "ea-textarea", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "errorMsg"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "resize": { "alias": "resize"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "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>;
|
|
2829
2867
|
}
|
|
2830
2868
|
|
|
2831
2869
|
/** Visual size of the time picker trigger. */
|
|
@@ -6153,4 +6191,4 @@ declare class ZoomOutIconComponent extends IconComponentBase {
|
|
|
6153
6191
|
}
|
|
6154
6192
|
|
|
6155
6193
|
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, 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 };
|
|
6156
|
-
export type { AlertVariant, AutocompleteSize, AvatarEditorCropEvent, AvatarEditorCropState, AvatarEditorShape, AvatarShape, AvatarSize, BadgeShape, BadgeSize, BadgeVariant, BreadcrumbClickEvent, BreadcrumbItem, BreadcrumbsSeparator, ButtonSize, ButtonType, ButtonVariant, CardHeaderAlign, CardPadding, CardVariant, CheckboxSize, CodeInputSize, ColorPickerFormat, ColorPickerInputMode, ColorPickerSize, ColorPickerValue, CommandPaletteItem, ContrastSurfaces, ContrastViolation, DataTableColumn, DataTableDensity, DataTableSortDirection, DataTableSortState, DatePickerFormat, DatePickerSize, DatePickerValue, DatePickerWeekStart, DerivedPalette, DialogSize, DividerOrientation, DrawerPosition, DrawerSize, DropdownSize, EagamiI18nConfig, EagamiLocale, EagamiMessages, EagamiMessagesOverride, EagamiPaletteConfig, EagamiWordmarkLayout, EagamiWordmarkVariant, EmptyStateHeadingLevel, EmptyStateSize, FileUploaderRejection, FileUploaderRejectionReason, FileUploaderSize, IconCategory, IconComponentType, IconMeta, InputSize, InputType, MenuItemVariant, MenuPlacement, ModePalette, ModeSurfaces, MultiSelectSize, PaginatorAlign, 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, ToastVariant, TooltipPosition, TransferListItem, TransferListSize, TreeNode, TreeSize, VirtualListItemContext };
|
|
6194
|
+
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, DividerOrientation, DrawerPosition, DrawerSize, DropdownSize, EagamiI18nConfig, EagamiLocale, EagamiMessages, EagamiMessagesOverride, EagamiPaletteConfig, EagamiWordmarkLayout, EagamiWordmarkVariant, EmptyStateHeadingLevel, EmptyStateSize, FileUploaderRejection, FileUploaderRejectionReason, FileUploaderSize, IconCategory, IconComponentType, IconMeta, InputSize, InputType, MenuItemVariant, MenuPlacement, ModePalette, ModeSurfaces, MultiSelectSize, PaginatorAlign, 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, ToastVariant, TooltipPosition, TransferListItem, TransferListSize, TreeNode, TreeSize, VirtualListItemContext };
|