@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
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
* itself;
|
|
40
40
|
* - only focus is raised.
|
|
41
41
|
*/
|
|
42
|
-
[data-ui
|
|
42
|
+
[data-ui-split-button][data-part-root] {
|
|
43
43
|
--_radius: var(--slotted-split-button-radius, var(--slotted-control-radius, 4px));
|
|
44
44
|
--_overlap: calc(-1 * var(--slotted-control-border-width, 1px));
|
|
45
45
|
|
|
@@ -68,19 +68,19 @@
|
|
|
68
68
|
* square from the control height and stays so, because a wide chevron is a
|
|
69
69
|
* second button nobody asked for.
|
|
70
70
|
*/
|
|
71
|
-
[data-ui
|
|
71
|
+
[data-ui-split-button][data-part-root][data-full-width] {
|
|
72
72
|
display: flex;
|
|
73
73
|
inline-size: 100%;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
[data-ui
|
|
76
|
+
[data-ui-split-button][data-part-root][data-full-width] > [data-part-primary] {
|
|
77
77
|
flex: 1 1 0;
|
|
78
78
|
min-inline-size: 0;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
/* ── The shape ────────────────────────────────────────────────────────── */
|
|
82
82
|
|
|
83
|
-
[data-ui
|
|
83
|
+
[data-ui-split-button][data-part-root] > [data-part-primary] {
|
|
84
84
|
border-end-end-radius: 0;
|
|
85
85
|
border-end-start-radius: var(--_radius);
|
|
86
86
|
border-start-end-radius: 0;
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
min-inline-size: 0;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
[data-ui
|
|
93
|
+
[data-ui-split-button][data-part-root] > [data-part-menu-trigger] {
|
|
94
94
|
border-end-end-radius: var(--_radius);
|
|
95
95
|
border-end-start-radius: 0;
|
|
96
96
|
border-start-end-radius: var(--_radius);
|
|
@@ -113,19 +113,15 @@
|
|
|
113
113
|
* `button-group` records: the rule has to outrank every border rule `button`
|
|
114
114
|
* writes for the same control whatever order the two sheets load in.
|
|
115
115
|
*/
|
|
116
|
-
[data-ui
|
|
117
|
-
|
|
118
|
-
[data-ui
|
|
119
|
-
> [data-ui='button'][data-variant='outline'][data-disabled],
|
|
120
|
-
[data-ui='split-button'][data-part='root'] > [data-ui='button'][data-variant='outline']:disabled {
|
|
116
|
+
[data-ui-split-button][data-part-root] > [data-ui-button][data-variant='outline'][data-pressed],
|
|
117
|
+
[data-ui-split-button][data-part-root] > [data-ui-button][data-variant='outline'][data-disabled],
|
|
118
|
+
[data-ui-split-button][data-part-root] > [data-ui-button][data-variant='outline']:disabled {
|
|
121
119
|
border-color: var(--slotted-control-border-color, ButtonBorder);
|
|
122
120
|
}
|
|
123
121
|
|
|
124
|
-
[data-ui
|
|
125
|
-
|
|
126
|
-
[data-ui
|
|
127
|
-
> [data-ui='button'][data-variant='ghost'][data-disabled],
|
|
128
|
-
[data-ui='split-button'][data-part='root'] > [data-ui='button'][data-variant='ghost']:disabled {
|
|
122
|
+
[data-ui-split-button][data-part-root] > [data-ui-button][data-variant='ghost'][data-pressed],
|
|
123
|
+
[data-ui-split-button][data-part-root] > [data-ui-button][data-variant='ghost'][data-disabled],
|
|
124
|
+
[data-ui-split-button][data-part-root] > [data-ui-button][data-variant='ghost']:disabled {
|
|
129
125
|
border-color: transparent;
|
|
130
126
|
}
|
|
131
127
|
|
|
@@ -136,8 +132,7 @@
|
|
|
136
132
|
* narrowed, because a narrower border box would move its label by half a
|
|
137
133
|
* pixel — and the trigger's leading edge is the one seen.
|
|
138
134
|
*/
|
|
139
|
-
[data-ui
|
|
140
|
-
> [data-ui='button'][data-part='primary'][data-variant] {
|
|
135
|
+
[data-ui-split-button][data-part-root] > [data-ui-button][data-part-primary][data-variant] {
|
|
141
136
|
border-inline-end-color: transparent;
|
|
142
137
|
}
|
|
143
138
|
|
|
@@ -153,28 +148,32 @@
|
|
|
153
148
|
* one. It is painted on the trigger's leading edge, the one edge the rule
|
|
154
149
|
* above leaves in the column.
|
|
155
150
|
*/
|
|
156
|
-
[data-ui
|
|
151
|
+
[data-ui-split-button][data-part-root] > [data-tone='accent'] {
|
|
157
152
|
--_seam: var(--slotted-tone-accent-solid-active);
|
|
158
153
|
}
|
|
159
154
|
|
|
160
|
-
[data-ui
|
|
155
|
+
[data-ui-split-button][data-part-root] > [data-tone='secondary'] {
|
|
161
156
|
--_seam: var(--slotted-tone-secondary-solid-active);
|
|
162
157
|
}
|
|
163
158
|
|
|
164
|
-
[data-ui
|
|
159
|
+
[data-ui-split-button][data-part-root] > [data-tone='success'] {
|
|
165
160
|
--_seam: var(--slotted-tone-success-solid-active);
|
|
166
161
|
}
|
|
167
162
|
|
|
168
|
-
[data-ui
|
|
163
|
+
[data-ui-split-button][data-part-root] > [data-tone='info'] {
|
|
164
|
+
--_seam: var(--slotted-tone-info-solid-active);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
[data-ui-split-button][data-part-root] > [data-tone='warning'] {
|
|
169
168
|
--_seam: var(--slotted-tone-warning-solid-active);
|
|
170
169
|
}
|
|
171
170
|
|
|
172
|
-
[data-ui
|
|
171
|
+
[data-ui-split-button][data-part-root] > [data-tone='danger'] {
|
|
173
172
|
--_seam: var(--slotted-tone-danger-solid-active);
|
|
174
173
|
}
|
|
175
174
|
|
|
176
|
-
[data-ui
|
|
177
|
-
> [data-ui
|
|
175
|
+
[data-ui-split-button][data-part-root]
|
|
176
|
+
> [data-ui-button][data-variant='solid'][data-part-menu-trigger] {
|
|
178
177
|
border-inline-start-color: var(--_seam, ButtonBorder);
|
|
179
178
|
}
|
|
180
179
|
|
|
@@ -184,10 +183,10 @@
|
|
|
184
183
|
* and the seam takes that border so the bar reads as one unavailable
|
|
185
184
|
* control rather than as a grey one with a coloured line through it.
|
|
186
185
|
*/
|
|
187
|
-
[data-ui
|
|
188
|
-
> [data-ui
|
|
189
|
-
[data-ui
|
|
190
|
-
> [data-ui
|
|
186
|
+
[data-ui-split-button][data-part-root]
|
|
187
|
+
> [data-ui-button][data-variant='solid'][data-part-menu-trigger]:disabled,
|
|
188
|
+
[data-ui-split-button][data-part-root]
|
|
189
|
+
> [data-ui-button][data-variant='solid'][data-part-menu-trigger][data-disabled] {
|
|
191
190
|
border-inline-start-color: var(--slotted-disabled-border, ButtonBorder);
|
|
192
191
|
}
|
|
193
192
|
|
|
@@ -197,7 +196,7 @@
|
|
|
197
196
|
* follows it in the DOM. Hover and press repaint a fill and never an edge,
|
|
198
197
|
* so there is nothing to lift for them — `button-group`'s reading.
|
|
199
198
|
*/
|
|
200
|
-
[data-ui
|
|
199
|
+
[data-ui-split-button][data-part-root] > *:focus-visible {
|
|
201
200
|
z-index: 1;
|
|
202
201
|
}
|
|
203
202
|
|
|
@@ -235,7 +234,7 @@
|
|
|
235
234
|
* send. `pointer-events: none` is also what takes hover away without a
|
|
236
235
|
* state the stylesheet would have to hold back.
|
|
237
236
|
*/
|
|
238
|
-
[data-ui
|
|
237
|
+
[data-ui-split-button][data-part-root][data-loading] > [data-part-menu-trigger] {
|
|
239
238
|
pointer-events: none;
|
|
240
239
|
}
|
|
241
240
|
|
|
@@ -246,7 +245,7 @@
|
|
|
246
245
|
* puts it back — `button-group`'s rule for the same case.
|
|
247
246
|
*/
|
|
248
247
|
@media (forced-colors: active) {
|
|
249
|
-
[data-ui
|
|
248
|
+
[data-ui-split-button][data-part-root] > [data-ui-button][data-pressed] {
|
|
250
249
|
border-color: Highlight;
|
|
251
250
|
}
|
|
252
251
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
"--slotted-split-button-radius",
|
|
7
7
|
"--slotted-tone-accent-solid-active",
|
|
8
8
|
"--slotted-tone-danger-solid-active",
|
|
9
|
+
"--slotted-tone-info-solid-active",
|
|
9
10
|
"--slotted-tone-secondary-solid-active",
|
|
10
11
|
"--slotted-tone-success-solid-active",
|
|
11
12
|
"--slotted-tone-warning-solid-active"
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* `touch-action: none` so a drag is not read as a scroll on the way past.
|
|
17
17
|
*/
|
|
18
|
-
[data-ui
|
|
18
|
+
[data-ui-splitter] {
|
|
19
19
|
/**
|
|
20
20
|
* The track is what the pointer sees and `--slotted-target-min` is what it
|
|
21
21
|
* gets: `::before` below is a transparent box centred on the track, which
|
|
@@ -111,9 +111,9 @@
|
|
|
111
111
|
* `data-dragging` and rest as the same picture. Closing the gap hands those
|
|
112
112
|
* pixels to the lines, and the pair roughly doubles instead.
|
|
113
113
|
*/
|
|
114
|
-
[data-ui
|
|
115
|
-
[data-ui
|
|
116
|
-
[data-ui
|
|
114
|
+
[data-ui-splitter]:not([data-disabled]):hover,
|
|
115
|
+
[data-ui-splitter]:not([data-disabled]):focus-visible,
|
|
116
|
+
[data-ui-splitter][data-dragging] {
|
|
117
117
|
--_gap: var(--slotted-space-4, 0.5rem);
|
|
118
118
|
}
|
|
119
119
|
|
|
@@ -124,14 +124,14 @@
|
|
|
124
124
|
* other. A container that packs its children instead of stretching them
|
|
125
125
|
* would otherwise size the bar from its content.
|
|
126
126
|
*/
|
|
127
|
-
[data-ui
|
|
127
|
+
[data-ui-splitter][data-orientation='vertical'] {
|
|
128
128
|
flex-direction: column;
|
|
129
129
|
inline-size: var(--_track);
|
|
130
130
|
align-self: stretch;
|
|
131
131
|
cursor: col-resize;
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
[data-ui
|
|
134
|
+
[data-ui-splitter][data-orientation='horizontal'] {
|
|
135
135
|
flex-direction: row;
|
|
136
136
|
block-size: var(--_track);
|
|
137
137
|
justify-self: stretch;
|
|
@@ -142,18 +142,18 @@
|
|
|
142
142
|
* The reach. Transparent, centred on the track, and the reason a sixteen-pixel
|
|
143
143
|
* picture is a twenty-four-pixel target.
|
|
144
144
|
*/
|
|
145
|
-
[data-ui
|
|
145
|
+
[data-ui-splitter]::before {
|
|
146
146
|
content: '';
|
|
147
147
|
position: absolute;
|
|
148
148
|
--_overhang: calc((var(--_reach) - var(--_track)) / -2);
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
[data-ui
|
|
151
|
+
[data-ui-splitter][data-orientation='vertical']::before {
|
|
152
152
|
inset-block: 0;
|
|
153
153
|
inset-inline: var(--_overhang);
|
|
154
154
|
}
|
|
155
155
|
|
|
156
|
-
[data-ui
|
|
156
|
+
[data-ui-splitter][data-orientation='horizontal']::before {
|
|
157
157
|
inset-inline: 0;
|
|
158
158
|
inset-block: var(--_overhang);
|
|
159
159
|
}
|
|
@@ -181,7 +181,7 @@
|
|
|
181
181
|
* A proportion leaves slack at every track length. That slack is what the
|
|
182
182
|
* hand claims.
|
|
183
183
|
*/
|
|
184
|
-
[data-ui
|
|
184
|
+
[data-ui-splitter] > [data-part-line] {
|
|
185
185
|
flex: 0 1 min(var(--_line-length), 20%);
|
|
186
186
|
min-block-size: 0;
|
|
187
187
|
min-inline-size: 0;
|
|
@@ -193,28 +193,28 @@
|
|
|
193
193
|
var(--slotted-control-transition-easing, var(--slotted-easing-standard));
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
[data-ui
|
|
196
|
+
[data-ui-splitter][data-orientation='vertical'] > [data-part-line] {
|
|
197
197
|
inline-size: var(--_line);
|
|
198
198
|
}
|
|
199
199
|
|
|
200
|
-
[data-ui
|
|
200
|
+
[data-ui-splitter][data-orientation='horizontal'] > [data-part-line] {
|
|
201
201
|
block-size: var(--_line);
|
|
202
202
|
}
|
|
203
203
|
|
|
204
204
|
/* Solid at the grip, gone at the far end. Four rules, one per direction. */
|
|
205
|
-
[data-ui
|
|
205
|
+
[data-ui-splitter][data-orientation='vertical'] > [data-part-line]:first-child {
|
|
206
206
|
background: linear-gradient(to bottom, transparent, var(--_rest));
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
-
[data-ui
|
|
209
|
+
[data-ui-splitter][data-orientation='vertical'] > [data-part-line]:last-child {
|
|
210
210
|
background: linear-gradient(to top, transparent, var(--_rest));
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
-
[data-ui
|
|
213
|
+
[data-ui-splitter][data-orientation='horizontal'] > [data-part-line]:first-child {
|
|
214
214
|
background: linear-gradient(to right, transparent, var(--_rest));
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
[data-ui
|
|
217
|
+
[data-ui-splitter][data-orientation='horizontal'] > [data-part-line]:last-child {
|
|
218
218
|
background: linear-gradient(to left, transparent, var(--_rest));
|
|
219
219
|
}
|
|
220
220
|
|
|
@@ -227,9 +227,9 @@
|
|
|
227
227
|
* Hover is held back for `data-disabled`, which is the shared rule from
|
|
228
228
|
* `packages/styles/src/states.test.mjs`.
|
|
229
229
|
*/
|
|
230
|
-
[data-ui
|
|
231
|
-
[data-ui
|
|
232
|
-
[data-ui
|
|
230
|
+
[data-ui-splitter]:not([data-disabled]):hover > [data-part-line],
|
|
231
|
+
[data-ui-splitter]:not([data-disabled]):focus-visible > [data-part-line],
|
|
232
|
+
[data-ui-splitter][data-dragging] > [data-part-line] {
|
|
233
233
|
flex-basis: 100%;
|
|
234
234
|
background: var(--_active);
|
|
235
235
|
}
|
|
@@ -245,7 +245,7 @@
|
|
|
245
245
|
* pixels, and the second saying cost the first its shape.
|
|
246
246
|
*/
|
|
247
247
|
|
|
248
|
-
[data-ui
|
|
248
|
+
[data-ui-splitter]:focus-visible {
|
|
249
249
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
250
250
|
outline-offset: calc(-1 * var(--slotted-focus-ring-offset, 2px));
|
|
251
251
|
}
|
|
@@ -259,7 +259,7 @@
|
|
|
259
259
|
* are one mark and have to move together, and `currentColor` is the one place
|
|
260
260
|
* that says so.
|
|
261
261
|
*/
|
|
262
|
-
[data-ui
|
|
262
|
+
[data-ui-splitter] > [data-part-grip] {
|
|
263
263
|
flex: none;
|
|
264
264
|
color: var(--_rest);
|
|
265
265
|
background-image: radial-gradient(circle at center, currentColor 40%, transparent 42%);
|
|
@@ -269,19 +269,19 @@
|
|
|
269
269
|
var(--slotted-control-transition-easing, var(--slotted-easing-standard));
|
|
270
270
|
}
|
|
271
271
|
|
|
272
|
-
[data-ui
|
|
272
|
+
[data-ui-splitter][data-orientation='vertical'] > [data-part-grip] {
|
|
273
273
|
inline-size: calc(2 * var(--_dot));
|
|
274
274
|
block-size: calc(3 * var(--_dot));
|
|
275
275
|
}
|
|
276
276
|
|
|
277
|
-
[data-ui
|
|
277
|
+
[data-ui-splitter][data-orientation='horizontal'] > [data-part-grip] {
|
|
278
278
|
inline-size: calc(3 * var(--_dot));
|
|
279
279
|
block-size: calc(2 * var(--_dot));
|
|
280
280
|
}
|
|
281
281
|
|
|
282
|
-
[data-ui
|
|
283
|
-
[data-ui
|
|
284
|
-
[data-ui
|
|
282
|
+
[data-ui-splitter]:not([data-disabled]):hover > [data-part-grip],
|
|
283
|
+
[data-ui-splitter]:not([data-disabled]):focus-visible > [data-part-grip],
|
|
284
|
+
[data-ui-splitter][data-dragging] > [data-part-grip] {
|
|
285
285
|
color: var(--_active);
|
|
286
286
|
}
|
|
287
287
|
|
|
@@ -290,7 +290,7 @@
|
|
|
290
290
|
* separator can still read its value — so this changes the picture and the
|
|
291
291
|
* cursor and nothing about the focus.
|
|
292
292
|
*/
|
|
293
|
-
[data-ui
|
|
293
|
+
[data-ui-splitter][data-disabled] {
|
|
294
294
|
cursor: default;
|
|
295
295
|
--_rest: var(--slotted-splitter-disabled-line-color, var(--slotted-disabled-border, GrayText));
|
|
296
296
|
}
|
|
@@ -301,23 +301,23 @@
|
|
|
301
301
|
* grip's gradient is replaced for the same reason.
|
|
302
302
|
*/
|
|
303
303
|
@media (forced-colors: active) {
|
|
304
|
-
[data-ui
|
|
304
|
+
[data-ui-splitter] > [data-part-line] {
|
|
305
305
|
background: ButtonBorder;
|
|
306
306
|
forced-color-adjust: none;
|
|
307
307
|
}
|
|
308
308
|
|
|
309
|
-
[data-ui
|
|
310
|
-
[data-ui
|
|
309
|
+
[data-ui-splitter]:not([data-disabled]):hover > [data-part-line],
|
|
310
|
+
[data-ui-splitter][data-dragging] > [data-part-line] {
|
|
311
311
|
background: ButtonText;
|
|
312
312
|
}
|
|
313
313
|
|
|
314
|
-
[data-ui
|
|
314
|
+
[data-ui-splitter] > [data-part-grip] {
|
|
315
315
|
background-image: none;
|
|
316
316
|
background-color: ButtonBorder;
|
|
317
317
|
}
|
|
318
318
|
|
|
319
|
-
[data-ui
|
|
320
|
-
[data-ui
|
|
319
|
+
[data-ui-splitter][data-disabled] > [data-part-line],
|
|
320
|
+
[data-ui-splitter][data-disabled] > [data-part-grip] {
|
|
321
321
|
background: GrayText;
|
|
322
322
|
}
|
|
323
323
|
}
|
|
@@ -328,8 +328,8 @@
|
|
|
328
328
|
* without travelling.
|
|
329
329
|
*/
|
|
330
330
|
@media (prefers-reduced-motion: reduce) {
|
|
331
|
-
[data-ui
|
|
332
|
-
[data-ui
|
|
331
|
+
[data-ui-splitter] > [data-part-line],
|
|
332
|
+
[data-ui-splitter] > [data-part-grip] {
|
|
333
333
|
transition-duration: var(--slotted-duration-instant);
|
|
334
334
|
}
|
|
335
335
|
}
|
package/src/stack/stack.css
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* base rule, so a nested layout can never inherit the separation of the one
|
|
11
11
|
* above it.
|
|
12
12
|
*/
|
|
13
|
-
[data-ui
|
|
13
|
+
[data-ui-stack] {
|
|
14
14
|
--_gap: var(--slotted-space-6, 1rem);
|
|
15
15
|
|
|
16
16
|
display: flex;
|
|
@@ -25,55 +25,55 @@
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
/* Separation is a step on the scale, never a length the consumer states. */
|
|
28
|
-
[data-ui
|
|
28
|
+
[data-ui-stack][data-gap='0'] {
|
|
29
29
|
--_gap: 0;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
[data-ui
|
|
32
|
+
[data-ui-stack][data-gap='1'] {
|
|
33
33
|
--_gap: var(--slotted-space-1, 0.125rem);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
[data-ui
|
|
36
|
+
[data-ui-stack][data-gap='2'] {
|
|
37
37
|
--_gap: var(--slotted-space-2, 0.25rem);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
[data-ui
|
|
40
|
+
[data-ui-stack][data-gap='3'] {
|
|
41
41
|
--_gap: var(--slotted-space-3, 0.375rem);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
[data-ui
|
|
44
|
+
[data-ui-stack][data-gap='4'] {
|
|
45
45
|
--_gap: var(--slotted-space-4, 0.5rem);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
[data-ui
|
|
48
|
+
[data-ui-stack][data-gap='5'] {
|
|
49
49
|
--_gap: var(--slotted-space-5, 0.75rem);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
[data-ui
|
|
52
|
+
[data-ui-stack][data-gap='6'] {
|
|
53
53
|
--_gap: var(--slotted-space-6, 1rem);
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
[data-ui
|
|
56
|
+
[data-ui-stack][data-gap='7'] {
|
|
57
57
|
--_gap: var(--slotted-space-7, 1.25rem);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
[data-ui
|
|
60
|
+
[data-ui-stack][data-gap='8'] {
|
|
61
61
|
--_gap: var(--slotted-space-8, 1.5rem);
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
[data-ui
|
|
64
|
+
[data-ui-stack][data-gap='9'] {
|
|
65
65
|
--_gap: var(--slotted-space-9, 2rem);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
[data-ui
|
|
68
|
+
[data-ui-stack][data-gap='10'] {
|
|
69
69
|
--_gap: var(--slotted-space-10, 2.5rem);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
[data-ui
|
|
72
|
+
[data-ui-stack][data-gap='11'] {
|
|
73
73
|
--_gap: var(--slotted-space-11, 3rem);
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
[data-ui
|
|
76
|
+
[data-ui-stack][data-gap='12'] {
|
|
77
77
|
--_gap: var(--slotted-space-12, 4rem);
|
|
78
78
|
}
|
|
79
79
|
|
|
@@ -82,19 +82,19 @@
|
|
|
82
82
|
* axis. The keywords are the logical ones, so a right-to-left document is the
|
|
83
83
|
* same component mirrored rather than a second stylesheet.
|
|
84
84
|
*/
|
|
85
|
-
[data-ui
|
|
85
|
+
[data-ui-stack][data-align='start'] {
|
|
86
86
|
align-items: start;
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
[data-ui
|
|
89
|
+
[data-ui-stack][data-align='center'] {
|
|
90
90
|
align-items: center;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
[data-ui
|
|
93
|
+
[data-ui-stack][data-align='end'] {
|
|
94
94
|
align-items: end;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
[data-ui
|
|
97
|
+
[data-ui-stack][data-align='stretch'] {
|
|
98
98
|
align-items: stretch;
|
|
99
99
|
}
|
|
100
100
|
|
|
@@ -102,27 +102,27 @@
|
|
|
102
102
|
* `justify` positions children along the flow, which for a stack is the block
|
|
103
103
|
* axis. It moves nothing until the stack is given a block size to distribute.
|
|
104
104
|
*/
|
|
105
|
-
[data-ui
|
|
105
|
+
[data-ui-stack][data-justify='start'] {
|
|
106
106
|
justify-content: start;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
[data-ui
|
|
109
|
+
[data-ui-stack][data-justify='center'] {
|
|
110
110
|
justify-content: center;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
[data-ui
|
|
113
|
+
[data-ui-stack][data-justify='end'] {
|
|
114
114
|
justify-content: end;
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
[data-ui
|
|
117
|
+
[data-ui-stack][data-justify='between'] {
|
|
118
118
|
justify-content: space-between;
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
[data-ui
|
|
121
|
+
[data-ui-stack][data-justify='around'] {
|
|
122
122
|
justify-content: space-around;
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
[data-ui
|
|
125
|
+
[data-ui-stack][data-justify='evenly'] {
|
|
126
126
|
justify-content: space-evenly;
|
|
127
127
|
}
|
|
128
128
|
}
|