@eagami/ui 0.1.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/LICENSE +21 -0
- package/README.md +388 -0
- package/fesm2022/eagami-ui.mjs +536 -0
- package/fesm2022/eagami-ui.mjs.map +1 -0
- package/package.json +51 -0
- package/src/styles/_reset.scss +67 -0
- package/src/styles/eagami-ui.scss +16 -0
- package/src/styles/tokens/_colors.scss +160 -0
- package/src/styles/tokens/_elevation.scss +33 -0
- package/src/styles/tokens/_index.scss +11 -0
- package/src/styles/tokens/_motion.scss +49 -0
- package/src/styles/tokens/_shape.scss +26 -0
- package/src/styles/tokens/_spacing.scss +57 -0
- package/src/styles/tokens/_typography.scss +119 -0
- package/types/eagami-ui.d.ts +232 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// TYPOGRAPHY TOKENS
|
|
3
|
+
// =============================================================================
|
|
4
|
+
|
|
5
|
+
:root {
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Font families
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
--font-family-sans: 'DM Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;
|
|
10
|
+
--font-family-brand: 'Syne', 'DM Sans', system-ui, sans-serif;
|
|
11
|
+
--font-family-serif: 'Georgia', 'Times New Roman', serif;
|
|
12
|
+
--font-family-mono: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;
|
|
13
|
+
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// Font sizes (rem, base 16px)
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
--font-size-2xs: 0.625rem; // 10px
|
|
18
|
+
--font-size-xs: 0.75rem; // 12px
|
|
19
|
+
--font-size-sm: 0.875rem; // 14px
|
|
20
|
+
--font-size-md: 1rem; // 16px (base)
|
|
21
|
+
--font-size-lg: 1.125rem; // 18px
|
|
22
|
+
--font-size-xl: 1.25rem; // 20px
|
|
23
|
+
--font-size-2xl: 1.5rem; // 24px
|
|
24
|
+
--font-size-3xl: 1.875rem; // 30px
|
|
25
|
+
--font-size-4xl: 2.25rem; // 36px
|
|
26
|
+
--font-size-5xl: 3rem; // 48px
|
|
27
|
+
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
// Font weights
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
--font-weight-regular: 400;
|
|
32
|
+
--font-weight-medium: 500;
|
|
33
|
+
--font-weight-semibold: 600;
|
|
34
|
+
--font-weight-bold: 700;
|
|
35
|
+
--font-weight-extrabold: 800;
|
|
36
|
+
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
// Line heights
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
--line-height-none: 1;
|
|
41
|
+
--line-height-tight: 1.25;
|
|
42
|
+
--line-height-snug: 1.375;
|
|
43
|
+
--line-height-normal: 1.5;
|
|
44
|
+
--line-height-relaxed: 1.625;
|
|
45
|
+
--line-height-loose: 2;
|
|
46
|
+
|
|
47
|
+
// ---------------------------------------------------------------------------
|
|
48
|
+
// Letter spacing
|
|
49
|
+
// ---------------------------------------------------------------------------
|
|
50
|
+
--letter-spacing-tighter: -0.05em;
|
|
51
|
+
--letter-spacing-tight: -0.025em;
|
|
52
|
+
--letter-spacing-normal: 0em;
|
|
53
|
+
--letter-spacing-wide: 0.025em;
|
|
54
|
+
--letter-spacing-wider: 0.05em;
|
|
55
|
+
--letter-spacing-widest: 0.1em;
|
|
56
|
+
|
|
57
|
+
// ---------------------------------------------------------------------------
|
|
58
|
+
// Semantic text styles (composite tokens)
|
|
59
|
+
// These map to specific UI roles for consistent usage.
|
|
60
|
+
// ---------------------------------------------------------------------------
|
|
61
|
+
|
|
62
|
+
// Display
|
|
63
|
+
--text-display-size: var(--font-size-5xl);
|
|
64
|
+
--text-display-weight: var(--font-weight-bold);
|
|
65
|
+
--text-display-lh: var(--line-height-tight);
|
|
66
|
+
|
|
67
|
+
// Headings
|
|
68
|
+
--text-h1-size: var(--font-size-4xl);
|
|
69
|
+
--text-h1-weight: var(--font-weight-bold);
|
|
70
|
+
--text-h1-lh: var(--line-height-tight);
|
|
71
|
+
|
|
72
|
+
--text-h2-size: var(--font-size-3xl);
|
|
73
|
+
--text-h2-weight: var(--font-weight-semibold);
|
|
74
|
+
--text-h2-lh: var(--line-height-snug);
|
|
75
|
+
|
|
76
|
+
--text-h3-size: var(--font-size-2xl);
|
|
77
|
+
--text-h3-weight: var(--font-weight-semibold);
|
|
78
|
+
--text-h3-lh: var(--line-height-snug);
|
|
79
|
+
|
|
80
|
+
--text-h4-size: var(--font-size-xl);
|
|
81
|
+
--text-h4-weight: var(--font-weight-semibold);
|
|
82
|
+
--text-h4-lh: var(--line-height-snug);
|
|
83
|
+
|
|
84
|
+
// Body
|
|
85
|
+
--text-body-lg-size: var(--font-size-lg);
|
|
86
|
+
--text-body-lg-weight: var(--font-weight-regular);
|
|
87
|
+
--text-body-lg-lh: var(--line-height-relaxed);
|
|
88
|
+
|
|
89
|
+
--text-body-md-size: var(--font-size-md);
|
|
90
|
+
--text-body-md-weight: var(--font-weight-regular);
|
|
91
|
+
--text-body-md-lh: var(--line-height-normal);
|
|
92
|
+
|
|
93
|
+
--text-body-sm-size: var(--font-size-sm);
|
|
94
|
+
--text-body-sm-weight: var(--font-weight-regular);
|
|
95
|
+
--text-body-sm-lh: var(--line-height-normal);
|
|
96
|
+
|
|
97
|
+
// Labels (form labels, badges, tags)
|
|
98
|
+
--text-label-lg-size: var(--font-size-md);
|
|
99
|
+
--text-label-lg-weight: var(--font-weight-medium);
|
|
100
|
+
--text-label-lg-lh: var(--line-height-tight);
|
|
101
|
+
|
|
102
|
+
--text-label-md-size: var(--font-size-sm);
|
|
103
|
+
--text-label-md-weight: var(--font-weight-medium);
|
|
104
|
+
--text-label-md-lh: var(--line-height-tight);
|
|
105
|
+
|
|
106
|
+
--text-label-sm-size: var(--font-size-xs);
|
|
107
|
+
--text-label-sm-weight: var(--font-weight-medium);
|
|
108
|
+
--text-label-sm-lh: var(--line-height-tight);
|
|
109
|
+
|
|
110
|
+
// Helper / caption
|
|
111
|
+
--text-helper-size: var(--font-size-xs);
|
|
112
|
+
--text-helper-weight: var(--font-weight-regular);
|
|
113
|
+
--text-helper-lh: var(--line-height-normal);
|
|
114
|
+
|
|
115
|
+
// Code
|
|
116
|
+
--text-code-size: var(--font-size-sm);
|
|
117
|
+
--text-code-weight: var(--font-weight-regular);
|
|
118
|
+
--text-code-family: var(--font-family-mono);
|
|
119
|
+
}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { ElementRef } from '@angular/core';
|
|
3
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
4
|
+
import * as _eagami_ui from '@eagami/ui';
|
|
5
|
+
|
|
6
|
+
type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger';
|
|
7
|
+
type ButtonSize = 'sm' | 'md' | 'lg';
|
|
8
|
+
type ButtonType = 'button' | 'submit' | 'reset';
|
|
9
|
+
declare class ButtonComponent {
|
|
10
|
+
readonly variant: _angular_core.InputSignal<ButtonVariant>;
|
|
11
|
+
readonly size: _angular_core.InputSignal<ButtonSize>;
|
|
12
|
+
readonly type: _angular_core.InputSignal<ButtonType>;
|
|
13
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
14
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
15
|
+
readonly fullWidth: _angular_core.InputSignal<boolean>;
|
|
16
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
17
|
+
readonly clicked: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
18
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
19
|
+
readonly hostClasses: _angular_core.Signal<{
|
|
20
|
+
[x: string]: boolean;
|
|
21
|
+
'ea-button--full-width': boolean;
|
|
22
|
+
'ea-button--loading': boolean;
|
|
23
|
+
'ea-button--disabled': boolean;
|
|
24
|
+
}>;
|
|
25
|
+
handleClick(event: MouseEvent): void;
|
|
26
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
|
|
27
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "ea-button", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, ["[slot=prefix]", "*", "[slot=suffix]"], true, never>;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
type CardVariant = 'elevated' | 'outlined' | 'filled';
|
|
31
|
+
type CardPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
32
|
+
declare class CardComponent {
|
|
33
|
+
readonly variant: _angular_core.InputSignal<CardVariant>;
|
|
34
|
+
readonly padding: _angular_core.InputSignal<CardPadding>;
|
|
35
|
+
readonly fullWidth: _angular_core.InputSignal<boolean>;
|
|
36
|
+
readonly hostClasses: _angular_core.Signal<{
|
|
37
|
+
[x: string]: boolean;
|
|
38
|
+
'ea-card--full-width': boolean;
|
|
39
|
+
}>;
|
|
40
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CardComponent, never>;
|
|
41
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CardComponent, "ea-card", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=header]", "*", "[slot=footer]"], true, never>;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
type CheckboxSize = 'sm' | 'md' | 'lg';
|
|
45
|
+
declare class CheckboxComponent implements ControlValueAccessor {
|
|
46
|
+
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
47
|
+
readonly size: _angular_core.InputSignal<CheckboxSize>;
|
|
48
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
49
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
50
|
+
readonly indeterminate: _angular_core.InputSignal<boolean>;
|
|
51
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
52
|
+
readonly checked: _angular_core.ModelSignal<boolean>;
|
|
53
|
+
readonly changed: _angular_core.OutputEmitterRef<boolean>;
|
|
54
|
+
private readonly _formDisabled;
|
|
55
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
56
|
+
readonly hostClasses: _angular_core.Signal<{
|
|
57
|
+
[x: string]: boolean;
|
|
58
|
+
'ea-checkbox--disabled': boolean;
|
|
59
|
+
'ea-checkbox--checked': boolean;
|
|
60
|
+
'ea-checkbox--indeterminate': boolean;
|
|
61
|
+
}>;
|
|
62
|
+
private onChange;
|
|
63
|
+
private onTouched;
|
|
64
|
+
writeValue(val: boolean): void;
|
|
65
|
+
registerOnChange(fn: (value: boolean) => void): void;
|
|
66
|
+
registerOnTouched(fn: () => void): void;
|
|
67
|
+
setDisabledState(isDisabled: boolean): void;
|
|
68
|
+
handleChange(): void;
|
|
69
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CheckboxComponent, never>;
|
|
70
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CheckboxComponent, "ea-checkbox", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "changed": "changed"; }, never, never, true, never>;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
type DialogSize = 'sm' | 'md' | 'lg' | 'full';
|
|
74
|
+
declare class DialogComponent {
|
|
75
|
+
private readonly dialogEl;
|
|
76
|
+
readonly size: _angular_core.InputSignal<DialogSize>;
|
|
77
|
+
readonly closeOnBackdrop: _angular_core.InputSignal<boolean>;
|
|
78
|
+
readonly closeOnEscape: _angular_core.InputSignal<boolean>;
|
|
79
|
+
readonly showClose: _angular_core.InputSignal<boolean>;
|
|
80
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
81
|
+
readonly open: _angular_core.ModelSignal<boolean>;
|
|
82
|
+
readonly opened: _angular_core.OutputEmitterRef<void>;
|
|
83
|
+
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
84
|
+
readonly panelClasses: _angular_core.Signal<{
|
|
85
|
+
[x: string]: boolean;
|
|
86
|
+
}>;
|
|
87
|
+
constructor();
|
|
88
|
+
handleClose(): void;
|
|
89
|
+
handleBackdropClick(event: MouseEvent): void;
|
|
90
|
+
handleCancel(event: Event): void;
|
|
91
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DialogComponent, never>;
|
|
92
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogComponent, "ea-dialog", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "closeOnBackdrop": { "alias": "closeOnBackdrop"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "opened": "opened"; "closed": "closed"; }, never, ["[slot=header]", "*", "[slot=footer]"], true, never>;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
type DropdownSize = 'sm' | 'md' | 'lg';
|
|
96
|
+
interface DropdownOption {
|
|
97
|
+
value: string;
|
|
98
|
+
label: string;
|
|
99
|
+
disabled?: boolean;
|
|
100
|
+
}
|
|
101
|
+
declare class DropdownComponent implements ControlValueAccessor {
|
|
102
|
+
private readonly elRef;
|
|
103
|
+
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
104
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
105
|
+
readonly options: _angular_core.InputSignal<DropdownOption[]>;
|
|
106
|
+
readonly size: _angular_core.InputSignal<DropdownSize>;
|
|
107
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
108
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
109
|
+
readonly hint: _angular_core.InputSignal<string | undefined>;
|
|
110
|
+
readonly errorMsg: _angular_core.InputSignal<string | undefined>;
|
|
111
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
112
|
+
readonly value: _angular_core.ModelSignal<string>;
|
|
113
|
+
readonly changed: _angular_core.OutputEmitterRef<string>;
|
|
114
|
+
readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
115
|
+
readonly focusedIndex: _angular_core.WritableSignal<number>;
|
|
116
|
+
private readonly _formDisabled;
|
|
117
|
+
private onChange;
|
|
118
|
+
private onTouched;
|
|
119
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
120
|
+
readonly resolvedStatus: _angular_core.Signal<"error" | "default">;
|
|
121
|
+
readonly showError: _angular_core.Signal<boolean>;
|
|
122
|
+
readonly showHint: _angular_core.Signal<boolean>;
|
|
123
|
+
readonly selectedLabel: _angular_core.Signal<string>;
|
|
124
|
+
readonly triggerClasses: _angular_core.Signal<{
|
|
125
|
+
[x: string]: boolean;
|
|
126
|
+
'ea-dropdown__trigger--open': boolean;
|
|
127
|
+
'ea-dropdown__trigger--disabled': boolean;
|
|
128
|
+
}>;
|
|
129
|
+
writeValue(val: string): void;
|
|
130
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
131
|
+
registerOnTouched(fn: () => void): void;
|
|
132
|
+
setDisabledState(isDisabled: boolean): void;
|
|
133
|
+
toggle(): void;
|
|
134
|
+
select(option: DropdownOption): void;
|
|
135
|
+
close(): void;
|
|
136
|
+
handleKeydown(event: KeyboardEvent): void;
|
|
137
|
+
private moveFocus;
|
|
138
|
+
onDocumentClick(event: Event): void;
|
|
139
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropdownComponent, never>;
|
|
140
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DropdownComponent, "ea-dropdown", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "error"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, never, never, true, never>;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
type InputSize = 'sm' | 'md' | 'lg';
|
|
144
|
+
type InputStatus = 'default' | 'error' | 'success';
|
|
145
|
+
type InputType = 'text' | 'email' | 'password' | 'number' | 'search' | 'tel' | 'url';
|
|
146
|
+
declare class InputComponent implements ControlValueAccessor {
|
|
147
|
+
readonly inputEl: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
148
|
+
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
149
|
+
readonly type: _angular_core.InputSignal<InputType>;
|
|
150
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
151
|
+
readonly size: _angular_core.InputSignal<InputSize>;
|
|
152
|
+
readonly status: _angular_core.InputSignal<InputStatus>;
|
|
153
|
+
readonly hint: _angular_core.InputSignal<string | undefined>;
|
|
154
|
+
readonly errorMsg: _angular_core.InputSignal<string | undefined>;
|
|
155
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
156
|
+
readonly readonly: _angular_core.InputSignal<boolean>;
|
|
157
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
158
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
159
|
+
readonly value: _angular_core.ModelSignal<string>;
|
|
160
|
+
readonly focused: _angular_core.WritableSignal<boolean>;
|
|
161
|
+
private readonly _formDisabled;
|
|
162
|
+
readonly inputFocused: _angular_core.OutputEmitterRef<FocusEvent>;
|
|
163
|
+
readonly inputBlurred: _angular_core.OutputEmitterRef<FocusEvent>;
|
|
164
|
+
private onChange;
|
|
165
|
+
private onTouched;
|
|
166
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
167
|
+
readonly resolvedStatus: _angular_core.Signal<InputStatus>;
|
|
168
|
+
readonly showError: _angular_core.Signal<boolean>;
|
|
169
|
+
readonly showHint: _angular_core.Signal<boolean>;
|
|
170
|
+
readonly wrapperClasses: _angular_core.Signal<{
|
|
171
|
+
[x: string]: boolean;
|
|
172
|
+
'ea-input-wrapper--focused': boolean;
|
|
173
|
+
'ea-input-wrapper--disabled': boolean;
|
|
174
|
+
'ea-input-wrapper--readonly': boolean;
|
|
175
|
+
}>;
|
|
176
|
+
writeValue(val: string): void;
|
|
177
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
178
|
+
registerOnTouched(fn: () => void): void;
|
|
179
|
+
setDisabledState(isDisabled: boolean): void;
|
|
180
|
+
handleInput(event: Event): void;
|
|
181
|
+
handleFocus(event: FocusEvent): void;
|
|
182
|
+
handleBlur(event: FocusEvent): void;
|
|
183
|
+
focus(): void;
|
|
184
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputComponent, never>;
|
|
185
|
+
static ɵcmp: _angular_core.ɵɵ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; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMsg": { "alias": "error"; "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; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "inputFocused": "inputFocused"; "inputBlurred": "inputBlurred"; }, never, ["[slot=prefix]", "[slot=suffix]"], true, never>;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
type RadioSize = 'sm' | 'md' | 'lg';
|
|
189
|
+
type RadioOrientation = 'vertical' | 'horizontal';
|
|
190
|
+
declare class RadioGroupComponent implements ControlValueAccessor {
|
|
191
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
192
|
+
readonly size: _angular_core.InputSignal<RadioSize>;
|
|
193
|
+
readonly orientation: _angular_core.InputSignal<RadioOrientation>;
|
|
194
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
195
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
196
|
+
readonly value: _angular_core.ModelSignal<string>;
|
|
197
|
+
readonly changed: _angular_core.OutputEmitterRef<string>;
|
|
198
|
+
private readonly _formDisabled;
|
|
199
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
200
|
+
private onChange;
|
|
201
|
+
private onTouched;
|
|
202
|
+
writeValue(val: string): void;
|
|
203
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
204
|
+
registerOnTouched(fn: () => void): void;
|
|
205
|
+
setDisabledState(isDisabled: boolean): void;
|
|
206
|
+
select(val: string): void;
|
|
207
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadioGroupComponent, never>;
|
|
208
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioGroupComponent, "ea-radio-group", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, never, ["*"], true, never>;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
declare class RadioComponent {
|
|
212
|
+
private readonly group;
|
|
213
|
+
readonly value: _angular_core.InputSignal<string>;
|
|
214
|
+
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
215
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
216
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
217
|
+
readonly isChecked: _angular_core.Signal<boolean>;
|
|
218
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
219
|
+
readonly name: _angular_core.Signal<string>;
|
|
220
|
+
readonly size: _angular_core.Signal<_eagami_ui.RadioSize>;
|
|
221
|
+
readonly hostClasses: _angular_core.Signal<{
|
|
222
|
+
[x: string]: boolean;
|
|
223
|
+
'ea-radio--disabled': boolean;
|
|
224
|
+
'ea-radio--checked': boolean;
|
|
225
|
+
}>;
|
|
226
|
+
handleChange(): void;
|
|
227
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadioComponent, never>;
|
|
228
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioComponent, "ea-radio", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
export { ButtonComponent, CardComponent, CheckboxComponent, DialogComponent, DropdownComponent, InputComponent, RadioComponent, RadioGroupComponent };
|
|
232
|
+
export type { ButtonSize, ButtonType, ButtonVariant, CardPadding, CardVariant, CheckboxSize, DialogSize, DropdownOption, DropdownSize, InputSize, InputStatus, InputType, RadioOrientation, RadioSize };
|