@ethlete/components 1.0.0-next.73 → 1.0.0-next.74
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 +70 -0
- package/design/form-field.ts +1 -0
- package/design/select.ts +1 -1
- package/fesm2022/ethlete-components.mjs +1281 -709
- package/fesm2022/ethlete-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/accordion/accordion.component.css +40 -24
- package/src/lib/carousel/carousel-transition-styles.component.css +1 -1
- package/src/lib/carousel/carousel.component.css +16 -0
- package/src/lib/command-palette/command-palette-item.component.css +4 -0
- package/src/lib/command-palette/command-palette.component.css +48 -0
- package/src/lib/divider/divider.component.css +7 -3
- package/src/lib/forms/cascader/cascader-panel.component.css +4 -6
- package/src/lib/forms/color-input/color-picker-panel.component.css +1 -1
- package/src/lib/forms/date-time/date-picker-panel.component.css +3 -41
- package/src/lib/forms/form-field/form-field-control-suffix-styles.component.css +49 -0
- package/src/lib/forms/form-field/form-field-suffix-overlap-styles.component.css +27 -0
- package/src/lib/forms/form-field/form-field-text-shell-styles.component.css +9 -12
- package/src/lib/forms/rich-text-editor/rich-text-editor-token-popup.component.css +4 -0
- package/src/lib/forms/select/select-option-group.component.css +4 -3
- package/src/lib/forms/select/select-option-styles.component.css +5 -0
- package/src/lib/forms/select/select-panel.component.css +14 -6
- package/src/lib/forms/select/select.component.css +77 -10
- package/src/lib/loader/progress-bar/progress-bar.component.css +1 -0
- package/src/lib/menu/menu-search-styles.component.css +27 -0
- package/src/lib/menu/menu.component.css +3 -7
- package/src/lib/notification/notification.component.css +4 -0
- package/src/lib/overlay/floating-panel-styles.component.css +2 -57
- package/src/lib/overlay/floating-tip-styles.component.css +0 -3
- package/src/lib/overlay/routing/overlay-router-outlet.component.css +8 -0
- package/src/lib/overlay/sidebar/overlay-sidebar.component.css +8 -1
- package/src/lib/overlay/strategies/anchored-dialog-styles.component.css +27 -0
- package/src/lib/overlay/strategies/dialog-styles.component.css +27 -0
- package/src/lib/overlay/strategies/full-screen-dialog-styles.component.css +58 -0
- package/src/lib/overlay/strategies/overlay-origin-clone.component.css +29 -0
- package/src/lib/pagination/page-size-select.component.css +0 -96
- package/src/lib/pagination/pagination.component.css +1 -22
- package/src/lib/progress-steps/progress-step.component.css +6 -0
- package/src/lib/scheduler/scheduler-agenda-view.component.css +9 -0
- package/src/lib/scheduler/scheduler-time-grid-view.component.css +5 -0
- package/src/lib/scrollable/headless/scrollable-buttons.component.css +8 -1
- package/src/lib/scrollable/headless/scrollable-footer.css +12 -0
- package/src/lib/scrollable/headless/scrollable-masks.component.css +37 -0
- package/src/lib/scrollbar/scrollbar.component.css +8 -2
- package/types/ethlete-components.d.ts +92 -28
- /package/src/lib/loader/spinner/{spinner.component.css → spinner-styles.component.css} +0 -0
|
@@ -33,6 +33,10 @@
|
|
|
33
33
|
cursor: default;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
&:has(input[etselectsearch]:not(:read-only)) {
|
|
37
|
+
cursor: text;
|
|
38
|
+
}
|
|
39
|
+
|
|
36
40
|
.et-select-trigger-content {
|
|
37
41
|
display: flex;
|
|
38
42
|
flex-wrap: wrap;
|
|
@@ -57,7 +61,8 @@
|
|
|
57
61
|
|
|
58
62
|
input[etselectsearch] {
|
|
59
63
|
flex: 1 1 60px;
|
|
60
|
-
min-inline-size: 60px;
|
|
64
|
+
min-inline-size: min(100%, max(60px, var(--_et-select-search-placeholder-width, 0px)));
|
|
65
|
+
max-inline-size: 100%;
|
|
61
66
|
border: none;
|
|
62
67
|
outline: none;
|
|
63
68
|
background: transparent;
|
|
@@ -65,21 +70,21 @@
|
|
|
65
70
|
color: inherit;
|
|
66
71
|
padding: 0;
|
|
67
72
|
caret-color: var(--et-theme-color-primary-solid, currentColor);
|
|
68
|
-
cursor:
|
|
73
|
+
cursor: inherit;
|
|
69
74
|
|
|
70
75
|
&::placeholder {
|
|
71
76
|
color: var(--et-surface-color-muted-solid, color-mix(in srgb, currentColor 46%, transparent));
|
|
72
77
|
}
|
|
73
78
|
|
|
74
|
-
/* Before the disabled rule: a disabled input is :read-only too, and there
|
|
75
|
-
not-allowed must win. */
|
|
76
79
|
&:read-only {
|
|
77
|
-
cursor: default;
|
|
78
80
|
caret-color: transparent;
|
|
79
81
|
}
|
|
82
|
+
}
|
|
80
83
|
|
|
81
|
-
|
|
82
|
-
|
|
84
|
+
@supports (field-sizing: content) {
|
|
85
|
+
.et-select-trigger-content:not(.et-select-trigger-content--stacked) > input[etselectsearch] {
|
|
86
|
+
flex: 1 0 auto;
|
|
87
|
+
field-sizing: content;
|
|
83
88
|
}
|
|
84
89
|
}
|
|
85
90
|
|
|
@@ -152,29 +157,91 @@
|
|
|
152
157
|
}
|
|
153
158
|
|
|
154
159
|
.et-select-trigger-busy--enter {
|
|
155
|
-
animation: et-select-
|
|
160
|
+
animation: et-select-fade-in 120ms ease;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.et-select-trigger-busy--leave {
|
|
164
|
+
animation: et-select-fade-out 120ms ease forwards;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.et-select-chip--enter {
|
|
168
|
+
animation: et-select-fade-in 150ms ease-out;
|
|
156
169
|
}
|
|
157
170
|
|
|
158
171
|
@media (prefers-reduced-motion: reduce) {
|
|
159
|
-
.et-select-trigger-busy--enter
|
|
172
|
+
.et-select-trigger-busy--enter,
|
|
173
|
+
.et-select-trigger-busy--leave,
|
|
174
|
+
.et-select-chip--enter {
|
|
160
175
|
animation: none;
|
|
161
176
|
}
|
|
162
177
|
}
|
|
163
178
|
}
|
|
164
179
|
|
|
180
|
+
et-form-field
|
|
181
|
+
.et-form-field-control-frame:has(> .et-form-field-suffix > :is(.et-input-clear, .et-form-field-busy-spinner)):has(
|
|
182
|
+
et-select .et-select-chips
|
|
183
|
+
) {
|
|
184
|
+
.et-form-field-control-slot {
|
|
185
|
+
mask-image: none;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.et-select-trigger-content {
|
|
189
|
+
padding-inline-end: var(--_et-form-field-suffix-overlap);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/* The search input always ends the last chip row and stretches to its end, so the clear button sits
|
|
194
|
+
over the input there instead of padding the content - a pad would rewrap the chips on focus. */
|
|
195
|
+
et-form-field
|
|
196
|
+
.et-form-field-control-frame:has(> .et-form-field-suffix > .et-input-clear):not(
|
|
197
|
+
:has(> .et-form-field-suffix > .et-form-field-busy-spinner)
|
|
198
|
+
):has(et-select .et-select-chips + input[etselectsearch]) {
|
|
199
|
+
> .et-form-field-suffix > .et-input-clear {
|
|
200
|
+
align-self: end;
|
|
201
|
+
margin-block-end: calc((1lh - var(--et-form-field-affix-icon-size)) / 2);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.et-select-trigger-content {
|
|
205
|
+
padding-inline-end: 0;
|
|
206
|
+
|
|
207
|
+
> input[etselectsearch] {
|
|
208
|
+
padding-inline-end: 0;
|
|
209
|
+
mask-image: linear-gradient(
|
|
210
|
+
var(--_et-form-field-suffix-mask-direction),
|
|
211
|
+
black calc(100% - var(--_et-form-field-suffix-overlap) - 4px),
|
|
212
|
+
transparent calc(100% - var(--_et-form-field-suffix-cover))
|
|
213
|
+
);
|
|
214
|
+
|
|
215
|
+
&:not(:placeholder-shown) {
|
|
216
|
+
padding-inline-end: var(--_et-form-field-suffix-overlap);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
165
222
|
.et-form-field-control-frame:has(et-select) {
|
|
166
223
|
cursor: pointer;
|
|
167
224
|
}
|
|
168
225
|
|
|
226
|
+
.et-form-field-control-frame:has(et-select input[etselectsearch]:not(:read-only)) {
|
|
227
|
+
cursor: text;
|
|
228
|
+
}
|
|
229
|
+
|
|
169
230
|
/* outside the `et-select` block on purpose: the chevron renders in the form field's suffix slot,
|
|
170
231
|
which is not a descendant of the host. */
|
|
171
232
|
.et-select-arrow .et-icon {
|
|
172
233
|
rotate: 180deg;
|
|
173
234
|
}
|
|
174
235
|
|
|
175
|
-
@keyframes et-select-
|
|
236
|
+
@keyframes et-select-fade-in {
|
|
176
237
|
from {
|
|
177
238
|
opacity: 0;
|
|
178
239
|
}
|
|
179
240
|
}
|
|
241
|
+
|
|
242
|
+
@keyframes et-select-fade-out {
|
|
243
|
+
to {
|
|
244
|
+
opacity: 0;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
180
247
|
}
|
|
@@ -20,6 +20,21 @@
|
|
|
20
20
|
inset-inline-end: 10px;
|
|
21
21
|
translate: 0 -50%;
|
|
22
22
|
color: var(--_et-menu-muted-color);
|
|
23
|
+
|
|
24
|
+
&.et-menu-search-spinner--enter {
|
|
25
|
+
animation: et-menu-search-spinner-in 120ms ease;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&.et-menu-search-spinner--leave {
|
|
29
|
+
animation: et-menu-search-spinner-out 120ms ease forwards;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@media (prefers-reduced-motion: reduce) {
|
|
33
|
+
&.et-menu-search-spinner--enter,
|
|
34
|
+
&.et-menu-search-spinner--leave {
|
|
35
|
+
animation: none;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
23
38
|
}
|
|
24
39
|
|
|
25
40
|
.et-menu-search-error {
|
|
@@ -53,4 +68,16 @@
|
|
|
53
68
|
}
|
|
54
69
|
}
|
|
55
70
|
}
|
|
71
|
+
|
|
72
|
+
@keyframes et-menu-search-spinner-in {
|
|
73
|
+
from {
|
|
74
|
+
opacity: 0;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
@keyframes et-menu-search-spinner-out {
|
|
79
|
+
to {
|
|
80
|
+
opacity: 0;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
56
83
|
}
|
|
@@ -247,8 +247,10 @@
|
|
|
247
247
|
|
|
248
248
|
/* the roving focus is applied programmatically on mouse-open too, so :focus-visible (instead
|
|
249
249
|
of [data-active] alone) keeps the highlight from appearing without a hover or keyboard
|
|
250
|
-
interaction; a trigger whose submenu is open stays highlighted the whole time
|
|
250
|
+
interaction; a trigger whose submenu is open stays highlighted the whole time, and an item
|
|
251
|
+
activated from the keyboard keeps its highlight while the menu fades out */
|
|
251
252
|
&[data-active]:where(:focus-visible),
|
|
253
|
+
&[data-highlight-held],
|
|
252
254
|
&[data-menu-open] {
|
|
253
255
|
background: var(--_et-menu-item-active-background);
|
|
254
256
|
}
|
|
@@ -287,10 +289,4 @@
|
|
|
287
289
|
}
|
|
288
290
|
}
|
|
289
291
|
}
|
|
290
|
-
|
|
291
|
-
.et-overlay--menu {
|
|
292
|
-
--et-floating-panel-enter-duration: 140ms;
|
|
293
|
-
--et-floating-panel-leave-duration: 100ms;
|
|
294
|
-
--et-floating-panel-distance: 0.3rem;
|
|
295
|
-
}
|
|
296
292
|
}
|
|
@@ -223,6 +223,10 @@
|
|
|
223
223
|
line-height: var(--et-notification-message-line-height);
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
+
.et-notification-custom-content {
|
|
227
|
+
margin-top: var(--et-notification-gap);
|
|
228
|
+
}
|
|
229
|
+
|
|
226
230
|
.et-notification-progress-bar {
|
|
227
231
|
margin-top: 0.8rem;
|
|
228
232
|
color: var(--et-theme-color-primary-solid, currentColor);
|
|
@@ -6,66 +6,11 @@
|
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
&.et-animation-enter-active {
|
|
9
|
-
transition:
|
|
10
|
-
transform var(--et-floating-panel-enter-duration, 200ms) ease,
|
|
11
|
-
opacity var(--et-floating-panel-enter-duration, 200ms) ease;
|
|
9
|
+
transition: opacity 140ms ease;
|
|
12
10
|
}
|
|
13
11
|
|
|
14
12
|
&.et-animation-leave-active {
|
|
15
|
-
transition:
|
|
16
|
-
transform var(--et-floating-panel-leave-duration, 140ms) ease,
|
|
17
|
-
opacity var(--et-floating-panel-leave-duration, 140ms) ease;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.et-floating-panel[data-overlay-placement^='top'] {
|
|
22
|
-
&.et-animation-enter-from,
|
|
23
|
-
&.et-animation-leave-to {
|
|
24
|
-
transform: translate3d(var(--et-overlay-anchored-x, 0px), var(--et-overlay-anchored-y, 0px), 0)
|
|
25
|
-
translateY(var(--et-floating-panel-distance, 0.4rem)) !important;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.et-floating-panel[data-overlay-placement^='right'] {
|
|
30
|
-
&.et-animation-enter-from,
|
|
31
|
-
&.et-animation-leave-to {
|
|
32
|
-
transform: translate3d(var(--et-overlay-anchored-x, 0px), var(--et-overlay-anchored-y, 0px), 0)
|
|
33
|
-
translateX(calc(var(--et-floating-panel-distance, 0.4rem) * -1)) !important;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.et-floating-panel[data-overlay-placement^='bottom'] {
|
|
38
|
-
&.et-animation-enter-from,
|
|
39
|
-
&.et-animation-leave-to {
|
|
40
|
-
transform: translate3d(var(--et-overlay-anchored-x, 0px), var(--et-overlay-anchored-y, 0px), 0)
|
|
41
|
-
translateY(calc(var(--et-floating-panel-distance, 0.4rem) * -1)) !important;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.et-floating-panel[data-overlay-placement^='left'] {
|
|
46
|
-
&.et-animation-enter-from,
|
|
47
|
-
&.et-animation-leave-to {
|
|
48
|
-
transform: translate3d(var(--et-overlay-anchored-x, 0px), var(--et-overlay-anchored-y, 0px), 0)
|
|
49
|
-
translateX(var(--et-floating-panel-distance, 0.4rem)) !important;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
@media (prefers-reduced-motion: reduce) {
|
|
54
|
-
.et-overlay.et-with-default-animation.et-floating-panel {
|
|
55
|
-
&.et-animation-enter-active {
|
|
56
|
-
transition: opacity var(--et-floating-panel-enter-duration, 200ms) ease;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
&.et-animation-leave-active {
|
|
60
|
-
transition: opacity var(--et-floating-panel-leave-duration, 140ms) ease;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.et-floating-panel[data-overlay-placement] {
|
|
65
|
-
&.et-animation-enter-from,
|
|
66
|
-
&.et-animation-leave-to {
|
|
67
|
-
transform: translate3d(var(--et-overlay-anchored-x, 0px), var(--et-overlay-anchored-y, 0px), 0) !important;
|
|
68
|
-
}
|
|
13
|
+
transition: opacity 100ms ease;
|
|
69
14
|
}
|
|
70
15
|
}
|
|
71
16
|
}
|
|
@@ -173,6 +173,14 @@
|
|
|
173
173
|
grid-template-rows: minmax(0, 1fr);
|
|
174
174
|
block-size: 100%;
|
|
175
175
|
overflow: hidden;
|
|
176
|
+
|
|
177
|
+
.et-overlay-body-container > .et-overlay-router-outlet-host > & {
|
|
178
|
+
margin-inline: calc(var(--et-overlay-padding-inline) * -1);
|
|
179
|
+
|
|
180
|
+
> .et-overlay-router-outlet-page {
|
|
181
|
+
padding-inline: var(--et-overlay-padding-inline);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
176
184
|
}
|
|
177
185
|
|
|
178
186
|
.et-overlay-router-outlet-page {
|
|
@@ -7,9 +7,16 @@
|
|
|
7
7
|
display: flex;
|
|
8
8
|
flex-direction: column;
|
|
9
9
|
inline-size: var(--et-overlay-sidebar-inline-size, 240px);
|
|
10
|
+
position: relative;
|
|
11
|
+
min-block-size: 0;
|
|
12
|
+
border-inline-end: 1px solid var(--et-overlay-body-divider-color);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.et-overlay-sidebar-scroller {
|
|
16
|
+
flex: 1;
|
|
17
|
+
min-block-size: 0;
|
|
10
18
|
padding-block: var(--et-overlay-padding-block);
|
|
11
19
|
padding-inline: var(--et-overlay-padding-inline);
|
|
12
|
-
border-inline-end: 1px solid var(--et-overlay-body-divider-color);
|
|
13
20
|
overflow-y: auto;
|
|
14
21
|
overscroll-behavior: contain;
|
|
15
22
|
}
|
|
@@ -28,6 +28,33 @@
|
|
|
28
28
|
transition:
|
|
29
29
|
transform 150ms var(--ease-out-5),
|
|
30
30
|
opacity 150ms var(--ease-out-5);
|
|
31
|
+
|
|
32
|
+
@supports (transition-timing-function: linear(0, 1)) {
|
|
33
|
+
/* a response 0.22s critically damped spring, cut where the opacity reaches 0 */
|
|
34
|
+
--_et-dialog-leave-spring: linear(
|
|
35
|
+
0,
|
|
36
|
+
0.0242 5.56%,
|
|
37
|
+
0.083 11.11%,
|
|
38
|
+
0.1607 16.67%,
|
|
39
|
+
0.4178 33.33%,
|
|
40
|
+
0.4961 38.89%,
|
|
41
|
+
0.5674 44.44%,
|
|
42
|
+
0.6311 50%,
|
|
43
|
+
0.6872 55.56%,
|
|
44
|
+
0.7361 61.11%,
|
|
45
|
+
0.7783 66.67%,
|
|
46
|
+
0.8145 72.22%,
|
|
47
|
+
0.8453 77.78%,
|
|
48
|
+
0.8713 83.33%,
|
|
49
|
+
0.9117 94.44%,
|
|
50
|
+
0.9271 100%,
|
|
51
|
+
1 100%
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
transition:
|
|
55
|
+
transform 150ms var(--_et-dialog-leave-spring),
|
|
56
|
+
opacity 150ms linear;
|
|
57
|
+
}
|
|
31
58
|
}
|
|
32
59
|
}
|
|
33
60
|
}
|
|
@@ -27,6 +27,33 @@
|
|
|
27
27
|
transition:
|
|
28
28
|
transform 150ms var(--ease-out-5),
|
|
29
29
|
opacity 150ms var(--ease-out-5);
|
|
30
|
+
|
|
31
|
+
@supports (transition-timing-function: linear(0, 1)) {
|
|
32
|
+
/* a response 0.22s critically damped spring, cut where the opacity reaches 0 */
|
|
33
|
+
--_et-dialog-leave-spring: linear(
|
|
34
|
+
0,
|
|
35
|
+
0.0242 5.56%,
|
|
36
|
+
0.083 11.11%,
|
|
37
|
+
0.1607 16.67%,
|
|
38
|
+
0.4178 33.33%,
|
|
39
|
+
0.4961 38.89%,
|
|
40
|
+
0.5674 44.44%,
|
|
41
|
+
0.6311 50%,
|
|
42
|
+
0.6872 55.56%,
|
|
43
|
+
0.7361 61.11%,
|
|
44
|
+
0.7783 66.67%,
|
|
45
|
+
0.8145 72.22%,
|
|
46
|
+
0.8453 77.78%,
|
|
47
|
+
0.8713 83.33%,
|
|
48
|
+
0.9117 94.44%,
|
|
49
|
+
0.9271 100%,
|
|
50
|
+
1 100%
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
transition:
|
|
54
|
+
transform 150ms var(--_et-dialog-leave-spring),
|
|
55
|
+
opacity 150ms linear;
|
|
56
|
+
}
|
|
30
57
|
}
|
|
31
58
|
}
|
|
32
59
|
}
|
|
@@ -28,6 +28,36 @@
|
|
|
28
28
|
transform 300ms var(--ease-in-out-5),
|
|
29
29
|
border-radius 300ms var(--ease-in-out-5),
|
|
30
30
|
opacity 150ms linear 100ms;
|
|
31
|
+
|
|
32
|
+
@supports (transition-timing-function: linear(0, 1)) {
|
|
33
|
+
/* a response 0.28s critically damped spring; the origin clone leave uses the same curve and timing */
|
|
34
|
+
--_et-full-screen-leave-spring: linear(
|
|
35
|
+
0,
|
|
36
|
+
0.0155 2.78%,
|
|
37
|
+
0.0547 5.56%,
|
|
38
|
+
0.1092 8.33%,
|
|
39
|
+
0.1726 11.11%,
|
|
40
|
+
0.3764 19.44%,
|
|
41
|
+
0.5015 25%,
|
|
42
|
+
0.5577 27.78%,
|
|
43
|
+
0.6092 30.56%,
|
|
44
|
+
0.656 33.33%,
|
|
45
|
+
0.6982 36.11%,
|
|
46
|
+
0.7361 38.89%,
|
|
47
|
+
0.7997 44.44%,
|
|
48
|
+
0.8493 50%,
|
|
49
|
+
0.8874 55.56%,
|
|
50
|
+
0.9281 63.89%,
|
|
51
|
+
0.9612 75%,
|
|
52
|
+
0.9908 100%,
|
|
53
|
+
1
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
transition:
|
|
57
|
+
transform 300ms var(--_et-full-screen-leave-spring),
|
|
58
|
+
border-radius 300ms var(--_et-full-screen-leave-spring),
|
|
59
|
+
opacity 150ms linear 35ms;
|
|
60
|
+
}
|
|
31
61
|
}
|
|
32
62
|
|
|
33
63
|
&.et-overlay--full-screen-dialog--reduced-animation {
|
|
@@ -50,6 +80,34 @@
|
|
|
50
80
|
transform 150ms var(--ease-in-5),
|
|
51
81
|
border-radius 150ms var(--ease-in-5),
|
|
52
82
|
opacity 150ms var(--ease-in-5);
|
|
83
|
+
|
|
84
|
+
@supports (transition-timing-function: linear(0, 1)) {
|
|
85
|
+
/* a response 0.22s critically damped spring, cut where the opacity reaches 0 */
|
|
86
|
+
--_et-full-screen-leave-spring: linear(
|
|
87
|
+
0,
|
|
88
|
+
0.0242 5.56%,
|
|
89
|
+
0.083 11.11%,
|
|
90
|
+
0.1607 16.67%,
|
|
91
|
+
0.4178 33.33%,
|
|
92
|
+
0.4961 38.89%,
|
|
93
|
+
0.5674 44.44%,
|
|
94
|
+
0.6311 50%,
|
|
95
|
+
0.6872 55.56%,
|
|
96
|
+
0.7361 61.11%,
|
|
97
|
+
0.7783 66.67%,
|
|
98
|
+
0.8145 72.22%,
|
|
99
|
+
0.8453 77.78%,
|
|
100
|
+
0.8713 83.33%,
|
|
101
|
+
0.9117 94.44%,
|
|
102
|
+
0.9271 100%,
|
|
103
|
+
1 100%
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
transition:
|
|
107
|
+
transform 150ms var(--_et-full-screen-leave-spring),
|
|
108
|
+
border-radius 150ms var(--_et-full-screen-leave-spring),
|
|
109
|
+
opacity 150ms linear;
|
|
110
|
+
}
|
|
53
111
|
}
|
|
54
112
|
}
|
|
55
113
|
}
|
|
@@ -41,6 +41,35 @@
|
|
|
41
41
|
transition:
|
|
42
42
|
transform 300ms var(--ease-in-out-5),
|
|
43
43
|
opacity 125ms 175ms linear;
|
|
44
|
+
|
|
45
|
+
@supports (transition-timing-function: linear(0, 1)) {
|
|
46
|
+
/* must match the full-screen dialog leave, which this clone tracks */
|
|
47
|
+
--_et-origin-clone-leave-spring: linear(
|
|
48
|
+
0,
|
|
49
|
+
0.0155 2.78%,
|
|
50
|
+
0.0547 5.56%,
|
|
51
|
+
0.1092 8.33%,
|
|
52
|
+
0.1726 11.11%,
|
|
53
|
+
0.3764 19.44%,
|
|
54
|
+
0.5015 25%,
|
|
55
|
+
0.5577 27.78%,
|
|
56
|
+
0.6092 30.56%,
|
|
57
|
+
0.656 33.33%,
|
|
58
|
+
0.6982 36.11%,
|
|
59
|
+
0.7361 38.89%,
|
|
60
|
+
0.7997 44.44%,
|
|
61
|
+
0.8493 50%,
|
|
62
|
+
0.8874 55.56%,
|
|
63
|
+
0.9281 63.89%,
|
|
64
|
+
0.9612 75%,
|
|
65
|
+
0.9908 100%,
|
|
66
|
+
1
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
transition:
|
|
70
|
+
transform 300ms var(--_et-origin-clone-leave-spring),
|
|
71
|
+
opacity 125ms 70ms linear;
|
|
72
|
+
}
|
|
44
73
|
}
|
|
45
74
|
|
|
46
75
|
&.et-animation-leave-to,
|
|
@@ -1,102 +1,6 @@
|
|
|
1
1
|
@layer components {
|
|
2
|
-
/* Its own height token rather than the paginator's `--et-pagination-item-size`: that one is
|
|
3
|
-
`@property`-registered as inheriting with a 36px initial value, so it resolves everywhere — the
|
|
4
|
-
select would silently take 36px regardless of its own density, and would not follow a compact
|
|
5
|
-
paginator that lowered it on its own host anyway. Set this to line the two up exactly. */
|
|
6
|
-
@property --et-page-size-select-height {
|
|
7
|
-
syntax: '<length>';
|
|
8
|
-
inherits: true;
|
|
9
|
-
initial-value: 36px;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
2
|
:where(.et-page-size-select-host) {
|
|
13
3
|
display: inline-flex;
|
|
14
4
|
align-items: center;
|
|
15
5
|
}
|
|
16
|
-
|
|
17
|
-
/* Follows the paginator's coarse-pointer target so the two stay level on touch. Zero specificity, so
|
|
18
|
-
the `sm` rule below still wins. */
|
|
19
|
-
@media (pointer: coarse) {
|
|
20
|
-
:where(.et-page-size-select-host) {
|
|
21
|
-
--et-page-size-select-height: 44px;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.et-page-size-select-label {
|
|
26
|
-
display: inline-flex;
|
|
27
|
-
align-items: center;
|
|
28
|
-
gap: 8px;
|
|
29
|
-
font-size: 14px;
|
|
30
|
-
white-space: nowrap;
|
|
31
|
-
color: var(--et-surface-color-muted-solid, CanvasText);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/* The chevron is drawn over the control's trailing edge, so the field is the positioning context. */
|
|
35
|
-
.et-page-size-select-field {
|
|
36
|
-
position: relative;
|
|
37
|
-
display: inline-flex;
|
|
38
|
-
align-items: center;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/* The control itself reads as the paginator's own chrome — same radius, same border, same minimum
|
|
42
|
-
height — so the two sit level in a controls row without either being restyled at the call site.
|
|
43
|
-
The trailing padding leaves room for the chevron. */
|
|
44
|
-
.et-page-size-select-control {
|
|
45
|
-
appearance: none;
|
|
46
|
-
min-block-size: var(--et-page-size-select-height);
|
|
47
|
-
padding-block: 0;
|
|
48
|
-
padding-inline: 8px 26px;
|
|
49
|
-
font: inherit;
|
|
50
|
-
font-variant-numeric: tabular-nums;
|
|
51
|
-
color: var(--et-surface-color-solid, CanvasText);
|
|
52
|
-
background: transparent;
|
|
53
|
-
border: 1px solid var(--et-surface-border-solid, rgb(128 128 128 / 0.3));
|
|
54
|
-
border-radius: var(--et-pagination-radius, 8px);
|
|
55
|
-
cursor: pointer;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.et-page-size-select-chevron {
|
|
59
|
-
position: absolute;
|
|
60
|
-
inset-inline-end: 8px;
|
|
61
|
-
/* The picker is the select's; the chevron is decoration sitting on top of it. */
|
|
62
|
-
pointer-events: none;
|
|
63
|
-
color: var(--et-surface-color-muted-solid, CanvasText);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/* The dropdown the browser draws is outside this element, so it inherits nothing from the surface
|
|
67
|
-
theme — give the options a background that at least matches the app rather than the UA default. */
|
|
68
|
-
.et-page-size-select-control option {
|
|
69
|
-
color: var(--et-surface-color-solid, CanvasText);
|
|
70
|
-
background: var(--et-surface-background-solid, Canvas);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
@media (hover: hover) {
|
|
74
|
-
.et-page-size-select-control:hover {
|
|
75
|
-
background: color-mix(in srgb, var(--et-surface-interaction-solid, gray) 8%, transparent);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
.et-page-size-select-control:focus-visible {
|
|
80
|
-
outline: 2px solid var(--et-theme-color-primary-solid, currentColor);
|
|
81
|
-
outline-offset: 2px;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/* Matches the paginator's own `sm` density, so a table footer can shrink both together. */
|
|
85
|
-
.et-page-size-select-host:where([data-size='sm']) .et-page-size-select-label {
|
|
86
|
-
font-size: 13px;
|
|
87
|
-
gap: 6px;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.et-page-size-select-host:where([data-size='sm']) {
|
|
91
|
-
/* Level with the compact pager's 34px chevrons, which is what it usually sits beside. */
|
|
92
|
-
--et-page-size-select-height: 34px;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.et-page-size-select-host:where([data-size='sm']) .et-page-size-select-control {
|
|
96
|
-
padding-inline: 6px 22px;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
.et-page-size-select-host:where([data-size='sm']) .et-page-size-select-chevron {
|
|
100
|
-
inset-inline-end: 6px;
|
|
101
|
-
}
|
|
102
6
|
}
|
|
@@ -130,28 +130,7 @@
|
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
.et-pagination-jump {
|
|
133
|
-
|
|
134
|
-
align-items: center;
|
|
135
|
-
gap: 8px;
|
|
136
|
-
font-size: 14px;
|
|
137
|
-
color: var(--et-surface-color-muted-solid, CanvasText);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
.et-pagination-jump-input {
|
|
141
|
-
inline-size: 64px;
|
|
142
|
-
min-block-size: var(--et-pagination-item-size);
|
|
143
|
-
padding-inline: 8px;
|
|
144
|
-
font: inherit;
|
|
145
|
-
font-variant-numeric: tabular-nums;
|
|
146
|
-
color: var(--et-surface-color-solid, CanvasText);
|
|
147
|
-
background: transparent;
|
|
148
|
-
border: 1px solid var(--et-surface-border-solid, rgb(128 128 128 / 0.3));
|
|
149
|
-
border-radius: var(--et-pagination-radius);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
.et-pagination-jump-input:where(:focus-visible) {
|
|
153
|
-
outline: 2px solid var(--et-theme-color-primary-solid, currentColor);
|
|
154
|
-
outline-offset: 2px;
|
|
133
|
+
inline-size: 128px;
|
|
155
134
|
}
|
|
156
135
|
|
|
157
136
|
/* Compact density: smaller cells with tighter padding, so the paginator sits closer to table-row
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
inline-size: calc(100% + var(--et-progress-steps-gap, 8px));
|
|
40
40
|
block-size: 2px;
|
|
41
41
|
background: var(--et-surface-border-solid, currentColor);
|
|
42
|
+
transition: background-color 200ms ease;
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
/* Every resolved state fills its connector. The color comes from the step's own forced theme, so
|
|
@@ -66,6 +67,10 @@
|
|
|
66
67
|
centers that whole box rather than the glyph inside it - the digit then sits visibly
|
|
67
68
|
above center, since a line box's extra leading isn't split evenly around the glyph. */
|
|
68
69
|
line-height: 1;
|
|
70
|
+
transition:
|
|
71
|
+
border-color 200ms ease,
|
|
72
|
+
background-color 200ms ease,
|
|
73
|
+
color 200ms ease;
|
|
69
74
|
|
|
70
75
|
/* The icon's own SVG is `width/height: 100%` (fills its box) with no intrinsic size of its
|
|
71
76
|
own, so left unset it stretches to whatever the flex layout gives it - explicitly sizing
|
|
@@ -107,6 +112,7 @@
|
|
|
107
112
|
|
|
108
113
|
.et-progress-step-label {
|
|
109
114
|
color: var(--et-surface-color-muted-solid, currentColor);
|
|
115
|
+
transition: color 200ms ease;
|
|
110
116
|
}
|
|
111
117
|
|
|
112
118
|
[etProgressStepDescription] {
|
|
@@ -2,7 +2,16 @@
|
|
|
2
2
|
.et-scheduler-agenda-view {
|
|
3
3
|
display: flex;
|
|
4
4
|
flex-direction: column;
|
|
5
|
+
position: relative;
|
|
6
|
+
min-block-size: 0;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.et-scheduler-agenda-view-scroller {
|
|
10
|
+
display: flex;
|
|
11
|
+
flex: 1;
|
|
12
|
+
flex-direction: column;
|
|
5
13
|
gap: 12px;
|
|
14
|
+
min-block-size: 0;
|
|
6
15
|
overflow-y: auto;
|
|
7
16
|
}
|
|
8
17
|
|