@eagami/ui 5.70.0 → 5.71.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 +283 -12
- package/fesm2022/eagami-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/src/styles/_rtl.scss +4 -2
- package/types/eagami-ui.d.ts +70 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eagami/ui",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.71.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",
|
package/src/styles/_rtl.scss
CHANGED
|
@@ -31,8 +31,10 @@
|
|
|
31
31
|
|
|
32
32
|
// Native fields use dir="auto" so typed LTR text stays LTR, but that resolves
|
|
33
33
|
// an empty field to LTR and parks its placeholder on the left. Pin them to the
|
|
34
|
-
// inline-end edge so every RTL field reads from the right like the others.
|
|
34
|
+
// inline-end edge so every RTL field reads from the right like the others. The
|
|
35
|
+
// typed placeholder drawn over an empty field follows its placeholder.
|
|
35
36
|
[dir='rtl'] input[dir='auto'],
|
|
36
|
-
[dir='rtl'] textarea[dir='auto']
|
|
37
|
+
[dir='rtl'] textarea[dir='auto'],
|
|
38
|
+
[dir='rtl'] ea-typed-placeholder[dir='auto'] {
|
|
37
39
|
text-align: right;
|
|
38
40
|
}
|
package/types/eagami-ui.d.ts
CHANGED
|
@@ -1930,14 +1930,22 @@ export declare class ButtonComponent {
|
|
|
1930
1930
|
readonly ariaLabelledby: import("@angular/core").InputSignal<string | undefined>;
|
|
1931
1931
|
/** Space-separated ids of the elements that describe the button, e.g. a hint. */
|
|
1932
1932
|
readonly ariaDescribedby: import("@angular/core").InputSignal<string | undefined>;
|
|
1933
|
+
/** Whether the content this button shows and hides is open, for a disclosure toggle. */
|
|
1934
|
+
readonly ariaExpanded: import("@angular/core").InputSignal<boolean | undefined>;
|
|
1935
|
+
/** Id of the element this button shows, hides or otherwise controls. */
|
|
1936
|
+
readonly ariaControls: import("@angular/core").InputSignal<string | undefined>;
|
|
1937
|
+
private readonly renderer;
|
|
1933
1938
|
private readonly buttonEl;
|
|
1939
|
+
private readonly ownedAria;
|
|
1934
1940
|
/** Fires when the button is activated; suppressed while disabled or loading. */
|
|
1935
1941
|
readonly clicked: import("@angular/core").OutputEmitterRef<MouseEvent>;
|
|
1936
1942
|
readonly isDisabled: import("@angular/core").Signal<boolean>;
|
|
1937
1943
|
readonly hostClasses: import("@angular/core").Signal<Record<string, boolean>>;
|
|
1944
|
+
constructor();
|
|
1938
1945
|
handleClick(event: MouseEvent): void;
|
|
1939
1946
|
/** Moves keyboard focus to the underlying native button. */
|
|
1940
1947
|
focus(): void;
|
|
1948
|
+
private reflectAria;
|
|
1941
1949
|
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
|
|
1942
1950
|
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "ea-button", never, {
|
|
1943
1951
|
"variant": {
|
|
@@ -2005,6 +2013,16 @@ export declare class ButtonComponent {
|
|
|
2005
2013
|
"required": false;
|
|
2006
2014
|
"isSignal": true;
|
|
2007
2015
|
};
|
|
2016
|
+
"ariaExpanded": {
|
|
2017
|
+
"alias": "aria-expanded";
|
|
2018
|
+
"required": false;
|
|
2019
|
+
"isSignal": true;
|
|
2020
|
+
};
|
|
2021
|
+
"ariaControls": {
|
|
2022
|
+
"alias": "aria-controls";
|
|
2023
|
+
"required": false;
|
|
2024
|
+
"isSignal": true;
|
|
2025
|
+
};
|
|
2008
2026
|
}, {
|
|
2009
2027
|
"clicked": "clicked";
|
|
2010
2028
|
}, never, ["[slot=prefix]", "*", "[slot=suffix]"], true, never>;
|
|
@@ -5218,6 +5236,26 @@ export declare class FileUploaderComponent implements ControlValueAccessor {
|
|
|
5218
5236
|
"dragOverChanged": "dragOverChanged";
|
|
5219
5237
|
}, never, ["[icon]"], true, never>;
|
|
5220
5238
|
}
|
|
5239
|
+
/** Live state of a field's typewriter placeholder. */
|
|
5240
|
+
interface TypedPlaceholder {
|
|
5241
|
+
/** Whether the typed layer stands in for the native placeholder. */
|
|
5242
|
+
readonly animating: Signal<boolean>;
|
|
5243
|
+
/** The whole hint in play, for the native `placeholder` attribute. */
|
|
5244
|
+
readonly hint: Signal<string>;
|
|
5245
|
+
/** The part of the hint typed so far. */
|
|
5246
|
+
readonly text: Signal<string>;
|
|
5247
|
+
/** Whether characters are still arriving; the cursor blinks only once they stop. */
|
|
5248
|
+
readonly typing: Signal<boolean>;
|
|
5249
|
+
}
|
|
5250
|
+
/**
|
|
5251
|
+
* Types `hints` into a field's placeholder one character at a time, holds each
|
|
5252
|
+
* whole hint, then clears it and types the next, looping. Under
|
|
5253
|
+
* `prefers-reduced-motion: reduce` it swaps whole hints instead and never
|
|
5254
|
+
* animates. It starts in the browser after the first render, restarts when the
|
|
5255
|
+
* hints change, and clears its timer on destroy. The timers run outside the
|
|
5256
|
+
* zone so the endless loop never holds the app unstable.
|
|
5257
|
+
*/
|
|
5258
|
+
declare function injectTypedPlaceholder(hints: Signal<readonly string[]>): TypedPlaceholder;
|
|
5221
5259
|
/** Visual size of the input. */
|
|
5222
5260
|
export type InputSize = EaSize;
|
|
5223
5261
|
/** HTML `type` attribute applied to the underlying `<input>`. */
|
|
@@ -5256,6 +5294,14 @@ export declare class InputComponent implements ControlValueAccessor {
|
|
|
5256
5294
|
readonly type: import("@angular/core").InputSignal<InputType>;
|
|
5257
5295
|
/** Placeholder shown while the field is empty. */
|
|
5258
5296
|
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
5297
|
+
/**
|
|
5298
|
+
* Hints typed into the empty field one character at a time, trailed by a
|
|
5299
|
+
* blinking cursor, each held and then replaced by the next, in a loop. The
|
|
5300
|
+
* native placeholder carries the whole current hint for assistive
|
|
5301
|
+
* technology, and under `prefers-reduced-motion` the hints swap whole without
|
|
5302
|
+
* a cursor. Takes the place of `placeholder` while it holds any hints.
|
|
5303
|
+
*/
|
|
5304
|
+
readonly typedPlaceholder: import("@angular/core").InputSignal<readonly string[]>;
|
|
5259
5305
|
/** Leading icon component rendered before the text, e.g. a search or filter glyph. */
|
|
5260
5306
|
readonly icon: import("@angular/core").InputSignal<Type<unknown> | undefined>;
|
|
5261
5307
|
/** Keeps the leading icon while the field has a value; when false it shows only alongside the placeholder. */
|
|
@@ -5310,6 +5356,9 @@ export declare class InputComponent implements ControlValueAccessor {
|
|
|
5310
5356
|
private onChange;
|
|
5311
5357
|
private onTouched;
|
|
5312
5358
|
readonly isDisabled: import("@angular/core").Signal<boolean>;
|
|
5359
|
+
protected readonly typed: TypedPlaceholder;
|
|
5360
|
+
protected readonly typedPlaceholderShown: import("@angular/core").Signal<boolean>;
|
|
5361
|
+
protected readonly nativePlaceholder: import("@angular/core").Signal<string>;
|
|
5313
5362
|
readonly effectiveType: import("@angular/core").Signal<InputType>;
|
|
5314
5363
|
private readonly errorState;
|
|
5315
5364
|
readonly errorText: import("@angular/core").Signal<string | null>;
|
|
@@ -5409,6 +5458,11 @@ export declare class InputComponent implements ControlValueAccessor {
|
|
|
5409
5458
|
"required": false;
|
|
5410
5459
|
"isSignal": true;
|
|
5411
5460
|
};
|
|
5461
|
+
"typedPlaceholder": {
|
|
5462
|
+
"alias": "typedPlaceholder";
|
|
5463
|
+
"required": false;
|
|
5464
|
+
"isSignal": true;
|
|
5465
|
+
};
|
|
5412
5466
|
"icon": {
|
|
5413
5467
|
"alias": "icon";
|
|
5414
5468
|
"required": false;
|
|
@@ -8783,6 +8837,14 @@ export declare class TextareaComponent implements ControlValueAccessor {
|
|
|
8783
8837
|
/** Accessible name for the control when no visible `label` is set. */
|
|
8784
8838
|
readonly ariaLabel: import("@angular/core").InputSignal<string | undefined>;
|
|
8785
8839
|
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
8840
|
+
/**
|
|
8841
|
+
* Hints typed into the empty field one character at a time, trailed by a
|
|
8842
|
+
* blinking cursor, each held and then replaced by the next, in a loop. The
|
|
8843
|
+
* native placeholder carries the whole current hint for assistive
|
|
8844
|
+
* technology, and under `prefers-reduced-motion` the hints swap whole without
|
|
8845
|
+
* a cursor. Takes the place of `placeholder` while it holds any hints.
|
|
8846
|
+
*/
|
|
8847
|
+
readonly typedPlaceholder: import("@angular/core").InputSignal<readonly string[]>;
|
|
8786
8848
|
readonly size: import("@angular/core").InputSignal<EaSize>;
|
|
8787
8849
|
readonly hint: import("@angular/core").InputSignal<string | undefined>;
|
|
8788
8850
|
readonly errorMsg: import("@angular/core").InputSignal<string | undefined>;
|
|
@@ -8812,6 +8874,9 @@ export declare class TextareaComponent implements ControlValueAccessor {
|
|
|
8812
8874
|
private onChange;
|
|
8813
8875
|
private onTouched;
|
|
8814
8876
|
readonly isDisabled: import("@angular/core").Signal<boolean>;
|
|
8877
|
+
protected readonly typed: TypedPlaceholder;
|
|
8878
|
+
protected readonly typedPlaceholderShown: import("@angular/core").Signal<boolean>;
|
|
8879
|
+
protected readonly nativePlaceholder: import("@angular/core").Signal<string>;
|
|
8815
8880
|
private readonly errorState;
|
|
8816
8881
|
readonly errorText: import("@angular/core").Signal<string | null>;
|
|
8817
8882
|
readonly hasError: import("@angular/core").Signal<boolean>;
|
|
@@ -8881,6 +8946,11 @@ export declare class TextareaComponent implements ControlValueAccessor {
|
|
|
8881
8946
|
"required": false;
|
|
8882
8947
|
"isSignal": true;
|
|
8883
8948
|
};
|
|
8949
|
+
"typedPlaceholder": {
|
|
8950
|
+
"alias": "typedPlaceholder";
|
|
8951
|
+
"required": false;
|
|
8952
|
+
"isSignal": true;
|
|
8953
|
+
};
|
|
8884
8954
|
"size": {
|
|
8885
8955
|
"alias": "size";
|
|
8886
8956
|
"required": false;
|