@slotted/styles 0.1.0-beta.1 → 0.1.0-beta.11
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 +35 -42
- 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 +149 -68
- package/src/button/button.tokens.json +10 -0
- package/src/button-group/button-group.css +79 -74
- 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 +103 -90
- package/src/command-palette/command-palette.tokens.json +1 -0
- 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 +535 -470
- package/src/data-grid/data-grid.tokens.json +4 -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 +86 -71
- package/src/detail-panel/detail-panel.tokens.json +2 -0
- package/src/dialog/dialog.css +372 -153
- package/src/dialog/dialog.tokens.json +6 -0
- package/src/divider/divider.css +18 -18
- package/src/drawer/drawer.css +205 -210
- package/src/drawer/drawer.tokens.json +1 -0
- 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 +39 -23
- package/src/page/page.tokens.json +1 -0
- package/src/page-header/page-header.css +323 -283
- package/src/page-header/page-header.tokens.json +5 -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 +83 -180
- package/src/spinner/spinner.tokens.json +0 -1
- 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 +337 -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 +108 -90
- package/src/toast/toast.tokens.json +6 -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
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,35 @@
|
|
|
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='info'] {
|
|
115
|
+
color: var(--slotted-tone-info-text, CanvasText);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
[data-ui-icon][data-tone='warning'] {
|
|
115
119
|
color: var(--slotted-tone-warning-text, CanvasText);
|
|
116
120
|
}
|
|
117
121
|
|
|
118
|
-
[data-ui
|
|
122
|
+
[data-ui-icon][data-tone='danger'] {
|
|
119
123
|
color: var(--slotted-tone-danger-text, CanvasText);
|
|
120
124
|
}
|
|
121
125
|
|
|
122
|
-
[data-ui
|
|
126
|
+
[data-ui-icon][data-tone='inverse'] {
|
|
123
127
|
color: var(--slotted-text-inverse, Canvas);
|
|
124
128
|
}
|
|
125
129
|
|
|
@@ -130,7 +134,7 @@
|
|
|
130
134
|
* right-to-left page has to read the directionality that actually applies to
|
|
131
135
|
* it.
|
|
132
136
|
*/
|
|
133
|
-
[data-ui
|
|
137
|
+
[data-ui-icon][data-directional]:dir(rtl) {
|
|
134
138
|
scale: -1 1;
|
|
135
139
|
}
|
|
136
140
|
}
|
package/src/image/image.css
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* `height` on the element, or `ratio` on the root, are the two ways to
|
|
21
21
|
* decide, and both reserve the box before the first byte arrives.
|
|
22
22
|
*/
|
|
23
|
-
[data-ui
|
|
23
|
+
[data-ui-image][data-part-root] {
|
|
24
24
|
--_fit: cover;
|
|
25
25
|
--_position: var(--slotted-image-position, center);
|
|
26
26
|
--_radius: var(--slotted-image-radius, var(--slotted-radius-none, 0px));
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
* stood 0.016 pixels tall above the picture instead of over it (measured
|
|
107
107
|
* with hover forced on the `interactive` scene).
|
|
108
108
|
*/
|
|
109
|
-
[data-ui
|
|
109
|
+
[data-ui-image][data-part-root] > * {
|
|
110
110
|
grid-area: 1 / 1;
|
|
111
111
|
min-inline-size: 0;
|
|
112
112
|
}
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
* picture keeps its intrinsic height; the family does not measure the
|
|
122
122
|
* parent to do otherwise.
|
|
123
123
|
*/
|
|
124
|
-
[data-ui
|
|
124
|
+
[data-ui-image][data-part-root][data-layout='fill'] {
|
|
125
125
|
block-size: 100%;
|
|
126
126
|
inline-size: 100%;
|
|
127
127
|
}
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
* pushed the caption under the picture out of the item (measured in the
|
|
135
135
|
* first capture of the `in-context` scene).
|
|
136
136
|
*/
|
|
137
|
-
[data-ui
|
|
137
|
+
[data-ui-image][data-part-root][data-layout='framed'] {
|
|
138
138
|
inline-size: 100%;
|
|
139
139
|
}
|
|
140
140
|
|
|
@@ -145,19 +145,19 @@
|
|
|
145
145
|
* the blurred preview both read, so the preview is cropped exactly where
|
|
146
146
|
* the picture will be. `cover` is stated in the base rule.
|
|
147
147
|
*/
|
|
148
|
-
[data-ui
|
|
148
|
+
[data-ui-image][data-part-root][data-fit='contain'] {
|
|
149
149
|
--_fit: contain;
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
-
[data-ui
|
|
152
|
+
[data-ui-image][data-part-root][data-fit='fill'] {
|
|
153
153
|
--_fit: fill;
|
|
154
154
|
}
|
|
155
155
|
|
|
156
|
-
[data-ui
|
|
156
|
+
[data-ui-image][data-part-root][data-fit='none'] {
|
|
157
157
|
--_fit: none;
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
-
[data-ui
|
|
160
|
+
[data-ui-image][data-part-root][data-fit='scale-down'] {
|
|
161
161
|
--_fit: scale-down;
|
|
162
162
|
}
|
|
163
163
|
|
|
@@ -170,41 +170,41 @@
|
|
|
170
170
|
* page is mirrored. `center` is stated in the base rule; `custom` is the
|
|
171
171
|
* token written on the instance, read there.
|
|
172
172
|
*/
|
|
173
|
-
[data-ui
|
|
173
|
+
[data-ui-image][data-part-root][data-position='top'] {
|
|
174
174
|
--_position: top;
|
|
175
175
|
}
|
|
176
176
|
|
|
177
|
-
[data-ui
|
|
177
|
+
[data-ui-image][data-part-root][data-position='bottom'] {
|
|
178
178
|
--_position: bottom;
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
[data-ui
|
|
181
|
+
[data-ui-image][data-part-root][data-position='start'] {
|
|
182
182
|
--_position: left;
|
|
183
183
|
}
|
|
184
184
|
|
|
185
|
-
[data-ui
|
|
185
|
+
[data-ui-image][data-part-root][data-position='end'] {
|
|
186
186
|
--_position: right;
|
|
187
187
|
}
|
|
188
188
|
|
|
189
|
-
[data-ui
|
|
189
|
+
[data-ui-image][data-part-root][data-position='start']:dir(rtl) {
|
|
190
190
|
--_position: right;
|
|
191
191
|
}
|
|
192
192
|
|
|
193
|
-
[data-ui
|
|
193
|
+
[data-ui-image][data-part-root][data-position='end']:dir(rtl) {
|
|
194
194
|
--_position: left;
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
/* ── Radius ───────────────────────────────────────────────────────────── */
|
|
198
198
|
|
|
199
|
-
[data-ui
|
|
199
|
+
[data-ui-image][data-part-root][data-radius='sm'] {
|
|
200
200
|
--_radius: var(--slotted-image-radius, var(--slotted-radius-sm, 4px));
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
[data-ui
|
|
203
|
+
[data-ui-image][data-part-root][data-radius='md'] {
|
|
204
204
|
--_radius: var(--slotted-image-radius, var(--slotted-radius-md, 6px));
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
-
[data-ui
|
|
207
|
+
[data-ui-image][data-part-root][data-radius='lg'] {
|
|
208
208
|
--_radius: var(--slotted-image-radius, var(--slotted-radius-lg, 8px));
|
|
209
209
|
}
|
|
210
210
|
|
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
* everywhere else. Drawn as the inset ring the base rule already holds, so
|
|
217
217
|
* the picture is the same size with the edge as without it.
|
|
218
218
|
*/
|
|
219
|
-
[data-ui
|
|
219
|
+
[data-ui-image][data-part-root][data-bordered] {
|
|
220
220
|
--_edge: var(--slotted-border-subtle, ButtonBorder);
|
|
221
221
|
}
|
|
222
222
|
|
|
@@ -228,7 +228,7 @@
|
|
|
228
228
|
* last and so painted last, and takes no pointer, so a press on the edge
|
|
229
229
|
* is a press on the link the root may be.
|
|
230
230
|
*/
|
|
231
|
-
[data-ui
|
|
231
|
+
[data-ui-image][data-part-root]::after {
|
|
232
232
|
border-radius: inherit;
|
|
233
233
|
box-shadow: inset 0 0 0 var(--_edge-width) var(--_edge);
|
|
234
234
|
content: '';
|
|
@@ -244,7 +244,7 @@
|
|
|
244
244
|
* takes its box away, so the `<img>` inside it is the grid item and every
|
|
245
245
|
* rule below reaches it the same way with sources and without.
|
|
246
246
|
*/
|
|
247
|
-
[data-ui
|
|
247
|
+
[data-ui-image] [data-part-picture] {
|
|
248
248
|
display: contents;
|
|
249
249
|
}
|
|
250
250
|
|
|
@@ -262,7 +262,7 @@
|
|
|
262
262
|
* own `contain` — `aspect-ratio` reserves without cropping, and this
|
|
263
263
|
* family is the one that decides to.
|
|
264
264
|
*/
|
|
265
|
-
[data-ui
|
|
265
|
+
[data-ui-image][data-part-root] [data-part-image] {
|
|
266
266
|
block-size: auto;
|
|
267
267
|
display: block;
|
|
268
268
|
grid-area: 1 / 1;
|
|
@@ -274,13 +274,13 @@
|
|
|
274
274
|
transition: opacity var(--slotted-duration-short) var(--slotted-easing-standard);
|
|
275
275
|
}
|
|
276
276
|
|
|
277
|
-
[data-ui
|
|
278
|
-
[data-ui
|
|
277
|
+
[data-ui-image][data-part-root][data-layout='fill'] [data-part-image],
|
|
278
|
+
[data-ui-image][data-part-root][data-layout='framed'] [data-part-image] {
|
|
279
279
|
block-size: 100%;
|
|
280
280
|
inline-size: 100%;
|
|
281
281
|
}
|
|
282
282
|
|
|
283
|
-
[data-ui
|
|
283
|
+
[data-ui-image][data-part-root][data-status='loaded'] [data-part-image] {
|
|
284
284
|
opacity: 1;
|
|
285
285
|
}
|
|
286
286
|
|
|
@@ -290,7 +290,7 @@
|
|
|
290
290
|
* width of the sentence (measured in the `error` scene). The element stays
|
|
291
291
|
* in the tree with its name and takes no box; the fallback is the box.
|
|
292
292
|
*/
|
|
293
|
-
[data-ui
|
|
293
|
+
[data-ui-image][data-part-root][data-status='error'] [data-part-image] {
|
|
294
294
|
block-size: 0;
|
|
295
295
|
inline-size: 0;
|
|
296
296
|
min-block-size: 0;
|
|
@@ -306,7 +306,7 @@
|
|
|
306
306
|
* flicker. It never takes a pointer: a press on a loading thumbnail is a
|
|
307
307
|
* press on the link the root may be.
|
|
308
308
|
*/
|
|
309
|
-
[data-ui
|
|
309
|
+
[data-ui-image][data-part-root] [data-part-placeholder] {
|
|
310
310
|
background-color: var(--_ground);
|
|
311
311
|
block-size: 100%;
|
|
312
312
|
box-shadow: var(--_ground-edge);
|
|
@@ -327,7 +327,7 @@
|
|
|
327
327
|
transition: opacity var(--slotted-duration-short) var(--slotted-easing-standard);
|
|
328
328
|
}
|
|
329
329
|
|
|
330
|
-
[data-ui
|
|
330
|
+
[data-ui-image][data-part-root][data-placeholder='none'] [data-part-placeholder] {
|
|
331
331
|
background-color: transparent;
|
|
332
332
|
box-shadow: none;
|
|
333
333
|
}
|
|
@@ -342,7 +342,7 @@
|
|
|
342
342
|
* blur's, in a length rather than a scale step, because a scale step is a
|
|
343
343
|
* distance between things and this is how far a pixel bleeds.
|
|
344
344
|
*/
|
|
345
|
-
[data-ui
|
|
345
|
+
[data-ui-image][data-part-root][data-placeholder='blur'] [data-part-placeholder] > img {
|
|
346
346
|
block-size: 100%;
|
|
347
347
|
display: block;
|
|
348
348
|
filter: blur(var(--slotted-image-placeholder-blur, 1.25rem));
|
|
@@ -352,11 +352,11 @@
|
|
|
352
352
|
transform: scale(1.08);
|
|
353
353
|
}
|
|
354
354
|
|
|
355
|
-
[data-ui
|
|
355
|
+
[data-ui-image][data-part-root][data-status='loaded'] [data-part-placeholder] {
|
|
356
356
|
opacity: 0;
|
|
357
357
|
}
|
|
358
358
|
|
|
359
|
-
[data-ui
|
|
359
|
+
[data-ui-image][data-part-root][data-status='error'] [data-part-placeholder] {
|
|
360
360
|
visibility: hidden;
|
|
361
361
|
}
|
|
362
362
|
|
|
@@ -368,7 +368,7 @@
|
|
|
368
368
|
* while the picture is fine. Given a minimum of its own because a picture
|
|
369
369
|
* that reserved nothing and then failed has no box, and a glyph needs one.
|
|
370
370
|
*/
|
|
371
|
-
[data-ui
|
|
371
|
+
[data-ui-image][data-part-root] [data-part-fallback] {
|
|
372
372
|
/**
|
|
373
373
|
* The mark a picture leaves behind: the binding draws `image-off` in an
|
|
374
374
|
* `Icon` unless the consumer projected content of their own, which
|
|
@@ -383,7 +383,7 @@
|
|
|
383
383
|
display: none;
|
|
384
384
|
}
|
|
385
385
|
|
|
386
|
-
[data-ui
|
|
386
|
+
[data-ui-image][data-part-root][data-status='error'] [data-part-fallback] {
|
|
387
387
|
background-color: var(--_ground);
|
|
388
388
|
block-size: 100%;
|
|
389
389
|
box-shadow: var(--_ground-edge);
|
|
@@ -412,15 +412,15 @@
|
|
|
412
412
|
* that belongs to the control that holds the picture — but a `<button
|
|
413
413
|
* disabled>` is the platform's, and a weak state holds itself back for it.
|
|
414
414
|
*/
|
|
415
|
-
[data-ui
|
|
416
|
-
button[data-ui
|
|
417
|
-
[data-ui
|
|
415
|
+
[data-ui-image][data-part-root]:any-link,
|
|
416
|
+
button[data-ui-image][data-part-root],
|
|
417
|
+
[data-ui-image][data-part-root][tabindex] {
|
|
418
418
|
cursor: pointer;
|
|
419
419
|
}
|
|
420
420
|
|
|
421
|
-
[data-ui
|
|
422
|
-
button[data-ui
|
|
423
|
-
[data-ui
|
|
421
|
+
[data-ui-image][data-part-root]:any-link:not([data-disabled]):hover,
|
|
422
|
+
button[data-ui-image][data-part-root]:not(:disabled):hover,
|
|
423
|
+
[data-ui-image][data-part-root][tabindex]:not([data-disabled]):hover {
|
|
424
424
|
--_edge: var(--slotted-border-strong, CanvasText);
|
|
425
425
|
/* Two pixels rather than one: a hairline over a photograph's own bright
|
|
426
426
|
edge is not a hover anyone sees, and the ring is inset, so the width
|
|
@@ -433,7 +433,7 @@
|
|
|
433
433
|
* missing the first time a consumer makes a picture a link. Drawn outside
|
|
434
434
|
* the box at the theme's offset, over whatever the picture is on.
|
|
435
435
|
*/
|
|
436
|
-
[data-ui
|
|
436
|
+
[data-ui-image][data-part-root]:focus-visible {
|
|
437
437
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
438
438
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
439
439
|
}
|