@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
package/src/chart/chart.css
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* the family draws every interaction over. The table is a view of the plot,
|
|
6
6
|
* shown in the plot's own box.
|
|
7
7
|
*
|
|
8
|
-
* ┌ figure [data-ui
|
|
8
|
+
* ┌ figure [data-ui-chart] ─────────────────────────────────────────┐
|
|
9
9
|
* │ header title (help) · description actions toolbar │
|
|
10
10
|
* │ legend ▬ Revenue ■ Cost ● Visits +3 │
|
|
11
11
|
* │ plot ┌ canvas (engine) · table-region (the table view) ───┐ │
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* resolves them at the plot, so a scheme, a density, a palette or a token a
|
|
25
25
|
* consumer overrides on a wrapper reaches the marks through the cascade.
|
|
26
26
|
*/
|
|
27
|
-
[data-ui
|
|
27
|
+
[data-ui-chart] {
|
|
28
28
|
--_gap: var(--slotted-chart-gap, var(--slotted-space-5, 0.75rem));
|
|
29
29
|
--_plot-size: var(--slotted-chart-plot-block-size, calc(var(--slotted-space-12, 4rem) * 4));
|
|
30
30
|
--_radius: var(--slotted-chart-radius, var(--slotted-radius-md, 6px));
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
--_chart-tone-accent: var(--slotted-tone-accent-text, CanvasText);
|
|
52
52
|
--_chart-tone-secondary: var(--slotted-tone-secondary-text, CanvasText);
|
|
53
53
|
--_chart-tone-success: var(--slotted-tone-success-text, CanvasText);
|
|
54
|
+
--_chart-tone-info: var(--slotted-tone-info-text, CanvasText);
|
|
54
55
|
--_chart-tone-warning: var(--slotted-tone-warning-text, CanvasText);
|
|
55
56
|
--_chart-tone-danger: var(--slotted-tone-danger-text, CanvasText);
|
|
56
57
|
--_chart-overflow: var(--slotted-text-muted, GrayText);
|
|
@@ -98,11 +99,11 @@
|
|
|
98
99
|
/* Three heights on the space scale's top step: 12, 16 and 24 rem. A plot
|
|
99
100
|
is content, not a control, so the height does not follow density; what
|
|
100
101
|
density moves is the inset around the marks and the type on the axes. */
|
|
101
|
-
[data-ui
|
|
102
|
+
[data-ui-chart][data-size='sm'] {
|
|
102
103
|
--_plot-size: var(--slotted-chart-plot-block-size-sm, calc(var(--slotted-space-12, 4rem) * 3));
|
|
103
104
|
}
|
|
104
105
|
|
|
105
|
-
[data-ui
|
|
106
|
+
[data-ui-chart][data-size='lg'] {
|
|
106
107
|
--_plot-size: var(--slotted-chart-plot-block-size-lg, calc(var(--slotted-space-12, 4rem) * 6));
|
|
107
108
|
}
|
|
108
109
|
|
|
@@ -117,7 +118,7 @@
|
|
|
117
118
|
* are mixed in CSS from tokens the theme already owns, so they follow every
|
|
118
119
|
* scheme and brand with no scale of their own.
|
|
119
120
|
*/
|
|
120
|
-
[data-ui
|
|
121
|
+
[data-ui-chart][data-palette='sequential'] {
|
|
121
122
|
--_hue: var(--slotted-chart-sequential-color, var(--slotted-tone-accent-text, CanvasText));
|
|
122
123
|
--_chart-slot-1: var(--_hue);
|
|
123
124
|
--_chart-slot-2: color-mix(in oklab, var(--_hue) 76%, var(--_chart-surface));
|
|
@@ -129,7 +130,7 @@
|
|
|
129
130
|
--_chart-slot-8: color-mix(in oklab, var(--_hue) 10%, var(--_chart-surface));
|
|
130
131
|
}
|
|
131
132
|
|
|
132
|
-
[data-ui
|
|
133
|
+
[data-ui-chart][data-palette='focus'] {
|
|
133
134
|
--_muted: var(--slotted-text-muted, GrayText);
|
|
134
135
|
--_chart-slot-1: var(--slotted-chart-focus-color, var(--slotted-tone-accent-text, CanvasText));
|
|
135
136
|
--_chart-slot-2: color-mix(in oklab, var(--_muted) 70%, var(--_chart-surface));
|
|
@@ -151,7 +152,7 @@
|
|
|
151
152
|
* never less than its size step — so tiles in one row end on one line
|
|
152
153
|
* whatever their titles and legends hold.
|
|
153
154
|
*/
|
|
154
|
-
[data-ui
|
|
155
|
+
[data-ui-chart][data-variant='card'] {
|
|
155
156
|
--_chart-surface: var(--slotted-chart-surface, var(--slotted-surface-raised, Canvas));
|
|
156
157
|
|
|
157
158
|
background-color: var(--_chart-surface);
|
|
@@ -167,7 +168,7 @@
|
|
|
167
168
|
`description` and `actions` are also parts of the families a plot
|
|
168
169
|
composes — `result-state` in an empty or failed plot — and a bare
|
|
169
170
|
descendant selector restyled theirs. */
|
|
170
|
-
[data-ui
|
|
171
|
+
[data-ui-chart] > [data-part-header] {
|
|
171
172
|
align-items: start;
|
|
172
173
|
display: flex;
|
|
173
174
|
gap: var(--slotted-space-4, 0.5rem);
|
|
@@ -175,7 +176,7 @@
|
|
|
175
176
|
}
|
|
176
177
|
|
|
177
178
|
/* The heading block: title and help on one line, the description under. */
|
|
178
|
-
[data-ui
|
|
179
|
+
[data-ui-chart] > [data-part-header] > :first-child {
|
|
179
180
|
align-content: start;
|
|
180
181
|
display: grid;
|
|
181
182
|
flex: 1 1 auto;
|
|
@@ -183,14 +184,14 @@
|
|
|
183
184
|
min-inline-size: 0;
|
|
184
185
|
}
|
|
185
186
|
|
|
186
|
-
[data-ui
|
|
187
|
+
[data-ui-chart] > [data-part-header] > :first-child > :first-child {
|
|
187
188
|
align-items: center;
|
|
188
189
|
display: flex;
|
|
189
190
|
gap: var(--slotted-space-2, 0.25rem);
|
|
190
191
|
min-inline-size: 0;
|
|
191
192
|
}
|
|
192
193
|
|
|
193
|
-
[data-ui
|
|
194
|
+
[data-ui-chart] > [data-part-header] [data-part-title] {
|
|
194
195
|
color: var(--slotted-text, CanvasText);
|
|
195
196
|
font-family: var(
|
|
196
197
|
--slotted-font-family-heading,
|
|
@@ -203,7 +204,7 @@
|
|
|
203
204
|
overflow-wrap: anywhere;
|
|
204
205
|
}
|
|
205
206
|
|
|
206
|
-
[data-ui
|
|
207
|
+
[data-ui-chart] > [data-part-header] [data-part-description] {
|
|
207
208
|
color: var(--slotted-text-muted, GrayText);
|
|
208
209
|
font-size: var(--slotted-font-size-sm, 0.8125rem);
|
|
209
210
|
line-height: var(--slotted-line-height-sm, 1.45);
|
|
@@ -213,22 +214,22 @@
|
|
|
213
214
|
/* A tile's heading is one line of title and one of description, cut with
|
|
214
215
|
an ellipsis and whole in the DOM, so tiles in a row keep one header
|
|
215
216
|
height. The full text stays the figure's name and description. */
|
|
216
|
-
[data-ui
|
|
217
|
-
> [data-part
|
|
218
|
-
:is([data-part
|
|
217
|
+
[data-ui-chart][data-variant='card']
|
|
218
|
+
> [data-part-header]
|
|
219
|
+
:is([data-part-title], [data-part-description]) {
|
|
219
220
|
overflow: hidden;
|
|
220
221
|
text-overflow: ellipsis;
|
|
221
222
|
white-space: nowrap;
|
|
222
223
|
}
|
|
223
224
|
|
|
224
|
-
[data-ui
|
|
225
|
+
[data-ui-chart][data-variant='card'] > [data-part-header] [data-part-title] {
|
|
225
226
|
font-size: var(--slotted-font-size-md, 0.875rem);
|
|
226
227
|
line-height: var(--slotted-line-height-md, 1.5);
|
|
227
228
|
}
|
|
228
229
|
|
|
229
230
|
/* A tile keeps the description's line whether it has one or not, so the
|
|
230
231
|
legends and the plots of a row start on one line too. */
|
|
231
|
-
[data-ui
|
|
232
|
+
[data-ui-chart][data-variant='card'] > [data-part-header] > :first-child {
|
|
232
233
|
min-block-size: calc(
|
|
233
234
|
var(--slotted-font-size-md, 0.875rem) * var(--slotted-line-height-md, 1.5) +
|
|
234
235
|
var(--slotted-space-1, 0.125rem) + var(--slotted-font-size-sm, 0.8125rem) *
|
|
@@ -236,7 +237,7 @@
|
|
|
236
237
|
);
|
|
237
238
|
}
|
|
238
239
|
|
|
239
|
-
[data-ui
|
|
240
|
+
[data-ui-chart] > [data-part-header] > [data-part-actions] {
|
|
240
241
|
align-items: center;
|
|
241
242
|
display: flex;
|
|
242
243
|
flex: none;
|
|
@@ -252,7 +253,7 @@
|
|
|
252
253
|
* hovered or holds focus (`toolbar="hover"`), and never where the device
|
|
253
254
|
* cannot hover.
|
|
254
255
|
*/
|
|
255
|
-
[data-ui
|
|
256
|
+
[data-ui-chart] > [data-part-header] > [data-part-toolbar] {
|
|
256
257
|
align-items: center;
|
|
257
258
|
display: flex;
|
|
258
259
|
flex: none;
|
|
@@ -269,38 +270,38 @@
|
|
|
269
270
|
transition: opacity var(--slotted-duration-short) var(--slotted-easing-standard);
|
|
270
271
|
}
|
|
271
272
|
|
|
272
|
-
[data-ui
|
|
273
|
+
[data-ui-chart][data-toolbar='hover'] > [data-part-header] > [data-part-toolbar] {
|
|
273
274
|
opacity: 0;
|
|
274
275
|
}
|
|
275
276
|
|
|
276
277
|
/* While the plot waits, fails or has no data the toolbar keeps its width —
|
|
277
278
|
the title and the description wrap where they will wrap once it is ready —
|
|
278
279
|
and draws nothing: an action nobody can press yet is absent. */
|
|
279
|
-
[data-ui
|
|
280
|
+
[data-ui-chart] > [data-part-header] > [data-part-toolbar][data-waiting] {
|
|
280
281
|
visibility: hidden;
|
|
281
282
|
}
|
|
282
283
|
|
|
283
284
|
/* A chart has no disabled state; the guard is the precedence rule every
|
|
284
285
|
hover in the library states (`packages/styles/src/states.test.mjs`). */
|
|
285
|
-
[data-ui
|
|
286
|
-
> [data-part
|
|
287
|
-
> [data-part
|
|
286
|
+
[data-ui-chart][data-toolbar='hover']:is(:hover, :focus-within):not([data-disabled])
|
|
287
|
+
> [data-part-header]
|
|
288
|
+
> [data-part-toolbar] {
|
|
288
289
|
opacity: 1;
|
|
289
290
|
}
|
|
290
291
|
|
|
291
292
|
@media (hover: none) {
|
|
292
|
-
[data-ui
|
|
293
|
+
[data-ui-chart][data-toolbar='hover'] > [data-part-header] > [data-part-toolbar] {
|
|
293
294
|
opacity: 1;
|
|
294
295
|
}
|
|
295
296
|
}
|
|
296
297
|
|
|
297
|
-
[data-ui
|
|
298
|
+
[data-ui-chart]
|
|
298
299
|
:is(
|
|
299
|
-
[data-part
|
|
300
|
-
[data-part
|
|
301
|
-
[data-part
|
|
302
|
-
[data-part
|
|
303
|
-
[data-part
|
|
300
|
+
[data-part-zoom-reset],
|
|
301
|
+
[data-part-view-toggle],
|
|
302
|
+
[data-part-fullscreen-toggle],
|
|
303
|
+
[data-part-menu-trigger],
|
|
304
|
+
[data-part-help]
|
|
304
305
|
) {
|
|
305
306
|
--_box: var(--slotted-control-height-sm, 1.75rem);
|
|
306
307
|
|
|
@@ -322,7 +323,7 @@
|
|
|
322
323
|
}
|
|
323
324
|
|
|
324
325
|
/* Help sits beside the words it explains, a step smaller than the toolbar. */
|
|
325
|
-
[data-ui
|
|
326
|
+
[data-ui-chart] [data-part-help] {
|
|
326
327
|
--_box: var(--slotted-control-inner-size-sm, 1.25rem);
|
|
327
328
|
|
|
328
329
|
/* It hangs past the title's line by the difference rather than growing
|
|
@@ -332,35 +333,35 @@
|
|
|
332
333
|
);
|
|
333
334
|
}
|
|
334
335
|
|
|
335
|
-
[data-ui
|
|
336
|
+
[data-ui-chart]
|
|
336
337
|
:is(
|
|
337
|
-
[data-part
|
|
338
|
-
[data-part
|
|
339
|
-
[data-part
|
|
340
|
-
[data-part
|
|
341
|
-
[data-part
|
|
338
|
+
[data-part-zoom-reset],
|
|
339
|
+
[data-part-view-toggle],
|
|
340
|
+
[data-part-fullscreen-toggle],
|
|
341
|
+
[data-part-menu-trigger],
|
|
342
|
+
[data-part-help]
|
|
342
343
|
):hover:not(:disabled) {
|
|
343
344
|
background-color: var(--slotted-tone-secondary-subtle-hover, ButtonFace);
|
|
344
345
|
color: var(--slotted-text, CanvasText);
|
|
345
346
|
}
|
|
346
347
|
|
|
347
348
|
/* On: the table standing in the plot, the menu or the help open. */
|
|
348
|
-
[data-ui
|
|
349
|
-
:is([data-part
|
|
350
|
-
[data-ui
|
|
349
|
+
[data-ui-chart]
|
|
350
|
+
:is([data-part-view-toggle], [data-part-menu-trigger], [data-part-help])[data-pressed],
|
|
351
|
+
[data-ui-chart] :is([data-part-menu-trigger], [data-part-help])[data-open] {
|
|
351
352
|
background-color: var(--slotted-tone-secondary-surface, ButtonFace);
|
|
352
353
|
color: var(--slotted-text, CanvasText);
|
|
353
354
|
}
|
|
354
355
|
|
|
355
|
-
[data-ui
|
|
356
|
+
[data-ui-chart]
|
|
356
357
|
:is(
|
|
357
|
-
[data-part
|
|
358
|
-
[data-part
|
|
359
|
-
[data-part
|
|
360
|
-
[data-part
|
|
361
|
-
[data-part
|
|
362
|
-
[data-part
|
|
363
|
-
[data-part
|
|
358
|
+
[data-part-zoom-reset],
|
|
359
|
+
[data-part-view-toggle],
|
|
360
|
+
[data-part-fullscreen-toggle],
|
|
361
|
+
[data-part-menu-trigger],
|
|
362
|
+
[data-part-help],
|
|
363
|
+
[data-part-legend-more],
|
|
364
|
+
[data-part-menu-item]
|
|
364
365
|
):focus-visible {
|
|
365
366
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
366
367
|
outline-offset: 0;
|
|
@@ -371,7 +372,7 @@
|
|
|
371
372
|
* every floating layer in the library. They are placed in the viewport's
|
|
372
373
|
* coordinates by the binding, through the chart's two runtime properties.
|
|
373
374
|
*/
|
|
374
|
-
[data-ui
|
|
375
|
+
[data-ui-chart] :is([data-part-menu], [data-part-help-content]) {
|
|
375
376
|
background-color: var(--slotted-surface-raised, Canvas);
|
|
376
377
|
border: var(--slotted-border-width-thin, 1px) solid var(--slotted-border-subtle, CanvasText);
|
|
377
378
|
border-radius: var(--slotted-radius-md, 6px);
|
|
@@ -389,26 +390,26 @@
|
|
|
389
390
|
z-index: var(--slotted-z-index-popover, 1100);
|
|
390
391
|
}
|
|
391
392
|
|
|
392
|
-
[data-ui
|
|
393
|
+
[data-ui-chart] [data-part-menu] {
|
|
393
394
|
display: grid;
|
|
394
395
|
min-inline-size: 11rem;
|
|
395
396
|
padding: var(--slotted-space-2, 0.25rem);
|
|
396
397
|
}
|
|
397
398
|
|
|
398
|
-
[data-ui
|
|
399
|
+
[data-ui-chart] [data-part-menu]:not(:popover-open, [data-open]) {
|
|
399
400
|
display: none;
|
|
400
401
|
}
|
|
401
402
|
|
|
402
|
-
[data-ui
|
|
403
|
+
[data-ui-chart] [data-part-help-content] {
|
|
403
404
|
padding-block: var(--slotted-space-4, 0.5rem);
|
|
404
405
|
padding-inline: var(--slotted-space-5, 0.75rem);
|
|
405
406
|
}
|
|
406
407
|
|
|
407
|
-
[data-ui
|
|
408
|
+
[data-ui-chart] [data-part-help-content]:not(:popover-open, [data-open]) {
|
|
408
409
|
display: none;
|
|
409
410
|
}
|
|
410
411
|
|
|
411
|
-
[data-ui
|
|
412
|
+
[data-ui-chart] [data-part-menu-item] {
|
|
412
413
|
align-items: center;
|
|
413
414
|
background: transparent;
|
|
414
415
|
border: 0;
|
|
@@ -425,11 +426,11 @@
|
|
|
425
426
|
|
|
426
427
|
/* The table and full-screen controls are in the toolbar; the menu holds
|
|
427
428
|
them only where the toolbar gives them up (see Narrow). */
|
|
428
|
-
[data-ui
|
|
429
|
+
[data-ui-chart] [data-part-menu-item]:is([data-action='view'], [data-action='fullscreen']) {
|
|
429
430
|
display: none;
|
|
430
431
|
}
|
|
431
432
|
|
|
432
|
-
[data-ui
|
|
433
|
+
[data-ui-chart] [data-part-menu-item]:hover:not(:disabled) {
|
|
433
434
|
background-color: var(--slotted-tone-secondary-subtle-hover, ButtonFace);
|
|
434
435
|
}
|
|
435
436
|
|
|
@@ -438,7 +439,7 @@
|
|
|
438
439
|
/* One line: what does not fit waits behind `legend-more`, so a legend of
|
|
439
440
|
three and a legend of twelve are the same height. `legendOverflow="wrap"`
|
|
440
441
|
lets a chart that owns its own page wrap instead. */
|
|
441
|
-
[data-ui
|
|
442
|
+
[data-ui-chart] [data-part-legend] {
|
|
442
443
|
align-items: center;
|
|
443
444
|
display: flex;
|
|
444
445
|
flex: none;
|
|
@@ -455,7 +456,7 @@
|
|
|
455
456
|
padding: 0;
|
|
456
457
|
}
|
|
457
458
|
|
|
458
|
-
[data-ui
|
|
459
|
+
[data-ui-chart][data-legend-overflow='wrap'] [data-part-legend] {
|
|
459
460
|
flex-wrap: wrap;
|
|
460
461
|
overflow: visible;
|
|
461
462
|
}
|
|
@@ -467,53 +468,57 @@
|
|
|
467
468
|
* muted step with a dash of its own. The legend, the markers and the
|
|
468
469
|
* tooltip read the palette the root declares, as the engine does.
|
|
469
470
|
*/
|
|
470
|
-
[data-ui
|
|
471
|
+
[data-ui-chart] [data-slot='1'] {
|
|
471
472
|
--_series: var(--_chart-slot-1);
|
|
472
473
|
}
|
|
473
|
-
[data-ui
|
|
474
|
+
[data-ui-chart] [data-slot='2'] {
|
|
474
475
|
--_series: var(--_chart-slot-2);
|
|
475
476
|
}
|
|
476
|
-
[data-ui
|
|
477
|
+
[data-ui-chart] [data-slot='3'] {
|
|
477
478
|
--_series: var(--_chart-slot-3);
|
|
478
479
|
}
|
|
479
|
-
[data-ui
|
|
480
|
+
[data-ui-chart] [data-slot='4'] {
|
|
480
481
|
--_series: var(--_chart-slot-4);
|
|
481
482
|
}
|
|
482
|
-
[data-ui
|
|
483
|
+
[data-ui-chart] [data-slot='5'] {
|
|
483
484
|
--_series: var(--_chart-slot-5);
|
|
484
485
|
}
|
|
485
|
-
[data-ui
|
|
486
|
+
[data-ui-chart] [data-slot='6'] {
|
|
486
487
|
--_series: var(--_chart-slot-6);
|
|
487
488
|
}
|
|
488
|
-
[data-ui
|
|
489
|
+
[data-ui-chart] [data-slot='7'] {
|
|
489
490
|
--_series: var(--_chart-slot-7);
|
|
490
491
|
}
|
|
491
|
-
[data-ui
|
|
492
|
+
[data-ui-chart] [data-slot='8'] {
|
|
492
493
|
--_series: var(--_chart-slot-8);
|
|
493
494
|
}
|
|
494
|
-
[data-ui
|
|
495
|
+
[data-ui-chart] [data-tone='neutral'] {
|
|
495
496
|
--_series: var(--_chart-tone-neutral);
|
|
496
497
|
}
|
|
497
|
-
[data-ui
|
|
498
|
+
[data-ui-chart] [data-tone='accent'] {
|
|
498
499
|
--_series: var(--_chart-tone-accent);
|
|
499
500
|
}
|
|
500
|
-
[data-ui
|
|
501
|
+
[data-ui-chart] [data-tone='secondary'] {
|
|
501
502
|
--_series: var(--_chart-tone-secondary);
|
|
502
503
|
}
|
|
503
|
-
[data-ui
|
|
504
|
+
[data-ui-chart] [data-tone='success'] {
|
|
504
505
|
--_series: var(--_chart-tone-success);
|
|
505
506
|
}
|
|
506
|
-
|
|
507
|
+
|
|
508
|
+
[data-ui-chart] [data-tone='info'] {
|
|
509
|
+
--_series: var(--_chart-tone-info);
|
|
510
|
+
}
|
|
511
|
+
[data-ui-chart] [data-tone='warning'] {
|
|
507
512
|
--_series: var(--_chart-tone-warning);
|
|
508
513
|
}
|
|
509
|
-
[data-ui
|
|
514
|
+
[data-ui-chart] [data-tone='danger'] {
|
|
510
515
|
--_series: var(--_chart-tone-danger);
|
|
511
516
|
}
|
|
512
|
-
[data-ui
|
|
517
|
+
[data-ui-chart] [data-overflow] {
|
|
513
518
|
--_series: var(--_chart-overflow);
|
|
514
519
|
}
|
|
515
520
|
|
|
516
|
-
[data-ui
|
|
521
|
+
[data-ui-chart] :is([data-part-legend-item], [data-part-legend-more]) {
|
|
517
522
|
align-items: center;
|
|
518
523
|
background: transparent;
|
|
519
524
|
border: 0;
|
|
@@ -535,11 +540,11 @@
|
|
|
535
540
|
color var(--slotted-duration-short) var(--slotted-easing-standard);
|
|
536
541
|
}
|
|
537
542
|
|
|
538
|
-
[data-ui
|
|
543
|
+
[data-ui-chart] :is([data-part-legend-item], [data-part-legend-more])[hidden] {
|
|
539
544
|
display: none;
|
|
540
545
|
}
|
|
541
546
|
|
|
542
|
-
[data-ui
|
|
547
|
+
[data-ui-chart] [data-part-legend-more] {
|
|
543
548
|
color: var(--slotted-text-muted, GrayText);
|
|
544
549
|
cursor: pointer;
|
|
545
550
|
font-variant-numeric: tabular-nums;
|
|
@@ -547,20 +552,19 @@
|
|
|
547
552
|
}
|
|
548
553
|
|
|
549
554
|
/* An entry moved into the `+N` layer stands in a column there. */
|
|
550
|
-
[data-ui
|
|
555
|
+
[data-ui-chart] [data-part-menu] [data-part-legend-item] {
|
|
551
556
|
inline-size: 100%;
|
|
552
557
|
}
|
|
553
558
|
|
|
554
|
-
[data-ui
|
|
559
|
+
[data-ui-chart] :is(button[data-part-legend-item], [data-part-legend-more]) {
|
|
555
560
|
cursor: pointer;
|
|
556
561
|
}
|
|
557
562
|
|
|
558
|
-
[data-ui
|
|
559
|
-
:is(button[data-part='legend-item'], [data-part='legend-more']):hover:not(:disabled) {
|
|
563
|
+
[data-ui-chart] :is(button[data-part-legend-item], [data-part-legend-more]):hover:not(:disabled) {
|
|
560
564
|
background-color: var(--slotted-tone-secondary-subtle-hover, ButtonFace);
|
|
561
565
|
}
|
|
562
566
|
|
|
563
|
-
[data-ui
|
|
567
|
+
[data-ui-chart] [data-part-legend-item]:focus-visible {
|
|
564
568
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
565
569
|
outline-offset: 0;
|
|
566
570
|
}
|
|
@@ -570,7 +574,7 @@
|
|
|
570
574
|
* legend reads without colour: a stroke for a line, a square for a bar, an
|
|
571
575
|
* area or a slice, a disc for a scatter.
|
|
572
576
|
*/
|
|
573
|
-
[data-ui
|
|
577
|
+
[data-ui-chart] :is([data-part-legend-marker], [data-part-tooltip-marker]) {
|
|
574
578
|
background-color: var(--_series);
|
|
575
579
|
block-size: 0.625rem;
|
|
576
580
|
border-radius: var(--slotted-radius-xs, 2px);
|
|
@@ -578,32 +582,28 @@
|
|
|
578
582
|
inline-size: 0.625rem;
|
|
579
583
|
}
|
|
580
584
|
|
|
581
|
-
[data-ui='
|
|
582
|
-
:is([data-part='legend-marker'], [data-part='tooltip-marker'])[data-kind='line'] {
|
|
585
|
+
[data-ui-chart] :is([data-part-legend-marker], [data-part-tooltip-marker])[data-kind='line'] {
|
|
583
586
|
block-size: var(--slotted-border-width-thick, 2px);
|
|
584
587
|
border-radius: var(--slotted-radius-full, 9999px);
|
|
585
588
|
inline-size: 0.875rem;
|
|
586
589
|
}
|
|
587
590
|
|
|
588
|
-
[data-ui='
|
|
589
|
-
:is([data-part='legend-marker'], [data-part='tooltip-marker'])[data-kind='scatter'] {
|
|
591
|
+
[data-ui-chart] :is([data-part-legend-marker], [data-part-tooltip-marker])[data-kind='scatter'] {
|
|
590
592
|
border-radius: var(--slotted-radius-full, 9999px);
|
|
591
593
|
}
|
|
592
594
|
|
|
593
595
|
/* The line's own dash, drawn at the marker's scale, so three series that
|
|
594
596
|
share the muted colour past the eighth slot still read apart. */
|
|
595
|
-
[data-ui='
|
|
596
|
-
:is([data-part='legend-marker'], [data-part='tooltip-marker'])[data-stroke='dashed'] {
|
|
597
|
+
[data-ui-chart] :is([data-part-legend-marker], [data-part-tooltip-marker])[data-stroke='dashed'] {
|
|
597
598
|
background: repeating-linear-gradient(to right, var(--_series) 0 3px, transparent 3px 5px);
|
|
598
599
|
}
|
|
599
600
|
|
|
600
|
-
[data-ui='
|
|
601
|
-
:is([data-part='legend-marker'], [data-part='tooltip-marker'])[data-stroke='dotted'] {
|
|
601
|
+
[data-ui-chart] :is([data-part-legend-marker], [data-part-tooltip-marker])[data-stroke='dotted'] {
|
|
602
602
|
background: repeating-linear-gradient(to right, var(--_series) 0 2px, transparent 2px 4px);
|
|
603
603
|
}
|
|
604
604
|
|
|
605
|
-
[data-ui
|
|
606
|
-
:is([data-part
|
|
605
|
+
[data-ui-chart]
|
|
606
|
+
:is([data-part-legend-marker], [data-part-tooltip-marker])[data-stroke='dash-dot'] {
|
|
607
607
|
background: repeating-linear-gradient(
|
|
608
608
|
to right,
|
|
609
609
|
var(--_series) 0 5px,
|
|
@@ -613,20 +613,20 @@
|
|
|
613
613
|
);
|
|
614
614
|
}
|
|
615
615
|
|
|
616
|
-
[data-ui
|
|
616
|
+
[data-ui-chart] [data-part-legend-label] {
|
|
617
617
|
min-inline-size: 0;
|
|
618
618
|
overflow: hidden;
|
|
619
619
|
text-overflow: ellipsis;
|
|
620
620
|
white-space: nowrap;
|
|
621
621
|
}
|
|
622
622
|
|
|
623
|
-
[data-ui
|
|
623
|
+
[data-ui-chart] [data-part-legend-value] {
|
|
624
624
|
color: var(--slotted-text-muted, GrayText);
|
|
625
625
|
font-variant-numeric: tabular-nums;
|
|
626
626
|
white-space: nowrap;
|
|
627
627
|
}
|
|
628
628
|
|
|
629
|
-
[data-ui
|
|
629
|
+
[data-ui-chart] [data-part-legend-item][data-current] [data-part-legend-value] {
|
|
630
630
|
color: var(--slotted-text, CanvasText);
|
|
631
631
|
}
|
|
632
632
|
|
|
@@ -637,33 +637,31 @@
|
|
|
637
637
|
* outline is the series colour, so the item still says which series it
|
|
638
638
|
* would bring back.
|
|
639
639
|
*/
|
|
640
|
-
[data-ui
|
|
640
|
+
[data-ui-chart] button[data-part-legend-item]:not([data-pressed]) {
|
|
641
641
|
color: var(--slotted-text-muted, GrayText);
|
|
642
642
|
}
|
|
643
643
|
|
|
644
|
-
[data-ui
|
|
645
|
-
button[data-part='legend-item']:not([data-pressed])
|
|
646
|
-
[data-part='legend-marker'] {
|
|
644
|
+
[data-ui-chart] button[data-part-legend-item]:not([data-pressed]) [data-part-legend-marker] {
|
|
647
645
|
background: transparent;
|
|
648
646
|
box-shadow: inset 0 0 0 var(--slotted-border-width-medium, 1.5px) var(--_series);
|
|
649
647
|
}
|
|
650
648
|
|
|
651
|
-
[data-ui
|
|
652
|
-
button[data-part
|
|
653
|
-
[data-part
|
|
649
|
+
[data-ui-chart]
|
|
650
|
+
button[data-part-legend-item]:not([data-pressed])
|
|
651
|
+
[data-part-legend-marker][data-kind='line'] {
|
|
654
652
|
background: var(--_series);
|
|
655
653
|
box-shadow: none;
|
|
656
654
|
opacity: 0.4;
|
|
657
655
|
}
|
|
658
656
|
|
|
659
|
-
[data-ui
|
|
657
|
+
[data-ui-chart] button[data-part-legend-item]:not([data-pressed]) [data-part-legend-label] {
|
|
660
658
|
text-decoration: line-through;
|
|
661
659
|
text-decoration-color: color-mix(in oklab, currentColor 55%, transparent);
|
|
662
660
|
}
|
|
663
661
|
|
|
664
662
|
/* ── Plot ─────────────────────────────────────────────────────────────── */
|
|
665
663
|
|
|
666
|
-
[data-ui
|
|
664
|
+
[data-ui-chart] [data-part-plot] {
|
|
667
665
|
border-radius: var(--_radius);
|
|
668
666
|
/* Its size step, and whatever more a tile or the full screen gives it. */
|
|
669
667
|
flex: 1 0 var(--_plot-size);
|
|
@@ -678,12 +676,12 @@
|
|
|
678
676
|
position: relative;
|
|
679
677
|
}
|
|
680
678
|
|
|
681
|
-
[data-ui
|
|
679
|
+
[data-ui-chart] [data-part-plot]:focus-visible {
|
|
682
680
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
683
681
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
684
682
|
}
|
|
685
683
|
|
|
686
|
-
[data-ui
|
|
684
|
+
[data-ui-chart] [data-part-canvas] {
|
|
687
685
|
inset: 0;
|
|
688
686
|
position: absolute;
|
|
689
687
|
z-index: 1;
|
|
@@ -691,14 +689,14 @@
|
|
|
691
689
|
|
|
692
690
|
/* The engine keeps its size and its state behind the table, so the chart
|
|
693
691
|
comes back where the reader left it. */
|
|
694
|
-
[data-ui
|
|
695
|
-
[data-part
|
|
692
|
+
[data-ui-chart]
|
|
693
|
+
[data-part-plot]:has(> [data-part-table-region]:not([hidden]))
|
|
696
694
|
> :is(
|
|
697
|
-
[data-part
|
|
698
|
-
[data-part
|
|
699
|
-
[data-part
|
|
700
|
-
[data-part
|
|
701
|
-
[data-part
|
|
695
|
+
[data-part-canvas],
|
|
696
|
+
[data-part-crosshair],
|
|
697
|
+
[data-part-marker],
|
|
698
|
+
[data-part-tooltip],
|
|
699
|
+
[data-part-center]
|
|
702
700
|
) {
|
|
703
701
|
visibility: hidden;
|
|
704
702
|
}
|
|
@@ -714,7 +712,7 @@
|
|
|
714
712
|
* `--slotted-chart-frame-size` for the grid across it. None of them is a
|
|
715
713
|
* design token.
|
|
716
714
|
*/
|
|
717
|
-
[data-ui
|
|
715
|
+
[data-ui-chart] :is([data-part-crosshair], [data-part-marker], [data-part-tooltip]) {
|
|
718
716
|
inset-block-start: 0;
|
|
719
717
|
inset-inline-start: 0;
|
|
720
718
|
pointer-events: none;
|
|
@@ -723,7 +721,7 @@
|
|
|
723
721
|
|
|
724
722
|
/* A line under the marks for a line or an area, where the eye needs the
|
|
725
723
|
exact x; a band for bars, where the category is the whole slot. */
|
|
726
|
-
[data-ui
|
|
724
|
+
[data-ui-chart] [data-part-crosshair] {
|
|
727
725
|
background-color: var(--slotted-chart-crosshair-color, var(--slotted-border-strong, GrayText));
|
|
728
726
|
block-size: var(--slotted-chart-frame-size, 100%);
|
|
729
727
|
inline-size: 1px;
|
|
@@ -734,7 +732,7 @@
|
|
|
734
732
|
z-index: 0;
|
|
735
733
|
}
|
|
736
734
|
|
|
737
|
-
[data-ui
|
|
735
|
+
[data-ui-chart] [data-part-crosshair][data-band] {
|
|
738
736
|
background-color: var(
|
|
739
737
|
--slotted-chart-band-color,
|
|
740
738
|
color-mix(in oklab, var(--slotted-text, CanvasText) 6%, transparent)
|
|
@@ -747,7 +745,7 @@
|
|
|
747
745
|
);
|
|
748
746
|
}
|
|
749
747
|
|
|
750
|
-
[data-ui
|
|
748
|
+
[data-ui-chart] [data-part-crosshair][data-orientation='horizontal'] {
|
|
751
749
|
block-size: 1px;
|
|
752
750
|
inline-size: var(--slotted-chart-frame-size, 100%);
|
|
753
751
|
transform: translate(
|
|
@@ -756,7 +754,7 @@
|
|
|
756
754
|
);
|
|
757
755
|
}
|
|
758
756
|
|
|
759
|
-
[data-ui
|
|
757
|
+
[data-ui-chart] [data-part-crosshair][data-band][data-orientation='horizontal'] {
|
|
760
758
|
block-size: var(--slotted-chart-band-size, 0px);
|
|
761
759
|
transform: translate(
|
|
762
760
|
var(--slotted-chart-frame-start, 0px),
|
|
@@ -769,7 +767,7 @@
|
|
|
769
767
|
* of the ground around it, so it separates from the line it sits on and
|
|
770
768
|
* from a neighbouring series crossing at the same place.
|
|
771
769
|
*/
|
|
772
|
-
[data-ui
|
|
770
|
+
[data-ui-chart] [data-part-marker] {
|
|
773
771
|
--_size: calc(var(--_chart-marker-size) + var(--slotted-space-2, 0.25rem));
|
|
774
772
|
|
|
775
773
|
background-color: var(--_series, var(--_chart-slot-1));
|
|
@@ -787,7 +785,7 @@
|
|
|
787
785
|
/* The point the reader chose stays marked after the pointer leaves: a ring
|
|
788
786
|
in the series colour around the ground, larger than the hover marker so
|
|
789
787
|
the two read as two states when they meet. */
|
|
790
|
-
[data-ui
|
|
788
|
+
[data-ui-chart] [data-part-marker][data-selected] {
|
|
791
789
|
--_size: calc(var(--_chart-marker-size) * 2 + var(--slotted-space-2, 0.25rem));
|
|
792
790
|
|
|
793
791
|
background-color: transparent;
|
|
@@ -805,7 +803,7 @@
|
|
|
805
803
|
* subgrid of one three-column grid, so the values line up whatever the
|
|
806
804
|
* labels' lengths.
|
|
807
805
|
*/
|
|
808
|
-
[data-ui
|
|
806
|
+
[data-ui-chart] [data-part-tooltip] {
|
|
809
807
|
background-color: var(--slotted-chart-tooltip-surface, var(--slotted-surface-raised, Canvas));
|
|
810
808
|
border: var(--slotted-border-width-thin, 1px) solid var(--slotted-border-subtle, CanvasText);
|
|
811
809
|
border-radius: var(--slotted-radius-md, 6px);
|
|
@@ -837,7 +835,7 @@
|
|
|
837
835
|
* point never hides under, and the crosshair shows which point it is about.
|
|
838
836
|
* The binding docks it; `placeTooltip` says when.
|
|
839
837
|
*/
|
|
840
|
-
[data-ui
|
|
838
|
+
[data-ui-chart] [data-part-tooltip][data-docked] {
|
|
841
839
|
inline-size: 100%;
|
|
842
840
|
max-inline-size: 100%;
|
|
843
841
|
min-inline-size: 0;
|
|
@@ -847,16 +845,16 @@
|
|
|
847
845
|
plot's coordinates: an inset resolves against the element's own
|
|
848
846
|
direction, so the right-to-left box anchors at its inline end, which is
|
|
849
847
|
the same left edge the translation is measured from. */
|
|
850
|
-
[data-ui
|
|
848
|
+
[data-ui-chart]:dir(rtl) :is([data-part-tooltip], [data-part-center]) {
|
|
851
849
|
direction: rtl;
|
|
852
850
|
}
|
|
853
851
|
|
|
854
|
-
[data-ui
|
|
852
|
+
[data-ui-chart]:dir(rtl) [data-part-tooltip] {
|
|
855
853
|
inset-inline-end: 0;
|
|
856
854
|
inset-inline-start: auto;
|
|
857
855
|
}
|
|
858
856
|
|
|
859
|
-
[data-ui
|
|
857
|
+
[data-ui-chart] [data-part-tooltip][data-open] {
|
|
860
858
|
opacity: 1;
|
|
861
859
|
visibility: visible;
|
|
862
860
|
}
|
|
@@ -864,42 +862,49 @@
|
|
|
864
862
|
/* A tooltip that appears slides into place from where it opened; one that
|
|
865
863
|
follows the pointer from point to point moves with it. Opening snaps the
|
|
866
864
|
position so the first frame is not a flight from the corner. */
|
|
867
|
-
[data-ui
|
|
865
|
+
[data-ui-chart] [data-part-tooltip]:not([data-open]) {
|
|
868
866
|
transition:
|
|
869
867
|
opacity var(--slotted-duration-short) var(--slotted-easing-standard),
|
|
870
868
|
visibility var(--slotted-duration-instant) linear var(--slotted-duration-short);
|
|
871
869
|
}
|
|
872
870
|
|
|
873
|
-
[data-ui
|
|
871
|
+
[data-ui-chart] [data-part-tooltip-title] {
|
|
874
872
|
color: var(--slotted-text, CanvasText);
|
|
875
873
|
font-weight: var(--slotted-font-weight-semibold, 600);
|
|
876
874
|
grid-column: 1 / -1;
|
|
877
875
|
overflow-wrap: anywhere;
|
|
878
876
|
}
|
|
879
877
|
|
|
880
|
-
|
|
878
|
+
/* The label of a line on this category, the plot's own words for it. */
|
|
879
|
+
[data-ui-chart] [data-part-tooltip-note] {
|
|
880
|
+
color: var(--slotted-text-muted, GrayText);
|
|
881
|
+
grid-column: 1 / -1;
|
|
882
|
+
overflow-wrap: anywhere;
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
[data-ui-chart] :is([data-part-tooltip-item], [data-part-tooltip-total]) {
|
|
881
886
|
align-items: center;
|
|
882
887
|
display: grid;
|
|
883
888
|
grid-column: 1 / -1;
|
|
884
889
|
grid-template-columns: subgrid;
|
|
885
890
|
}
|
|
886
891
|
|
|
887
|
-
[data-ui
|
|
892
|
+
[data-ui-chart] [data-part-tooltip-item] {
|
|
888
893
|
color: var(--slotted-text-muted, GrayText);
|
|
889
894
|
}
|
|
890
895
|
|
|
891
|
-
[data-ui
|
|
896
|
+
[data-ui-chart] [data-part-tooltip-item][data-current] {
|
|
892
897
|
color: var(--slotted-text, CanvasText);
|
|
893
898
|
}
|
|
894
899
|
|
|
895
|
-
[data-ui
|
|
900
|
+
[data-ui-chart] [data-part-tooltip-label] {
|
|
896
901
|
min-inline-size: 0;
|
|
897
902
|
overflow: hidden;
|
|
898
903
|
text-overflow: ellipsis;
|
|
899
904
|
white-space: nowrap;
|
|
900
905
|
}
|
|
901
906
|
|
|
902
|
-
[data-ui
|
|
907
|
+
[data-ui-chart] [data-part-tooltip-value] {
|
|
903
908
|
color: var(--slotted-text, CanvasText);
|
|
904
909
|
font-variant-numeric: tabular-nums;
|
|
905
910
|
font-weight: var(--slotted-font-weight-medium, 500);
|
|
@@ -907,7 +912,7 @@
|
|
|
907
912
|
white-space: nowrap;
|
|
908
913
|
}
|
|
909
914
|
|
|
910
|
-
[data-ui
|
|
915
|
+
[data-ui-chart] [data-part-tooltip-total] {
|
|
911
916
|
border-block-start: var(--slotted-border-width-thin, 1px) solid
|
|
912
917
|
var(--slotted-border-subtle, CanvasText);
|
|
913
918
|
font-weight: var(--slotted-font-weight-semibold, 600);
|
|
@@ -915,13 +920,13 @@
|
|
|
915
920
|
padding-block-start: var(--slotted-space-3, 0.375rem);
|
|
916
921
|
}
|
|
917
922
|
|
|
918
|
-
[data-ui
|
|
923
|
+
[data-ui-chart] [data-part-tooltip-total] > :first-child {
|
|
919
924
|
grid-column: 1 / 3;
|
|
920
925
|
}
|
|
921
926
|
|
|
922
927
|
/* ── The centre of a donut ────────────────────────────────────────────── */
|
|
923
928
|
|
|
924
|
-
[data-ui
|
|
929
|
+
[data-ui-chart] [data-part-center] {
|
|
925
930
|
align-content: center;
|
|
926
931
|
display: grid;
|
|
927
932
|
inset: 0;
|
|
@@ -932,14 +937,14 @@
|
|
|
932
937
|
z-index: 2;
|
|
933
938
|
}
|
|
934
939
|
|
|
935
|
-
[data-ui
|
|
940
|
+
[data-ui-chart] [data-part-center-value] {
|
|
936
941
|
font-size: var(--slotted-font-size-2xl, 1.25rem);
|
|
937
942
|
font-variant-numeric: tabular-nums;
|
|
938
943
|
font-weight: var(--slotted-font-weight-semibold, 600);
|
|
939
944
|
line-height: var(--slotted-line-height-2xl, 1.4);
|
|
940
945
|
}
|
|
941
946
|
|
|
942
|
-
[data-ui
|
|
947
|
+
[data-ui-chart] [data-part-center-label] {
|
|
943
948
|
color: var(--slotted-text-muted, GrayText);
|
|
944
949
|
font-size: var(--slotted-font-size-xs, 0.75rem);
|
|
945
950
|
line-height: var(--slotted-line-height-xs, 1.4);
|
|
@@ -955,12 +960,12 @@
|
|
|
955
960
|
* have, a line and its wash, a pie's ring — under one shimmer. It fills the
|
|
956
961
|
* plot's box exactly, so nothing moves when the data lands.
|
|
957
962
|
*/
|
|
958
|
-
[data-ui
|
|
963
|
+
[data-ui-chart] [data-part-skeleton] {
|
|
959
964
|
inset: var(--_chart-inset);
|
|
960
965
|
position: absolute;
|
|
961
966
|
}
|
|
962
967
|
|
|
963
|
-
[data-ui
|
|
968
|
+
[data-ui-chart] [data-part-skeleton] > [data-ui-skeleton] {
|
|
964
969
|
/* A tenth of the text over the ground: a step lighter than the ground
|
|
965
970
|
in a dark scheme and a step darker in a light one, where the skeleton
|
|
966
971
|
family's own fill, made for a sunken field, sank into a dark tile. */
|
|
@@ -983,7 +988,7 @@
|
|
|
983
988
|
row-gap: var(--_chart-inset);
|
|
984
989
|
}
|
|
985
990
|
|
|
986
|
-
[data-ui
|
|
991
|
+
[data-ui-chart] [data-part-skeleton] [data-skeleton='y'] {
|
|
987
992
|
align-items: end;
|
|
988
993
|
display: flex;
|
|
989
994
|
flex-direction: column;
|
|
@@ -991,17 +996,17 @@
|
|
|
991
996
|
justify-content: space-between;
|
|
992
997
|
}
|
|
993
998
|
|
|
994
|
-
[data-ui
|
|
999
|
+
[data-ui-chart] [data-part-skeleton] [data-skeleton='x'] {
|
|
995
1000
|
display: flex;
|
|
996
1001
|
grid-area: x;
|
|
997
1002
|
justify-content: space-around;
|
|
998
1003
|
}
|
|
999
1004
|
|
|
1000
1005
|
/* An axis label is a short line at the axis type's height. */
|
|
1001
|
-
[data-ui
|
|
1002
|
-
[data-part
|
|
1006
|
+
[data-ui-chart]
|
|
1007
|
+
[data-part-skeleton]
|
|
1003
1008
|
:is([data-skeleton='y'], [data-skeleton='x'])
|
|
1004
|
-
> [data-ui
|
|
1009
|
+
> [data-ui-skeleton] {
|
|
1005
1010
|
block-size: 0.5rem;
|
|
1006
1011
|
border-radius: var(--slotted-radius-full, 9999px);
|
|
1007
1012
|
flex: none;
|
|
@@ -1009,22 +1014,19 @@
|
|
|
1009
1014
|
min-block-size: 0;
|
|
1010
1015
|
}
|
|
1011
1016
|
|
|
1012
|
-
[data-ui='
|
|
1013
|
-
[data-part='skeleton']
|
|
1014
|
-
[data-skeleton='y']
|
|
1015
|
-
> [data-ui='skeleton']:nth-child(odd) {
|
|
1017
|
+
[data-ui-chart] [data-part-skeleton] [data-skeleton='y'] > [data-ui-skeleton]:nth-child(odd) {
|
|
1016
1018
|
inline-size: 2rem;
|
|
1017
1019
|
}
|
|
1018
1020
|
|
|
1019
1021
|
/* Six category labels at their full width are 144 pixels, more than the
|
|
1020
1022
|
marks column of a quarter-width tile holds; they shrink together with it,
|
|
1021
1023
|
as the engine's labels thin out, rather than run past the plot. */
|
|
1022
|
-
[data-ui
|
|
1024
|
+
[data-ui-chart] [data-part-skeleton] [data-skeleton='x'] > [data-ui-skeleton] {
|
|
1023
1025
|
flex: 0 1 auto;
|
|
1024
1026
|
min-inline-size: 0;
|
|
1025
1027
|
}
|
|
1026
1028
|
|
|
1027
|
-
[data-ui
|
|
1029
|
+
[data-ui-chart] [data-part-skeleton] [data-skeleton='marks'] {
|
|
1028
1030
|
align-items: end;
|
|
1029
1031
|
background-image: repeating-linear-gradient(
|
|
1030
1032
|
to bottom,
|
|
@@ -1040,73 +1042,73 @@
|
|
|
1040
1042
|
|
|
1041
1043
|
/* The skeleton family sizes a block on its own; inside the plot a bar takes
|
|
1042
1044
|
its share of the row and nothing more. */
|
|
1043
|
-
[data-ui
|
|
1045
|
+
[data-ui-chart] [data-part-skeleton] [data-skeleton='marks'] > [data-ui-skeleton] {
|
|
1044
1046
|
border-radius: var(--_chart-bar-radius) var(--_chart-bar-radius) 0 0;
|
|
1045
1047
|
flex: 0 1 9%;
|
|
1046
1048
|
inline-size: auto;
|
|
1047
1049
|
min-inline-size: 0;
|
|
1048
1050
|
}
|
|
1049
1051
|
|
|
1050
|
-
[data-ui
|
|
1051
|
-
[data-part
|
|
1052
|
+
[data-ui-chart]
|
|
1053
|
+
[data-part-skeleton][data-kind='bar']
|
|
1052
1054
|
[data-skeleton='marks']
|
|
1053
|
-
> [data-ui
|
|
1055
|
+
> [data-ui-skeleton]:nth-child(7n + 1) {
|
|
1054
1056
|
block-size: 38%;
|
|
1055
1057
|
}
|
|
1056
|
-
[data-ui
|
|
1057
|
-
[data-part
|
|
1058
|
+
[data-ui-chart]
|
|
1059
|
+
[data-part-skeleton][data-kind='bar']
|
|
1058
1060
|
[data-skeleton='marks']
|
|
1059
|
-
> [data-ui
|
|
1061
|
+
> [data-ui-skeleton]:nth-child(7n + 2) {
|
|
1060
1062
|
block-size: 62%;
|
|
1061
1063
|
}
|
|
1062
|
-
[data-ui
|
|
1063
|
-
[data-part
|
|
1064
|
+
[data-ui-chart]
|
|
1065
|
+
[data-part-skeleton][data-kind='bar']
|
|
1064
1066
|
[data-skeleton='marks']
|
|
1065
|
-
> [data-ui
|
|
1067
|
+
> [data-ui-skeleton]:nth-child(7n + 3) {
|
|
1066
1068
|
block-size: 50%;
|
|
1067
1069
|
}
|
|
1068
|
-
[data-ui
|
|
1069
|
-
[data-part
|
|
1070
|
+
[data-ui-chart]
|
|
1071
|
+
[data-part-skeleton][data-kind='bar']
|
|
1070
1072
|
[data-skeleton='marks']
|
|
1071
|
-
> [data-ui
|
|
1073
|
+
> [data-ui-skeleton]:nth-child(7n + 4) {
|
|
1072
1074
|
block-size: 74%;
|
|
1073
1075
|
}
|
|
1074
|
-
[data-ui
|
|
1075
|
-
[data-part
|
|
1076
|
+
[data-ui-chart]
|
|
1077
|
+
[data-part-skeleton][data-kind='bar']
|
|
1076
1078
|
[data-skeleton='marks']
|
|
1077
|
-
> [data-ui
|
|
1079
|
+
> [data-ui-skeleton]:nth-child(7n + 5) {
|
|
1078
1080
|
block-size: 56%;
|
|
1079
1081
|
}
|
|
1080
|
-
[data-ui
|
|
1081
|
-
[data-part
|
|
1082
|
+
[data-ui-chart]
|
|
1083
|
+
[data-part-skeleton][data-kind='bar']
|
|
1082
1084
|
[data-skeleton='marks']
|
|
1083
|
-
> [data-ui
|
|
1085
|
+
> [data-ui-skeleton]:nth-child(7n + 6) {
|
|
1084
1086
|
block-size: 44%;
|
|
1085
1087
|
}
|
|
1086
|
-
[data-ui
|
|
1087
|
-
[data-part
|
|
1088
|
+
[data-ui-chart]
|
|
1089
|
+
[data-part-skeleton][data-kind='bar']
|
|
1088
1090
|
[data-skeleton='marks']
|
|
1089
|
-
> [data-ui
|
|
1091
|
+
> [data-ui-skeleton]:nth-child(7n + 7) {
|
|
1090
1092
|
block-size: 68%;
|
|
1091
1093
|
}
|
|
1092
1094
|
|
|
1093
1095
|
/* A line is its stroke and the wash under it: two blocks over the whole
|
|
1094
1096
|
marks area, one cut to a band as thick as a line, one to the silhouette
|
|
1095
1097
|
under it at a third of the fill. */
|
|
1096
|
-
[data-ui
|
|
1097
|
-
[data-part
|
|
1098
|
+
[data-ui-chart]
|
|
1099
|
+
[data-part-skeleton][data-kind='line']
|
|
1098
1100
|
[data-skeleton='marks']
|
|
1099
|
-
> [data-ui
|
|
1101
|
+
> [data-ui-skeleton] {
|
|
1100
1102
|
block-size: 100%;
|
|
1101
1103
|
border-radius: 0;
|
|
1102
1104
|
inset: 0;
|
|
1103
1105
|
position: absolute;
|
|
1104
1106
|
}
|
|
1105
1107
|
|
|
1106
|
-
[data-ui
|
|
1107
|
-
[data-part
|
|
1108
|
+
[data-ui-chart]
|
|
1109
|
+
[data-part-skeleton][data-kind='line']
|
|
1108
1110
|
[data-skeleton='marks']
|
|
1109
|
-
> [data-ui
|
|
1111
|
+
> [data-ui-skeleton]:first-child {
|
|
1110
1112
|
clip-path: polygon(
|
|
1111
1113
|
0% 60.5%,
|
|
1112
1114
|
14% 46.5%,
|
|
@@ -1127,10 +1129,10 @@
|
|
|
1127
1129
|
);
|
|
1128
1130
|
}
|
|
1129
1131
|
|
|
1130
|
-
[data-ui
|
|
1131
|
-
[data-part
|
|
1132
|
+
[data-ui-chart]
|
|
1133
|
+
[data-part-skeleton][data-kind='line']
|
|
1132
1134
|
[data-skeleton='marks']
|
|
1133
|
-
> [data-ui
|
|
1135
|
+
> [data-ui-skeleton]:last-child {
|
|
1134
1136
|
clip-path: polygon(
|
|
1135
1137
|
0% 62%,
|
|
1136
1138
|
14% 48%,
|
|
@@ -1147,15 +1149,13 @@
|
|
|
1147
1149
|
}
|
|
1148
1150
|
|
|
1149
1151
|
/* A pie has no axes: its ring, centred, at the size the engine draws it. */
|
|
1150
|
-
[data-ui
|
|
1152
|
+
[data-ui-chart] [data-part-skeleton][data-kind='pie'] > [data-ui-skeleton] {
|
|
1151
1153
|
align-items: center;
|
|
1152
1154
|
display: flex;
|
|
1153
1155
|
justify-content: center;
|
|
1154
1156
|
}
|
|
1155
1157
|
|
|
1156
|
-
[data-ui='
|
|
1157
|
-
[data-part='skeleton'][data-kind='pie']
|
|
1158
|
-
[data-ui='skeleton'][data-shape='circle'] {
|
|
1158
|
+
[data-ui-chart] [data-part-skeleton][data-kind='pie'] [data-ui-skeleton][data-shape='circle'] {
|
|
1159
1159
|
aspect-ratio: 1;
|
|
1160
1160
|
block-size: 76%;
|
|
1161
1161
|
flex: none;
|
|
@@ -1169,7 +1169,7 @@
|
|
|
1169
1169
|
|
|
1170
1170
|
/* A legend whose entries come with the data stands in as three short
|
|
1171
1171
|
lines of the entries' type height. */
|
|
1172
|
-
[data-ui
|
|
1172
|
+
[data-ui-chart] [data-part-legend] > [data-ui-skeleton] {
|
|
1173
1173
|
/* A tenth of the text over the ground: a step lighter than the ground
|
|
1174
1174
|
in a dark scheme and a step darker in a light one, where the skeleton
|
|
1175
1175
|
family's own fill, made for a sunken field, sank into a dark tile. */
|
|
@@ -1191,13 +1191,13 @@
|
|
|
1191
1191
|
min-block-size: 0;
|
|
1192
1192
|
}
|
|
1193
1193
|
|
|
1194
|
-
[data-ui
|
|
1194
|
+
[data-ui-chart] [data-part-legend] > [data-ui-skeleton]:nth-child(2) {
|
|
1195
1195
|
inline-size: 3.25rem;
|
|
1196
1196
|
}
|
|
1197
1197
|
|
|
1198
1198
|
/* ── Empty and failed ─────────────────────────────────────────────────── */
|
|
1199
1199
|
|
|
1200
|
-
[data-ui
|
|
1200
|
+
[data-ui-chart] :is([data-part-empty], [data-part-error]) {
|
|
1201
1201
|
/* A message about one chart, at the size of the chart's own words. */
|
|
1202
1202
|
--slotted-result-state-title-font-size: var(--slotted-font-size-md, 0.875rem);
|
|
1203
1203
|
--slotted-result-state-padding-block: var(--slotted-space-4, 0.5rem);
|
|
@@ -1216,7 +1216,7 @@
|
|
|
1216
1216
|
the message stands on no surface of its own, and the bands the grid drew
|
|
1217
1217
|
every quarter of the height crossed the empty title and ran between the
|
|
1218
1218
|
failed title and its retry. */
|
|
1219
|
-
[data-ui
|
|
1219
|
+
[data-ui-chart] [data-part-plot]:has(> :is([data-part-empty], [data-part-error])) {
|
|
1220
1220
|
background: linear-gradient(var(--_chart-grid), var(--_chart-grid)) 0 100% / 100% 1px no-repeat
|
|
1221
1221
|
content-box;
|
|
1222
1222
|
box-sizing: border-box;
|
|
@@ -1225,7 +1225,7 @@
|
|
|
1225
1225
|
|
|
1226
1226
|
/* ── Text alternatives ────────────────────────────────────────────────── */
|
|
1227
1227
|
|
|
1228
|
-
[data-ui
|
|
1228
|
+
[data-ui-chart] [data-part-summary] {
|
|
1229
1229
|
block-size: 1px;
|
|
1230
1230
|
clip-path: inset(50%);
|
|
1231
1231
|
inline-size: 1px;
|
|
@@ -1237,7 +1237,7 @@
|
|
|
1237
1237
|
|
|
1238
1238
|
/* The table view: in the plot's box, scrolling inside it, in the document's
|
|
1239
1239
|
direction, on the plot's ground. */
|
|
1240
|
-
[data-ui
|
|
1240
|
+
[data-ui-chart] [data-part-table-region] {
|
|
1241
1241
|
background-color: var(--_chart-surface);
|
|
1242
1242
|
border-radius: var(--_radius);
|
|
1243
1243
|
inset: 0;
|
|
@@ -1247,28 +1247,34 @@
|
|
|
1247
1247
|
z-index: 4;
|
|
1248
1248
|
}
|
|
1249
1249
|
|
|
1250
|
-
[data-ui
|
|
1250
|
+
[data-ui-chart]:dir(rtl) [data-part-table-region] {
|
|
1251
1251
|
direction: rtl;
|
|
1252
1252
|
}
|
|
1253
1253
|
|
|
1254
|
-
/* The region scrolls, so it takes focus to be scrolled by keyboard.
|
|
1255
|
-
|
|
1254
|
+
/* The region scrolls, so it takes focus to be scrolled by keyboard. The ring
|
|
1255
|
+
is drawn for a focus from the keyboard: a click on a cell focuses the region
|
|
1256
|
+
too, and the next Shift would make it match `:focus-visible`
|
|
1257
|
+
(`createFocusOrigin`). The browser's own ring is suppressed for the same focus. */
|
|
1258
|
+
[data-ui-chart] [data-part-table-region]:focus {
|
|
1259
|
+
outline: none;
|
|
1260
|
+
}
|
|
1261
|
+
[data-ui-chart] [data-part-table-region]:focus-visible[data-focus-origin='keyboard'] {
|
|
1256
1262
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
1257
1263
|
outline-offset: calc(var(--slotted-focus-ring-width, 2px) * -1);
|
|
1258
1264
|
}
|
|
1259
1265
|
|
|
1260
|
-
[data-ui
|
|
1266
|
+
[data-ui-chart] [data-part-table-region][hidden] {
|
|
1261
1267
|
display: none;
|
|
1262
1268
|
}
|
|
1263
1269
|
|
|
1264
|
-
[data-ui
|
|
1270
|
+
[data-ui-chart] [data-part-table] {
|
|
1265
1271
|
border-collapse: collapse;
|
|
1266
1272
|
font-size: var(--slotted-font-size-sm, 0.8125rem);
|
|
1267
1273
|
inline-size: 100%;
|
|
1268
1274
|
line-height: var(--slotted-line-height-sm, 1.45);
|
|
1269
1275
|
}
|
|
1270
1276
|
|
|
1271
|
-
[data-ui
|
|
1277
|
+
[data-ui-chart] [data-part-table] caption {
|
|
1272
1278
|
caption-side: bottom;
|
|
1273
1279
|
color: var(--slotted-text-muted, GrayText);
|
|
1274
1280
|
font-size: var(--slotted-font-size-xs, 0.75rem);
|
|
@@ -1276,7 +1282,7 @@
|
|
|
1276
1282
|
text-align: start;
|
|
1277
1283
|
}
|
|
1278
1284
|
|
|
1279
|
-
[data-ui
|
|
1285
|
+
[data-ui-chart] [data-part-table] :is(th, td) {
|
|
1280
1286
|
border-block-end: var(--slotted-border-width-thin, 1px) solid
|
|
1281
1287
|
var(--slotted-border-subtle, CanvasText);
|
|
1282
1288
|
padding-block: var(--slotted-control-gap-sm, 0.375rem);
|
|
@@ -1285,11 +1291,11 @@
|
|
|
1285
1291
|
white-space: nowrap;
|
|
1286
1292
|
}
|
|
1287
1293
|
|
|
1288
|
-
[data-ui
|
|
1294
|
+
[data-ui-chart] [data-part-table] tbody th {
|
|
1289
1295
|
font-weight: var(--slotted-font-weight-medium, 500);
|
|
1290
1296
|
}
|
|
1291
1297
|
|
|
1292
|
-
[data-ui
|
|
1298
|
+
[data-ui-chart] [data-part-table] thead th {
|
|
1293
1299
|
background-color: var(--_chart-surface);
|
|
1294
1300
|
color: var(--slotted-text-muted, GrayText);
|
|
1295
1301
|
font-weight: var(--slotted-font-weight-medium, 500);
|
|
@@ -1297,12 +1303,12 @@
|
|
|
1297
1303
|
position: sticky;
|
|
1298
1304
|
}
|
|
1299
1305
|
|
|
1300
|
-
[data-ui
|
|
1306
|
+
[data-ui-chart] [data-part-table] [data-numeric] {
|
|
1301
1307
|
font-variant-numeric: tabular-nums;
|
|
1302
1308
|
text-align: end;
|
|
1303
1309
|
}
|
|
1304
1310
|
|
|
1305
|
-
[data-ui
|
|
1311
|
+
[data-ui-chart] [data-part-table] tbody tr[data-current] {
|
|
1306
1312
|
background-color: var(--slotted-tone-secondary-subtle-hover, Highlight);
|
|
1307
1313
|
}
|
|
1308
1314
|
|
|
@@ -1315,7 +1321,7 @@
|
|
|
1315
1321
|
* `data-fullscreen`; the plot takes the height the header and the legend
|
|
1316
1322
|
* leave, and the engine redraws at the new size on its own.
|
|
1317
1323
|
*/
|
|
1318
|
-
[data-ui
|
|
1324
|
+
[data-ui-chart][data-fullscreen] {
|
|
1319
1325
|
--_chart-surface: var(--slotted-chart-surface, var(--slotted-surface, Canvas));
|
|
1320
1326
|
|
|
1321
1327
|
background-color: var(--_chart-surface);
|
|
@@ -1329,7 +1335,7 @@
|
|
|
1329
1335
|
z-index: var(--slotted-z-index-overlay, 1000);
|
|
1330
1336
|
}
|
|
1331
1337
|
|
|
1332
|
-
[data-ui
|
|
1338
|
+
[data-ui-chart][data-fullscreen] [data-part-title] {
|
|
1333
1339
|
font-size: var(--slotted-font-size-xl, 1.125rem);
|
|
1334
1340
|
}
|
|
1335
1341
|
|
|
@@ -1346,24 +1352,24 @@
|
|
|
1346
1352
|
* (`docs/token-foundation.md`, rule 4).
|
|
1347
1353
|
*/
|
|
1348
1354
|
@container slotted-chart (max-width: 480px) {
|
|
1349
|
-
[data-ui
|
|
1350
|
-
> [data-part
|
|
1351
|
-
> [data-part
|
|
1352
|
-
> :is([data-part
|
|
1355
|
+
[data-ui-chart]
|
|
1356
|
+
> [data-part-header]
|
|
1357
|
+
> [data-part-toolbar]
|
|
1358
|
+
> :is([data-part-view-toggle], [data-part-fullscreen-toggle]) {
|
|
1353
1359
|
display: none;
|
|
1354
1360
|
}
|
|
1355
1361
|
|
|
1356
|
-
[data-ui
|
|
1362
|
+
[data-ui-chart] [data-part-menu-item]:is([data-action='view'], [data-action='fullscreen']) {
|
|
1357
1363
|
display: flex;
|
|
1358
1364
|
}
|
|
1359
1365
|
|
|
1360
|
-
[data-ui
|
|
1366
|
+
[data-ui-chart] :is([data-part-legend-item], [data-part-legend-more]) {
|
|
1361
1367
|
padding-inline: var(--slotted-space-2, 0.25rem);
|
|
1362
1368
|
}
|
|
1363
1369
|
}
|
|
1364
1370
|
|
|
1365
1371
|
@container slotted-chart (max-width: 360px) {
|
|
1366
|
-
[data-ui
|
|
1372
|
+
[data-ui-chart][data-variant='card'] {
|
|
1367
1373
|
padding-block: var(--slotted-space-5, 0.75rem);
|
|
1368
1374
|
padding-inline: var(--slotted-space-5, 0.75rem);
|
|
1369
1375
|
}
|
|
@@ -1381,44 +1387,42 @@
|
|
|
1381
1387
|
* the last entry two pixels away and does not reach back across it.
|
|
1382
1388
|
*/
|
|
1383
1389
|
@media (pointer: coarse) {
|
|
1384
|
-
[data-ui
|
|
1390
|
+
[data-ui-chart] [data-part-menu-item] {
|
|
1385
1391
|
min-block-size: var(--slotted-target-comfortable, 2.75rem);
|
|
1386
1392
|
}
|
|
1387
1393
|
|
|
1388
|
-
[data-ui
|
|
1394
|
+
[data-ui-chart] [data-part-menu] [data-part-legend-item] {
|
|
1389
1395
|
min-block-size: var(--slotted-target-comfortable, 2.75rem);
|
|
1390
1396
|
min-inline-size: var(--slotted-target-comfortable, 2.75rem);
|
|
1391
1397
|
}
|
|
1392
1398
|
|
|
1393
|
-
[data-ui
|
|
1399
|
+
[data-ui-chart] [data-part-legend] {
|
|
1394
1400
|
min-block-size: var(--slotted-target-comfortable, 2.75rem);
|
|
1395
1401
|
row-gap: calc(var(--slotted-target-comfortable, 2.75rem) - var(--slotted-target-min, 1.5rem));
|
|
1396
1402
|
}
|
|
1397
1403
|
|
|
1398
|
-
[data-ui
|
|
1399
|
-
[data-part='legend']
|
|
1400
|
-
> :is([data-part='legend-item'], [data-part='legend-more']) {
|
|
1404
|
+
[data-ui-chart] [data-part-legend] > :is([data-part-legend-item], [data-part-legend-more]) {
|
|
1401
1405
|
position: relative;
|
|
1402
1406
|
}
|
|
1403
1407
|
|
|
1404
|
-
[data-ui
|
|
1405
|
-
[data-part
|
|
1406
|
-
> :is([data-part
|
|
1408
|
+
[data-ui-chart]
|
|
1409
|
+
[data-part-legend]
|
|
1410
|
+
> :is([data-part-legend-item], [data-part-legend-more])::after {
|
|
1407
1411
|
content: '';
|
|
1408
1412
|
inset: min(0px, calc((100% - var(--slotted-target-comfortable, 2.75rem)) / 2));
|
|
1409
1413
|
position: absolute;
|
|
1410
1414
|
}
|
|
1411
1415
|
|
|
1412
|
-
[data-ui
|
|
1416
|
+
[data-ui-chart] [data-part-legend] > [data-part-legend-more]::after {
|
|
1413
1417
|
inset-inline-start: 0;
|
|
1414
1418
|
}
|
|
1415
1419
|
|
|
1416
|
-
[data-ui
|
|
1420
|
+
[data-ui-chart]
|
|
1417
1421
|
:is(
|
|
1418
|
-
[data-part
|
|
1419
|
-
[data-part
|
|
1420
|
-
[data-part
|
|
1421
|
-
[data-part
|
|
1422
|
+
[data-part-zoom-reset],
|
|
1423
|
+
[data-part-view-toggle],
|
|
1424
|
+
[data-part-fullscreen-toggle],
|
|
1425
|
+
[data-part-menu-trigger]
|
|
1422
1426
|
) {
|
|
1423
1427
|
--_box: var(--slotted-target-comfortable, 2.75rem);
|
|
1424
1428
|
}
|
|
@@ -1428,24 +1432,24 @@
|
|
|
1428
1432
|
|
|
1429
1433
|
/* Paper holds the marks and the words: no controls, no hover, no layer. */
|
|
1430
1434
|
@media print {
|
|
1431
|
-
[data-ui
|
|
1435
|
+
[data-ui-chart]
|
|
1432
1436
|
:is(
|
|
1433
|
-
[data-part
|
|
1434
|
-
[data-part
|
|
1435
|
-
[data-part
|
|
1436
|
-
[data-part
|
|
1437
|
-
[data-part
|
|
1438
|
-
[data-part
|
|
1437
|
+
[data-part-toolbar],
|
|
1438
|
+
[data-part-help],
|
|
1439
|
+
[data-part-legend-more],
|
|
1440
|
+
[data-part-tooltip],
|
|
1441
|
+
[data-part-crosshair],
|
|
1442
|
+
[data-part-marker]:not([data-selected])
|
|
1439
1443
|
) {
|
|
1440
1444
|
display: none;
|
|
1441
1445
|
}
|
|
1442
1446
|
|
|
1443
|
-
[data-ui
|
|
1447
|
+
[data-ui-chart] [data-part-legend] {
|
|
1444
1448
|
flex-wrap: wrap;
|
|
1445
1449
|
overflow: visible;
|
|
1446
1450
|
}
|
|
1447
1451
|
|
|
1448
|
-
[data-ui
|
|
1452
|
+
[data-ui-chart] {
|
|
1449
1453
|
break-inside: avoid;
|
|
1450
1454
|
}
|
|
1451
1455
|
}
|
|
@@ -1459,13 +1463,12 @@
|
|
|
1459
1463
|
* not have carried anyway.
|
|
1460
1464
|
*/
|
|
1461
1465
|
@media (forced-colors: active) {
|
|
1462
|
-
[data-ui
|
|
1463
|
-
:is([data-part='legend-marker'], [data-part='tooltip-marker'], [data-part='marker']) {
|
|
1466
|
+
[data-ui-chart] :is([data-part-legend-marker], [data-part-tooltip-marker], [data-part-marker]) {
|
|
1464
1467
|
forced-color-adjust: none;
|
|
1465
1468
|
background-color: CanvasText;
|
|
1466
1469
|
}
|
|
1467
1470
|
|
|
1468
|
-
[data-ui
|
|
1471
|
+
[data-ui-chart] [data-part-crosshair] {
|
|
1469
1472
|
background-color: GrayText;
|
|
1470
1473
|
forced-color-adjust: none;
|
|
1471
1474
|
}
|