@slotted/styles 0.1.0-beta.8 → 0.1.0-beta.9
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 +35 -35
- package/src/app-shell/app-shell.css +280 -299
- package/src/aspect-ratio/aspect-ratio.css +9 -9
- package/src/attachment/attachment.css +91 -99
- package/src/avatar/avatar.css +41 -41
- package/src/avatar-group/avatar-group.css +21 -22
- package/src/badge/badge.css +37 -37
- package/src/breadcrumb/breadcrumb.css +37 -37
- package/src/button/button.css +88 -69
- package/src/button-group/button-group.css +69 -73
- 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 +147 -151
- package/src/chart/chart.css +225 -240
- 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 +99 -101
- 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 +99 -104
- package/src/dashboard-grid/dashboard-grid.css +104 -107
- package/src/data-grid/data-grid.css +458 -456
- package/src/data-grid/data-grid.tokens.json +2 -0
- package/src/data-list/data-list.css +67 -69
- package/src/date-field/date-field.css +50 -50
- 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 +73 -78
- 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 +300 -148
- package/src/divider/divider.css +18 -18
- package/src/drawer/drawer.css +186 -209
- package/src/entity-picker/entity-picker.css +220 -239
- 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 +21 -24
- 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 +15 -15
- 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 +28 -28
- package/src/kbd/kbd.css +26 -26
- package/src/link/link.css +15 -15
- package/src/list/list.css +20 -20
- package/src/list-item/list-item.css +66 -66
- 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 +63 -65
- package/src/menubar/menubar.css +13 -13
- package/src/message/message.css +174 -202
- package/src/message-scroller/message-scroller.css +41 -42
- package/src/multi-select/multi-select.css +131 -137
- package/src/navigation-menu/navigation-menu.css +167 -188
- package/src/notification-center/notification-center.css +134 -148
- package/src/number-field/number-field.css +76 -81
- package/src/otp-input/otp-input.css +48 -48
- package/src/page/page.css +23 -23
- package/src/page-header/page-header.css +219 -280
- package/src/pagination/pagination.css +68 -72
- package/src/popover/popover.css +40 -49
- package/src/progress-indicator/progress-indicator.css +85 -90
- package/src/prompt-composer/prompt-composer.css +94 -99
- package/src/prose/prose.css +71 -75
- package/src/radio-group/radio-group.css +98 -103
- package/src/rating/rating.css +132 -132
- package/src/result-state/result-state.css +74 -77
- package/src/saved-views/saved-views.css +41 -47
- package/src/scroll-area/scroll-area.css +32 -35
- package/src/section/section.css +16 -16
- package/src/segmented-control/segmented-control.css +77 -79
- package/src/select/select.css +113 -115
- package/src/side-navigation/side-navigation.css +170 -180
- package/src/skeleton/skeleton.css +47 -48
- package/src/slider/slider.css +86 -88
- package/src/sparkline/sparkline.css +32 -32
- package/src/spinner/spinner.css +4 -4
- package/src/split-button/split-button.css +26 -31
- package/src/splitter/splitter.css +35 -35
- package/src/stack/stack.css +24 -24
- package/src/stat-card/stat-card.css +102 -103
- 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 +189 -198
- package/src/table-of-contents/table-of-contents.css +51 -54
- package/src/tabs/tabs.css +143 -162
- package/src/tag/tag.css +67 -71
- package/src/tags-input/tags-input.css +124 -74
- package/src/tags-input/tags-input.tokens.json +6 -1
- package/src/text-field/text-field.css +108 -126
- package/src/textarea/textarea.css +26 -26
- package/src/time-field/time-field.css +67 -67
- 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 +244 -266
- package/src/toast/toast.css +81 -90
- package/src/toggle/toggle.css +29 -33
- package/src/toggle-group/toggle-group.css +67 -71
- 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 +36 -36
- package/src/upload/upload.css +224 -224
- package/src/visually-hidden/visually-hidden.css +1 -1
- package/src/wizard/wizard.css +185 -197
package/src/form/form.css
CHANGED
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
* Both stand anywhere inside the form, and so do other families' parts of
|
|
15
15
|
* the same names — a `table`'s summary row, a `section`'s actions. The two
|
|
16
16
|
* carry the family's identifier, and every rule names them by it: a rule
|
|
17
|
-
* that reached `[data-part
|
|
17
|
+
* that reached `[data-part-summary]` as any descendant painted a table's
|
|
18
18
|
* totals as an error panel.
|
|
19
19
|
*/
|
|
20
|
-
[data-ui
|
|
20
|
+
[data-ui-form][data-part-root] {
|
|
21
21
|
--_font-size: var(--slotted-control-font-size-md, 13px);
|
|
22
22
|
|
|
23
23
|
/**
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
* with `aria-busy`, because the pointer is where a reader who just pressed
|
|
49
49
|
* the button already is.
|
|
50
50
|
*/
|
|
51
|
-
[data-ui
|
|
51
|
+
[data-ui-form][data-part-root][data-loading] {
|
|
52
52
|
cursor: progress;
|
|
53
53
|
}
|
|
54
54
|
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
* they read it. The tone tokens are the theme's, so the panel answers the
|
|
64
64
|
* scheme switch instead of being a red box that turns black.
|
|
65
65
|
*/
|
|
66
|
-
[data-ui
|
|
66
|
+
[data-ui-form][data-part-summary] {
|
|
67
67
|
background-color: var(--slotted-form-summary-background, var(--slotted-tone-danger-surface));
|
|
68
68
|
border: var(--slotted-control-border-width, 1px) solid
|
|
69
69
|
var(--slotted-form-summary-border-color, var(--slotted-tone-danger-border));
|
|
@@ -88,12 +88,12 @@
|
|
|
88
88
|
* announced, and the ring is the family's own: a `tabindex="-1"` target that
|
|
89
89
|
* showed nothing on focus would move a reader somewhere they cannot see.
|
|
90
90
|
*/
|
|
91
|
-
[data-ui
|
|
91
|
+
[data-ui-form][data-part-summary]:focus-visible {
|
|
92
92
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
93
93
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
[data-ui
|
|
96
|
+
[data-ui-form][data-part-summary] > [data-part-summary-title] {
|
|
97
97
|
font-family: var(
|
|
98
98
|
--slotted-font-family-heading,
|
|
99
99
|
var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif)
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
margin: 0;
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
[data-ui
|
|
107
|
+
[data-ui-form][data-part-summary] > [data-part-summary-list] {
|
|
108
108
|
display: flex;
|
|
109
109
|
flex-direction: column;
|
|
110
110
|
gap: var(--slotted-space-2, 0.25rem);
|
|
@@ -130,26 +130,23 @@
|
|
|
130
130
|
padding-inline-start: 0;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
-
[data-ui
|
|
134
|
-
> [data-part='summary-list']
|
|
135
|
-
> li
|
|
136
|
-
> [data-part='summary-item'] {
|
|
133
|
+
[data-ui-form][data-part-summary] > [data-part-summary-list] > li > [data-part-summary-item] {
|
|
137
134
|
color: inherit;
|
|
138
135
|
text-decoration-line: underline;
|
|
139
136
|
text-underline-offset: var(--slotted-space-1, 0.125rem);
|
|
140
137
|
}
|
|
141
138
|
|
|
142
|
-
[data-ui
|
|
143
|
-
> [data-part
|
|
139
|
+
[data-ui-form][data-part-summary]
|
|
140
|
+
> [data-part-summary-list]
|
|
144
141
|
> li
|
|
145
|
-
> [data-part
|
|
142
|
+
> [data-part-summary-item]:hover:not(:disabled) {
|
|
146
143
|
text-decoration-thickness: var(--slotted-border-width-thick, 2px);
|
|
147
144
|
}
|
|
148
145
|
|
|
149
|
-
[data-ui
|
|
150
|
-
> [data-part
|
|
146
|
+
[data-ui-form][data-part-summary]
|
|
147
|
+
> [data-part-summary-list]
|
|
151
148
|
> li
|
|
152
|
-
> [data-part
|
|
149
|
+
> [data-part-summary-item]:focus-visible {
|
|
153
150
|
border-radius: var(--slotted-radius-xs, 2px);
|
|
154
151
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
155
152
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
@@ -162,7 +159,7 @@
|
|
|
162
159
|
* forbids a custom property in a container condition, which
|
|
163
160
|
* `docs/token-foundation.md` rule 4 records.
|
|
164
161
|
*/
|
|
165
|
-
[data-ui
|
|
162
|
+
[data-ui-form][data-part-actions] {
|
|
166
163
|
display: flex;
|
|
167
164
|
flex-wrap: wrap;
|
|
168
165
|
gap: var(--slotted-space-4, 0.5rem);
|
|
@@ -170,15 +167,15 @@
|
|
|
170
167
|
margin-block-start: var(--slotted-space-8, 1.5rem);
|
|
171
168
|
}
|
|
172
169
|
|
|
173
|
-
[data-ui
|
|
170
|
+
[data-ui-form][data-part-actions][data-align='start'] {
|
|
174
171
|
justify-content: flex-start;
|
|
175
172
|
}
|
|
176
173
|
|
|
177
|
-
[data-ui
|
|
174
|
+
[data-ui-form][data-part-actions][data-align='between'] {
|
|
178
175
|
justify-content: space-between;
|
|
179
176
|
}
|
|
180
177
|
|
|
181
|
-
[data-ui
|
|
178
|
+
[data-ui-form][data-part-actions][data-align='stretch'] > * {
|
|
182
179
|
flex: 1 1 0;
|
|
183
180
|
}
|
|
184
181
|
|
|
@@ -194,11 +191,11 @@
|
|
|
194
191
|
* action they came to take belongs first.
|
|
195
192
|
*/
|
|
196
193
|
@container slotted-form (max-width: 360px) {
|
|
197
|
-
[data-ui
|
|
194
|
+
[data-ui-form][data-part-actions] {
|
|
198
195
|
flex-direction: column-reverse;
|
|
199
196
|
}
|
|
200
197
|
|
|
201
|
-
[data-ui
|
|
198
|
+
[data-ui-form][data-part-actions] > * {
|
|
202
199
|
inline-size: 100%;
|
|
203
200
|
}
|
|
204
201
|
}
|
|
@@ -210,7 +207,7 @@
|
|
|
210
207
|
* panel with nothing but its border.
|
|
211
208
|
*/
|
|
212
209
|
@media (forced-colors: active) {
|
|
213
|
-
[data-ui
|
|
210
|
+
[data-ui-form][data-part-summary] {
|
|
214
211
|
border-color: CanvasText;
|
|
215
212
|
border-inline-start-color: Highlight;
|
|
216
213
|
}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* browser, an iframe without `allow="fullscreen"`, a refused request. The
|
|
22
22
|
* two ways are one component; only `data-mode` tells them apart.
|
|
23
23
|
*/
|
|
24
|
-
[data-ui
|
|
24
|
+
[data-ui-fullscreen][data-part-root][data-fullscreen] {
|
|
25
25
|
/* The region is the viewport in full screen, so the viewport is what the
|
|
26
26
|
inset answers: the page step on a desktop, down to the small step on a
|
|
27
27
|
phone, where twenty-four pixels a side is an eighth of the width. */
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
* (the automatic minimum of a flex item), so content taller than the screen
|
|
76
76
|
* still scrolls in the region.
|
|
77
77
|
*/
|
|
78
|
-
[data-ui
|
|
78
|
+
[data-ui-fullscreen][data-part-root][data-fullscreen] {
|
|
79
79
|
display: flex;
|
|
80
80
|
flex-direction: column;
|
|
81
81
|
}
|
|
@@ -95,8 +95,7 @@
|
|
|
95
95
|
* full screen; a descendant selector on the part alone turned an open list
|
|
96
96
|
* into a grid. A flex share only reaches a direct child in any case.
|
|
97
97
|
*/
|
|
98
|
-
[data-ui
|
|
99
|
-
> [data-ui='fullscreen'][data-part='content'] {
|
|
98
|
+
[data-ui-fullscreen][data-part-root][data-fullscreen] > [data-ui-fullscreen][data-part-content] {
|
|
100
99
|
display: grid;
|
|
101
100
|
flex: 1 0 auto;
|
|
102
101
|
grid-template-columns: minmax(0, 1fr);
|
|
@@ -115,9 +114,9 @@
|
|
|
115
114
|
* menu opened, and the panel would drop to its own height under it. The
|
|
116
115
|
* root is always appended last.
|
|
117
116
|
*/
|
|
118
|
-
[data-ui
|
|
117
|
+
[data-ui-fullscreen][data-part-root][data-fullscreen]
|
|
119
118
|
> :first-child:is(:last-child, :has(+ [data-slotted-portal]:last-child)):not(
|
|
120
|
-
[data-part
|
|
119
|
+
[data-part-trigger],
|
|
121
120
|
img,
|
|
122
121
|
video,
|
|
123
122
|
canvas
|
|
@@ -131,7 +130,7 @@
|
|
|
131
130
|
* gives a video in full screen. It may shrink below its natural height,
|
|
132
131
|
* which a photograph taller than the screen has to.
|
|
133
132
|
*/
|
|
134
|
-
[data-ui
|
|
133
|
+
[data-ui-fullscreen][data-part-root][data-fullscreen]
|
|
135
134
|
> :is(img, video, canvas):first-child:is(
|
|
136
135
|
:last-child,
|
|
137
136
|
:has(+ [data-slotted-portal]:last-child)
|
|
@@ -142,7 +141,7 @@
|
|
|
142
141
|
object-fit: contain;
|
|
143
142
|
}
|
|
144
143
|
|
|
145
|
-
[data-ui
|
|
144
|
+
[data-ui-fullscreen][data-part-root]::backdrop {
|
|
146
145
|
background-color: var(--slotted-fullscreen-surface, var(--slotted-surface, Canvas));
|
|
147
146
|
}
|
|
148
147
|
|
|
@@ -161,7 +160,7 @@
|
|
|
161
160
|
* page and never covered it. Nothing else here is `!important` — the ground,
|
|
162
161
|
* the edge and the inset stay the consumer's to change in full screen.
|
|
163
162
|
*/
|
|
164
|
-
[data-ui
|
|
163
|
+
[data-ui-fullscreen][data-part-root][data-mode='layout'] {
|
|
165
164
|
animation: slotted-fullscreen-enter var(--slotted-duration-short) var(--slotted-easing-enter);
|
|
166
165
|
block-size: auto !important;
|
|
167
166
|
inline-size: auto !important;
|
|
@@ -199,7 +198,7 @@
|
|
|
199
198
|
* control scale's, the same box `toggle` and `button` stand in, so the
|
|
200
199
|
* control sits in a toolbar beside them without a pixel of difference.
|
|
201
200
|
*/
|
|
202
|
-
[data-ui
|
|
201
|
+
[data-ui-fullscreen][data-part-trigger] {
|
|
203
202
|
--_height: var(--slotted-control-height-md, 34px);
|
|
204
203
|
--_padding-inline: var(--slotted-control-padding-inline-md, 13px);
|
|
205
204
|
--_font-size: var(--slotted-control-font-size-md, 13px);
|
|
@@ -247,7 +246,7 @@
|
|
|
247
246
|
|
|
248
247
|
/* ── Size ─────────────────────────────────────────────────────────────── */
|
|
249
248
|
|
|
250
|
-
[data-ui
|
|
249
|
+
[data-ui-fullscreen][data-part-trigger][data-size='sm'] {
|
|
251
250
|
--_height: var(--slotted-control-height-sm, 30px);
|
|
252
251
|
--_padding-inline: var(--slotted-control-padding-inline-sm, 10px);
|
|
253
252
|
--_font-size: var(--slotted-control-font-size-sm, 12px);
|
|
@@ -255,7 +254,7 @@
|
|
|
255
254
|
--_gap: var(--slotted-control-gap-sm, 6px);
|
|
256
255
|
}
|
|
257
256
|
|
|
258
|
-
[data-ui
|
|
257
|
+
[data-ui-fullscreen][data-part-trigger][data-size='lg'] {
|
|
259
258
|
--_height: var(--slotted-control-height-lg, 38px);
|
|
260
259
|
--_padding-inline: var(--slotted-control-padding-inline-lg, 16px);
|
|
261
260
|
--_font-size: var(--slotted-control-font-size-lg, 14px);
|
|
@@ -271,7 +270,7 @@
|
|
|
271
270
|
* consumer's icon placed in its stead, each at the control's icon step and
|
|
272
271
|
* in the host's ink.
|
|
273
272
|
*/
|
|
274
|
-
[data-ui
|
|
273
|
+
[data-ui-fullscreen] [data-part-icon] {
|
|
275
274
|
--slotted-icon-size: var(--_icon-size);
|
|
276
275
|
|
|
277
276
|
block-size: var(--_icon-size);
|
|
@@ -281,7 +280,7 @@
|
|
|
281
280
|
inline-size: var(--_icon-size);
|
|
282
281
|
}
|
|
283
282
|
|
|
284
|
-
[data-ui
|
|
283
|
+
[data-ui-fullscreen] [data-part-icon] > * {
|
|
285
284
|
block-size: 100%;
|
|
286
285
|
display: block;
|
|
287
286
|
inline-size: 100%;
|
|
@@ -292,7 +291,7 @@
|
|
|
292
291
|
* container is shorter than a translated label; the string stays whole in
|
|
293
292
|
* the DOM and in the accessible name.
|
|
294
293
|
*/
|
|
295
|
-
[data-ui
|
|
294
|
+
[data-ui-fullscreen] [data-part-label] {
|
|
296
295
|
min-inline-size: 0;
|
|
297
296
|
overflow: hidden;
|
|
298
297
|
text-overflow: ellipsis;
|
|
@@ -304,12 +303,12 @@
|
|
|
304
303
|
* reader. The label is visually hidden rather than removed, which keeps
|
|
305
304
|
* the accessible name the label the state gives it.
|
|
306
305
|
*/
|
|
307
|
-
[data-ui
|
|
306
|
+
[data-ui-fullscreen][data-part-trigger][data-icon-only] {
|
|
308
307
|
inline-size: var(--_height);
|
|
309
308
|
padding-inline: 0;
|
|
310
309
|
}
|
|
311
310
|
|
|
312
|
-
[data-ui
|
|
311
|
+
[data-ui-fullscreen][data-part-trigger][data-icon-only] [data-part-label] {
|
|
313
312
|
block-size: 1px;
|
|
314
313
|
clip-path: inset(50%);
|
|
315
314
|
inline-size: 1px;
|
|
@@ -326,7 +325,7 @@
|
|
|
326
325
|
* screen needs its own ground, or the edge is all that separates the words
|
|
327
326
|
* from what is behind them.
|
|
328
327
|
*/
|
|
329
|
-
[data-ui
|
|
328
|
+
[data-ui-fullscreen][data-part-trigger][data-variant='outline'] {
|
|
330
329
|
background-color: var(--slotted-control-surface, ButtonFace);
|
|
331
330
|
border-color: var(
|
|
332
331
|
--slotted-fullscreen-trigger-border-color,
|
|
@@ -337,14 +336,14 @@
|
|
|
337
336
|
|
|
338
337
|
/* ── Hover and press, held back for disabled ─────────────────────────── */
|
|
339
338
|
|
|
340
|
-
[data-ui
|
|
339
|
+
[data-ui-fullscreen][data-part-trigger]:hover:not(:disabled):not([data-disabled]) {
|
|
341
340
|
background-color: var(
|
|
342
341
|
--slotted-fullscreen-trigger-hover-background,
|
|
343
342
|
var(--slotted-tone-secondary-subtle-hover, ButtonFace)
|
|
344
343
|
);
|
|
345
344
|
}
|
|
346
345
|
|
|
347
|
-
[data-ui
|
|
346
|
+
[data-ui-fullscreen][data-part-trigger]:active:not(:disabled):not([data-disabled]) {
|
|
348
347
|
background-color: var(
|
|
349
348
|
--slotted-fullscreen-trigger-active-background,
|
|
350
349
|
var(--slotted-tone-secondary-subtle-active, ButtonFace)
|
|
@@ -354,22 +353,22 @@
|
|
|
354
353
|
|
|
355
354
|
/* ── Focus ────────────────────────────────────────────────────────────── */
|
|
356
355
|
|
|
357
|
-
[data-ui
|
|
356
|
+
[data-ui-fullscreen][data-part-trigger]:focus-visible {
|
|
358
357
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
359
358
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
360
359
|
}
|
|
361
360
|
|
|
362
361
|
/* ── Disabled ─────────────────────────────────────────────────────────── */
|
|
363
362
|
|
|
364
|
-
[data-ui
|
|
365
|
-
[data-ui
|
|
363
|
+
[data-ui-fullscreen][data-part-trigger]:disabled,
|
|
364
|
+
[data-ui-fullscreen][data-part-trigger][data-disabled] {
|
|
366
365
|
background-color: transparent;
|
|
367
366
|
color: var(--slotted-disabled-foreground, GrayText);
|
|
368
367
|
cursor: not-allowed;
|
|
369
368
|
}
|
|
370
369
|
|
|
371
|
-
[data-ui
|
|
372
|
-
[data-ui
|
|
370
|
+
[data-ui-fullscreen][data-part-trigger][data-variant='outline']:disabled,
|
|
371
|
+
[data-ui-fullscreen][data-part-trigger][data-variant='outline'][data-disabled] {
|
|
373
372
|
border-color: var(--slotted-disabled-border, GrayText);
|
|
374
373
|
box-shadow: none;
|
|
375
374
|
}
|
package/src/grid/grid.css
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* `auto-fit` is used here so a single child fills the row rather than sitting
|
|
13
13
|
* alone at its minimum.
|
|
14
14
|
*/
|
|
15
|
-
[data-ui
|
|
15
|
+
[data-ui-grid] {
|
|
16
16
|
--_gap: var(--slotted-space-6, 1rem);
|
|
17
17
|
--_min-item: var(--slotted-grid-min-item-width-md, 16rem);
|
|
18
18
|
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
* `auto-fill` is used here so two children in a three-column grid occupy two
|
|
38
38
|
* thirds of it rather than stretching across the whole row.
|
|
39
39
|
*/
|
|
40
|
-
[data-ui
|
|
40
|
+
[data-ui-grid][data-columns] {
|
|
41
41
|
grid-template-columns: repeat(
|
|
42
42
|
auto-fill,
|
|
43
43
|
minmax(
|
|
@@ -55,55 +55,55 @@
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
/* Separation is a step on the scale, never a length the consumer states. */
|
|
58
|
-
[data-ui
|
|
58
|
+
[data-ui-grid][data-gap='0'] {
|
|
59
59
|
--_gap: 0;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
[data-ui
|
|
62
|
+
[data-ui-grid][data-gap='1'] {
|
|
63
63
|
--_gap: var(--slotted-space-1, 0.125rem);
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
[data-ui
|
|
66
|
+
[data-ui-grid][data-gap='2'] {
|
|
67
67
|
--_gap: var(--slotted-space-2, 0.25rem);
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
[data-ui
|
|
70
|
+
[data-ui-grid][data-gap='3'] {
|
|
71
71
|
--_gap: var(--slotted-space-3, 0.375rem);
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
[data-ui
|
|
74
|
+
[data-ui-grid][data-gap='4'] {
|
|
75
75
|
--_gap: var(--slotted-space-4, 0.5rem);
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
[data-ui
|
|
78
|
+
[data-ui-grid][data-gap='5'] {
|
|
79
79
|
--_gap: var(--slotted-space-5, 0.75rem);
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
[data-ui
|
|
82
|
+
[data-ui-grid][data-gap='6'] {
|
|
83
83
|
--_gap: var(--slotted-space-6, 1rem);
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
[data-ui
|
|
86
|
+
[data-ui-grid][data-gap='7'] {
|
|
87
87
|
--_gap: var(--slotted-space-7, 1.25rem);
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
[data-ui
|
|
90
|
+
[data-ui-grid][data-gap='8'] {
|
|
91
91
|
--_gap: var(--slotted-space-8, 1.5rem);
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
[data-ui
|
|
94
|
+
[data-ui-grid][data-gap='9'] {
|
|
95
95
|
--_gap: var(--slotted-space-9, 2rem);
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
[data-ui
|
|
98
|
+
[data-ui-grid][data-gap='10'] {
|
|
99
99
|
--_gap: var(--slotted-space-10, 2.5rem);
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
[data-ui
|
|
102
|
+
[data-ui-grid][data-gap='11'] {
|
|
103
103
|
--_gap: var(--slotted-space-11, 3rem);
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
[data-ui
|
|
106
|
+
[data-ui-grid][data-gap='12'] {
|
|
107
107
|
--_gap: var(--slotted-space-12, 4rem);
|
|
108
108
|
}
|
|
109
109
|
|
|
@@ -113,23 +113,23 @@
|
|
|
113
113
|
* these are cell minima rather than reading measure, which `container` owns.
|
|
114
114
|
* A theme retunes any of them through its token.
|
|
115
115
|
*/
|
|
116
|
-
[data-ui
|
|
116
|
+
[data-ui-grid][data-min-item-width='xs'] {
|
|
117
117
|
--_min-item: var(--slotted-grid-min-item-width-xs, 8rem);
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
[data-ui
|
|
120
|
+
[data-ui-grid][data-min-item-width='sm'] {
|
|
121
121
|
--_min-item: var(--slotted-grid-min-item-width-sm, 12rem);
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
[data-ui
|
|
124
|
+
[data-ui-grid][data-min-item-width='md'] {
|
|
125
125
|
--_min-item: var(--slotted-grid-min-item-width-md, 16rem);
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
-
[data-ui
|
|
128
|
+
[data-ui-grid][data-min-item-width='lg'] {
|
|
129
129
|
--_min-item: var(--slotted-grid-min-item-width-lg, 20rem);
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
-
[data-ui
|
|
132
|
+
[data-ui-grid][data-min-item-width='xl'] {
|
|
133
133
|
--_min-item: var(--slotted-grid-min-item-width-xl, 24rem);
|
|
134
134
|
}
|
|
135
135
|
|
|
@@ -139,35 +139,35 @@
|
|
|
139
139
|
* distributes tracks: the tracks already fill the row, so there is nothing
|
|
140
140
|
* between them to distribute.
|
|
141
141
|
*/
|
|
142
|
-
[data-ui
|
|
142
|
+
[data-ui-grid][data-align='start'] {
|
|
143
143
|
align-items: start;
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
-
[data-ui
|
|
146
|
+
[data-ui-grid][data-align='center'] {
|
|
147
147
|
align-items: center;
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
-
[data-ui
|
|
150
|
+
[data-ui-grid][data-align='end'] {
|
|
151
151
|
align-items: end;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
[data-ui
|
|
154
|
+
[data-ui-grid][data-align='stretch'] {
|
|
155
155
|
align-items: stretch;
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
[data-ui
|
|
158
|
+
[data-ui-grid][data-justify='start'] {
|
|
159
159
|
justify-items: start;
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
[data-ui
|
|
162
|
+
[data-ui-grid][data-justify='center'] {
|
|
163
163
|
justify-items: center;
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
-
[data-ui
|
|
166
|
+
[data-ui-grid][data-justify='end'] {
|
|
167
167
|
justify-items: end;
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
-
[data-ui
|
|
170
|
+
[data-ui-grid][data-justify='stretch'] {
|
|
171
171
|
justify-items: stretch;
|
|
172
172
|
}
|
|
173
173
|
}
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
* highlighted row — that caps the share: 0.075 leaves 7.078:1, 0.08 leaves
|
|
47
47
|
* 7.001:1, and 0.12 leaves 6.540:1.
|
|
48
48
|
*/
|
|
49
|
-
[data-ui
|
|
49
|
+
[data-ui-highlight] [data-part-match] {
|
|
50
50
|
background-color: var(
|
|
51
51
|
--slotted-highlight-background,
|
|
52
52
|
color-mix(
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
* sits inside the fill and reads as nothing, which the capture showed. An
|
|
88
88
|
* outline is not used: R3 reserves it for the focus ring.
|
|
89
89
|
*/
|
|
90
|
-
[data-ui
|
|
90
|
+
[data-ui-highlight] [data-part-match][data-current] {
|
|
91
91
|
background-color: var(--slotted-highlight-current-background, var(--slotted-tone-accent-solid));
|
|
92
92
|
color: var(--slotted-highlight-current-color, var(--slotted-tone-accent-on-solid));
|
|
93
93
|
text-decoration-line: none;
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
* already carries `data-disabled`, and the family reads it from there rather
|
|
105
105
|
* than asking the host to say it twice.
|
|
106
106
|
*/
|
|
107
|
-
[data-ui
|
|
107
|
+
[data-ui-highlight]:is([data-disabled], [data-disabled] *) [data-part-match] {
|
|
108
108
|
background-color: var(--slotted-highlight-disabled-background, transparent);
|
|
109
109
|
color: inherit;
|
|
110
110
|
/* Restated for the current match, which gave the rule up for its fill. */
|
|
@@ -120,14 +120,14 @@
|
|
|
120
120
|
* active find match in.
|
|
121
121
|
*/
|
|
122
122
|
@media (forced-colors: active) {
|
|
123
|
-
[data-ui
|
|
124
|
-
[data-ui
|
|
123
|
+
[data-ui-highlight] [data-part-match],
|
|
124
|
+
[data-ui-highlight]:is([data-disabled], [data-disabled] *) [data-part-match] {
|
|
125
125
|
background-color: Mark;
|
|
126
126
|
color: MarkText;
|
|
127
127
|
forced-color-adjust: none;
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
[data-ui
|
|
130
|
+
[data-ui-highlight] [data-part-match][data-current] {
|
|
131
131
|
background-color: Highlight;
|
|
132
132
|
color: HighlightText;
|
|
133
133
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* preview of where it goes, or of who it names.
|
|
5
5
|
*
|
|
6
6
|
* root ─ the trigger ─ <a> ─ data-open
|
|
7
|
-
* └─ [data-ui
|
|
7
|
+
* └─ [data-ui-popover] ─ unchanged, autoFocus off ─┐
|
|
8
8
|
* │ header / body / footer — the consumer's │
|
|
9
9
|
* │ arrow │
|
|
10
10
|
* └───────────────────────────────────────────────┘
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* the family renders its own anchor, it owes the reader a link that reads as
|
|
21
21
|
* one and says, while the card shows, which word the card is about.
|
|
22
22
|
*/
|
|
23
|
-
[data-ui
|
|
23
|
+
[data-ui-hover-card] {
|
|
24
24
|
--_text: var(--slotted-hover-card-color, var(--slotted-tone-accent-text, LinkText));
|
|
25
25
|
/* The underline at rest is the text at less than half strength, as
|
|
26
26
|
`link` draws it: present enough to say "link", quiet enough that a
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
|
|
60
60
|
/* Hover fills the underline. The card itself waits for `openDelay`, so this
|
|
61
61
|
is the only thing that answers the pointer at once. */
|
|
62
|
-
[data-ui
|
|
62
|
+
[data-ui-hover-card]:not([data-disabled]):hover {
|
|
63
63
|
text-decoration-color: currentColor;
|
|
64
64
|
}
|
|
65
65
|
|
|
@@ -69,13 +69,13 @@
|
|
|
69
69
|
* grows by one step of space without moving the line it sits on. A padding
|
|
70
70
|
* would have reflowed the paragraph on every open.
|
|
71
71
|
*/
|
|
72
|
-
[data-ui
|
|
72
|
+
[data-ui-hover-card][data-open] {
|
|
73
73
|
background-color: var(--_tint);
|
|
74
74
|
box-shadow: 0 0 0 var(--_halo) var(--_tint);
|
|
75
75
|
text-decoration-color: currentColor;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
[data-ui
|
|
78
|
+
[data-ui-hover-card]:focus-visible {
|
|
79
79
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
80
80
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
81
81
|
}
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
* colour instead, which is the one thing forced colours keep.
|
|
87
87
|
*/
|
|
88
88
|
@media (forced-colors: active) {
|
|
89
|
-
[data-ui
|
|
89
|
+
[data-ui-hover-card][data-open] {
|
|
90
90
|
text-decoration-thickness: var(--slotted-border-width-thick, 2px);
|
|
91
91
|
}
|
|
92
92
|
}
|
package/src/icon/icon.css
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* this family. An instance overrides that container through `data-size`,
|
|
12
12
|
* which sets the same token on the element itself.
|
|
13
13
|
*/
|
|
14
|
-
[data-ui
|
|
14
|
+
[data-ui-icon] {
|
|
15
15
|
--_size: var(--slotted-icon-size, var(--slotted-control-icon-size-md, 16px));
|
|
16
16
|
|
|
17
17
|
align-items: center;
|
|
@@ -58,8 +58,8 @@
|
|
|
58
58
|
* is on the child and not on the box, because `vertical-align` above reads
|
|
59
59
|
* `cap` from the text the box sits in.
|
|
60
60
|
*/
|
|
61
|
-
[data-ui
|
|
62
|
-
[data-ui
|
|
61
|
+
[data-ui-icon] > *,
|
|
62
|
+
[data-ui-icon] svg {
|
|
63
63
|
block-size: 100%;
|
|
64
64
|
display: block;
|
|
65
65
|
font-size: var(--_size);
|
|
@@ -72,19 +72,19 @@
|
|
|
72
72
|
* the type it sits in, because sixteen pixels inside a display heading is
|
|
73
73
|
* not an icon.
|
|
74
74
|
*/
|
|
75
|
-
[data-ui
|
|
75
|
+
[data-ui-icon][data-size='text'] {
|
|
76
76
|
--slotted-icon-size: 1em;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
[data-ui
|
|
79
|
+
[data-ui-icon][data-size='sm'] {
|
|
80
80
|
--slotted-icon-size: var(--slotted-control-icon-size-sm, 14px);
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
[data-ui
|
|
83
|
+
[data-ui-icon][data-size='md'] {
|
|
84
84
|
--slotted-icon-size: var(--slotted-control-icon-size-md, 16px);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
[data-ui
|
|
87
|
+
[data-ui-icon][data-size='lg'] {
|
|
88
88
|
--slotted-icon-size: var(--slotted-control-icon-size-lg, 18px);
|
|
89
89
|
}
|
|
90
90
|
|
|
@@ -95,31 +95,31 @@
|
|
|
95
95
|
* `stroke="currentColor"` and filled artwork declares `fill="currentColor"`,
|
|
96
96
|
* and imposing either would break the other.
|
|
97
97
|
*/
|
|
98
|
-
[data-ui
|
|
98
|
+
[data-ui-icon][data-tone='default'] {
|
|
99
99
|
color: var(--slotted-text, CanvasText);
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
[data-ui
|
|
102
|
+
[data-ui-icon][data-tone='muted'] {
|
|
103
103
|
color: var(--slotted-text-muted, GrayText);
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
[data-ui
|
|
106
|
+
[data-ui-icon][data-tone='accent'] {
|
|
107
107
|
color: var(--slotted-tone-accent-text, LinkText);
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
[data-ui
|
|
110
|
+
[data-ui-icon][data-tone='success'] {
|
|
111
111
|
color: var(--slotted-tone-success-text, CanvasText);
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
[data-ui
|
|
114
|
+
[data-ui-icon][data-tone='warning'] {
|
|
115
115
|
color: var(--slotted-tone-warning-text, CanvasText);
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
[data-ui
|
|
118
|
+
[data-ui-icon][data-tone='danger'] {
|
|
119
119
|
color: var(--slotted-tone-danger-text, CanvasText);
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
-
[data-ui
|
|
122
|
+
[data-ui-icon][data-tone='inverse'] {
|
|
123
123
|
color: var(--slotted-text-inverse, Canvas);
|
|
124
124
|
}
|
|
125
125
|
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
* right-to-left page has to read the directionality that actually applies to
|
|
131
131
|
* it.
|
|
132
132
|
*/
|
|
133
|
-
[data-ui
|
|
133
|
+
[data-ui-icon][data-directional]:dir(rtl) {
|
|
134
134
|
scale: -1 1;
|
|
135
135
|
}
|
|
136
136
|
}
|