aeico-components 0.1.8 → 0.1.10
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/README.md +0 -0
- package/dist/alert.cjs +20 -29
- package/dist/alert.cjs.map +3 -3
- package/dist/alert.js +20 -29
- package/dist/alert.js.map +3 -3
- package/dist/badge.cjs +19 -28
- package/dist/badge.cjs.map +3 -3
- package/dist/badge.js +19 -28
- package/dist/badge.js.map +3 -3
- package/dist/breadcrumb.cjs +22 -33
- package/dist/breadcrumb.cjs.map +3 -3
- package/dist/breadcrumb.js +22 -33
- package/dist/breadcrumb.js.map +3 -3
- package/dist/button-group.cjs +19 -28
- package/dist/button-group.cjs.map +3 -3
- package/dist/button-group.js +19 -28
- package/dist/button-group.js.map +3 -3
- package/dist/button.cjs +19 -29
- package/dist/button.cjs.map +3 -3
- package/dist/button.js +19 -29
- package/dist/button.js.map +3 -3
- package/dist/card.cjs +19 -29
- package/dist/card.cjs.map +3 -3
- package/dist/card.js +19 -29
- package/dist/card.js.map +3 -3
- package/dist/checkbox.cjs +21 -31
- package/dist/checkbox.cjs.map +3 -3
- package/dist/checkbox.js +21 -31
- package/dist/checkbox.js.map +3 -3
- package/dist/copy-button.cjs +25 -33
- package/dist/copy-button.cjs.map +2 -2
- package/dist/copy-button.js +25 -33
- package/dist/copy-button.js.map +3 -3
- package/dist/detail-group.cjs +19 -29
- package/dist/detail-group.cjs.map +3 -3
- package/dist/detail-group.js +19 -29
- package/dist/detail-group.js.map +3 -3
- package/dist/detail.cjs +19 -29
- package/dist/detail.cjs.map +3 -3
- package/dist/detail.js +19 -29
- package/dist/detail.js.map +3 -3
- package/dist/dialog.cjs +24 -32
- package/dist/dialog.cjs.map +2 -2
- package/dist/dialog.js +24 -32
- package/dist/dialog.js.map +3 -3
- package/dist/divider.cjs +20 -30
- package/dist/divider.cjs.map +3 -3
- package/dist/divider.js +20 -30
- package/dist/divider.js.map +3 -3
- package/dist/drawer.cjs +24 -32
- package/dist/drawer.cjs.map +2 -2
- package/dist/drawer.js +24 -32
- package/dist/drawer.js.map +3 -3
- package/dist/dropdown.cjs +31 -43
- package/dist/dropdown.cjs.map +3 -3
- package/dist/dropdown.js +31 -43
- package/dist/dropdown.js.map +3 -3
- package/dist/icon-button.cjs +25 -35
- package/dist/icon-button.cjs.map +3 -3
- package/dist/icon-button.js +25 -35
- package/dist/icon-button.js.map +3 -3
- package/dist/icon.cjs +20 -26
- package/dist/icon.cjs.map +2 -2
- package/dist/icon.js +20 -26
- package/dist/icon.js.map +2 -2
- package/dist/index.cjs +75 -113
- package/dist/index.cjs.map +3 -3
- package/dist/index.js +75 -113
- package/dist/index.js.map +3 -3
- package/dist/menu.cjs +20 -31
- package/dist/menu.cjs.map +3 -3
- package/dist/menu.js +20 -31
- package/dist/menu.js.map +3 -3
- package/dist/navbar.cjs +19 -29
- package/dist/navbar.cjs.map +3 -3
- package/dist/navbar.js +19 -29
- package/dist/navbar.js.map +3 -3
- package/dist/number-input.cjs +21 -31
- package/dist/number-input.cjs.map +3 -3
- package/dist/number-input.js +21 -31
- package/dist/number-input.js.map +3 -3
- package/dist/pagination.cjs +24 -33
- package/dist/pagination.cjs.map +2 -2
- package/dist/pagination.js +24 -33
- package/dist/pagination.js.map +3 -3
- package/dist/progress-bar.cjs +19 -29
- package/dist/progress-bar.cjs.map +3 -3
- package/dist/progress-bar.js +19 -29
- package/dist/progress-bar.js.map +3 -3
- package/dist/radio-group.cjs +24 -35
- package/dist/radio-group.cjs.map +3 -3
- package/dist/radio-group.js +24 -35
- package/dist/radio-group.js.map +3 -3
- package/dist/select.cjs +23 -34
- package/dist/select.cjs.map +3 -3
- package/dist/select.js +23 -34
- package/dist/select.js.map +3 -3
- package/dist/slider.cjs +21 -32
- package/dist/slider.cjs.map +3 -3
- package/dist/slider.js +21 -32
- package/dist/slider.js.map +3 -3
- package/dist/spinner.cjs +19 -29
- package/dist/spinner.cjs.map +3 -3
- package/dist/spinner.js +19 -29
- package/dist/spinner.js.map +3 -3
- package/dist/styles/layout.cjs +1 -1
- package/dist/styles/layout.js +1 -1
- package/dist/styles/radius.cjs +1 -1
- package/dist/styles/radius.js +1 -1
- package/dist/styles/variables.cjs +1 -1
- package/dist/styles/variables.js +1 -1
- package/dist/switch.cjs +26 -35
- package/dist/switch.cjs.map +3 -3
- package/dist/switch.js +26 -35
- package/dist/switch.js.map +3 -3
- package/dist/tabs.cjs +21 -30
- package/dist/tabs.cjs.map +3 -3
- package/dist/tabs.js +21 -30
- package/dist/tabs.js.map +3 -3
- package/dist/tag.cjs +19 -28
- package/dist/tag.cjs.map +3 -3
- package/dist/tag.js +19 -28
- package/dist/tag.js.map +3 -3
- package/dist/text-input.cjs +21 -31
- package/dist/text-input.cjs.map +3 -3
- package/dist/text-input.js +21 -31
- package/dist/text-input.js.map +3 -3
- package/dist/textarea.cjs +21 -31
- package/dist/textarea.cjs.map +3 -3
- package/dist/textarea.js +21 -31
- package/dist/textarea.js.map +3 -3
- package/dist/tooltip.cjs +19 -28
- package/dist/tooltip.cjs.map +3 -3
- package/dist/tooltip.js +19 -28
- package/dist/tooltip.js.map +3 -3
- package/dist/tree.cjs +25 -35
- package/dist/tree.cjs.map +3 -3
- package/dist/tree.js +25 -35
- package/dist/tree.js.map +3 -3
- package/dist/types/aeico-component.d.ts +1 -1
- package/dist/types/aeico-field.d.ts +1 -1
- package/dist/types/breadcrumb/breadcrumb-item.d.ts +0 -1
- package/dist/types/breadcrumb/breadcrumb.d.ts +2 -3
- package/dist/types/button-group/button-group.d.ts +1 -1
- package/dist/types/card/card.d.ts +0 -1
- package/dist/types/checkbox/checkbox.d.ts +0 -1
- package/dist/types/detail/detail.d.ts +0 -1
- package/dist/types/detail-group/detail-group.d.ts +1 -2
- package/dist/types/divider/divider.d.ts +0 -1
- package/dist/types/dropdown/dropdown-button.d.ts +4 -5
- package/dist/types/dropdown/dropdown-item.d.ts +3 -4
- package/dist/types/dropdown/dropdown.d.ts +4 -5
- package/dist/types/icon/icon.d.ts +0 -1
- package/dist/types/icon/registry.d.ts +1 -1
- package/dist/types/icon-button/icon-button.d.ts +0 -1
- package/dist/types/index.d.ts +4 -4
- package/dist/types/menu/menu-item.d.ts +3 -4
- package/dist/types/menu/menu.d.ts +3 -4
- package/dist/types/navbar/navbar.d.ts +5 -6
- package/dist/types/number-input/number-input.d.ts +0 -1
- package/dist/types/pagination/pagination.d.ts +0 -1
- package/dist/types/progress-bar/progress-bar.d.ts +0 -1
- package/dist/types/radio-group/radio-group.d.ts +0 -1
- package/dist/types/radio-group/radio.d.ts +6 -7
- package/dist/types/select/select-option.d.ts +0 -1
- package/dist/types/select/select.d.ts +0 -1
- package/dist/types/slider/defines.d.ts +5 -5
- package/dist/types/slider/slider.d.ts +0 -1
- package/dist/types/spinner/spinner.d.ts +1 -2
- package/dist/types/switch/switch.d.ts +0 -1
- package/dist/types/text-input/text-input.d.ts +0 -1
- package/dist/types/textarea/textarea.d.ts +0 -1
- package/dist/types/tree/tree-item.d.ts +1 -2
- package/dist/types/tree/tree.d.ts +0 -1
- package/package.json +5 -3
- package/src/aeico-component.ts +6 -5
- package/src/aeico-field.ts +2 -2
- package/src/alert/alert.ts +2 -2
- package/src/badge/badge.ts +2 -2
- package/src/breadcrumb/breadcrumb-item.ts +2 -4
- package/src/breadcrumb/breadcrumb.ts +4 -6
- package/src/button/button.ts +2 -2
- package/src/button-group/button-group.ts +3 -3
- package/src/card/card.ts +2 -4
- package/src/card/defines.ts +1 -1
- package/src/card/index.ts +1 -1
- package/src/checkbox/checkbox.ts +2 -4
- package/src/copy-button/copy-button.ts +1 -1
- package/src/detail/detail.ts +2 -4
- package/src/detail-group/detail-group.ts +2 -4
- package/src/dialog/dialog.ts +2 -2
- package/src/divider/divider.ts +2 -4
- package/src/drawer/drawer.ts +2 -2
- package/src/dropdown/dropdown-button.ts +6 -8
- package/src/dropdown/dropdown-item.ts +5 -7
- package/src/dropdown/dropdown.ts +7 -9
- package/src/icon/icon.ts +2 -4
- package/src/icon/registry.ts +1 -1
- package/src/icon-button/icon-button.ts +2 -4
- package/src/index.ts +4 -4
- package/src/menu/menu-item.ts +5 -7
- package/src/menu/menu.ts +4 -6
- package/src/navbar/navbar.ts +7 -9
- package/src/number-input/number-input.ts +1 -3
- package/src/pagination/pagination.ts +1 -3
- package/src/progress-bar/progress-bar.ts +1 -2
- package/src/radio-group/radio-group.ts +5 -7
- package/src/radio-group/radio.ts +8 -10
- package/src/select/select-option.ts +2 -4
- package/src/select/select.ts +4 -6
- package/src/slider/defines.ts +5 -5
- package/src/slider/slider.ts +5 -8
- package/src/spinner/spinner.ts +2 -4
- package/src/styles/components/action-button.css +1 -1
- package/src/styles/components/alert.css +1 -1
- package/src/styles/components/breadcrumb-item.css +2 -2
- package/src/styles/components/button.css +0 -1
- package/src/styles/components/divider.css +1 -1
- package/src/styles/components/dropdown-item.css +2 -2
- package/src/styles/components/dropdown.css +1 -1
- package/src/styles/layout.css +14 -14
- package/src/styles/radius.css +1 -1
- package/src/styles/variables.css +14 -16
- package/src/switch/switch.ts +2 -4
- package/src/tabs/tab-panel.ts +2 -2
- package/src/tabs/tab.ts +2 -2
- package/src/tabs/tabs.ts +2 -2
- package/src/tag/tag.ts +2 -2
- package/src/text-input/text-input.ts +2 -4
- package/src/textarea/textarea.ts +1 -3
- package/src/tooltip/tooltip.ts +1 -1
- package/src/tree/tree-item.ts +3 -5
- package/src/tree/tree.ts +2 -4
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
margin-bottom: 0;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
/* default color (no [color] attribute)
|
|
17
|
+
/* default color (no [color] attribute) - primary */
|
|
18
18
|
:host(:not([color])) {
|
|
19
19
|
--ae-color-solid: var(--ae-color-primary);
|
|
20
20
|
--ae-color-on-solid: var(--ae-color-text-main);
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
white-space: nowrap;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
/* Separator
|
|
12
|
+
/* Separator - uses a fixed muted color that does NOT follow the breadcrumb's color prop */
|
|
13
13
|
.sep {
|
|
14
14
|
display: inline-flex;
|
|
15
15
|
align-items: center;
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
color: var(--ae-color-text-muted);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
/* Current page
|
|
36
|
+
/* Current page - last item */
|
|
37
37
|
:host([aria-current="page"]) .label {
|
|
38
38
|
color: var(--ae-color-text-main);
|
|
39
39
|
font-weight: 500;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
height: var(--thickness, 1px);
|
|
5
5
|
flex-shrink: 0;
|
|
6
6
|
|
|
7
|
-
/* Override color.css default
|
|
7
|
+
/* Override color.css default - divider uses the subtle border token when no [color] is set */
|
|
8
8
|
--ae-color-border: var(--ae-border-default);
|
|
9
9
|
|
|
10
10
|
background: var(--ae-color-border);
|
|
@@ -56,14 +56,14 @@
|
|
|
56
56
|
pointer-events: none;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
/* Active item
|
|
59
|
+
/* Active item - current selection, current route, etc. */
|
|
60
60
|
:host([active]) .item {
|
|
61
61
|
background: var(--dropdown-item-bg-selected, rgba(0, 0, 0, 0.06));
|
|
62
62
|
color: var(--dropdown-item-color-active, var(--ae-color-primary, #0e639c));
|
|
63
63
|
font-weight: 500;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
/* Checkbox mode
|
|
66
|
+
/* Checkbox mode - fixed-width indicator column */
|
|
67
67
|
.check-indicator {
|
|
68
68
|
display: inline-flex;
|
|
69
69
|
align-items: center;
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
pointer-events: none;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
/* Bootstrap-style CSS border caret
|
|
52
|
+
/* Bootstrap-style CSS border caret - shadow DOM only, no global injection needed */
|
|
53
53
|
.ae-dropdown-arrow {
|
|
54
54
|
display: inline-block;
|
|
55
55
|
width: 0;
|
package/src/styles/layout.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
layout.css
|
|
2
|
+
layout.css - Light DOM utility classes
|
|
3
3
|
This file is for use in the user's light DOM (regular HTML),
|
|
4
4
|
NOT imported by any Web Component internally.
|
|
5
5
|
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
-
* Tokens
|
|
23
|
+
* Tokens - defined on :root outside @layer so they are always resolvable,
|
|
24
24
|
* even when the cascade layer order is re-arranged by the consuming app.
|
|
25
25
|
*/
|
|
26
26
|
:root {
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
--container-md-max-width: 960px;
|
|
31
31
|
--container-xl-max-width: 1440px;
|
|
32
32
|
|
|
33
|
-
/* Spacing scale
|
|
33
|
+
/* Spacing scale - numeric steps based on a 4px unit.
|
|
34
34
|
* Usage: gap: var(--space-4); padding: var(--space-2) var(--space-6);
|
|
35
35
|
*/
|
|
36
36
|
--space-1: 0.25rem; /* 4px */
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
|
-
* @layer aeico-layout
|
|
48
|
+
* @layer aeico-layout - all utility rules live here.
|
|
49
49
|
* Unlayered user styles win automatically. To override from a named layer,
|
|
50
50
|
* declare the order before importing this file:
|
|
51
51
|
* @layer aeico-layout, your-layer;
|
|
@@ -122,11 +122,11 @@
|
|
|
122
122
|
gap: var(--stack-gap, var(--space-4, 1rem));
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
/* Reset block margins on direct children
|
|
125
|
+
/* Reset block margins on direct children - prevents h1/p/ul from adding
|
|
126
126
|
unintended spacing on top of the flex gap. */
|
|
127
127
|
.stack > * { margin-block: 0; margin-inline: 0; }
|
|
128
128
|
|
|
129
|
-
/* Default alignment
|
|
129
|
+
/* Default alignment - zero specificity so a single class rule overrides it. */
|
|
130
130
|
:where(.stack) { align-items: stretch; }
|
|
131
131
|
|
|
132
132
|
.stack-1 { --stack-gap: var(--space-1, 0.25rem); }
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
gap: var(--cluster-gap, var(--space-4, 1rem));
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
-
/* Defaults
|
|
172
|
+
/* Defaults - override via CSS custom properties or modifier classes.
|
|
173
173
|
:where() keeps specificity at zero so a plain class rule always wins. */
|
|
174
174
|
:where(.cluster) {
|
|
175
175
|
align-items: var(--cluster-align, center);
|
|
@@ -222,7 +222,7 @@
|
|
|
222
222
|
gap: var(--grid-gap, var(--space-4, 1rem));
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
-
/* Reset block margins on direct children
|
|
225
|
+
/* Reset block margins on direct children - same rationale as .stack. */
|
|
226
226
|
.grid > * { margin-block: 0; margin-inline: 0; }
|
|
227
227
|
|
|
228
228
|
/* Fixed-column presets */
|
|
@@ -244,10 +244,10 @@
|
|
|
244
244
|
gap: var(--grid-gap, var(--space-4, 1rem));
|
|
245
245
|
}
|
|
246
246
|
|
|
247
|
-
/* .grid-span
|
|
247
|
+
/* .grid-span - child spans all columns */
|
|
248
248
|
.grid-span { grid-column: 1 / -1; }
|
|
249
249
|
|
|
250
|
-
/* Responsive column modifiers
|
|
250
|
+
/* Responsive column modifiers - sm ≥ 576px */
|
|
251
251
|
@media (min-width: 576px) {
|
|
252
252
|
.grid-cols-sm-1 { --grid-cols: 1; }
|
|
253
253
|
.grid-cols-sm-2 { --grid-cols: 2; }
|
|
@@ -255,7 +255,7 @@
|
|
|
255
255
|
.grid-cols-sm-4 { --grid-cols: 4; }
|
|
256
256
|
}
|
|
257
257
|
|
|
258
|
-
/* Responsive column modifiers
|
|
258
|
+
/* Responsive column modifiers - md ≥ 768px */
|
|
259
259
|
@media (min-width: 768px) {
|
|
260
260
|
.grid-cols-md-1 { --grid-cols: 1; }
|
|
261
261
|
.grid-cols-md-2 { --grid-cols: 2; }
|
|
@@ -264,7 +264,7 @@
|
|
|
264
264
|
.grid-cols-md-6 { --grid-cols: 6; }
|
|
265
265
|
}
|
|
266
266
|
|
|
267
|
-
/* Responsive column modifiers
|
|
267
|
+
/* Responsive column modifiers - lg ≥ 992px */
|
|
268
268
|
@media (min-width: 992px) {
|
|
269
269
|
.grid-cols-lg-1 { --grid-cols: 1; }
|
|
270
270
|
.grid-cols-lg-2 { --grid-cols: 2; }
|
|
@@ -274,7 +274,7 @@
|
|
|
274
274
|
.grid-cols-lg-12 { --grid-cols: 12; }
|
|
275
275
|
}
|
|
276
276
|
|
|
277
|
-
/* Responsive column modifiers
|
|
277
|
+
/* Responsive column modifiers - xl ≥ 1200px */
|
|
278
278
|
@media (min-width: 1200px) {
|
|
279
279
|
.grid-cols-xl-1 { --grid-cols: 1; }
|
|
280
280
|
.grid-cols-xl-2 { --grid-cols: 2; }
|
|
@@ -330,7 +330,7 @@
|
|
|
330
330
|
min-inline-size: var(--flank-content-min, 50%);
|
|
331
331
|
}
|
|
332
332
|
|
|
333
|
-
/* .flank-end
|
|
333
|
+
/* .flank-end - last child becomes the flank, first child is the content */
|
|
334
334
|
.flank-end > :last-child {
|
|
335
335
|
flex-basis: var(--flank-size, auto);
|
|
336
336
|
flex-grow: 1;
|
package/src/styles/radius.css
CHANGED
package/src/styles/variables.css
CHANGED
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
--ae-cyan-800: color-mix(in srgb, var(--ae-cyan) 40%, black);
|
|
75
75
|
--ae-cyan-900: color-mix(in srgb, var(--ae-cyan) 20%, black);
|
|
76
76
|
|
|
77
|
-
/* Gray (neutral
|
|
77
|
+
/* Gray (neutral - base #6e6e6e) */
|
|
78
78
|
--ae-gray-100: color-mix(in srgb, var(--ae-gray) 20%, white);
|
|
79
79
|
--ae-gray-200: color-mix(in srgb, var(--ae-gray) 40%, white);
|
|
80
80
|
--ae-gray-300: color-mix(in srgb, var(--ae-gray) 60%, white);
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
--ae-gray-800: color-mix(in srgb, var(--ae-gray) 40%, black);
|
|
86
86
|
--ae-gray-900: color-mix(in srgb, var(--ae-gray) 20%, black);
|
|
87
87
|
|
|
88
|
-
/* Slate (blue-gray
|
|
88
|
+
/* Slate (blue-gray - base #64748b, used for 'secondary') */
|
|
89
89
|
--ae-slate-100: color-mix(in srgb, var(--ae-slate) 20%, white);
|
|
90
90
|
--ae-slate-200: color-mix(in srgb, var(--ae-slate) 40%, white);
|
|
91
91
|
--ae-slate-300: color-mix(in srgb, var(--ae-slate) 60%, white);
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
|
|
122
122
|
:root,
|
|
123
123
|
:host {
|
|
124
|
-
/* Hover / active mix (light default
|
|
124
|
+
/* Hover / active mix (light default - overridden in § 6 dark) */
|
|
125
125
|
--ae-color-mix-hover: black 10%;
|
|
126
126
|
--ae-color-mix-active: black 20%;
|
|
127
127
|
|
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
--ae-color-info-active: color-mix(in srgb, var(--ae-color-info), var(--ae-color-mix-active));
|
|
156
156
|
--ae-color-info-disabled: color-mix(in srgb, var(--ae-cyan) 50%, var(--ae-gray-500));
|
|
157
157
|
|
|
158
|
-
/* Secondary (Slate)
|
|
158
|
+
/* Secondary (Slate) - base differs per theme, overridden in § 6 dark */
|
|
159
159
|
--ae-color-secondary: var(--ae-slate-500);
|
|
160
160
|
--ae-color-secondary-hover: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-hover));
|
|
161
161
|
--ae-color-secondary-active: color-mix(in srgb, var(--ae-color-secondary), var(--ae-color-mix-active));
|
|
@@ -171,7 +171,7 @@
|
|
|
171
171
|
:host {
|
|
172
172
|
color-scheme: light;
|
|
173
173
|
|
|
174
|
-
/* Gray UI aliases
|
|
174
|
+
/* Gray UI aliases - lighter palette steps for elements on white background */
|
|
175
175
|
--ae-color-gray-dark: var(--ae-gray-400);
|
|
176
176
|
--ae-color-gray: var(--ae-gray-300);
|
|
177
177
|
--ae-color-gray-light: var(--ae-gray-200);
|
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
--ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.30);
|
|
204
204
|
--ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.15);
|
|
205
205
|
|
|
206
|
-
/* Subtle intent tokens
|
|
206
|
+
/* Subtle intent tokens - light context */
|
|
207
207
|
--ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.08);
|
|
208
208
|
--ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.40);
|
|
209
209
|
--ae-color-primary-text-emphasis: var(--ae-blue-700);
|
|
@@ -234,7 +234,7 @@
|
|
|
234
234
|
--ae-color-dark-bg-subtle: var(--ae-dark-100); /* opaque on white: ~#d6d8d9 */
|
|
235
235
|
--ae-color-dark-border-subtle: var(--ae-dark-300); /* opaque on white: ~#85898c */
|
|
236
236
|
|
|
237
|
-
/* Component tokens
|
|
237
|
+
/* Component tokens - light defaults */
|
|
238
238
|
--ae-action-btn-bg: var(--ae-gray-200);
|
|
239
239
|
--ae-action-btn-bg-hover: var(--ae-color-primary);
|
|
240
240
|
--ae-action-btn-color: var(--ae-gray-600);
|
|
@@ -269,14 +269,12 @@
|
|
|
269
269
|
--ae-size-3xs: round(calc(var(--ae-size-2xs) / 1.125), 1px); /* 10px */
|
|
270
270
|
}
|
|
271
271
|
|
|
272
|
-
/* Border-radius tokens
|
|
272
|
+
/* Border-radius tokens - shared across all components */
|
|
273
273
|
:root,
|
|
274
274
|
:host {
|
|
275
275
|
/**
|
|
276
276
|
* Unified border-radius hook for all components.
|
|
277
277
|
*
|
|
278
|
-
* Not set by default — each component falls back to its own --ae-radius-*
|
|
279
|
-
* token (e.g. button → sm, card → lg, input → xs).
|
|
280
278
|
*
|
|
281
279
|
* Usage:
|
|
282
280
|
* :root { --ae-border-radius: 0; } // global: all components square
|
|
@@ -298,7 +296,7 @@
|
|
|
298
296
|
--ae-radius-circle: 50%;
|
|
299
297
|
}
|
|
300
298
|
|
|
301
|
-
/* Layout tokens
|
|
299
|
+
/* Layout tokens - defined on :root so all light DOM elements can use them */
|
|
302
300
|
:root,
|
|
303
301
|
:host {
|
|
304
302
|
--container-max-width: 1280px;
|
|
@@ -311,18 +309,18 @@
|
|
|
311
309
|
:host-context([theme="dark"]) {
|
|
312
310
|
color-scheme: dark;
|
|
313
311
|
|
|
314
|
-
/* Hover / active
|
|
312
|
+
/* Hover / active - slightly gentler on dark backgrounds */
|
|
315
313
|
--ae-color-mix-hover: black 8%;
|
|
316
314
|
--ae-color-mix-active: black 16%;
|
|
317
315
|
|
|
318
|
-
/* Gray UI aliases
|
|
316
|
+
/* Gray UI aliases - darker palette steps for elements on dark background */
|
|
319
317
|
--ae-color-gray-dark: var(--ae-gray-800);
|
|
320
318
|
--ae-color-gray: var(--ae-gray-700);
|
|
321
319
|
--ae-color-gray-light: var(--ae-gray-600);
|
|
322
320
|
--ae-color-gray-lighter: var(--ae-gray-500);
|
|
323
321
|
--ae-color-gray-lightest: var(--ae-gray-400);
|
|
324
322
|
|
|
325
|
-
/* Secondary
|
|
323
|
+
/* Secondary - deeper base on dark background */
|
|
326
324
|
--ae-color-secondary: var(--ae-slate-700);
|
|
327
325
|
--ae-color-secondary-text: var(--ae-slate-300);
|
|
328
326
|
|
|
@@ -351,7 +349,7 @@
|
|
|
351
349
|
--ae-focus-ring: rgb(from var(--ae-blue) r g b / 0.25);
|
|
352
350
|
--ae-focus-ring-sm: rgb(from var(--ae-blue) r g b / 0.10);
|
|
353
351
|
|
|
354
|
-
/* Subtle intent tokens
|
|
352
|
+
/* Subtle intent tokens - dark context (more alpha, lighter text-emphasis) */
|
|
355
353
|
--ae-color-primary-bg-subtle: rgb(from var(--ae-blue) r g b / 0.10);
|
|
356
354
|
--ae-color-primary-border-subtle: rgb(from var(--ae-blue) r g b / 0.30);
|
|
357
355
|
--ae-color-primary-text-emphasis: var(--ae-blue-300);
|
|
@@ -382,7 +380,7 @@
|
|
|
382
380
|
--ae-color-dark-bg-subtle: rgb(from var(--ae-dark) r g b / 0.30);
|
|
383
381
|
--ae-color-dark-border-subtle: rgb(from var(--ae-dark) r g b / 0.50);
|
|
384
382
|
|
|
385
|
-
/* Component tokens
|
|
383
|
+
/* Component tokens - dark overrides */
|
|
386
384
|
--ae-action-btn-bg: var(--ae-color-gray);
|
|
387
385
|
--ae-action-btn-bg-hover: color-mix(in srgb, var(--ae-blue) 25%, var(--ae-gray-800));
|
|
388
386
|
--ae-action-btn-color: var(--ae-gray-400);
|
package/src/switch/switch.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import AeicoField, { type FieldAction } from '../aeico-field';
|
|
2
2
|
import type { InferProps } from 'aeico';
|
|
3
3
|
import { html, prop } from 'aeico';
|
|
4
4
|
import type { SwitchIconPlacement } from './defines';
|
|
@@ -13,8 +13,6 @@ import styles from '../styles/components/switch.css';
|
|
|
13
13
|
class Switch extends AeicoField<boolean> {
|
|
14
14
|
protected fieldElement: HTMLInputElement | null = null;
|
|
15
15
|
|
|
16
|
-
static tagName = 'switch';
|
|
17
|
-
|
|
18
16
|
@prop({ type: Boolean })
|
|
19
17
|
accessor checked: boolean | undefined;
|
|
20
18
|
|
|
@@ -125,7 +123,7 @@ class Switch extends AeicoField<boolean> {
|
|
|
125
123
|
}
|
|
126
124
|
}
|
|
127
125
|
|
|
128
|
-
Switch.
|
|
126
|
+
Switch.define('switch');
|
|
129
127
|
|
|
130
128
|
declare global {
|
|
131
129
|
interface HTMLElementTagNameMap {
|
package/src/tabs/tab-panel.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import tabPanelStyle from '../styles/components/tab-panel.css';
|
|
2
2
|
import AeicoComponent from '../aeico-component';
|
|
3
3
|
import { html } from 'aeico';
|
|
4
4
|
|
|
@@ -12,7 +12,7 @@ class TabPanel extends AeicoComponent {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
TabPanel.
|
|
15
|
+
TabPanel.define('tab-panel');
|
|
16
16
|
|
|
17
17
|
declare global {
|
|
18
18
|
interface HTMLElementTagNameMap {
|
package/src/tabs/tab.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Props } from 'aeico';
|
|
2
2
|
import tabStyle from '../styles/components/tab.css';
|
|
3
3
|
import AeicoComponent from '../aeico-component';
|
|
4
4
|
import { html } from 'aeico';
|
|
@@ -51,7 +51,7 @@ class Tab extends AeicoComponent {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
Tab.
|
|
54
|
+
Tab.define('tab');
|
|
55
55
|
|
|
56
56
|
declare global {
|
|
57
57
|
interface HTMLElementTagNameMap {
|
package/src/tabs/tabs.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Props } from 'aeico';
|
|
2
2
|
import styleVariables from '../styles/variables.css';
|
|
3
3
|
import tabsStyle from '../styles/components/tabs.css';
|
|
4
4
|
import AeicoComponent from '../aeico-component';
|
|
@@ -134,7 +134,7 @@ class Tabs extends AeicoComponent {
|
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
Tabs.
|
|
137
|
+
Tabs.define('tabs');
|
|
138
138
|
|
|
139
139
|
declare global {
|
|
140
140
|
interface HTMLElementTagNameMap {
|
package/src/tag/tag.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { InferProps } from 'aeico';
|
|
2
2
|
import styleVariables from '../styles/variables.css';
|
|
3
3
|
import sizeCSS from '../styles/size.css';
|
|
4
4
|
import colorCSS from '../styles/color.css';
|
|
@@ -73,7 +73,7 @@ class Tag extends AeicoComponent {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
Tag.
|
|
76
|
+
Tag.define('tag');
|
|
77
77
|
|
|
78
78
|
declare global {
|
|
79
79
|
interface HTMLElementTagNameMap {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import AeicoField from '../aeico-field';
|
|
2
2
|
import type { InferProps, Props } from 'aeico';
|
|
3
3
|
import { html } from 'aeico';
|
|
4
4
|
import variables from '../styles/variables.css';
|
|
@@ -10,8 +10,6 @@ import style from '../styles/components/text-input.css';
|
|
|
10
10
|
class TextInput extends AeicoField {
|
|
11
11
|
protected fieldElement: HTMLInputElement | null = null;
|
|
12
12
|
|
|
13
|
-
static tagName = 'text-input';
|
|
14
|
-
|
|
15
13
|
static props: Props = {
|
|
16
14
|
placeholder: { type: String },
|
|
17
15
|
type: { type: String },
|
|
@@ -58,7 +56,7 @@ class TextInput extends AeicoField {
|
|
|
58
56
|
}
|
|
59
57
|
}
|
|
60
58
|
|
|
61
|
-
TextInput.
|
|
59
|
+
TextInput.define('text-input');
|
|
62
60
|
|
|
63
61
|
declare global {
|
|
64
62
|
interface HTMLElementTagNameMap {
|
package/src/textarea/textarea.ts
CHANGED
|
@@ -12,8 +12,6 @@ export type TextareaResize = 'none' | 'vertical' | 'horizontal' | 'both';
|
|
|
12
12
|
class Textarea extends AeicoField {
|
|
13
13
|
protected fieldElement: HTMLTextAreaElement | null = null;
|
|
14
14
|
|
|
15
|
-
static tagName = 'textarea';
|
|
16
|
-
|
|
17
15
|
@prop({ type: String })
|
|
18
16
|
accessor placeholder: string | undefined;
|
|
19
17
|
|
|
@@ -95,7 +93,7 @@ class Textarea extends AeicoField {
|
|
|
95
93
|
}
|
|
96
94
|
}
|
|
97
95
|
|
|
98
|
-
Textarea.
|
|
96
|
+
Textarea.define('textarea');
|
|
99
97
|
|
|
100
98
|
declare global {
|
|
101
99
|
interface HTMLElementTagNameMap {
|
package/src/tooltip/tooltip.ts
CHANGED
package/src/tree/tree-item.ts
CHANGED
|
@@ -10,7 +10,7 @@ import '../icon';
|
|
|
10
10
|
let _autoKeyCounter = 0;
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
* Tree item
|
|
13
|
+
* Tree item - used as a direct child of `<ae-tree>` or nested inside another
|
|
14
14
|
* `<ae-tree-item>` to create a multi-level tree.
|
|
15
15
|
*
|
|
16
16
|
* - **Parent item**: nest `<ae-tree-item>` children inside; an expand toggle is shown.
|
|
@@ -28,8 +28,6 @@ let _autoKeyCounter = 0;
|
|
|
28
28
|
* @slot label - Custom label content (falls back to the `label` attribute text).
|
|
29
29
|
*/
|
|
30
30
|
class TreeItem extends AeicoComponent {
|
|
31
|
-
static tagName = 'tree-item';
|
|
32
|
-
|
|
33
31
|
protected static styles = [variables, style];
|
|
34
32
|
|
|
35
33
|
@prop({ type: String })
|
|
@@ -160,7 +158,7 @@ class TreeItem extends AeicoComponent {
|
|
|
160
158
|
};
|
|
161
159
|
|
|
162
160
|
protected onUpdated(): void {
|
|
163
|
-
// indeterminate/checked cannot be set correctly via HTML attribute
|
|
161
|
+
// indeterminate/checked cannot be set correctly via HTML attribute - must set via JS property
|
|
164
162
|
if (this._checkboxEl) {
|
|
165
163
|
this._checkboxEl.checked = this.checked;
|
|
166
164
|
this._checkboxEl.indeterminate = this.indeterminate;
|
|
@@ -246,7 +244,7 @@ class TreeItem extends AeicoComponent {
|
|
|
246
244
|
}
|
|
247
245
|
}
|
|
248
246
|
|
|
249
|
-
TreeItem.
|
|
247
|
+
TreeItem.define('tree-item');
|
|
250
248
|
|
|
251
249
|
declare global {
|
|
252
250
|
interface HTMLElementTagNameMap {
|
package/src/tree/tree.ts
CHANGED
|
@@ -35,8 +35,6 @@ import type TreeItem from './tree-item';
|
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
37
37
|
class Tree extends AeicoComponent {
|
|
38
|
-
static tagName = 'tree';
|
|
39
|
-
|
|
40
38
|
protected static styles = [variables, style];
|
|
41
39
|
|
|
42
40
|
@prop({ type: Boolean })
|
|
@@ -141,7 +139,7 @@ class Tree extends AeicoComponent {
|
|
|
141
139
|
} satisfies TreeSelectDetail,
|
|
142
140
|
});
|
|
143
141
|
} else {
|
|
144
|
-
// Single select
|
|
142
|
+
// Single select - deselect all, select target
|
|
145
143
|
const alreadySelected = this.selectedKey === key;
|
|
146
144
|
this._getAllItems().forEach((item) => {
|
|
147
145
|
item.selected = !alreadySelected && item.key === key;
|
|
@@ -225,7 +223,7 @@ class Tree extends AeicoComponent {
|
|
|
225
223
|
}
|
|
226
224
|
}
|
|
227
225
|
|
|
228
|
-
Tree.
|
|
226
|
+
Tree.define('tree');
|
|
229
227
|
|
|
230
228
|
declare global {
|
|
231
229
|
interface HTMLElementTagNameMap {
|