@ethlete/core 5.0.0-next.64 → 5.0.0-next.66
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/CHANGELOG.md +26 -0
- package/design/interactive-styles.ts +5 -0
- package/design/theme-css.js +392 -0
- package/design/theme-css.ts +547 -0
- package/fesm2022/ethlete-core.mjs +528 -383
- package/fesm2022/ethlete-core.mjs.map +1 -1
- package/generators/tailwind-4-color-theme/generator.js +4 -187
- package/generators/tailwind-4-surface-theme/generator.js +4 -234
- package/package.json +16 -10
- package/src/lib/animations/easing-tokens-styles.component.css +155 -0
- package/src/lib/providers/visually-hidden-styles.component.css +13 -0
- package/src/lib/resize-handles/resize-handles.component.css +137 -0
- package/src/lib/theming/color-interactive-styles.component.css +147 -0
- package/src/lib/theming/surface-interactive-styles.component.css +42 -0
- package/types/ethlete-core.d.ts +58 -11
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/** Values from https://github.com/argyleink/open-props (MIT). */
|
|
2
|
+
@layer components {
|
|
3
|
+
:where(html) {
|
|
4
|
+
--ease-1: cubic-bezier(0.25, 0, 0.5, 1);
|
|
5
|
+
--ease-2: cubic-bezier(0.25, 0, 0.4, 1);
|
|
6
|
+
--ease-3: cubic-bezier(0.25, 0, 0.3, 1);
|
|
7
|
+
--ease-4: cubic-bezier(0.25, 0, 0.2, 1);
|
|
8
|
+
--ease-5: cubic-bezier(0.25, 0, 0.1, 1);
|
|
9
|
+
--ease-in-1: cubic-bezier(0.25, 0, 1, 1);
|
|
10
|
+
--ease-in-2: cubic-bezier(0.5, 0, 1, 1);
|
|
11
|
+
--ease-in-3: cubic-bezier(0.7, 0, 1, 1);
|
|
12
|
+
--ease-in-4: cubic-bezier(0.9, 0, 1, 1);
|
|
13
|
+
--ease-in-5: cubic-bezier(1, 0, 1, 1);
|
|
14
|
+
--ease-out-1: cubic-bezier(0, 0, 0.75, 1);
|
|
15
|
+
--ease-out-2: cubic-bezier(0, 0, 0.5, 1);
|
|
16
|
+
--ease-out-3: cubic-bezier(0, 0, 0.3, 1);
|
|
17
|
+
--ease-out-4: cubic-bezier(0, 0, 0.1, 1);
|
|
18
|
+
--ease-out-5: cubic-bezier(0, 0, 0, 1);
|
|
19
|
+
--ease-in-out-1: cubic-bezier(0.1, 0, 0.9, 1);
|
|
20
|
+
--ease-in-out-2: cubic-bezier(0.3, 0, 0.7, 1);
|
|
21
|
+
--ease-in-out-3: cubic-bezier(0.5, 0, 0.5, 1);
|
|
22
|
+
--ease-in-out-4: cubic-bezier(0.7, 0, 0.3, 1);
|
|
23
|
+
--ease-in-out-5: cubic-bezier(0.9, 0, 0.1, 1);
|
|
24
|
+
--ease-elastic-1: cubic-bezier(0.5, 0.75, 0.75, 1.25);
|
|
25
|
+
--ease-elastic-2: cubic-bezier(0.5, 1, 0.75, 1.25);
|
|
26
|
+
--ease-elastic-3: cubic-bezier(0.5, 1.25, 0.75, 1.25);
|
|
27
|
+
--ease-elastic-4: cubic-bezier(0.5, 1.5, 0.75, 1.25);
|
|
28
|
+
--ease-elastic-5: cubic-bezier(0.5, 1.75, 0.75, 1.25);
|
|
29
|
+
--ease-squish-1: cubic-bezier(0.5, -0.1, 0.1, 1.5);
|
|
30
|
+
--ease-squish-2: cubic-bezier(0.5, -0.3, 0.1, 1.5);
|
|
31
|
+
--ease-squish-3: cubic-bezier(0.5, -0.5, 0.1, 1.5);
|
|
32
|
+
--ease-squish-4: cubic-bezier(0.5, -0.7, 0.1, 1.5);
|
|
33
|
+
--ease-squish-5: cubic-bezier(0.5, -0.9, 0.1, 1.5);
|
|
34
|
+
--ease-step-1: steps(2);
|
|
35
|
+
--ease-step-2: steps(3);
|
|
36
|
+
--ease-step-3: steps(4);
|
|
37
|
+
--ease-step-4: steps(7);
|
|
38
|
+
--ease-step-5: steps(10);
|
|
39
|
+
--ease-spring-1: linear(
|
|
40
|
+
0,
|
|
41
|
+
0.006,
|
|
42
|
+
0.025 2.8%,
|
|
43
|
+
0.101 6.1%,
|
|
44
|
+
0.539 18.9%,
|
|
45
|
+
0.721 25.3%,
|
|
46
|
+
0.849 31.5%,
|
|
47
|
+
0.937 38.1%,
|
|
48
|
+
0.968 41.8%,
|
|
49
|
+
0.991 45.7%,
|
|
50
|
+
1.006 50.1%,
|
|
51
|
+
1.015 55%,
|
|
52
|
+
1.017 63.9%,
|
|
53
|
+
1.001
|
|
54
|
+
);
|
|
55
|
+
--ease-spring-2: linear(
|
|
56
|
+
0,
|
|
57
|
+
0.007,
|
|
58
|
+
0.029 2.2%,
|
|
59
|
+
0.118 4.7%,
|
|
60
|
+
0.625 14.4%,
|
|
61
|
+
0.826 19%,
|
|
62
|
+
0.902,
|
|
63
|
+
0.962,
|
|
64
|
+
1.008 26.1%,
|
|
65
|
+
1.041 28.7%,
|
|
66
|
+
1.064 32.1%,
|
|
67
|
+
1.07 36%,
|
|
68
|
+
1.061 40.5%,
|
|
69
|
+
1.015 53.4%,
|
|
70
|
+
0.999 61.6%,
|
|
71
|
+
0.995 71.2%,
|
|
72
|
+
1
|
|
73
|
+
);
|
|
74
|
+
--ease-spring-3: linear(
|
|
75
|
+
0,
|
|
76
|
+
0.009,
|
|
77
|
+
0.035 2.1%,
|
|
78
|
+
0.141 4.4%,
|
|
79
|
+
0.723 12.9%,
|
|
80
|
+
0.938 16.7%,
|
|
81
|
+
1.017,
|
|
82
|
+
1.077,
|
|
83
|
+
1.121,
|
|
84
|
+
1.149 24.3%,
|
|
85
|
+
1.159,
|
|
86
|
+
1.163,
|
|
87
|
+
1.161,
|
|
88
|
+
1.154 29.9%,
|
|
89
|
+
1.129 32.8%,
|
|
90
|
+
1.051 39.6%,
|
|
91
|
+
1.017 43.1%,
|
|
92
|
+
0.991,
|
|
93
|
+
0.977 51%,
|
|
94
|
+
0.974 53.8%,
|
|
95
|
+
0.975 57.1%,
|
|
96
|
+
0.997 69.8%,
|
|
97
|
+
1.003 76.9%,
|
|
98
|
+
1
|
|
99
|
+
);
|
|
100
|
+
--ease-spring-4: linear(
|
|
101
|
+
0,
|
|
102
|
+
0.009,
|
|
103
|
+
0.037 1.7%,
|
|
104
|
+
0.153 3.6%,
|
|
105
|
+
0.776 10.3%,
|
|
106
|
+
1.001,
|
|
107
|
+
1.142 16%,
|
|
108
|
+
1.185,
|
|
109
|
+
1.209 19%,
|
|
110
|
+
1.215 19.9% 20.8%,
|
|
111
|
+
1.199,
|
|
112
|
+
1.165 25%,
|
|
113
|
+
1.056 30.3%,
|
|
114
|
+
1.008 33%,
|
|
115
|
+
0.973,
|
|
116
|
+
0.955 39.2%,
|
|
117
|
+
0.953 41.1%,
|
|
118
|
+
0.957 43.3%,
|
|
119
|
+
0.998 53.3%,
|
|
120
|
+
1.009 59.1% 63.7%,
|
|
121
|
+
0.998 78.9%,
|
|
122
|
+
1
|
|
123
|
+
);
|
|
124
|
+
--ease-spring-5: linear(
|
|
125
|
+
0,
|
|
126
|
+
0.01,
|
|
127
|
+
0.04 1.6%,
|
|
128
|
+
0.161 3.3%,
|
|
129
|
+
0.816 9.4%,
|
|
130
|
+
1.046,
|
|
131
|
+
1.189 14.4%,
|
|
132
|
+
1.231,
|
|
133
|
+
1.254 17%,
|
|
134
|
+
1.259,
|
|
135
|
+
1.257 18.6%,
|
|
136
|
+
1.236,
|
|
137
|
+
1.194 22.3%,
|
|
138
|
+
1.057 27%,
|
|
139
|
+
0.999 29.4%,
|
|
140
|
+
0.955 32.1%,
|
|
141
|
+
0.942,
|
|
142
|
+
0.935 34.9%,
|
|
143
|
+
0.933,
|
|
144
|
+
0.939 38.4%,
|
|
145
|
+
1 47.3%,
|
|
146
|
+
1.011,
|
|
147
|
+
1.017 52.6%,
|
|
148
|
+
1.016 56.4%,
|
|
149
|
+
1 65.2%,
|
|
150
|
+
0.996 70.2%,
|
|
151
|
+
1.001 87.2%,
|
|
152
|
+
1
|
|
153
|
+
);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
@property --et-resize-handles-z-index {
|
|
3
|
+
syntax: '<integer>';
|
|
4
|
+
inherits: true;
|
|
5
|
+
initial-value: 10;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
@property --et-resize-handles-edge-size {
|
|
9
|
+
syntax: '<length>';
|
|
10
|
+
inherits: true;
|
|
11
|
+
initial-value: 6px;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@property --et-resize-handles-corner-size {
|
|
15
|
+
syntax: '<length>';
|
|
16
|
+
inherits: true;
|
|
17
|
+
initial-value: 12px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@property --et-resize-handles-edge-inset {
|
|
21
|
+
syntax: '<length>';
|
|
22
|
+
inherits: true;
|
|
23
|
+
initial-value: 8px;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@property --et-resize-handles-outset {
|
|
27
|
+
syntax: '<length>';
|
|
28
|
+
inherits: true;
|
|
29
|
+
initial-value: 0px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@property --et-resize-handles-side-top {
|
|
33
|
+
syntax: '<length>';
|
|
34
|
+
inherits: true;
|
|
35
|
+
initial-value: 0px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@property --et-resize-handles-side-bottom {
|
|
39
|
+
syntax: '<length>';
|
|
40
|
+
inherits: true;
|
|
41
|
+
initial-value: 8px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@property --et-resize-handles-touch-edge-size {
|
|
45
|
+
syntax: '<length>';
|
|
46
|
+
inherits: true;
|
|
47
|
+
initial-value: 20px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@property --et-resize-handles-touch-corner-size {
|
|
51
|
+
syntax: '<length>';
|
|
52
|
+
inherits: true;
|
|
53
|
+
initial-value: 28px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.et-resize-handles {
|
|
57
|
+
position: absolute;
|
|
58
|
+
inset: calc(-1 * var(--et-resize-handles-outset));
|
|
59
|
+
pointer-events: none;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.et-resize-handle {
|
|
63
|
+
--et-resize-handle-thickness: calc(var(--et-resize-handles-edge-size) + var(--et-resize-handles-outset));
|
|
64
|
+
--et-resize-handle-corner: calc(var(--et-resize-handles-corner-size) + var(--et-resize-handles-outset));
|
|
65
|
+
|
|
66
|
+
position: absolute;
|
|
67
|
+
z-index: var(--et-resize-handles-z-index);
|
|
68
|
+
touch-action: none;
|
|
69
|
+
pointer-events: auto;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.et-resize-handle--n {
|
|
73
|
+
top: 0;
|
|
74
|
+
right: var(--et-resize-handles-edge-inset);
|
|
75
|
+
left: var(--et-resize-handles-edge-inset);
|
|
76
|
+
height: var(--et-resize-handle-thickness);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.et-resize-handle--s {
|
|
80
|
+
right: var(--et-resize-handles-edge-inset);
|
|
81
|
+
bottom: 0;
|
|
82
|
+
left: var(--et-resize-handles-edge-inset);
|
|
83
|
+
height: var(--et-resize-handle-thickness);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.et-resize-handle--e,
|
|
87
|
+
.et-resize-handle--w {
|
|
88
|
+
top: var(--et-resize-handles-side-top);
|
|
89
|
+
bottom: var(--et-resize-handles-side-bottom);
|
|
90
|
+
width: var(--et-resize-handle-thickness);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.et-resize-handle--e {
|
|
94
|
+
right: 0;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.et-resize-handle--w {
|
|
98
|
+
left: 0;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.et-resize-handle--ne,
|
|
102
|
+
.et-resize-handle--nw {
|
|
103
|
+
top: 0;
|
|
104
|
+
width: var(--et-resize-handle-corner);
|
|
105
|
+
height: var(--et-resize-handle-corner);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.et-resize-handle--ne {
|
|
109
|
+
right: 0;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.et-resize-handle--nw {
|
|
113
|
+
left: 0;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.et-resize-handle--se,
|
|
117
|
+
.et-resize-handle--sw {
|
|
118
|
+
bottom: 0;
|
|
119
|
+
width: var(--et-resize-handle-corner);
|
|
120
|
+
height: var(--et-resize-handle-corner);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.et-resize-handle--se {
|
|
124
|
+
right: 0;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.et-resize-handle--sw {
|
|
128
|
+
left: 0;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
@media (any-pointer: coarse) {
|
|
132
|
+
.et-resize-handle {
|
|
133
|
+
--et-resize-handle-thickness: calc(var(--et-resize-handles-touch-edge-size) + var(--et-resize-handles-outset));
|
|
134
|
+
--et-resize-handle-corner: calc(var(--et-resize-handles-touch-corner-size) + var(--et-resize-handles-outset));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
:where(.et-color-interactive) {
|
|
3
|
+
--et-theme-color-primary-rgb: var(--et-color-primary);
|
|
4
|
+
--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));
|
|
5
|
+
--et-theme-color-on-primary-rgb: var(--et-color-on-primary);
|
|
6
|
+
--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));
|
|
7
|
+
--et-theme-color-ink-rgb: var(--et-color-primary-ink, var(--et-color-primary));
|
|
8
|
+
--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/* hover-capable pointers only — on touch, :hover sticks after a tap */
|
|
12
|
+
@media (hover: hover) {
|
|
13
|
+
:where(.et-color-interactive:hover:not(:has(.et-color-interactive-exclude:hover))),
|
|
14
|
+
:where(.et-color-interactive-container:hover) :where(.et-color-interactive) {
|
|
15
|
+
--et-theme-color-primary-rgb: var(--et-color-primary-hover, var(--et-color-primary));
|
|
16
|
+
--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));
|
|
17
|
+
--et-theme-color-on-primary-rgb: var(--et-color-on-primary-hover, var(--et-color-on-primary));
|
|
18
|
+
--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));
|
|
19
|
+
--et-theme-color-ink-rgb: var(
|
|
20
|
+
--et-color-primary-ink-hover,
|
|
21
|
+
var(--et-color-primary-ink, var(--et-color-primary-hover, var(--et-color-primary)))
|
|
22
|
+
);
|
|
23
|
+
--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
:where(.et-color-interactive:focus-visible) {
|
|
28
|
+
--et-theme-color-primary-rgb: var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary)));
|
|
29
|
+
--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));
|
|
30
|
+
--et-theme-color-on-primary-rgb: var(
|
|
31
|
+
--et-color-on-primary-focus,
|
|
32
|
+
var(--et-color-on-primary-hover, var(--et-color-on-primary))
|
|
33
|
+
);
|
|
34
|
+
--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));
|
|
35
|
+
--et-theme-color-ink-rgb: var(
|
|
36
|
+
--et-color-primary-ink-focus,
|
|
37
|
+
var(
|
|
38
|
+
--et-color-primary-ink-hover,
|
|
39
|
+
var(
|
|
40
|
+
--et-color-primary-ink,
|
|
41
|
+
var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary)))
|
|
42
|
+
)
|
|
43
|
+
)
|
|
44
|
+
);
|
|
45
|
+
--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb));
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
:where(.et-color-interactive:active:not(:has(.et-color-interactive-exclude:hover))),
|
|
49
|
+
:where(.et-color-interactive-container:active) :where(.et-color-interactive) {
|
|
50
|
+
--et-theme-color-primary-rgb: var(
|
|
51
|
+
--et-color-primary-active,
|
|
52
|
+
var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary)))
|
|
53
|
+
);
|
|
54
|
+
--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));
|
|
55
|
+
--et-theme-color-on-primary-rgb: var(
|
|
56
|
+
--et-color-on-primary-active,
|
|
57
|
+
var(--et-color-on-primary-focus, var(--et-color-on-primary-hover, var(--et-color-on-primary)))
|
|
58
|
+
);
|
|
59
|
+
--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));
|
|
60
|
+
--et-theme-color-ink-rgb: var(
|
|
61
|
+
--et-color-primary-ink-active,
|
|
62
|
+
var(
|
|
63
|
+
--et-color-primary-ink-focus,
|
|
64
|
+
var(
|
|
65
|
+
--et-color-primary-ink-hover,
|
|
66
|
+
var(
|
|
67
|
+
--et-color-primary-ink,
|
|
68
|
+
var(
|
|
69
|
+
--et-color-primary-active,
|
|
70
|
+
var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary)))
|
|
71
|
+
)
|
|
72
|
+
)
|
|
73
|
+
)
|
|
74
|
+
)
|
|
75
|
+
);
|
|
76
|
+
--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/* A wrapper reflecting a *descendant's* focus (e.g. a form field's frame while its control is
|
|
80
|
+
focused) uses the BASE color, not the `-focus` variant. The `-focus` variant is the treatment
|
|
81
|
+
for an element that is itself focused (the `:where(.et-color-interactive:focus-visible)` rule
|
|
82
|
+
above) — a container merely mirroring a child's focus should read as the plain accent, so the
|
|
83
|
+
focus affordance is the pure theme color rather than the focus-adjusted shade. */
|
|
84
|
+
:where(.et-color-interactive--has-focus:has(:focus-visible)) {
|
|
85
|
+
--et-theme-color-primary-rgb: var(--et-color-primary);
|
|
86
|
+
--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));
|
|
87
|
+
--et-theme-color-on-primary-rgb: var(--et-color-on-primary);
|
|
88
|
+
--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));
|
|
89
|
+
--et-theme-color-ink-rgb: var(--et-color-primary-ink, var(--et-color-primary));
|
|
90
|
+
--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb));
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* view-only controls (readonly) keep the resting accent — they stay focusable but must not
|
|
94
|
+
react to hover/active/focus the way an editable control does. Placed after the interaction
|
|
95
|
+
rules above so, at equal :where() specificity, source order lets it win them back to rest. */
|
|
96
|
+
:where(.et-color-interactive[aria-readonly='true']) {
|
|
97
|
+
--et-theme-color-primary-rgb: var(--et-color-primary);
|
|
98
|
+
--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));
|
|
99
|
+
--et-theme-color-on-primary-rgb: var(--et-color-on-primary);
|
|
100
|
+
--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));
|
|
101
|
+
--et-theme-color-ink-rgb: var(--et-color-primary-ink, var(--et-color-primary));
|
|
102
|
+
--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb));
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
:where(.et-color-interactive[disabled]),
|
|
106
|
+
:where(.et-color-interactive[aria-disabled='true']) {
|
|
107
|
+
--et-theme-color-primary-rgb: var(
|
|
108
|
+
--et-color-primary-disabled,
|
|
109
|
+
var(
|
|
110
|
+
--et-color-primary-active,
|
|
111
|
+
var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary)))
|
|
112
|
+
)
|
|
113
|
+
);
|
|
114
|
+
--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));
|
|
115
|
+
--et-theme-color-on-primary-rgb: var(
|
|
116
|
+
--et-color-on-primary-disabled,
|
|
117
|
+
var(
|
|
118
|
+
--et-color-on-primary-active,
|
|
119
|
+
var(--et-color-on-primary-focus, var(--et-color-on-primary-hover, var(--et-color-on-primary)))
|
|
120
|
+
)
|
|
121
|
+
);
|
|
122
|
+
--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));
|
|
123
|
+
--et-theme-color-ink-rgb: var(
|
|
124
|
+
--et-color-primary-ink-disabled,
|
|
125
|
+
var(
|
|
126
|
+
--et-color-primary-ink-active,
|
|
127
|
+
var(
|
|
128
|
+
--et-color-primary-ink-focus,
|
|
129
|
+
var(
|
|
130
|
+
--et-color-primary-ink-hover,
|
|
131
|
+
var(
|
|
132
|
+
--et-color-primary-ink,
|
|
133
|
+
var(
|
|
134
|
+
--et-color-primary-disabled,
|
|
135
|
+
var(
|
|
136
|
+
--et-color-primary-active,
|
|
137
|
+
var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary)))
|
|
138
|
+
)
|
|
139
|
+
)
|
|
140
|
+
)
|
|
141
|
+
)
|
|
142
|
+
)
|
|
143
|
+
)
|
|
144
|
+
);
|
|
145
|
+
--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
:where(.et-surface-interactive) {
|
|
3
|
+
--et-surface-interaction-rgb: var(--et-surface-interaction);
|
|
4
|
+
--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb));
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/* hover-capable pointers only — on touch, :hover sticks after a tap */
|
|
8
|
+
@media (hover: hover) {
|
|
9
|
+
:where(.et-surface-interactive:hover) {
|
|
10
|
+
--et-surface-interaction-rgb: var(--et-surface-interaction-hover, var(--et-surface-interaction));
|
|
11
|
+
--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb));
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
:where(.et-surface-interactive:focus-visible) {
|
|
16
|
+
--et-surface-interaction-rgb: var(
|
|
17
|
+
--et-surface-interaction-focus,
|
|
18
|
+
var(--et-surface-interaction-hover, var(--et-surface-interaction))
|
|
19
|
+
);
|
|
20
|
+
--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
:where(.et-surface-interactive:active) {
|
|
24
|
+
--et-surface-interaction-rgb: var(
|
|
25
|
+
--et-surface-interaction-active,
|
|
26
|
+
var(--et-surface-interaction-focus, var(--et-surface-interaction-hover, var(--et-surface-interaction)))
|
|
27
|
+
);
|
|
28
|
+
--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
:where(.et-surface-interactive[disabled]),
|
|
32
|
+
:where(.et-surface-interactive[aria-disabled='true']) {
|
|
33
|
+
--et-surface-interaction-rgb: var(
|
|
34
|
+
--et-surface-interaction-disabled,
|
|
35
|
+
var(
|
|
36
|
+
--et-surface-interaction-active,
|
|
37
|
+
var(--et-surface-interaction-focus, var(--et-surface-interaction-hover, var(--et-surface-interaction)))
|
|
38
|
+
)
|
|
39
|
+
);
|
|
40
|
+
--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb));
|
|
41
|
+
}
|
|
42
|
+
}
|