@slotted/styles 0.1.0-beta.0 → 0.1.0-beta.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/package.json +1 -1
- package/src/accordion/accordion.css +10 -10
- package/src/action-bar/action-bar.css +31 -32
- package/src/action-sheet/action-sheet.css +36 -36
- package/src/alert/alert.css +43 -35
- package/src/alert/alert.tokens.json +5 -0
- package/src/app-shell/app-shell.css +356 -301
- package/src/aspect-ratio/aspect-ratio.css +9 -9
- package/src/attachment/attachment.css +91 -99
- package/src/avatar/avatar.css +71 -41
- package/src/avatar/avatar.tokens.json +7 -0
- package/src/avatar-group/avatar-group.css +21 -22
- package/src/badge/badge.css +45 -37
- package/src/badge/badge.tokens.json +5 -0
- package/src/breadcrumb/breadcrumb.css +37 -37
- package/src/button/button.css +139 -64
- package/src/button/button.tokens.json +10 -0
- package/src/button-group/button-group.css +76 -72
- package/src/button-group/button-group.tokens.json +2 -0
- package/src/calendar/calendar.css +93 -103
- package/src/card/card.css +54 -61
- package/src/carousel/carousel.css +150 -161
- package/src/cascader/cascader.css +152 -153
- package/src/cascader/cascader.tokens.json +1 -0
- package/src/chart/chart.css +242 -239
- package/src/chart/chart.tokens.json +1 -0
- package/src/checkbox/checkbox.css +119 -124
- package/src/checkbox-group/checkbox-group.css +7 -7
- package/src/code-block/code-block.css +81 -85
- package/src/collapsible/collapsible.css +69 -76
- package/src/color-picker/color-picker.css +83 -91
- package/src/column-manager/column-manager.css +106 -114
- package/src/combobox/combobox.css +132 -107
- package/src/combobox/combobox.tokens.json +1 -0
- package/src/command-palette/command-palette.css +84 -90
- package/src/container/container.css +24 -24
- package/src/context-menu/context-menu.css +8 -8
- package/src/currency-field/currency-field.css +210 -88
- package/src/currency-field/currency-field.tokens.json +13 -0
- package/src/dashboard-grid/dashboard-grid.css +148 -116
- package/src/data-grid/data-grid.css +504 -469
- package/src/data-grid/data-grid.tokens.json +2 -0
- package/src/data-list/data-list.css +81 -70
- package/src/data-list/data-list.tokens.json +2 -1
- package/src/date-field/date-field.css +55 -52
- package/src/date-field/date-field.tokens.json +1 -0
- package/src/date-picker/date-picker.css +40 -42
- package/src/date-range-picker/date-range-picker.css +114 -118
- package/src/datetime-field/datetime-field.css +78 -80
- package/src/datetime-field/datetime-field.tokens.json +1 -0
- package/src/datetime-picker/datetime-picker.css +61 -63
- package/src/datetime-range-picker/datetime-range-picker.css +149 -156
- package/src/description-list/description-list.css +61 -64
- package/src/detail-panel/detail-panel.css +70 -70
- package/src/dialog/dialog.css +334 -153
- package/src/dialog/dialog.tokens.json +5 -0
- package/src/divider/divider.css +18 -18
- package/src/drawer/drawer.css +186 -209
- package/src/entity-picker/entity-picker.css +238 -241
- package/src/entity-picker/entity-picker.tokens.json +1 -0
- package/src/event-calendar/event-calendar.css +343 -385
- package/src/field/field.css +74 -78
- package/src/field-group/field-group.css +22 -25
- package/src/filter-bar/filter-bar.css +193 -209
- package/src/form/form.css +34 -24
- package/src/form/form.tokens.json +1 -0
- package/src/fullscreen/fullscreen.css +24 -25
- package/src/grid/grid.css +28 -28
- package/src/highlight/highlight.css +6 -6
- package/src/hover-card/hover-card.css +6 -6
- package/src/icon/icon.css +19 -15
- package/src/icon/icon.tokens.json +1 -0
- package/src/image/image.css +39 -39
- package/src/import-export-center/import-export-center.css +135 -156
- package/src/inline/inline.css +27 -27
- package/src/inline-message/inline-message.css +52 -28
- package/src/inline-message/inline-message.tokens.json +4 -0
- package/src/kbd/kbd.css +30 -26
- package/src/link/link.css +15 -15
- package/src/list/list.css +44 -17
- package/src/list/list.tokens.json +4 -0
- package/src/list-item/list-item.css +80 -66
- package/src/list-item/list-item.tokens.json +7 -0
- package/src/listbox/listbox.css +56 -59
- package/src/loading-overlay/loading-overlay.css +75 -92
- package/src/markdown/markdown.css +17 -17
- package/src/menu/menu.css +83 -63
- package/src/menubar/menubar.css +13 -13
- package/src/message/message.css +182 -202
- package/src/message/message.tokens.json +5 -0
- package/src/message-scroller/message-scroller.css +41 -42
- package/src/multi-select/multi-select.css +152 -145
- package/src/multi-select/multi-select.tokens.json +1 -0
- package/src/navigation-menu/navigation-menu.css +167 -188
- package/src/notification-center/notification-center.css +140 -148
- package/src/notification-center/notification-center.tokens.json +3 -0
- package/src/number-field/number-field.css +84 -83
- package/src/number-field/number-field.tokens.json +1 -0
- package/src/otp-input/otp-input.css +67 -57
- package/src/otp-input/otp-input.tokens.json +1 -0
- package/src/page/page.css +23 -23
- package/src/page-header/page-header.css +268 -281
- package/src/page-header/page-header.tokens.json +1 -0
- package/src/pagination/pagination.css +68 -72
- package/src/popover/popover.css +40 -49
- package/src/progress-indicator/progress-indicator.css +177 -120
- package/src/progress-indicator/progress-indicator.tokens.json +1 -1
- package/src/prompt-composer/prompt-composer.css +221 -102
- package/src/prompt-composer/prompt-composer.tokens.json +15 -0
- package/src/prose/prose.css +71 -75
- package/src/radio-group/radio-group.css +98 -103
- package/src/rating/rating.css +136 -132
- package/src/rating/rating.tokens.json +1 -0
- package/src/result-state/result-state.css +74 -77
- package/src/runtime-properties.mjs +2 -0
- package/src/saved-views/saved-views.css +41 -47
- package/src/scroll-area/scroll-area.css +39 -32
- package/src/section/section.css +161 -41
- package/src/section/section.tokens.json +7 -2
- package/src/segmented-control/segmented-control.css +254 -97
- package/src/segmented-control/segmented-control.tokens.json +15 -11
- package/src/select/select.css +118 -117
- package/src/select/select.tokens.json +1 -0
- package/src/side-navigation/side-navigation.css +179 -182
- package/src/side-navigation/side-navigation.tokens.json +1 -0
- package/src/skeleton/skeleton.css +47 -48
- package/src/slider/slider.css +86 -88
- package/src/sparkline/sparkline.css +62 -40
- package/src/sparkline/sparkline.tokens.json +2 -0
- package/src/spinner/spinner.css +39 -182
- package/src/spinner/spinner.tokens.json +0 -2
- package/src/split-button/split-button.css +30 -31
- package/src/split-button/split-button.tokens.json +1 -0
- package/src/splitter/splitter.css +35 -35
- package/src/stack/stack.css +24 -24
- package/src/stat-card/stat-card.css +341 -224
- package/src/stat-card/stat-card.tokens.json +3 -0
- package/src/status-indicator/status-indicator.css +28 -28
- package/src/stepper/stepper.css +58 -62
- package/src/switch/switch.css +86 -92
- package/src/table/table.css +310 -165
- package/src/table/table.tokens.json +6 -0
- package/src/table-of-contents/table-of-contents.css +51 -54
- package/src/tabs/tabs.css +330 -302
- package/src/tabs/tabs.tokens.json +8 -5
- package/src/tag/tag.css +79 -71
- package/src/tag/tag.tokens.json +9 -0
- package/src/tags-input/tags-input.css +145 -82
- package/src/tags-input/tags-input.tokens.json +7 -1
- package/src/text-field/text-field.css +132 -136
- package/src/text-field/text-field.tokens.json +1 -0
- package/src/textarea/textarea.css +31 -28
- package/src/textarea/textarea.tokens.json +1 -0
- package/src/time-field/time-field.css +72 -69
- package/src/time-field/time-field.tokens.json +1 -0
- package/src/time-picker/time-picker.css +56 -58
- package/src/time-range-picker/time-range-picker.css +126 -133
- package/src/timeline/timeline.css +254 -266
- package/src/timeline/timeline.tokens.json +5 -0
- package/src/toast/toast.css +89 -90
- package/src/toast/toast.tokens.json +5 -0
- package/src/toggle/toggle.css +62 -25
- package/src/toggle/toggle.tokens.json +8 -0
- package/src/toggle-group/toggle-group.css +106 -60
- package/src/toggle-group/toggle-group.tokens.json +10 -0
- package/src/toolbar/toolbar.css +30 -35
- package/src/tooltip/tooltip.css +26 -26
- package/src/top-navigation/top-navigation.css +243 -259
- package/src/tour/tour.css +51 -60
- package/src/transfer/transfer.css +160 -164
- package/src/tree/tree.css +103 -111
- package/src/typography/typography.css +40 -36
- package/src/typography/typography.tokens.json +1 -0
- package/src/upload/upload.css +224 -224
- package/src/visually-hidden/visually-hidden.css +1 -1
- package/src/wizard/wizard.css +185 -197
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
* that end, and choosing one end moves to the other — the end list
|
|
40
40
|
* appears already striking what the chosen start refuses.
|
|
41
41
|
*/
|
|
42
|
-
[data-ui
|
|
42
|
+
[data-ui-datetime-range-picker][data-part-root] {
|
|
43
43
|
display: block;
|
|
44
44
|
/* The anchor the positioner measures is the control, and a block root
|
|
45
45
|
lets the frame take the width the form gave it. */
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
* and two of them broke the frame into two lines in any form column
|
|
56
56
|
* narrower than they are, against the height every control shares.
|
|
57
57
|
*/
|
|
58
|
-
[data-ui
|
|
58
|
+
[data-ui-datetime-range-picker] [data-part-control] {
|
|
59
59
|
--_font-size: var(--slotted-control-font-size-md, 13px);
|
|
60
60
|
--_height: var(--slotted-control-height-md, 34px);
|
|
61
61
|
--_padding-inline: var(--slotted-control-padding-inline-md, 13px);
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
box-shadow var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
[data-ui
|
|
108
|
+
[data-ui-datetime-range-picker][data-part-root][data-size='sm'] [data-part-control] {
|
|
109
109
|
--_font-size: var(--slotted-control-font-size-sm, 12px);
|
|
110
110
|
--_height: var(--slotted-control-height-sm, 30px);
|
|
111
111
|
--_padding-inline: var(--slotted-control-padding-inline-sm, 11px);
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
--_icon-size: var(--slotted-control-icon-size-sm, 14px);
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
[data-ui
|
|
116
|
+
[data-ui-datetime-range-picker][data-part-root][data-size='lg'] [data-part-control] {
|
|
117
117
|
--_font-size: var(--slotted-control-font-size-lg, 14px);
|
|
118
118
|
--_height: var(--slotted-control-height-lg, 38px);
|
|
119
119
|
--_padding-inline: var(--slotted-control-padding-inline-lg, 15px);
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
*
|
|
126
126
|
* The three steps `text-field` set, through the field's own variant tokens.
|
|
127
127
|
*/
|
|
128
|
-
[data-ui
|
|
128
|
+
[data-ui-datetime-range-picker][data-part-root][data-variant='subtle'] [data-part-control] {
|
|
129
129
|
background-color: var(
|
|
130
130
|
--slotted-datetime-range-picker-subtle-background,
|
|
131
131
|
var(--slotted-surface-sunken, Canvas)
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
);
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
[data-ui
|
|
139
|
+
[data-ui-datetime-range-picker][data-part-root][data-variant='plain'] [data-part-control] {
|
|
140
140
|
background-color: transparent;
|
|
141
141
|
border-color: transparent;
|
|
142
142
|
border-radius: var(--slotted-radius-none, 0px);
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
* into `PageDown` before the browser sees it, so a chord cannot be the only
|
|
152
152
|
* way in.
|
|
153
153
|
*/
|
|
154
|
-
[data-ui
|
|
154
|
+
[data-ui-datetime-range-picker] [data-part-trigger] {
|
|
155
155
|
align-items: center;
|
|
156
156
|
appearance: none;
|
|
157
157
|
background-color: transparent;
|
|
@@ -177,14 +177,14 @@
|
|
|
177
177
|
-webkit-tap-highlight-color: transparent;
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
-
[data-ui
|
|
180
|
+
[data-ui-datetime-range-picker] [data-part-control]:has(> [data-part-clear]) {
|
|
181
181
|
--_actions: 2;
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
/* The value in words, one line, cut where it does not fit: the trigger's
|
|
185
185
|
name carries it whole, so the ellipsis removes nothing a reader cannot
|
|
186
186
|
hear. Tabular figures, so two ranges in a form line up. */
|
|
187
|
-
[data-ui
|
|
187
|
+
[data-ui-datetime-range-picker] [data-part-summary] {
|
|
188
188
|
flex: 1 1 auto;
|
|
189
189
|
font-variant-numeric: tabular-nums;
|
|
190
190
|
min-inline-size: 0;
|
|
@@ -194,7 +194,7 @@
|
|
|
194
194
|
white-space: nowrap;
|
|
195
195
|
}
|
|
196
196
|
|
|
197
|
-
[data-ui
|
|
197
|
+
[data-ui-datetime-range-picker] [data-part-summary][data-placeholder] {
|
|
198
198
|
color: var(
|
|
199
199
|
--slotted-datetime-range-picker-placeholder-color,
|
|
200
200
|
var(--slotted-text-muted, GrayText)
|
|
@@ -207,11 +207,11 @@
|
|
|
207
207
|
open. */
|
|
208
208
|
/* The frame draws the ring for the trigger; the browser's own ring on the
|
|
209
209
|
trigger would be a second one, inside the frame and over its edge. */
|
|
210
|
-
[data-ui
|
|
210
|
+
[data-ui-datetime-range-picker] [data-part-trigger]:focus-visible {
|
|
211
211
|
outline: none;
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
[data-ui
|
|
214
|
+
[data-ui-datetime-range-picker] [data-part-trigger] > [data-ui-icon] {
|
|
215
215
|
--slotted-icon-size: var(--_icon-size);
|
|
216
216
|
|
|
217
217
|
/* No system-colour fallback on a decoration: unthemed, it takes the
|
|
@@ -223,7 +223,7 @@
|
|
|
223
223
|
translate: 0 -50%;
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
-
[data-ui
|
|
226
|
+
[data-ui-datetime-range-picker] [data-part-trigger]:disabled {
|
|
227
227
|
cursor: not-allowed;
|
|
228
228
|
}
|
|
229
229
|
|
|
@@ -233,7 +233,7 @@
|
|
|
233
233
|
* stands. Its own ring: tabbing from the trigger to it has to move
|
|
234
234
|
* something visible, and the frame's ring would sit still.
|
|
235
235
|
*/
|
|
236
|
-
[data-ui
|
|
236
|
+
[data-ui-datetime-range-picker] [data-part-clear] {
|
|
237
237
|
--slotted-icon-size: var(--_icon-size);
|
|
238
238
|
|
|
239
239
|
align-items: center;
|
|
@@ -263,7 +263,7 @@
|
|
|
263
263
|
}
|
|
264
264
|
|
|
265
265
|
/* The hit area, recovered outside the paint, as every inner control does. */
|
|
266
|
-
[data-ui
|
|
266
|
+
[data-ui-datetime-range-picker] [data-part-clear]::after {
|
|
267
267
|
content: '';
|
|
268
268
|
inset: min(0px, calc((100% - var(--slotted-target-min, 24px)) / 2));
|
|
269
269
|
position: absolute;
|
|
@@ -274,32 +274,32 @@
|
|
|
274
274
|
the hit area above grows to 44 pixels around them. It does not reach into
|
|
275
275
|
the calendar's lane after it, which is the trigger's to answer. */
|
|
276
276
|
@media (pointer: coarse) {
|
|
277
|
-
[data-ui
|
|
277
|
+
[data-ui-datetime-range-picker] [data-part-clear]::after {
|
|
278
278
|
inset: min(0px, calc((100% - var(--slotted-target-comfortable, 44px)) / 2));
|
|
279
279
|
inset-inline-end: 0;
|
|
280
280
|
}
|
|
281
281
|
}
|
|
282
282
|
|
|
283
|
-
[data-ui
|
|
283
|
+
[data-ui-datetime-range-picker] [data-part-clear]:hover:not(:disabled):not([data-disabled]) {
|
|
284
284
|
background-color: var(
|
|
285
285
|
--slotted-datetime-range-picker-action-hover-background,
|
|
286
286
|
var(--slotted-tone-secondary-subtle-hover)
|
|
287
287
|
);
|
|
288
288
|
}
|
|
289
289
|
|
|
290
|
-
[data-ui
|
|
290
|
+
[data-ui-datetime-range-picker] [data-part-clear]:active:not(:disabled):not([data-disabled]) {
|
|
291
291
|
background-color: var(
|
|
292
292
|
--slotted-datetime-range-picker-action-active-background,
|
|
293
293
|
var(--slotted-tone-secondary-subtle-active)
|
|
294
294
|
);
|
|
295
295
|
}
|
|
296
296
|
|
|
297
|
-
[data-ui
|
|
297
|
+
[data-ui-datetime-range-picker] [data-part-clear]:focus-visible {
|
|
298
298
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
299
299
|
outline-offset: calc(var(--slotted-focus-ring-offset, 2px) * -1);
|
|
300
300
|
}
|
|
301
301
|
|
|
302
|
-
[data-ui
|
|
302
|
+
[data-ui-datetime-range-picker] [data-part-clear]:disabled {
|
|
303
303
|
color: var(--slotted-disabled-foreground);
|
|
304
304
|
cursor: not-allowed;
|
|
305
305
|
}
|
|
@@ -310,30 +310,30 @@
|
|
|
310
310
|
* one it can meet, which is the order `STATE_PRECEDENCE` sets.
|
|
311
311
|
*/
|
|
312
312
|
|
|
313
|
-
[data-ui
|
|
313
|
+
[data-ui-datetime-range-picker][data-part-root]:not([data-disabled]):not([data-readonly]):not(
|
|
314
314
|
[data-invalid]
|
|
315
315
|
)
|
|
316
|
-
[data-part
|
|
316
|
+
[data-part-control]:hover {
|
|
317
317
|
border-color: var(
|
|
318
318
|
--slotted-datetime-range-picker-hover-border-color,
|
|
319
319
|
var(--slotted-tone-accent-border)
|
|
320
320
|
);
|
|
321
321
|
}
|
|
322
322
|
|
|
323
|
-
[data-ui
|
|
324
|
-
[data-
|
|
325
|
-
):not([data-
|
|
326
|
-
[data-part
|
|
323
|
+
[data-ui-datetime-range-picker][data-part-root][data-variant='subtle']:not([data-disabled]):not(
|
|
324
|
+
[data-readonly]
|
|
325
|
+
):not([data-invalid])
|
|
326
|
+
[data-part-control]:hover {
|
|
327
327
|
background-color: var(
|
|
328
328
|
--slotted-datetime-range-picker-subtle-hover-background,
|
|
329
329
|
var(--slotted-tone-secondary-subtle-hover)
|
|
330
330
|
);
|
|
331
331
|
}
|
|
332
332
|
|
|
333
|
-
[data-ui
|
|
334
|
-
[data-
|
|
335
|
-
):not([data-
|
|
336
|
-
[data-part
|
|
333
|
+
[data-ui-datetime-range-picker][data-part-root][data-variant='plain']:not([data-disabled]):not(
|
|
334
|
+
[data-readonly]
|
|
335
|
+
):not([data-invalid])
|
|
336
|
+
[data-part-control]:hover {
|
|
337
337
|
background-color: var(
|
|
338
338
|
--slotted-datetime-range-picker-plain-hover-background,
|
|
339
339
|
var(--slotted-tone-secondary-subtle-hover)
|
|
@@ -343,8 +343,7 @@
|
|
|
343
343
|
|
|
344
344
|
/* The trigger is the only thing in the frame that takes focus, apart from
|
|
345
345
|
the clear, which draws its own ring; the frame's ring is drawn for it. */
|
|
346
|
-
[data-ui
|
|
347
|
-
[data-part='control']:has(> [data-part='trigger']:focus-visible) {
|
|
346
|
+
[data-ui-datetime-range-picker] [data-part-control]:has(> [data-part-trigger]:focus-visible) {
|
|
348
347
|
box-shadow: var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px)
|
|
349
348
|
var(--slotted-focus-ring-color, Highlight);
|
|
350
349
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
@@ -353,15 +352,15 @@
|
|
|
353
352
|
|
|
354
353
|
/* The ring of a control whose box is not its own is drawn inside that box,
|
|
355
354
|
and there is no lift — the `plain` rule of `plain-variant.test.mjs`. */
|
|
356
|
-
[data-ui
|
|
357
|
-
[data-part
|
|
355
|
+
[data-ui-datetime-range-picker][data-part-root][data-variant='plain']
|
|
356
|
+
[data-part-control]:has(> [data-part-trigger]:focus-visible) {
|
|
358
357
|
box-shadow: none;
|
|
359
358
|
outline-offset: calc(var(--slotted-focus-ring-offset, 2px) * -1);
|
|
360
359
|
}
|
|
361
360
|
|
|
362
361
|
/* Invalid outranks hover and is written after it. The ring is retargeted
|
|
363
362
|
rather than repainted, so every ring in the frame moves at once. */
|
|
364
|
-
[data-ui
|
|
363
|
+
[data-ui-datetime-range-picker][data-part-root][data-invalid] [data-part-control] {
|
|
365
364
|
--slotted-focus-ring-color: var(
|
|
366
365
|
--slotted-datetime-range-picker-invalid-focus-ring-color,
|
|
367
366
|
var(--slotted-focus-ring-color-invalid, Highlight)
|
|
@@ -389,16 +388,16 @@
|
|
|
389
388
|
box-shadow: var(--_invalid-edge);
|
|
390
389
|
}
|
|
391
390
|
|
|
392
|
-
[data-ui
|
|
393
|
-
[data-part
|
|
391
|
+
[data-ui-datetime-range-picker][data-invalid]
|
|
392
|
+
[data-part-control]:has(> [data-part-trigger]:focus-visible) {
|
|
394
393
|
box-shadow:
|
|
395
394
|
var(--_invalid-edge),
|
|
396
395
|
var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px)
|
|
397
396
|
var(--slotted-focus-ring-color, Highlight);
|
|
398
397
|
}
|
|
399
398
|
|
|
400
|
-
[data-ui
|
|
401
|
-
[data-part
|
|
399
|
+
[data-ui-datetime-range-picker][data-part-root][data-variant='plain'][data-invalid]
|
|
400
|
+
[data-part-control]:has(> [data-part-trigger]:focus-visible) {
|
|
402
401
|
/* The ring lies inside the box here, over the border and an edge as wide as
|
|
403
402
|
it; the edge reaches past the ring. */
|
|
404
403
|
box-shadow: inset 0 0 0
|
|
@@ -414,20 +413,20 @@
|
|
|
414
413
|
* control draws its ring double, which a valid ring is not.
|
|
415
414
|
*/
|
|
416
415
|
@media (forced-colors: active) {
|
|
417
|
-
[data-ui
|
|
416
|
+
[data-ui-datetime-range-picker][data-part-root][data-invalid] [data-part-control] {
|
|
418
417
|
outline: var(--_invalid-edge-width) solid CanvasText;
|
|
419
418
|
outline-offset: calc(-1 * (var(--_border-width) + var(--_invalid-edge-width)));
|
|
420
419
|
}
|
|
421
420
|
|
|
422
|
-
[data-ui
|
|
423
|
-
[data-part
|
|
421
|
+
[data-ui-datetime-range-picker][data-invalid]
|
|
422
|
+
[data-part-control]:has(> [data-part-trigger]:focus-visible) {
|
|
424
423
|
outline: calc(var(--slotted-focus-ring-width, 2px) + var(--_invalid-edge-width)) double
|
|
425
424
|
var(--slotted-focus-ring-color, Highlight);
|
|
426
425
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
427
426
|
}
|
|
428
427
|
|
|
429
|
-
[data-ui
|
|
430
|
-
[data-part
|
|
428
|
+
[data-ui-datetime-range-picker][data-part-root][data-variant='plain'][data-invalid]
|
|
429
|
+
[data-part-control]:has(> [data-part-trigger]:focus-visible) {
|
|
431
430
|
outline: calc(var(--slotted-focus-ring-width, 2px) + var(--_invalid-edge-width)) double
|
|
432
431
|
var(--slotted-focus-ring-color, Highlight);
|
|
433
432
|
outline-offset: calc(
|
|
@@ -438,7 +437,7 @@
|
|
|
438
437
|
|
|
439
438
|
/* Read-only stays focusable, readable and copyable, and must not be
|
|
440
439
|
mistakable for disabled: the ground says "not yours to change". */
|
|
441
|
-
[data-ui
|
|
440
|
+
[data-ui-datetime-range-picker][data-part-root][data-readonly] [data-part-control] {
|
|
442
441
|
background-color: var(
|
|
443
442
|
--slotted-datetime-range-picker-readonly-background,
|
|
444
443
|
var(--slotted-tone-secondary-subtle-hover)
|
|
@@ -447,7 +446,7 @@
|
|
|
447
446
|
}
|
|
448
447
|
|
|
449
448
|
/* Muted to the colour the theme measures rather than faded by opacity. */
|
|
450
|
-
[data-ui
|
|
449
|
+
[data-ui-datetime-range-picker][data-part-root][data-disabled] [data-part-control] {
|
|
451
450
|
background-color: var(
|
|
452
451
|
--slotted-datetime-range-picker-disabled-background,
|
|
453
452
|
var(--slotted-disabled-background)
|
|
@@ -461,9 +460,9 @@
|
|
|
461
460
|
cursor: not-allowed;
|
|
462
461
|
}
|
|
463
462
|
|
|
464
|
-
[data-ui
|
|
465
|
-
[data-part
|
|
466
|
-
> [data-ui
|
|
463
|
+
[data-ui-datetime-range-picker][data-part-root][data-disabled]
|
|
464
|
+
[data-part-trigger]
|
|
465
|
+
> [data-ui-icon] {
|
|
467
466
|
color: var(--slotted-disabled-foreground);
|
|
468
467
|
}
|
|
469
468
|
|
|
@@ -472,7 +471,7 @@
|
|
|
472
471
|
* What `packages/core/src/positioner` writes `position`, `left` and `top`
|
|
473
472
|
* onto. The painted surface is one element in, as every overlay is built.
|
|
474
473
|
*/
|
|
475
|
-
[data-ui
|
|
474
|
+
[data-ui-datetime-range-picker][data-part-positioner] {
|
|
476
475
|
/* Only the block inset: the positioner writes `left` and never `right`,
|
|
477
476
|
and `inset-inline-start` would resolve to `right` in a right-to-left
|
|
478
477
|
document and win over the measured value. */
|
|
@@ -494,18 +493,18 @@
|
|
|
494
493
|
translate var(--slotted-duration-short) var(--slotted-easing-exit);
|
|
495
494
|
}
|
|
496
495
|
|
|
497
|
-
[data-ui
|
|
496
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-side='top'] {
|
|
498
497
|
translate: 0 var(--_enter-distance);
|
|
499
498
|
}
|
|
500
499
|
|
|
501
|
-
[data-ui
|
|
500
|
+
[data-ui-datetime-range-picker][data-part-positioner]:is(
|
|
502
501
|
[data-side='left'],
|
|
503
502
|
[data-side='right']
|
|
504
503
|
) {
|
|
505
504
|
translate: 0 0;
|
|
506
505
|
}
|
|
507
506
|
|
|
508
|
-
[data-ui
|
|
507
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-open] {
|
|
509
508
|
opacity: 1;
|
|
510
509
|
translate: 0 0;
|
|
511
510
|
transition: none;
|
|
@@ -513,16 +512,16 @@
|
|
|
513
512
|
|
|
514
513
|
/* The entrance is a keyframe animation and not a transition, for the reason
|
|
515
514
|
`select` records: only a layer the positioner placed arrives. */
|
|
516
|
-
[data-ui
|
|
515
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-open][data-positioned] {
|
|
517
516
|
animation: slotted-datetime-range-picker-enter-down var(--slotted-duration-medium)
|
|
518
517
|
var(--slotted-easing-enter);
|
|
519
518
|
}
|
|
520
519
|
|
|
521
|
-
[data-ui
|
|
520
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-open][data-positioned][data-side='top'] {
|
|
522
521
|
animation-name: slotted-datetime-range-picker-enter-up;
|
|
523
522
|
}
|
|
524
523
|
|
|
525
|
-
[data-ui
|
|
524
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-open][data-positioned]:is(
|
|
526
525
|
[data-side='left'],
|
|
527
526
|
[data-side='right']
|
|
528
527
|
) {
|
|
@@ -551,24 +550,24 @@
|
|
|
551
550
|
|
|
552
551
|
/* Stillness keeps the fade and drops the movement. */
|
|
553
552
|
@media (prefers-reduced-motion: reduce) {
|
|
554
|
-
[data-ui
|
|
555
|
-
[data-ui
|
|
556
|
-
[data-ui
|
|
557
|
-
[data-ui
|
|
553
|
+
[data-ui-datetime-range-picker][data-part-positioner],
|
|
554
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-side='top'],
|
|
555
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-side='left'],
|
|
556
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-side='right'] {
|
|
558
557
|
translate: 0 0;
|
|
559
558
|
transition: opacity var(--slotted-duration-short) var(--slotted-easing-exit);
|
|
560
559
|
}
|
|
561
560
|
|
|
562
|
-
[data-ui
|
|
563
|
-
[data-ui
|
|
564
|
-
[data-ui
|
|
565
|
-
[data-ui
|
|
561
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-open][data-positioned],
|
|
562
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-open][data-positioned][data-side='top'],
|
|
563
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-open][data-positioned][data-side='left'],
|
|
564
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-open][data-positioned][data-side='right'] {
|
|
566
565
|
animation-name: slotted-datetime-range-picker-fade;
|
|
567
566
|
}
|
|
568
567
|
}
|
|
569
568
|
|
|
570
569
|
/* The anchor scrolled out of its own clipper. */
|
|
571
|
-
[data-ui
|
|
570
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-detached] {
|
|
572
571
|
visibility: hidden;
|
|
573
572
|
}
|
|
574
573
|
|
|
@@ -579,7 +578,7 @@
|
|
|
579
578
|
* `auto` track takes the calendar's own width as its floor, and the cap
|
|
580
579
|
* below would then cap a box the track had already overflowed.
|
|
581
580
|
*/
|
|
582
|
-
[data-ui
|
|
581
|
+
[data-ui-datetime-range-picker] [data-part-content] {
|
|
583
582
|
background-color: var(
|
|
584
583
|
--slotted-datetime-range-picker-surface,
|
|
585
584
|
var(--slotted-surface-raised, Canvas)
|
|
@@ -635,7 +634,7 @@
|
|
|
635
634
|
* what to do next. It renders at the panel's width and contributes nothing
|
|
636
635
|
* to it, by the pair `datetime-picker` records.
|
|
637
636
|
*/
|
|
638
|
-
[data-ui
|
|
637
|
+
[data-ui-datetime-range-picker] [data-part-head] {
|
|
639
638
|
box-sizing: border-box;
|
|
640
639
|
inline-size: 0;
|
|
641
640
|
min-inline-size: 100%;
|
|
@@ -650,30 +649,30 @@
|
|
|
650
649
|
row-gap: var(--slotted-space-2, 0.25rem);
|
|
651
650
|
}
|
|
652
651
|
|
|
653
|
-
[data-ui
|
|
652
|
+
[data-ui-datetime-range-picker] [data-part-tabs] {
|
|
654
653
|
grid-area: tabs;
|
|
655
654
|
}
|
|
656
655
|
|
|
657
|
-
[data-ui
|
|
656
|
+
[data-ui-datetime-range-picker] [data-part-field] {
|
|
658
657
|
grid-area: field;
|
|
659
658
|
}
|
|
660
659
|
|
|
661
|
-
[data-ui
|
|
660
|
+
[data-ui-datetime-range-picker] [data-part-head] > [data-part-now] {
|
|
662
661
|
align-self: center;
|
|
663
662
|
grid-area: now;
|
|
664
663
|
}
|
|
665
664
|
|
|
666
|
-
[data-ui
|
|
665
|
+
[data-ui-datetime-range-picker] [data-part-hint] {
|
|
667
666
|
align-self: center;
|
|
668
667
|
grid-area: hint;
|
|
669
668
|
}
|
|
670
669
|
|
|
671
|
-
[data-ui
|
|
670
|
+
[data-ui-datetime-range-picker] [data-part-length] {
|
|
672
671
|
align-self: center;
|
|
673
672
|
grid-area: length;
|
|
674
673
|
}
|
|
675
674
|
|
|
676
|
-
[data-ui
|
|
675
|
+
[data-ui-datetime-range-picker] [data-part-limit] {
|
|
677
676
|
grid-area: limit;
|
|
678
677
|
}
|
|
679
678
|
|
|
@@ -685,7 +684,7 @@
|
|
|
685
684
|
* The row is the whole width so the two are the same size whatever their
|
|
686
685
|
* values, and a thumb finds them without aiming.
|
|
687
686
|
*/
|
|
688
|
-
[data-ui
|
|
687
|
+
[data-ui-datetime-range-picker] [data-part-tabs] {
|
|
689
688
|
border-block-end: var(--slotted-border-width-thin, 1px) solid
|
|
690
689
|
var(
|
|
691
690
|
--slotted-datetime-range-picker-content-border-color,
|
|
@@ -696,7 +695,7 @@
|
|
|
696
695
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
697
696
|
}
|
|
698
697
|
|
|
699
|
-
[data-ui
|
|
698
|
+
[data-ui-datetime-range-picker] [data-part-tab] {
|
|
700
699
|
appearance: none;
|
|
701
700
|
background-color: transparent;
|
|
702
701
|
border: 0;
|
|
@@ -726,7 +725,7 @@
|
|
|
726
725
|
-webkit-tap-highlight-color: transparent;
|
|
727
726
|
}
|
|
728
727
|
|
|
729
|
-
[data-ui
|
|
728
|
+
[data-ui-datetime-range-picker] [data-part-tab]::after {
|
|
730
729
|
background-color: var(
|
|
731
730
|
--slotted-datetime-range-picker-current-color,
|
|
732
731
|
var(--slotted-tone-accent-solid)
|
|
@@ -745,30 +744,30 @@
|
|
|
745
744
|
var(--slotted-control-transition-easing);
|
|
746
745
|
}
|
|
747
746
|
|
|
748
|
-
[data-ui
|
|
747
|
+
[data-ui-datetime-range-picker] [data-part-tab][data-current]::after {
|
|
749
748
|
opacity: 1;
|
|
750
749
|
}
|
|
751
750
|
|
|
752
|
-
[data-ui
|
|
751
|
+
[data-ui-datetime-range-picker] [data-part-tab]:hover:not(:disabled):not([data-current]) {
|
|
753
752
|
background-color: var(
|
|
754
753
|
--slotted-datetime-range-picker-option-hover-background,
|
|
755
754
|
var(--slotted-tone-secondary-subtle-hover)
|
|
756
755
|
);
|
|
757
756
|
}
|
|
758
757
|
|
|
759
|
-
[data-ui
|
|
758
|
+
[data-ui-datetime-range-picker] [data-part-tab]:focus-visible {
|
|
760
759
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
761
760
|
outline-offset: calc(var(--slotted-focus-ring-offset, 2px) * -1);
|
|
762
761
|
}
|
|
763
762
|
|
|
764
|
-
[data-ui
|
|
763
|
+
[data-ui-datetime-range-picker] [data-part-tab]:disabled {
|
|
765
764
|
color: var(--slotted-disabled-foreground);
|
|
766
765
|
cursor: not-allowed;
|
|
767
766
|
}
|
|
768
767
|
|
|
769
768
|
/* The label, in the muted ink for both ends alike: which end is current
|
|
770
769
|
is said once, by the underline. */
|
|
771
|
-
[data-ui
|
|
770
|
+
[data-ui-datetime-range-picker] [data-part-tab-label] {
|
|
772
771
|
color: var(--slotted-datetime-range-picker-label-color, var(--slotted-text-muted, GrayText));
|
|
773
772
|
font-size: var(--slotted-font-size-xs, 11px);
|
|
774
773
|
font-weight: var(--slotted-font-weight-medium, 500);
|
|
@@ -777,7 +776,7 @@
|
|
|
777
776
|
white-space: nowrap;
|
|
778
777
|
}
|
|
779
778
|
|
|
780
|
-
[data-ui
|
|
779
|
+
[data-ui-datetime-range-picker] [data-part-tab-value] {
|
|
781
780
|
font-size: var(--slotted-font-size-sm, 13px);
|
|
782
781
|
font-variant-numeric: tabular-nums;
|
|
783
782
|
font-weight: var(--slotted-font-weight-medium, 500);
|
|
@@ -787,7 +786,7 @@
|
|
|
787
786
|
white-space: nowrap;
|
|
788
787
|
}
|
|
789
788
|
|
|
790
|
-
[data-ui
|
|
789
|
+
[data-ui-datetime-range-picker] [data-part-tab][data-placeholder] [data-part-tab-value] {
|
|
791
790
|
color: var(--slotted-datetime-range-picker-label-color, var(--slotted-text-muted, GrayText));
|
|
792
791
|
font-weight: var(--slotted-font-weight-regular, 400);
|
|
793
792
|
}
|
|
@@ -801,7 +800,7 @@
|
|
|
801
800
|
* `now` sits at the reading end of the same row. On a coarse pointer the
|
|
802
801
|
* row is `now` alone: a segment is a spinbutton and raises no keyboard.
|
|
803
802
|
*/
|
|
804
|
-
[data-ui
|
|
803
|
+
[data-ui-datetime-range-picker] [data-part-field] {
|
|
805
804
|
--slotted-control-border-width: 0px;
|
|
806
805
|
--slotted-control-padding-inline-sm: var(--slotted-space-2, 0.25rem);
|
|
807
806
|
--slotted-control-padding-inline-md: var(--slotted-space-2, 0.25rem);
|
|
@@ -822,7 +821,7 @@
|
|
|
822
821
|
* line of its own under them. The hint is the difference between a panel
|
|
823
822
|
* that refuses and a panel that explains.
|
|
824
823
|
*/
|
|
825
|
-
[data-ui
|
|
824
|
+
[data-ui-datetime-range-picker] [data-part-hint] {
|
|
826
825
|
color: var(--slotted-datetime-range-picker-hint-color, var(--slotted-text-muted, GrayText));
|
|
827
826
|
font-size: var(--slotted-font-size-sm, 13px);
|
|
828
827
|
min-inline-size: 0;
|
|
@@ -831,13 +830,13 @@
|
|
|
831
830
|
unicode-bidi: plaintext;
|
|
832
831
|
}
|
|
833
832
|
|
|
834
|
-
[data-ui
|
|
833
|
+
[data-ui-datetime-range-picker] [data-part-hint][data-invalid] {
|
|
835
834
|
color: var(--slotted-datetime-range-picker-invalid-color, var(--slotted-tone-danger-text));
|
|
836
835
|
}
|
|
837
836
|
|
|
838
837
|
/* The duration, at the reading end, in the accent's text tone: it is the
|
|
839
838
|
number the band exists to say. Pending, it drops a step of weight. */
|
|
840
|
-
[data-ui
|
|
839
|
+
[data-ui-datetime-range-picker] [data-part-length] {
|
|
841
840
|
color: var(--slotted-datetime-range-picker-length-color, var(--slotted-tone-accent-text));
|
|
842
841
|
font-size: var(--slotted-font-size-sm, 13px);
|
|
843
842
|
font-variant-numeric: tabular-nums;
|
|
@@ -847,17 +846,17 @@
|
|
|
847
846
|
white-space: nowrap;
|
|
848
847
|
}
|
|
849
848
|
|
|
850
|
-
[data-ui
|
|
849
|
+
[data-ui-datetime-range-picker] [data-part-length][data-pending] {
|
|
851
850
|
font-weight: var(--slotted-font-weight-medium, 500);
|
|
852
851
|
}
|
|
853
852
|
|
|
854
853
|
/* An empty length still holds its line, so the band does not grow a row
|
|
855
854
|
when the first end is chosen. */
|
|
856
|
-
[data-ui
|
|
855
|
+
[data-ui-datetime-range-picker] [data-part-length]:empty::before {
|
|
857
856
|
content: '\200B';
|
|
858
857
|
}
|
|
859
858
|
|
|
860
|
-
[data-ui
|
|
859
|
+
[data-ui-datetime-range-picker] [data-part-limit] {
|
|
861
860
|
color: var(--slotted-datetime-range-picker-limit-color, var(--slotted-text-muted, GrayText));
|
|
862
861
|
font-size: var(--slotted-font-size-xs, 11px);
|
|
863
862
|
padding-inline-start: var(--slotted-space-2, 0.25rem);
|
|
@@ -876,7 +875,7 @@
|
|
|
876
875
|
* item and the same half taken back on the row, in place of `gap`, the
|
|
877
876
|
* habit of the date chain.
|
|
878
877
|
*/
|
|
879
|
-
[data-ui
|
|
878
|
+
[data-ui-datetime-range-picker] [data-part-panel] {
|
|
880
879
|
--_panel-gap: calc(var(--slotted-space-4, 0.5rem) / 2);
|
|
881
880
|
|
|
882
881
|
align-items: stretch;
|
|
@@ -887,26 +886,26 @@
|
|
|
887
886
|
min-inline-size: 0;
|
|
888
887
|
}
|
|
889
888
|
|
|
890
|
-
[data-ui
|
|
889
|
+
[data-ui-datetime-range-picker] [data-part-panel] > * {
|
|
891
890
|
margin: var(--_panel-gap);
|
|
892
891
|
}
|
|
893
892
|
|
|
894
893
|
/* The calendar keeps its own width and wraps its second month under the
|
|
895
894
|
first when the surface is narrow, which is its own container rule. */
|
|
896
|
-
[data-ui
|
|
895
|
+
[data-ui-datetime-range-picker] [data-part-date-panel] {
|
|
897
896
|
flex: 0 1 auto;
|
|
898
897
|
min-inline-size: 0;
|
|
899
898
|
}
|
|
900
899
|
|
|
901
|
-
[data-ui
|
|
902
|
-
[data-ui
|
|
900
|
+
[data-ui-datetime-range-picker] [data-part-panel] > [data-part-list],
|
|
901
|
+
[data-ui-datetime-range-picker] [data-part-panel] > [data-part-empty] {
|
|
903
902
|
flex: 1 1 var(--slotted-datetime-range-picker-list-min-inline-size, 9rem);
|
|
904
903
|
min-inline-size: var(--slotted-datetime-range-picker-list-min-inline-size, 9rem);
|
|
905
904
|
}
|
|
906
905
|
|
|
907
906
|
/* A hairline between the grid and the list while they share a row. */
|
|
908
|
-
[data-ui
|
|
909
|
-
[data-ui
|
|
907
|
+
[data-ui-datetime-range-picker] [data-part-date-panel] + [data-part-list],
|
|
908
|
+
[data-ui-datetime-range-picker] [data-part-date-panel] + [data-part-empty] {
|
|
910
909
|
border-inline-start: var(--slotted-border-width-thin, 1px) solid
|
|
911
910
|
var(
|
|
912
911
|
--slotted-datetime-range-picker-content-border-color,
|
|
@@ -915,7 +914,7 @@
|
|
|
915
914
|
padding-inline-start: var(--slotted-space-4, 0.5rem);
|
|
916
915
|
}
|
|
917
916
|
|
|
918
|
-
[data-ui
|
|
917
|
+
[data-ui-datetime-range-picker] [data-part-now] {
|
|
919
918
|
appearance: none;
|
|
920
919
|
background-color: transparent;
|
|
921
920
|
border: 0;
|
|
@@ -936,19 +935,19 @@
|
|
|
936
935
|
var(--slotted-control-transition-easing);
|
|
937
936
|
}
|
|
938
937
|
|
|
939
|
-
[data-ui
|
|
938
|
+
[data-ui-datetime-range-picker] [data-part-now]:hover:not(:disabled):not([data-disabled]) {
|
|
940
939
|
background-color: var(
|
|
941
940
|
--slotted-datetime-range-picker-option-hover-background,
|
|
942
941
|
var(--slotted-tone-secondary-subtle-hover)
|
|
943
942
|
);
|
|
944
943
|
}
|
|
945
944
|
|
|
946
|
-
[data-ui
|
|
945
|
+
[data-ui-datetime-range-picker] [data-part-now]:focus-visible {
|
|
947
946
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
948
947
|
outline-offset: calc(var(--slotted-focus-ring-offset, 2px) * -1);
|
|
949
948
|
}
|
|
950
949
|
|
|
951
|
-
[data-ui
|
|
950
|
+
[data-ui-datetime-range-picker] [data-part-now]:disabled {
|
|
952
951
|
color: var(--slotted-disabled-foreground);
|
|
953
952
|
cursor: not-allowed;
|
|
954
953
|
}
|
|
@@ -959,7 +958,7 @@
|
|
|
959
958
|
* clock. It ships the row they stand in and the chip each one is, between
|
|
960
959
|
* the band and the panel, wrapping when they do not fit.
|
|
961
960
|
*/
|
|
962
|
-
[data-ui
|
|
961
|
+
[data-ui-datetime-range-picker] [data-part-presets] {
|
|
963
962
|
display: flex;
|
|
964
963
|
flex-wrap: wrap;
|
|
965
964
|
gap: var(--slotted-space-2, 0.25rem);
|
|
@@ -967,7 +966,7 @@
|
|
|
967
966
|
min-inline-size: 0;
|
|
968
967
|
}
|
|
969
968
|
|
|
970
|
-
[data-ui
|
|
969
|
+
[data-ui-datetime-range-picker] [data-part-preset] {
|
|
971
970
|
appearance: none;
|
|
972
971
|
background-color: var(
|
|
973
972
|
--slotted-datetime-range-picker-preset-background,
|
|
@@ -996,22 +995,21 @@
|
|
|
996
995
|
-webkit-tap-highlight-color: transparent;
|
|
997
996
|
}
|
|
998
997
|
|
|
999
|
-
[data-ui
|
|
998
|
+
[data-ui-datetime-range-picker] [data-part-preset]:hover:not(:disabled):not([data-selected]) {
|
|
1000
999
|
background-color: var(
|
|
1001
1000
|
--slotted-datetime-range-picker-preset-hover-background,
|
|
1002
1001
|
var(--slotted-tone-secondary-subtle-hover)
|
|
1003
1002
|
);
|
|
1004
1003
|
}
|
|
1005
1004
|
|
|
1006
|
-
[data-ui
|
|
1007
|
-
[data-part='preset']:active:not(:disabled):not([data-selected]) {
|
|
1005
|
+
[data-ui-datetime-range-picker] [data-part-preset]:active:not(:disabled):not([data-selected]) {
|
|
1008
1006
|
background-color: var(
|
|
1009
1007
|
--slotted-datetime-range-picker-preset-active-background,
|
|
1010
1008
|
var(--slotted-tone-secondary-subtle-active)
|
|
1011
1009
|
);
|
|
1012
1010
|
}
|
|
1013
1011
|
|
|
1014
|
-
[data-ui
|
|
1012
|
+
[data-ui-datetime-range-picker] [data-part-preset][data-selected] {
|
|
1015
1013
|
background-color: var(
|
|
1016
1014
|
--slotted-datetime-range-picker-preset-selected-background,
|
|
1017
1015
|
var(--slotted-tone-accent-subtle-hover)
|
|
@@ -1023,12 +1021,12 @@
|
|
|
1023
1021
|
font-weight: var(--slotted-font-weight-medium, 500);
|
|
1024
1022
|
}
|
|
1025
1023
|
|
|
1026
|
-
[data-ui
|
|
1024
|
+
[data-ui-datetime-range-picker] [data-part-preset]:focus-visible {
|
|
1027
1025
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
1028
1026
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
1029
1027
|
}
|
|
1030
1028
|
|
|
1031
|
-
[data-ui
|
|
1029
|
+
[data-ui-datetime-range-picker] [data-part-preset]:disabled {
|
|
1032
1030
|
color: var(--slotted-disabled-foreground);
|
|
1033
1031
|
cursor: not-allowed;
|
|
1034
1032
|
}
|
|
@@ -1039,7 +1037,7 @@
|
|
|
1039
1037
|
* cap holds at every density, and scrolled rather than truncated —
|
|
1040
1038
|
* `time-picker`'s list.
|
|
1041
1039
|
*/
|
|
1042
|
-
[data-ui
|
|
1040
|
+
[data-ui-datetime-range-picker] [data-part-list] {
|
|
1043
1041
|
display: flex;
|
|
1044
1042
|
flex-direction: column;
|
|
1045
1043
|
/* One step of air between rows, so the chosen row's painted ground and
|
|
@@ -1057,7 +1055,7 @@
|
|
|
1057
1055
|
scroll-padding-block: var(--slotted-space-2, 0.25rem);
|
|
1058
1056
|
}
|
|
1059
1057
|
|
|
1060
|
-
[data-ui
|
|
1058
|
+
[data-ui-datetime-range-picker] [data-part-option] {
|
|
1061
1059
|
/* The time and its duration share a baseline, and the line box is the
|
|
1062
1060
|
row: baseline alignment alone would seat both at the top of a row
|
|
1063
1061
|
taller than one line, and a length line-height centres them in it. */
|
|
@@ -1095,7 +1093,7 @@
|
|
|
1095
1093
|
* the other end it is the duration to the end already chosen. Muted, so the
|
|
1096
1094
|
* time stays what the row is; on the chosen row it takes the row's own ink.
|
|
1097
1095
|
*/
|
|
1098
|
-
[data-ui
|
|
1096
|
+
[data-ui-datetime-range-picker] [data-part-option-duration] {
|
|
1099
1097
|
color: var(--slotted-datetime-range-picker-label-color, var(--slotted-text-muted, GrayText));
|
|
1100
1098
|
flex: 0 1 auto;
|
|
1101
1099
|
font-size: var(--slotted-font-size-xs, 11px);
|
|
@@ -1106,12 +1104,8 @@
|
|
|
1106
1104
|
white-space: nowrap;
|
|
1107
1105
|
}
|
|
1108
1106
|
|
|
1109
|
-
[data-ui
|
|
1110
|
-
|
|
1111
|
-
[data-part='option-duration'],
|
|
1112
|
-
[data-ui='datetime-range-picker']
|
|
1113
|
-
[data-part='option'][data-disabled]
|
|
1114
|
-
[data-part='option-duration'] {
|
|
1107
|
+
[data-ui-datetime-range-picker] [data-part-option][data-selected] [data-part-option-duration],
|
|
1108
|
+
[data-ui-datetime-range-picker] [data-part-option][data-disabled] [data-part-option-duration] {
|
|
1115
1109
|
color: inherit;
|
|
1116
1110
|
}
|
|
1117
1111
|
|
|
@@ -1122,27 +1116,27 @@
|
|
|
1122
1116
|
* outranks the pointer. Specificity is what makes this a rule rather than an
|
|
1123
1117
|
* ordering — the defect `time-picker` records from its visual gate.
|
|
1124
1118
|
*/
|
|
1125
|
-
[data-ui
|
|
1126
|
-
[data-part
|
|
1119
|
+
[data-ui-datetime-range-picker]
|
|
1120
|
+
[data-part-option]:hover:not([data-disabled]):not([data-selected]):not([data-current]) {
|
|
1127
1121
|
background-color: var(
|
|
1128
1122
|
--slotted-datetime-range-picker-option-hover-background,
|
|
1129
1123
|
var(--slotted-tone-secondary-subtle-hover)
|
|
1130
1124
|
);
|
|
1131
1125
|
}
|
|
1132
1126
|
|
|
1133
|
-
[data-ui
|
|
1127
|
+
[data-ui-datetime-range-picker] [data-part-option][data-current]:not([data-selected]) {
|
|
1134
1128
|
background-color: var(
|
|
1135
1129
|
--slotted-datetime-range-picker-option-current-background,
|
|
1136
1130
|
var(--slotted-tone-secondary-subtle-active)
|
|
1137
1131
|
);
|
|
1138
1132
|
}
|
|
1139
1133
|
|
|
1140
|
-
[data-ui
|
|
1134
|
+
[data-ui-datetime-range-picker] [data-part-option]:focus-visible {
|
|
1141
1135
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
1142
1136
|
outline-offset: calc(var(--slotted-focus-ring-offset, 2px) * -1);
|
|
1143
1137
|
}
|
|
1144
1138
|
|
|
1145
|
-
[data-ui
|
|
1139
|
+
[data-ui-datetime-range-picker] [data-part-option][data-selected] {
|
|
1146
1140
|
background-color: var(
|
|
1147
1141
|
--slotted-datetime-range-picker-option-selected-background,
|
|
1148
1142
|
var(--slotted-tone-accent-solid)
|
|
@@ -1154,7 +1148,7 @@
|
|
|
1154
1148
|
}
|
|
1155
1149
|
|
|
1156
1150
|
/* The chosen row still answers the pointer, one step along its own tone. */
|
|
1157
|
-
[data-ui
|
|
1151
|
+
[data-ui-datetime-range-picker] [data-part-option][data-selected]:hover:not([data-disabled]) {
|
|
1158
1152
|
background-color: var(
|
|
1159
1153
|
--slotted-datetime-range-picker-option-selected-hover-background,
|
|
1160
1154
|
var(--slotted-tone-accent-solid-hover)
|
|
@@ -1167,7 +1161,7 @@
|
|
|
1167
1161
|
* step the reader cannot infer — and it is muted to the colour the theme
|
|
1168
1162
|
* measures rather than faded by opacity, so it stays readable.
|
|
1169
1163
|
*/
|
|
1170
|
-
[data-ui
|
|
1164
|
+
[data-ui-datetime-range-picker] [data-part-option][data-disabled] {
|
|
1171
1165
|
background-color: transparent;
|
|
1172
1166
|
color: var(--slotted-disabled-foreground);
|
|
1173
1167
|
cursor: not-allowed;
|
|
@@ -1175,7 +1169,7 @@
|
|
|
1175
1169
|
|
|
1176
1170
|
/* Nothing available for this end at all. A sentence rather than an empty
|
|
1177
1171
|
box, the reason `time-picker` records. */
|
|
1178
|
-
[data-ui
|
|
1172
|
+
[data-ui-datetime-range-picker] [data-part-empty] {
|
|
1179
1173
|
align-items: center;
|
|
1180
1174
|
color: var(--slotted-datetime-range-picker-label-color, var(--slotted-text-muted, GrayText));
|
|
1181
1175
|
display: flex;
|
|
@@ -1192,7 +1186,7 @@
|
|
|
1192
1186
|
|
|
1193
1187
|
/* The consumer's own actions and, at the reading end, `done`: the way out
|
|
1194
1188
|
of a sheet that fills the screen and of an edit left half way. */
|
|
1195
|
-
[data-ui
|
|
1189
|
+
[data-ui-datetime-range-picker] [data-part-footer] {
|
|
1196
1190
|
box-sizing: border-box;
|
|
1197
1191
|
inline-size: 0;
|
|
1198
1192
|
min-inline-size: 100%;
|
|
@@ -1210,7 +1204,7 @@
|
|
|
1210
1204
|
padding-block-start: var(--slotted-space-3, 0.375rem);
|
|
1211
1205
|
}
|
|
1212
1206
|
|
|
1213
|
-
[data-ui
|
|
1207
|
+
[data-ui-datetime-range-picker] [data-part-done] {
|
|
1214
1208
|
appearance: none;
|
|
1215
1209
|
background-color: var(
|
|
1216
1210
|
--slotted-datetime-range-picker-done-background,
|
|
@@ -1237,21 +1231,21 @@
|
|
|
1237
1231
|
-webkit-tap-highlight-color: transparent;
|
|
1238
1232
|
}
|
|
1239
1233
|
|
|
1240
|
-
[data-ui
|
|
1234
|
+
[data-ui-datetime-range-picker] [data-part-done]:hover:not(:disabled) {
|
|
1241
1235
|
background-color: var(
|
|
1242
1236
|
--slotted-datetime-range-picker-done-hover-background,
|
|
1243
1237
|
var(--slotted-tone-accent-solid-hover)
|
|
1244
1238
|
);
|
|
1245
1239
|
}
|
|
1246
1240
|
|
|
1247
|
-
[data-ui
|
|
1241
|
+
[data-ui-datetime-range-picker] [data-part-done]:active:not(:disabled) {
|
|
1248
1242
|
background-color: var(
|
|
1249
1243
|
--slotted-datetime-range-picker-done-active-background,
|
|
1250
1244
|
var(--slotted-tone-accent-solid-active)
|
|
1251
1245
|
);
|
|
1252
1246
|
}
|
|
1253
1247
|
|
|
1254
|
-
[data-ui
|
|
1248
|
+
[data-ui-datetime-range-picker] [data-part-done]:focus-visible {
|
|
1255
1249
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
1256
1250
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
1257
1251
|
}
|
|
@@ -1264,7 +1258,7 @@
|
|
|
1264
1258
|
* raises no keyboard — and the list is the way to a time.
|
|
1265
1259
|
*/
|
|
1266
1260
|
@media (pointer: coarse) {
|
|
1267
|
-
[data-ui
|
|
1261
|
+
[data-ui-datetime-range-picker] [data-part-field] {
|
|
1268
1262
|
display: none;
|
|
1269
1263
|
}
|
|
1270
1264
|
}
|
|
@@ -1275,18 +1269,18 @@
|
|
|
1275
1269
|
* desktop and a sheet in a narrow viewport. The DOM does not change.
|
|
1276
1270
|
*/
|
|
1277
1271
|
@media (max-width: 480px) and (pointer: coarse) {
|
|
1278
|
-
[data-ui
|
|
1272
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-presentation='sheet'] {
|
|
1279
1273
|
inset: auto 0 0;
|
|
1280
1274
|
position: fixed;
|
|
1281
1275
|
translate: 0 var(--slotted-space-9, 2rem);
|
|
1282
1276
|
}
|
|
1283
1277
|
|
|
1284
|
-
[data-ui
|
|
1278
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-presentation='sheet'][data-open] {
|
|
1285
1279
|
translate: 0 0;
|
|
1286
1280
|
}
|
|
1287
1281
|
|
|
1288
|
-
[data-ui
|
|
1289
|
-
[data-part
|
|
1282
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-presentation='sheet']
|
|
1283
|
+
[data-part-content] {
|
|
1290
1284
|
border-end-end-radius: 0;
|
|
1291
1285
|
border-end-start-radius: 0;
|
|
1292
1286
|
border-inline: 0;
|
|
@@ -1312,31 +1306,31 @@
|
|
|
1312
1306
|
|
|
1313
1307
|
/* Four rows and a half under the grid on a phone, at the touch height:
|
|
1314
1308
|
the grid, the list and done fit a short screen together. */
|
|
1315
|
-
[data-ui
|
|
1316
|
-
[data-part
|
|
1309
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-presentation='sheet']
|
|
1310
|
+
[data-part-list] {
|
|
1317
1311
|
max-block-size: calc(var(--_row-pitch) * 4.5);
|
|
1318
1312
|
}
|
|
1319
1313
|
|
|
1320
1314
|
/* The list under the grid on a phone, whatever the row's width: a grid
|
|
1321
1315
|
and a column side by side leave neither room enough. */
|
|
1322
|
-
[data-ui
|
|
1323
|
-
[data-part
|
|
1324
|
-
> [data-part
|
|
1325
|
-
[data-ui
|
|
1326
|
-
[data-part
|
|
1327
|
-
> [data-part
|
|
1316
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-presentation='sheet']
|
|
1317
|
+
[data-part-panel]
|
|
1318
|
+
> [data-part-list],
|
|
1319
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-presentation='sheet']
|
|
1320
|
+
[data-part-panel]
|
|
1321
|
+
> [data-part-empty] {
|
|
1328
1322
|
flex-basis: 100%;
|
|
1329
1323
|
}
|
|
1330
1324
|
|
|
1331
|
-
[data-ui
|
|
1332
|
-
[data-part
|
|
1333
|
-
+ [data-part
|
|
1325
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-presentation='sheet']
|
|
1326
|
+
[data-part-date-panel]
|
|
1327
|
+
+ [data-part-list] {
|
|
1334
1328
|
border-inline-start: 0;
|
|
1335
1329
|
padding-inline-start: 0;
|
|
1336
1330
|
}
|
|
1337
1331
|
|
|
1338
|
-
[data-ui
|
|
1339
|
-
[data-part
|
|
1332
|
+
[data-ui-datetime-range-picker][data-part-positioner][data-presentation='sheet']
|
|
1333
|
+
[data-part-tab] {
|
|
1340
1334
|
min-block-size: var(
|
|
1341
1335
|
--slotted-datetime-range-picker-tab-block-size,
|
|
1342
1336
|
var(--slotted-target-comfortable, 44px)
|
|
@@ -1345,29 +1339,28 @@
|
|
|
1345
1339
|
}
|
|
1346
1340
|
|
|
1347
1341
|
@media (forced-colors: active) {
|
|
1348
|
-
[data-ui
|
|
1349
|
-
[data-part='control'] {
|
|
1342
|
+
[data-ui-datetime-range-picker][data-part-root][data-variant='plain'] [data-part-control] {
|
|
1350
1343
|
border-color: ButtonBorder;
|
|
1351
1344
|
}
|
|
1352
1345
|
|
|
1353
1346
|
/* The tab's underline is painted with a background, and forced colours
|
|
1354
1347
|
replace a background that is not one of the system's own. */
|
|
1355
|
-
[data-ui
|
|
1348
|
+
[data-ui-datetime-range-picker] [data-part-tab]::after {
|
|
1356
1349
|
forced-color-adjust: none;
|
|
1357
1350
|
}
|
|
1358
1351
|
|
|
1359
|
-
[data-ui
|
|
1352
|
+
[data-ui-datetime-range-picker] [data-part-tab]::after {
|
|
1360
1353
|
background-color: currentcolor;
|
|
1361
1354
|
}
|
|
1362
1355
|
|
|
1363
|
-
[data-ui
|
|
1364
|
-
[data-ui
|
|
1356
|
+
[data-ui-datetime-range-picker] [data-part-preset][data-selected],
|
|
1357
|
+
[data-ui-datetime-range-picker] [data-part-option][data-selected] {
|
|
1365
1358
|
background-color: Highlight;
|
|
1366
1359
|
color: HighlightText;
|
|
1367
1360
|
forced-color-adjust: none;
|
|
1368
1361
|
}
|
|
1369
1362
|
|
|
1370
|
-
[data-ui
|
|
1363
|
+
[data-ui-datetime-range-picker] [data-part-option][data-current]:not([data-selected]) {
|
|
1371
1364
|
outline: var(--slotted-focus-ring-width, 2px) solid Highlight;
|
|
1372
1365
|
outline-offset: calc(var(--slotted-focus-ring-offset, 2px) * -1);
|
|
1373
1366
|
}
|