@slotted/styles 0.1.0-beta.7 → 0.1.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/accordion/accordion.css +10 -10
- package/src/action-bar/action-bar.css +31 -32
- package/src/action-sheet/action-sheet.css +36 -36
- package/src/alert/alert.css +35 -35
- package/src/app-shell/app-shell.css +280 -299
- package/src/aspect-ratio/aspect-ratio.css +9 -9
- package/src/attachment/attachment.css +91 -99
- package/src/avatar/avatar.css +41 -41
- package/src/avatar-group/avatar-group.css +21 -22
- package/src/badge/badge.css +37 -37
- package/src/breadcrumb/breadcrumb.css +37 -37
- package/src/button/button.css +88 -69
- package/src/button-group/button-group.css +69 -73
- package/src/calendar/calendar.css +93 -103
- package/src/card/card.css +54 -61
- package/src/carousel/carousel.css +150 -161
- package/src/cascader/cascader.css +147 -151
- package/src/chart/chart.css +225 -240
- package/src/checkbox/checkbox.css +119 -124
- package/src/checkbox-group/checkbox-group.css +7 -7
- package/src/code-block/code-block.css +81 -85
- package/src/collapsible/collapsible.css +69 -76
- package/src/color-picker/color-picker.css +83 -91
- package/src/column-manager/column-manager.css +106 -114
- package/src/combobox/combobox.css +99 -101
- package/src/command-palette/command-palette.css +84 -90
- package/src/container/container.css +24 -24
- package/src/context-menu/context-menu.css +8 -8
- package/src/currency-field/currency-field.css +99 -104
- package/src/dashboard-grid/dashboard-grid.css +104 -107
- package/src/data-grid/data-grid.css +458 -456
- package/src/data-grid/data-grid.tokens.json +2 -0
- package/src/data-list/data-list.css +67 -69
- package/src/date-field/date-field.css +50 -50
- package/src/date-picker/date-picker.css +40 -42
- package/src/date-range-picker/date-range-picker.css +114 -118
- package/src/datetime-field/datetime-field.css +73 -78
- package/src/datetime-picker/datetime-picker.css +61 -63
- package/src/datetime-range-picker/datetime-range-picker.css +149 -156
- package/src/description-list/description-list.css +61 -64
- package/src/detail-panel/detail-panel.css +70 -70
- package/src/dialog/dialog.css +312 -148
- package/src/divider/divider.css +18 -18
- package/src/drawer/drawer.css +186 -209
- package/src/entity-picker/entity-picker.css +220 -239
- package/src/event-calendar/event-calendar.css +343 -385
- package/src/field/field.css +74 -78
- package/src/field-group/field-group.css +22 -25
- package/src/filter-bar/filter-bar.css +193 -209
- package/src/form/form.css +21 -24
- package/src/fullscreen/fullscreen.css +24 -25
- package/src/grid/grid.css +28 -28
- package/src/highlight/highlight.css +6 -6
- package/src/hover-card/hover-card.css +6 -6
- package/src/icon/icon.css +15 -15
- package/src/image/image.css +39 -39
- package/src/import-export-center/import-export-center.css +135 -156
- package/src/inline/inline.css +27 -27
- package/src/inline-message/inline-message.css +28 -28
- package/src/kbd/kbd.css +26 -26
- package/src/link/link.css +15 -15
- package/src/list/list.css +20 -20
- package/src/list-item/list-item.css +66 -66
- package/src/listbox/listbox.css +56 -59
- package/src/loading-overlay/loading-overlay.css +75 -92
- package/src/markdown/markdown.css +17 -17
- package/src/menu/menu.css +63 -65
- package/src/menubar/menubar.css +13 -13
- package/src/message/message.css +174 -202
- package/src/message-scroller/message-scroller.css +41 -42
- package/src/multi-select/multi-select.css +131 -137
- package/src/navigation-menu/navigation-menu.css +167 -188
- package/src/notification-center/notification-center.css +134 -148
- package/src/number-field/number-field.css +76 -81
- package/src/otp-input/otp-input.css +48 -48
- package/src/page/page.css +23 -23
- package/src/page-header/page-header.css +219 -280
- package/src/pagination/pagination.css +68 -72
- package/src/popover/popover.css +40 -49
- package/src/progress-indicator/progress-indicator.css +85 -90
- package/src/prompt-composer/prompt-composer.css +94 -99
- package/src/prose/prose.css +71 -75
- package/src/radio-group/radio-group.css +98 -103
- package/src/rating/rating.css +132 -132
- package/src/result-state/result-state.css +74 -77
- package/src/saved-views/saved-views.css +41 -47
- package/src/scroll-area/scroll-area.css +32 -35
- package/src/section/section.css +16 -16
- package/src/segmented-control/segmented-control.css +77 -79
- package/src/select/select.css +113 -115
- package/src/side-navigation/side-navigation.css +170 -180
- package/src/skeleton/skeleton.css +47 -48
- package/src/slider/slider.css +86 -88
- package/src/sparkline/sparkline.css +32 -32
- package/src/spinner/spinner.css +4 -4
- package/src/split-button/split-button.css +26 -31
- package/src/splitter/splitter.css +35 -35
- package/src/stack/stack.css +24 -24
- package/src/stat-card/stat-card.css +102 -103
- package/src/status-indicator/status-indicator.css +28 -28
- package/src/stepper/stepper.css +58 -62
- package/src/switch/switch.css +86 -92
- package/src/table/table.css +189 -198
- package/src/table-of-contents/table-of-contents.css +51 -54
- package/src/tabs/tabs.css +157 -172
- package/src/tag/tag.css +67 -71
- package/src/tags-input/tags-input.css +124 -74
- package/src/tags-input/tags-input.tokens.json +6 -1
- package/src/text-field/text-field.css +108 -126
- package/src/textarea/textarea.css +26 -26
- package/src/time-field/time-field.css +67 -67
- package/src/time-picker/time-picker.css +56 -58
- package/src/time-range-picker/time-range-picker.css +126 -133
- package/src/timeline/timeline.css +244 -266
- package/src/toast/toast.css +81 -90
- package/src/toggle/toggle.css +29 -33
- package/src/toggle-group/toggle-group.css +67 -71
- package/src/toolbar/toolbar.css +30 -35
- package/src/tooltip/tooltip.css +26 -26
- package/src/top-navigation/top-navigation.css +243 -259
- package/src/tour/tour.css +51 -60
- package/src/transfer/transfer.css +160 -164
- package/src/tree/tree.css +103 -111
- package/src/typography/typography.css +36 -36
- package/src/upload/upload.css +224 -224
- package/src/visually-hidden/visually-hidden.css +1 -1
- package/src/wizard/wizard.css +185 -197
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* are the composer inside a form — a comment, a reply — and keep the
|
|
15
15
|
* geometry of a one-line control.
|
|
16
16
|
*/
|
|
17
|
-
[data-ui
|
|
17
|
+
[data-ui-prompt-composer][data-part-root] {
|
|
18
18
|
--_font-size: var(--slotted-control-font-size-md, 13px);
|
|
19
19
|
--_height: var(--slotted-control-height-md, 34px);
|
|
20
20
|
--_icon-size: var(--slotted-control-icon-size-md, 16px);
|
|
@@ -82,14 +82,14 @@
|
|
|
82
82
|
outline-color var(--slotted-duration-medium) var(--slotted-easing-standard);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
[data-ui
|
|
85
|
+
[data-ui-prompt-composer][data-part-root][data-size='sm'] {
|
|
86
86
|
--_font-size: var(--slotted-control-font-size-sm, 12px);
|
|
87
87
|
--_height: var(--slotted-control-height-sm, 30px);
|
|
88
88
|
--_icon-size: var(--slotted-control-icon-size-sm, 14px);
|
|
89
89
|
--_inner-size: var(--slotted-control-inner-size-sm, 22px);
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
[data-ui
|
|
92
|
+
[data-ui-prompt-composer][data-part-root][data-size='lg'] {
|
|
93
93
|
--_font-size: var(--slotted-control-font-size-lg, 14px);
|
|
94
94
|
--_height: var(--slotted-control-height-lg, 38px);
|
|
95
95
|
--_icon-size: var(--slotted-control-icon-size-lg, 18px);
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
* card's corner, and a card's corner around a round send draws two curves
|
|
111
111
|
* that do not agree.
|
|
112
112
|
*/
|
|
113
|
-
[data-ui
|
|
113
|
+
[data-ui-prompt-composer][data-part-root][data-variant='raised'] {
|
|
114
114
|
--_button: calc(var(--_inner-size) + var(--slotted-space-2, 0.25rem));
|
|
115
115
|
--_inset: var(--slotted-space-4, 0.5rem);
|
|
116
116
|
--_padding-block: calc(var(--_inset) + var(--slotted-space-2, 0.25rem));
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
);
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
[data-ui
|
|
126
|
+
[data-ui-prompt-composer][data-part-root][data-variant='subtle'] {
|
|
127
127
|
background-color: var(
|
|
128
128
|
--slotted-prompt-composer-subtle-background,
|
|
129
129
|
var(--slotted-surface-sunken, Canvas)
|
|
@@ -141,7 +141,7 @@
|
|
|
141
141
|
* script measures a line. The band below stays where the reader's thumb
|
|
142
142
|
* expects it.
|
|
143
143
|
*/
|
|
144
|
-
[data-ui
|
|
144
|
+
[data-ui-prompt-composer] > [data-part-input] {
|
|
145
145
|
appearance: none;
|
|
146
146
|
background: transparent;
|
|
147
147
|
border: 0;
|
|
@@ -171,11 +171,11 @@
|
|
|
171
171
|
unicode-bidi: plaintext;
|
|
172
172
|
}
|
|
173
173
|
|
|
174
|
-
[data-ui
|
|
174
|
+
[data-ui-prompt-composer] > [data-part-input]::placeholder {
|
|
175
175
|
color: var(--slotted-prompt-composer-placeholder-color, var(--slotted-text-muted, GrayText));
|
|
176
176
|
}
|
|
177
177
|
|
|
178
|
-
[data-ui
|
|
178
|
+
[data-ui-prompt-composer] > [data-part-input]::selection {
|
|
179
179
|
background-color: var(
|
|
180
180
|
--slotted-prompt-composer-selection-background,
|
|
181
181
|
var(--slotted-tone-accent-surface, Highlight)
|
|
@@ -183,14 +183,13 @@
|
|
|
183
183
|
}
|
|
184
184
|
|
|
185
185
|
/* A band above the value gives it back the block padding it already has. */
|
|
186
|
-
[data-ui
|
|
186
|
+
[data-ui-prompt-composer] > [data-part-header] + [data-part-input] {
|
|
187
187
|
padding-block-start: var(--_inset);
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
/* The band below sits on the last line: the value keeps its own air above
|
|
191
191
|
the text and hands the air below it to the band's inset. */
|
|
192
|
-
[data-ui
|
|
193
|
-
> [data-part='input']:has(+ [data-part='footer']) {
|
|
192
|
+
[data-ui-prompt-composer][data-variant='raised'] > [data-part-input]:has(+ [data-part-footer]) {
|
|
194
193
|
padding-block-end: var(--slotted-space-2, 0.25rem);
|
|
195
194
|
}
|
|
196
195
|
|
|
@@ -201,7 +200,7 @@
|
|
|
201
200
|
* does not: the send stays on the line, and a narrow composer gives up the
|
|
202
201
|
* space between the tools first.
|
|
203
202
|
*/
|
|
204
|
-
[data-ui
|
|
203
|
+
[data-ui-prompt-composer] > :is([data-part-header], [data-part-footer]) {
|
|
205
204
|
--slotted-icon-size: var(--_icon-size);
|
|
206
205
|
--slotted-control-inner-size: var(--_button);
|
|
207
206
|
|
|
@@ -212,19 +211,19 @@
|
|
|
212
211
|
padding: var(--_inset);
|
|
213
212
|
}
|
|
214
213
|
|
|
215
|
-
[data-ui
|
|
214
|
+
[data-ui-prompt-composer] > [data-part-header] {
|
|
216
215
|
flex-wrap: wrap;
|
|
217
216
|
padding-block-end: 0;
|
|
218
217
|
}
|
|
219
218
|
|
|
220
219
|
/* A strip of attachments is the width the band has and scrolls inside it;
|
|
221
220
|
a flex item otherwise keeps its content's width and crosses the frame. */
|
|
222
|
-
[data-ui
|
|
221
|
+
[data-ui-prompt-composer] > [data-part-header] > * {
|
|
223
222
|
max-inline-size: 100%;
|
|
224
223
|
min-inline-size: 0;
|
|
225
224
|
}
|
|
226
225
|
|
|
227
|
-
[data-ui
|
|
226
|
+
[data-ui-prompt-composer] > [data-part-footer] {
|
|
228
227
|
flex-wrap: nowrap;
|
|
229
228
|
padding-block-start: 0;
|
|
230
229
|
}
|
|
@@ -237,9 +236,9 @@
|
|
|
237
236
|
* padded when named by their own words, the rule `text-field` set; round
|
|
238
237
|
* in the chat composer, a pill when they carry words.
|
|
239
238
|
*/
|
|
240
|
-
[data-ui
|
|
241
|
-
> :is([data-part
|
|
242
|
-
> :is([data-part
|
|
239
|
+
[data-ui-prompt-composer]
|
|
240
|
+
> :is([data-part-header], [data-part-footer])
|
|
241
|
+
> :is([data-part-action], [data-part-attach]) {
|
|
243
242
|
align-items: center;
|
|
244
243
|
appearance: none;
|
|
245
244
|
background-color: transparent;
|
|
@@ -266,9 +265,9 @@
|
|
|
266
265
|
-webkit-tap-highlight-color: transparent;
|
|
267
266
|
}
|
|
268
267
|
|
|
269
|
-
[data-ui
|
|
270
|
-
> :is([data-part
|
|
271
|
-
> [data-part
|
|
268
|
+
[data-ui-prompt-composer]
|
|
269
|
+
> :is([data-part-header], [data-part-footer])
|
|
270
|
+
> [data-part-action]:not([aria-label], [aria-labelledby]) {
|
|
272
271
|
color: var(--slotted-prompt-composer-action-label-color, var(--slotted-text, CanvasText));
|
|
273
272
|
font-weight: var(--slotted-font-weight-medium, 500);
|
|
274
273
|
padding-inline: var(--slotted-space-3, 0.375rem);
|
|
@@ -286,9 +285,9 @@
|
|
|
286
285
|
* translate puts its centre at `(1cap + 1ex) / 4` above the baseline — the
|
|
287
286
|
* midpoint of the capitals' and the lowercase letters' own centres.
|
|
288
287
|
*/
|
|
289
|
-
[data-ui
|
|
290
|
-
> :is([data-part
|
|
291
|
-
> [data-part
|
|
288
|
+
[data-ui-prompt-composer]
|
|
289
|
+
> :is([data-part-header], [data-part-footer])
|
|
290
|
+
> [data-part-action]:not([aria-label], [aria-labelledby]) {
|
|
292
291
|
align-content: center;
|
|
293
292
|
align-items: baseline;
|
|
294
293
|
display: inline-grid;
|
|
@@ -296,64 +295,64 @@
|
|
|
296
295
|
justify-content: center;
|
|
297
296
|
}
|
|
298
297
|
|
|
299
|
-
[data-ui
|
|
300
|
-
> :is([data-part
|
|
301
|
-
> [data-part
|
|
302
|
-
> [data-ui
|
|
298
|
+
[data-ui-prompt-composer]
|
|
299
|
+
> :is([data-part-header], [data-part-footer])
|
|
300
|
+
> [data-part-action]:not([aria-label], [aria-labelledby])
|
|
301
|
+
> [data-ui-icon] {
|
|
303
302
|
margin-block-start: calc((1cap + 1ex) / 4 - var(--_icon-size) / 2);
|
|
304
303
|
translate: 0 calc(var(--_icon-size) / 2 - (1cap + 1ex) / 4);
|
|
305
304
|
}
|
|
306
305
|
|
|
307
306
|
/* A pill carries its words a step further from its round ends. */
|
|
308
|
-
[data-ui
|
|
309
|
-
> :is([data-part
|
|
310
|
-
> [data-part
|
|
307
|
+
[data-ui-prompt-composer][data-variant='raised']
|
|
308
|
+
> :is([data-part-header], [data-part-footer])
|
|
309
|
+
> [data-part-action]:not([aria-label], [aria-labelledby]) {
|
|
311
310
|
padding-inline: var(--slotted-space-4, 0.5rem);
|
|
312
311
|
}
|
|
313
312
|
|
|
314
313
|
/* The target, recovered outside the paint: 24 pixels on a mouse, 44 on a
|
|
315
314
|
finger, and never across the edge two buttons share. */
|
|
316
|
-
[data-ui
|
|
317
|
-
> :is([data-part
|
|
318
|
-
> :is([data-part
|
|
315
|
+
[data-ui-prompt-composer]
|
|
316
|
+
> :is([data-part-header], [data-part-footer])
|
|
317
|
+
> :is([data-part-action], [data-part-attach], [data-part-submit])::after {
|
|
319
318
|
content: '';
|
|
320
319
|
inset: min(0px, calc((100% - var(--slotted-target-min, 24px)) / 2));
|
|
321
320
|
position: absolute;
|
|
322
321
|
}
|
|
323
322
|
|
|
324
323
|
@media (pointer: coarse) {
|
|
325
|
-
[data-ui
|
|
326
|
-
> :is([data-part
|
|
327
|
-
> :is([data-part
|
|
324
|
+
[data-ui-prompt-composer]
|
|
325
|
+
> :is([data-part-header], [data-part-footer])
|
|
326
|
+
> :is([data-part-action], [data-part-attach], [data-part-submit])::after {
|
|
328
327
|
inset: min(0px, calc((100% - var(--slotted-target-comfortable, 44px)) / 2));
|
|
329
328
|
}
|
|
330
329
|
|
|
331
|
-
[data-ui
|
|
332
|
-
> :is([data-part
|
|
333
|
-
> :is([data-part
|
|
330
|
+
[data-ui-prompt-composer]
|
|
331
|
+
> :is([data-part-header], [data-part-footer])
|
|
332
|
+
> :is([data-part-action], [data-part-attach]):has(+ *)::after {
|
|
334
333
|
inset-inline-end: 0;
|
|
335
334
|
}
|
|
336
335
|
|
|
337
|
-
[data-ui
|
|
338
|
-
> :is([data-part
|
|
336
|
+
[data-ui-prompt-composer]
|
|
337
|
+
> :is([data-part-header], [data-part-footer])
|
|
339
338
|
> *
|
|
340
|
-
+ :is([data-part
|
|
339
|
+
+ :is([data-part-action], [data-part-attach], [data-part-submit])::after {
|
|
341
340
|
inset-inline-start: 0;
|
|
342
341
|
}
|
|
343
342
|
}
|
|
344
343
|
|
|
345
|
-
[data-ui
|
|
346
|
-
> :is([data-part
|
|
347
|
-
> :is([data-part
|
|
344
|
+
[data-ui-prompt-composer]
|
|
345
|
+
> :is([data-part-header], [data-part-footer])
|
|
346
|
+
> :is([data-part-action], [data-part-attach]):hover:not(:disabled, [aria-expanded='true']) {
|
|
348
347
|
background-color: var(
|
|
349
348
|
--slotted-prompt-composer-action-hover-background,
|
|
350
349
|
var(--slotted-tone-secondary-subtle-hover)
|
|
351
350
|
);
|
|
352
351
|
}
|
|
353
352
|
|
|
354
|
-
[data-ui
|
|
355
|
-
> :is([data-part
|
|
356
|
-
> :is([data-part
|
|
353
|
+
[data-ui-prompt-composer]
|
|
354
|
+
> :is([data-part-header], [data-part-footer])
|
|
355
|
+
> :is([data-part-action], [data-part-attach]):is(:active, [aria-expanded='true']):not(
|
|
357
356
|
:disabled
|
|
358
357
|
) {
|
|
359
358
|
background-color: var(
|
|
@@ -362,9 +361,9 @@
|
|
|
362
361
|
);
|
|
363
362
|
}
|
|
364
363
|
|
|
365
|
-
[data-ui
|
|
366
|
-
> :is([data-part
|
|
367
|
-
> :is([data-part
|
|
364
|
+
[data-ui-prompt-composer]
|
|
365
|
+
> :is([data-part-header], [data-part-footer])
|
|
366
|
+
> :is([data-part-action], [data-part-attach]):disabled {
|
|
368
367
|
color: var(--slotted-disabled-foreground);
|
|
369
368
|
cursor: not-allowed;
|
|
370
369
|
}
|
|
@@ -377,7 +376,7 @@
|
|
|
377
376
|
* The mark and the ring share one grid cell, so the stop square stands in
|
|
378
377
|
* the middle of the ring that says an answer is still arriving.
|
|
379
378
|
*/
|
|
380
|
-
[data-ui
|
|
379
|
+
[data-ui-prompt-composer] > [data-part-footer] > [data-part-submit] {
|
|
381
380
|
/* Alone, the ring is the glyph's size and stands where the arrow stood;
|
|
382
381
|
around the stop square it grows to the disc (below). */
|
|
383
382
|
--slotted-spinner-size: var(--_icon-size);
|
|
@@ -412,15 +411,15 @@
|
|
|
412
411
|
-webkit-tap-highlight-color: transparent;
|
|
413
412
|
}
|
|
414
413
|
|
|
415
|
-
[data-ui
|
|
414
|
+
[data-ui-prompt-composer] > [data-part-footer] > [data-part-submit] > * {
|
|
416
415
|
grid-area: 1 / 1;
|
|
417
416
|
}
|
|
418
417
|
|
|
419
418
|
/* Named by its own word — Comentar, Publicar — the send is a padded pill at
|
|
420
419
|
the same height; named by aria-label it is the round mark. */
|
|
421
|
-
[data-ui
|
|
422
|
-
> [data-part
|
|
423
|
-
> [data-part
|
|
420
|
+
[data-ui-prompt-composer]
|
|
421
|
+
> [data-part-footer]
|
|
422
|
+
> [data-part-submit]:not([aria-label], [aria-labelledby]) {
|
|
424
423
|
border-radius: var(--_action-radius);
|
|
425
424
|
font: inherit;
|
|
426
425
|
font-weight: var(--slotted-font-weight-medium, 500);
|
|
@@ -429,7 +428,7 @@
|
|
|
429
428
|
padding-inline: var(--slotted-space-5, 0.75rem);
|
|
430
429
|
}
|
|
431
430
|
|
|
432
|
-
[data-ui
|
|
431
|
+
[data-ui-prompt-composer] > [data-part-footer] > [data-part-submit]:hover:not(:disabled) {
|
|
433
432
|
background-color: var(
|
|
434
433
|
--slotted-prompt-composer-submit-hover-background,
|
|
435
434
|
var(--slotted-tone-accent-solid-hover, Highlight)
|
|
@@ -441,16 +440,16 @@
|
|
|
441
440
|
* the button going in; the ground darkens a further step. A padded send
|
|
442
441
|
* holds its words, so it takes the ground alone (R7).
|
|
443
442
|
*/
|
|
444
|
-
[data-ui
|
|
443
|
+
[data-ui-prompt-composer] > [data-part-footer] > [data-part-submit]:active:not(:disabled) {
|
|
445
444
|
background-color: var(
|
|
446
445
|
--slotted-prompt-composer-submit-active-background,
|
|
447
446
|
var(--slotted-tone-accent-solid-active, Highlight)
|
|
448
447
|
);
|
|
449
448
|
}
|
|
450
449
|
|
|
451
|
-
[data-ui
|
|
452
|
-
> [data-part
|
|
453
|
-
> [data-part
|
|
450
|
+
[data-ui-prompt-composer]
|
|
451
|
+
> [data-part-footer]
|
|
452
|
+
> [data-part-submit]:is([aria-label], [aria-labelledby]):active:not(:disabled) {
|
|
454
453
|
scale: 0.9;
|
|
455
454
|
}
|
|
456
455
|
|
|
@@ -459,23 +458,23 @@
|
|
|
459
458
|
* over it: a hint of the movement the press will start, and nothing else
|
|
460
459
|
* in the frame moves.
|
|
461
460
|
*/
|
|
462
|
-
[data-ui
|
|
463
|
-
> [data-part
|
|
464
|
-
> [data-part
|
|
465
|
-
> [data-ui
|
|
461
|
+
[data-ui-prompt-composer]
|
|
462
|
+
> [data-part-footer]
|
|
463
|
+
> [data-part-submit]
|
|
464
|
+
> [data-ui-icon]:has([data-glyph='arrow-up']) {
|
|
466
465
|
transition: translate var(--slotted-duration-short) var(--slotted-easing-standard);
|
|
467
466
|
}
|
|
468
467
|
|
|
469
|
-
[data-ui
|
|
470
|
-
> [data-part
|
|
471
|
-
> [data-part
|
|
472
|
-
> [data-ui
|
|
468
|
+
[data-ui-prompt-composer]
|
|
469
|
+
> [data-part-footer]
|
|
470
|
+
> [data-part-submit]:hover:not(:disabled)
|
|
471
|
+
> [data-ui-icon]:has([data-glyph='arrow-up']) {
|
|
473
472
|
translate: 0 calc(var(--slotted-border-width-thin, 1px) * -1);
|
|
474
473
|
}
|
|
475
474
|
|
|
476
475
|
/* Nothing to send: a quiet disc in the disabled ground, the arrow still
|
|
477
476
|
legible, so the reader sees where the send will be before it wakes. */
|
|
478
|
-
[data-ui
|
|
477
|
+
[data-ui-prompt-composer] > [data-part-footer] > [data-part-submit]:disabled {
|
|
479
478
|
background-color: var(
|
|
480
479
|
--slotted-prompt-composer-submit-disabled-background,
|
|
481
480
|
var(--slotted-disabled-background)
|
|
@@ -486,9 +485,7 @@
|
|
|
486
485
|
|
|
487
486
|
/* While the request travels the button is busy, not unavailable: the ring
|
|
488
487
|
stands where the arrow stood and the ground keeps the accent. */
|
|
489
|
-
[data-ui
|
|
490
|
-
> [data-part='footer']
|
|
491
|
-
> [data-part='submit'] {
|
|
488
|
+
[data-ui-prompt-composer][data-status='submitted'] > [data-part-footer] > [data-part-submit] {
|
|
492
489
|
background-color: var(
|
|
493
490
|
--slotted-prompt-composer-submit-background,
|
|
494
491
|
var(--slotted-tone-accent-solid, Highlight)
|
|
@@ -502,9 +499,7 @@
|
|
|
502
499
|
|
|
503
500
|
/* The ring around the stop square is drawn inside the disc, a stroke in
|
|
504
501
|
from its edge, so the disc keeps its outline. */
|
|
505
|
-
[data-ui
|
|
506
|
-
> [data-part='footer']
|
|
507
|
-
> [data-part='submit'] {
|
|
502
|
+
[data-ui-prompt-composer][data-status='streaming'] > [data-part-footer] > [data-part-submit] {
|
|
508
503
|
--slotted-spinner-size: calc(var(--_button) - 2 * var(--slotted-space-1, 2px));
|
|
509
504
|
--slotted-icon-size: calc(var(--_icon-size) * 3 / 4);
|
|
510
505
|
}
|
|
@@ -515,10 +510,10 @@
|
|
|
515
510
|
* transparent, on the entering curve. The old mark is gone in the same
|
|
516
511
|
* frame.
|
|
517
512
|
*/
|
|
518
|
-
[data-ui
|
|
519
|
-
> [data-part
|
|
520
|
-
> [data-part
|
|
521
|
-
> :is([data-ui
|
|
513
|
+
[data-ui-prompt-composer]
|
|
514
|
+
> [data-part-footer]
|
|
515
|
+
> [data-part-submit]
|
|
516
|
+
> :is([data-ui-icon], [data-ui-spinner]) {
|
|
522
517
|
transition:
|
|
523
518
|
opacity var(--slotted-duration-short) var(--slotted-easing-enter),
|
|
524
519
|
scale var(--slotted-duration-short) var(--slotted-easing-enter),
|
|
@@ -526,10 +521,10 @@
|
|
|
526
521
|
}
|
|
527
522
|
|
|
528
523
|
@starting-style {
|
|
529
|
-
[data-ui
|
|
530
|
-
> [data-part
|
|
531
|
-
> [data-part
|
|
532
|
-
> :is([data-ui
|
|
524
|
+
[data-ui-prompt-composer]
|
|
525
|
+
> [data-part-footer]
|
|
526
|
+
> [data-part-submit]
|
|
527
|
+
> :is([data-ui-icon], [data-ui-spinner]) {
|
|
533
528
|
opacity: 0;
|
|
534
529
|
scale: 0.8;
|
|
535
530
|
}
|
|
@@ -539,21 +534,21 @@
|
|
|
539
534
|
inner control does: four pixels from the frame, an outward ring would
|
|
540
535
|
land on the frame's edge. The solid send keeps it outside, where the
|
|
541
536
|
ring stands against the frame's ground rather than against the accent. */
|
|
542
|
-
[data-ui
|
|
543
|
-
> :is([data-part
|
|
544
|
-
> :is([data-part
|
|
537
|
+
[data-ui-prompt-composer]
|
|
538
|
+
> :is([data-part-header], [data-part-footer])
|
|
539
|
+
> :is([data-part-action], [data-part-attach]):focus-visible {
|
|
545
540
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
546
541
|
outline-offset: calc(var(--slotted-focus-ring-offset, 2px) * -1);
|
|
547
542
|
}
|
|
548
543
|
|
|
549
|
-
[data-ui
|
|
544
|
+
[data-ui-prompt-composer] > [data-part-footer] > [data-part-submit]:focus-visible {
|
|
550
545
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
551
546
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
552
547
|
}
|
|
553
548
|
|
|
554
549
|
/* ── States of the frame ─────────────────────────────────────────────── */
|
|
555
550
|
|
|
556
|
-
[data-ui
|
|
551
|
+
[data-ui-prompt-composer][data-part-root]:hover:not([data-disabled]):not([data-readonly]):not(
|
|
557
552
|
[data-invalid]
|
|
558
553
|
):not([data-drop-target]) {
|
|
559
554
|
border-color: var(
|
|
@@ -569,7 +564,7 @@
|
|
|
569
564
|
* the theme's large shadow, because a surface that is being written on
|
|
570
565
|
* comes forward.
|
|
571
566
|
*/
|
|
572
|
-
[data-ui
|
|
567
|
+
[data-ui-prompt-composer][data-part-root]:has(> [data-part-input]:focus-visible) {
|
|
573
568
|
box-shadow: var(--_lift-focus);
|
|
574
569
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
575
570
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
@@ -583,11 +578,11 @@
|
|
|
583
578
|
* moment. The dashed edge is a pseudo-element rather than an outline: the
|
|
584
579
|
* outline is the focus ring's, and the two can be on at once.
|
|
585
580
|
*/
|
|
586
|
-
[data-ui
|
|
581
|
+
[data-ui-prompt-composer][data-part-root] {
|
|
587
582
|
position: relative;
|
|
588
583
|
}
|
|
589
584
|
|
|
590
|
-
[data-ui
|
|
585
|
+
[data-ui-prompt-composer][data-part-root]::before {
|
|
591
586
|
/* Unthemed, the dashed edge disappears rather than shouting in a system
|
|
592
587
|
colour; the wash and the frame's edge still say where the drop lands. */
|
|
593
588
|
border: var(--slotted-border-width-medium, 1.5px) dashed
|
|
@@ -606,12 +601,12 @@
|
|
|
606
601
|
transition: opacity var(--slotted-duration-short) var(--slotted-easing-exit);
|
|
607
602
|
}
|
|
608
603
|
|
|
609
|
-
[data-ui
|
|
604
|
+
[data-ui-prompt-composer][data-part-root][data-drop-target]::before {
|
|
610
605
|
opacity: 1;
|
|
611
606
|
transition-timing-function: var(--slotted-easing-enter);
|
|
612
607
|
}
|
|
613
608
|
|
|
614
|
-
[data-ui
|
|
609
|
+
[data-ui-prompt-composer][data-part-root][data-drop-target] {
|
|
615
610
|
background-color: var(
|
|
616
611
|
--slotted-prompt-composer-drop-background,
|
|
617
612
|
var(--slotted-tone-accent-surface, Canvas)
|
|
@@ -622,7 +617,7 @@
|
|
|
622
617
|
);
|
|
623
618
|
}
|
|
624
619
|
|
|
625
|
-
[data-ui
|
|
620
|
+
[data-ui-prompt-composer][data-part-root][data-invalid] {
|
|
626
621
|
--slotted-focus-ring-color: var(
|
|
627
622
|
--slotted-prompt-composer-invalid-focus-ring-color,
|
|
628
623
|
var(--slotted-focus-ring-color-invalid, Highlight)
|
|
@@ -646,7 +641,7 @@
|
|
|
646
641
|
* the large one in `raised` — and forced colours, which remove shadows, keep
|
|
647
642
|
* a border. Nothing moves: the box is out of flow.
|
|
648
643
|
*/
|
|
649
|
-
[data-ui
|
|
644
|
+
[data-ui-prompt-composer][data-part-root][data-invalid]::after {
|
|
650
645
|
border: var(--_invalid-edge-width) solid
|
|
651
646
|
var(--slotted-prompt-composer-invalid-border-color, var(--slotted-tone-danger-border));
|
|
652
647
|
border-radius: max(0px, calc(var(--_radius) - var(--slotted-control-border-width, 1px)));
|
|
@@ -656,7 +651,7 @@
|
|
|
656
651
|
position: absolute;
|
|
657
652
|
}
|
|
658
653
|
|
|
659
|
-
[data-ui
|
|
654
|
+
[data-ui-prompt-composer][data-part-root][data-readonly] {
|
|
660
655
|
background-color: var(
|
|
661
656
|
--slotted-prompt-composer-readonly-background,
|
|
662
657
|
var(--slotted-tone-secondary-subtle-hover)
|
|
@@ -664,7 +659,7 @@
|
|
|
664
659
|
cursor: default;
|
|
665
660
|
}
|
|
666
661
|
|
|
667
|
-
[data-ui
|
|
662
|
+
[data-ui-prompt-composer][data-part-root][data-disabled] {
|
|
668
663
|
background-color: var(
|
|
669
664
|
--slotted-prompt-composer-disabled-background,
|
|
670
665
|
var(--slotted-disabled-background)
|