@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.
Files changed (180) hide show
  1. package/package.json +1 -1
  2. package/src/accordion/accordion.css +10 -10
  3. package/src/action-bar/action-bar.css +35 -42
  4. package/src/action-sheet/action-sheet.css +36 -36
  5. package/src/alert/alert.css +43 -35
  6. package/src/alert/alert.tokens.json +5 -0
  7. package/src/app-shell/app-shell.css +356 -301
  8. package/src/aspect-ratio/aspect-ratio.css +9 -9
  9. package/src/attachment/attachment.css +91 -99
  10. package/src/avatar/avatar.css +71 -41
  11. package/src/avatar/avatar.tokens.json +7 -0
  12. package/src/avatar-group/avatar-group.css +21 -22
  13. package/src/badge/badge.css +45 -37
  14. package/src/badge/badge.tokens.json +5 -0
  15. package/src/breadcrumb/breadcrumb.css +37 -37
  16. package/src/button/button.css +149 -68
  17. package/src/button/button.tokens.json +10 -0
  18. package/src/button-group/button-group.css +79 -74
  19. package/src/button-group/button-group.tokens.json +2 -0
  20. package/src/calendar/calendar.css +93 -103
  21. package/src/card/card.css +54 -61
  22. package/src/carousel/carousel.css +150 -161
  23. package/src/cascader/cascader.css +152 -153
  24. package/src/cascader/cascader.tokens.json +1 -0
  25. package/src/chart/chart.css +242 -239
  26. package/src/chart/chart.tokens.json +1 -0
  27. package/src/checkbox/checkbox.css +119 -124
  28. package/src/checkbox-group/checkbox-group.css +7 -7
  29. package/src/code-block/code-block.css +81 -85
  30. package/src/collapsible/collapsible.css +69 -76
  31. package/src/color-picker/color-picker.css +83 -91
  32. package/src/column-manager/column-manager.css +106 -114
  33. package/src/combobox/combobox.css +132 -107
  34. package/src/combobox/combobox.tokens.json +1 -0
  35. package/src/command-palette/command-palette.css +103 -90
  36. package/src/command-palette/command-palette.tokens.json +1 -0
  37. package/src/container/container.css +24 -24
  38. package/src/context-menu/context-menu.css +8 -8
  39. package/src/currency-field/currency-field.css +210 -88
  40. package/src/currency-field/currency-field.tokens.json +13 -0
  41. package/src/dashboard-grid/dashboard-grid.css +148 -116
  42. package/src/data-grid/data-grid.css +535 -470
  43. package/src/data-grid/data-grid.tokens.json +4 -0
  44. package/src/data-list/data-list.css +81 -70
  45. package/src/data-list/data-list.tokens.json +2 -1
  46. package/src/date-field/date-field.css +55 -52
  47. package/src/date-field/date-field.tokens.json +1 -0
  48. package/src/date-picker/date-picker.css +40 -42
  49. package/src/date-range-picker/date-range-picker.css +114 -118
  50. package/src/datetime-field/datetime-field.css +78 -80
  51. package/src/datetime-field/datetime-field.tokens.json +1 -0
  52. package/src/datetime-picker/datetime-picker.css +61 -63
  53. package/src/datetime-range-picker/datetime-range-picker.css +149 -156
  54. package/src/description-list/description-list.css +61 -64
  55. package/src/detail-panel/detail-panel.css +86 -71
  56. package/src/detail-panel/detail-panel.tokens.json +2 -0
  57. package/src/dialog/dialog.css +372 -153
  58. package/src/dialog/dialog.tokens.json +6 -0
  59. package/src/divider/divider.css +18 -18
  60. package/src/drawer/drawer.css +205 -210
  61. package/src/drawer/drawer.tokens.json +1 -0
  62. package/src/entity-picker/entity-picker.css +238 -241
  63. package/src/entity-picker/entity-picker.tokens.json +1 -0
  64. package/src/event-calendar/event-calendar.css +343 -385
  65. package/src/field/field.css +74 -78
  66. package/src/field-group/field-group.css +22 -25
  67. package/src/filter-bar/filter-bar.css +193 -209
  68. package/src/form/form.css +34 -24
  69. package/src/form/form.tokens.json +1 -0
  70. package/src/fullscreen/fullscreen.css +24 -25
  71. package/src/grid/grid.css +28 -28
  72. package/src/highlight/highlight.css +6 -6
  73. package/src/hover-card/hover-card.css +6 -6
  74. package/src/icon/icon.css +19 -15
  75. package/src/icon/icon.tokens.json +1 -0
  76. package/src/image/image.css +39 -39
  77. package/src/import-export-center/import-export-center.css +135 -156
  78. package/src/inline/inline.css +27 -27
  79. package/src/inline-message/inline-message.css +52 -28
  80. package/src/inline-message/inline-message.tokens.json +4 -0
  81. package/src/kbd/kbd.css +30 -26
  82. package/src/link/link.css +15 -15
  83. package/src/list/list.css +44 -17
  84. package/src/list/list.tokens.json +4 -0
  85. package/src/list-item/list-item.css +80 -66
  86. package/src/list-item/list-item.tokens.json +7 -0
  87. package/src/listbox/listbox.css +56 -59
  88. package/src/loading-overlay/loading-overlay.css +75 -92
  89. package/src/markdown/markdown.css +17 -17
  90. package/src/menu/menu.css +83 -63
  91. package/src/menubar/menubar.css +13 -13
  92. package/src/message/message.css +182 -202
  93. package/src/message/message.tokens.json +5 -0
  94. package/src/message-scroller/message-scroller.css +41 -42
  95. package/src/multi-select/multi-select.css +152 -145
  96. package/src/multi-select/multi-select.tokens.json +1 -0
  97. package/src/navigation-menu/navigation-menu.css +167 -188
  98. package/src/notification-center/notification-center.css +140 -148
  99. package/src/notification-center/notification-center.tokens.json +3 -0
  100. package/src/number-field/number-field.css +84 -83
  101. package/src/number-field/number-field.tokens.json +1 -0
  102. package/src/otp-input/otp-input.css +67 -57
  103. package/src/otp-input/otp-input.tokens.json +1 -0
  104. package/src/page/page.css +39 -23
  105. package/src/page/page.tokens.json +1 -0
  106. package/src/page-header/page-header.css +323 -283
  107. package/src/page-header/page-header.tokens.json +5 -0
  108. package/src/pagination/pagination.css +68 -72
  109. package/src/popover/popover.css +40 -49
  110. package/src/progress-indicator/progress-indicator.css +177 -120
  111. package/src/progress-indicator/progress-indicator.tokens.json +1 -1
  112. package/src/prompt-composer/prompt-composer.css +221 -102
  113. package/src/prompt-composer/prompt-composer.tokens.json +15 -0
  114. package/src/prose/prose.css +71 -75
  115. package/src/radio-group/radio-group.css +98 -103
  116. package/src/rating/rating.css +136 -132
  117. package/src/rating/rating.tokens.json +1 -0
  118. package/src/result-state/result-state.css +74 -77
  119. package/src/runtime-properties.mjs +2 -0
  120. package/src/saved-views/saved-views.css +41 -47
  121. package/src/scroll-area/scroll-area.css +39 -32
  122. package/src/section/section.css +161 -41
  123. package/src/section/section.tokens.json +7 -2
  124. package/src/segmented-control/segmented-control.css +254 -97
  125. package/src/segmented-control/segmented-control.tokens.json +15 -11
  126. package/src/select/select.css +118 -117
  127. package/src/select/select.tokens.json +1 -0
  128. package/src/side-navigation/side-navigation.css +179 -182
  129. package/src/side-navigation/side-navigation.tokens.json +1 -0
  130. package/src/skeleton/skeleton.css +47 -48
  131. package/src/slider/slider.css +86 -88
  132. package/src/sparkline/sparkline.css +62 -40
  133. package/src/sparkline/sparkline.tokens.json +2 -0
  134. package/src/spinner/spinner.css +83 -180
  135. package/src/spinner/spinner.tokens.json +0 -1
  136. package/src/split-button/split-button.css +30 -31
  137. package/src/split-button/split-button.tokens.json +1 -0
  138. package/src/splitter/splitter.css +35 -35
  139. package/src/stack/stack.css +24 -24
  140. package/src/stat-card/stat-card.css +341 -224
  141. package/src/stat-card/stat-card.tokens.json +3 -0
  142. package/src/status-indicator/status-indicator.css +28 -28
  143. package/src/stepper/stepper.css +58 -62
  144. package/src/switch/switch.css +86 -92
  145. package/src/table/table.css +310 -165
  146. package/src/table/table.tokens.json +6 -0
  147. package/src/table-of-contents/table-of-contents.css +51 -54
  148. package/src/tabs/tabs.css +337 -302
  149. package/src/tabs/tabs.tokens.json +8 -5
  150. package/src/tag/tag.css +79 -71
  151. package/src/tag/tag.tokens.json +9 -0
  152. package/src/tags-input/tags-input.css +145 -82
  153. package/src/tags-input/tags-input.tokens.json +7 -1
  154. package/src/text-field/text-field.css +132 -136
  155. package/src/text-field/text-field.tokens.json +1 -0
  156. package/src/textarea/textarea.css +31 -28
  157. package/src/textarea/textarea.tokens.json +1 -0
  158. package/src/time-field/time-field.css +72 -69
  159. package/src/time-field/time-field.tokens.json +1 -0
  160. package/src/time-picker/time-picker.css +56 -58
  161. package/src/time-range-picker/time-range-picker.css +126 -133
  162. package/src/timeline/timeline.css +254 -266
  163. package/src/timeline/timeline.tokens.json +5 -0
  164. package/src/toast/toast.css +108 -90
  165. package/src/toast/toast.tokens.json +6 -0
  166. package/src/toggle/toggle.css +62 -25
  167. package/src/toggle/toggle.tokens.json +8 -0
  168. package/src/toggle-group/toggle-group.css +106 -60
  169. package/src/toggle-group/toggle-group.tokens.json +10 -0
  170. package/src/toolbar/toolbar.css +30 -35
  171. package/src/tooltip/tooltip.css +26 -26
  172. package/src/top-navigation/top-navigation.css +243 -259
  173. package/src/tour/tour.css +51 -60
  174. package/src/transfer/transfer.css +160 -164
  175. package/src/tree/tree.css +103 -111
  176. package/src/typography/typography.css +40 -36
  177. package/src/typography/typography.tokens.json +1 -0
  178. package/src/upload/upload.css +224 -224
  179. package/src/visually-hidden/visually-hidden.css +1 -1
  180. package/src/wizard/wizard.css +185 -197
@@ -28,7 +28,7 @@
28
28
  * `body`, a description-list has a `description`, a result-state has a
29
29
  * `message` — and a descendant rule would restyle theirs.
30
30
  */
31
- [data-ui='detail-panel'] {
31
+ [data-ui-detail-panel] {
32
32
  --_text: var(--slotted-text, CanvasText);
33
33
  --_muted: var(--slotted-text-muted, GrayText);
34
34
  --_rule: var(--slotted-detail-panel-border, var(--slotted-border-subtle, ButtonBorder));
@@ -68,13 +68,13 @@
68
68
  position: relative;
69
69
  }
70
70
 
71
- [data-ui='detail-panel'][data-size='sm'] {
71
+ [data-ui-detail-panel][data-size='sm'] {
72
72
  --_aside-size: var(--slotted-detail-panel-aside-size-sm, 14rem);
73
73
  --_gap: var(--slotted-detail-panel-gap-sm, var(--slotted-space-7, 1.25rem));
74
74
  --_inset-block: var(--slotted-detail-panel-inset-block-sm, var(--slotted-space-7, 1.25rem));
75
75
  }
76
76
 
77
- [data-ui='detail-panel'][data-size='lg'] {
77
+ [data-ui-detail-panel][data-size='lg'] {
78
78
  --_aside-size: var(--slotted-detail-panel-aside-size-lg, 18rem);
79
79
  --_gap: var(--slotted-detail-panel-gap-lg, var(--slotted-space-9, 2rem));
80
80
  --_inset-block: var(--slotted-detail-panel-inset-block-lg, var(--slotted-space-9, 2rem));
@@ -86,7 +86,7 @@
86
86
  * shrink it, which `min-block-size: 0` is what allows. `overscroll-behavior`
87
87
  * keeps a wheel at the end of the record from scrolling the page behind.
88
88
  */
89
- [data-ui='detail-panel'][data-scroll='self'] {
89
+ [data-ui-detail-panel][data-scroll='self'] {
90
90
  block-size: 100%;
91
91
  min-block-size: 0;
92
92
  overflow: auto;
@@ -101,7 +101,7 @@
101
101
  * is `container`'s own grid — its children land in the content track — so
102
102
  * the banner, the columns and the message share one column and one rhythm.
103
103
  */
104
- [data-ui='detail-panel'] > [data-part='body'] {
104
+ [data-ui-detail-panel] > [data-part-body] {
105
105
  display: flex;
106
106
  flex: 1 0 auto;
107
107
  flex-direction: column;
@@ -109,28 +109,28 @@
109
109
  padding-block: var(--_inset-block);
110
110
  }
111
111
 
112
- [data-ui='detail-panel'] > [data-part='body'] > [data-ui='container'] {
112
+ [data-ui-detail-panel] > [data-part-body] > [data-ui-container] {
113
113
  row-gap: var(--_rhythm);
114
114
  }
115
115
 
116
- [data-ui='detail-panel'] > [data-part='body'] > [data-ui='container'] > [data-part='banner'] {
116
+ [data-ui-detail-panel] > [data-part-body] > [data-ui-container] > [data-part-banner] {
117
117
  min-inline-size: 0;
118
118
  }
119
119
 
120
120
  /* ── The columns ─────────────────────────────────────────────────────── */
121
121
 
122
- [data-ui='detail-panel'] > [data-part='body'] > [data-ui='container'] > [data-part='columns'] {
122
+ [data-ui-detail-panel] > [data-part-body] > [data-ui-container] > [data-part-columns] {
123
123
  display: grid;
124
124
  gap: var(--_gap);
125
125
  grid-template-columns: minmax(0, 1fr);
126
126
  min-inline-size: 0;
127
127
  }
128
128
 
129
- [data-ui='detail-panel']
130
- > [data-part='body']
131
- > [data-ui='container']
132
- > [data-part='columns']
133
- > [data-part='main'] {
129
+ [data-ui-detail-panel]
130
+ > [data-part-body]
131
+ > [data-ui-container]
132
+ > [data-part-columns]
133
+ > [data-part-main] {
134
134
  display: flex;
135
135
  flex-direction: column;
136
136
  gap: var(--_rhythm);
@@ -143,11 +143,11 @@
143
143
  * with no spaces, an identifier or a URL, which would otherwise widen the
144
144
  * column past the record.
145
145
  */
146
- [data-ui='detail-panel']
147
- > [data-part='body']
148
- > [data-ui='container']
149
- > [data-part='columns']
150
- > [data-part='aside'] {
146
+ [data-ui-detail-panel]
147
+ > [data-part-body]
148
+ > [data-ui-container]
149
+ > [data-part-columns]
150
+ > [data-part-aside] {
151
151
  border-block-start: var(--_rule-size) solid var(--_rule);
152
152
  min-inline-size: 0;
153
153
  overflow-wrap: anywhere;
@@ -162,40 +162,40 @@
162
162
  * as an edge of the aside.
163
163
  */
164
164
  @container detail-panel (min-width: 600px) {
165
- [data-ui='detail-panel'] > [data-part='body'] > [data-ui='container'] > [data-part='columns'] {
165
+ [data-ui-detail-panel] > [data-part-body] > [data-ui-container] > [data-part-columns] {
166
166
  grid-template-columns: minmax(0, 1fr) var(--_aside-size);
167
167
  }
168
168
 
169
- [data-ui='detail-panel'][data-aside='start']
170
- > [data-part='body']
171
- > [data-ui='container']
172
- > [data-part='columns'] {
169
+ [data-ui-detail-panel][data-aside='start']
170
+ > [data-part-body]
171
+ > [data-ui-container]
172
+ > [data-part-columns] {
173
173
  grid-template-columns: var(--_aside-size) minmax(0, 1fr);
174
174
  }
175
175
 
176
- [data-ui='detail-panel'][data-aside='none']
177
- > [data-part='body']
178
- > [data-ui='container']
179
- > [data-part='columns'] {
176
+ [data-ui-detail-panel][data-aside='none']
177
+ > [data-part-body]
178
+ > [data-ui-container]
179
+ > [data-part-columns] {
180
180
  grid-template-columns: minmax(0, 1fr);
181
181
  }
182
182
 
183
- [data-ui='detail-panel']
184
- > [data-part='body']
185
- > [data-ui='container']
186
- > [data-part='columns']
187
- > [data-part='aside'] {
183
+ [data-ui-detail-panel]
184
+ > [data-part-body]
185
+ > [data-ui-container]
186
+ > [data-part-columns]
187
+ > [data-part-aside] {
188
188
  border-block-start: 0;
189
189
  border-inline-start: var(--_rule-size) solid var(--_rule);
190
190
  padding-block-start: 0;
191
191
  padding-inline-start: var(--_gap);
192
192
  }
193
193
 
194
- [data-ui='detail-panel'][data-aside='start']
195
- > [data-part='body']
196
- > [data-ui='container']
197
- > [data-part='columns']
198
- > [data-part='aside'] {
194
+ [data-ui-detail-panel][data-aside='start']
195
+ > [data-part-body]
196
+ > [data-ui-container]
197
+ > [data-part-columns]
198
+ > [data-part-aside] {
199
199
  border-inline-end: var(--_rule-size) solid var(--_rule);
200
200
  border-inline-start: 0;
201
201
  order: -1;
@@ -211,12 +211,12 @@
211
211
  * chrome rather than behind it: the page-header republishes where its
212
212
  * chrome ends, and the section reads it.
213
213
  */
214
- [data-ui='detail-panel']
215
- > [data-part='body']
216
- > [data-ui='container']
217
- > [data-part='columns']
218
- > [data-part='main']
219
- > [data-part='section'] {
214
+ [data-ui-detail-panel]
215
+ > [data-part-body]
216
+ > [data-ui-container]
217
+ > [data-part-columns]
218
+ > [data-part-main]
219
+ > [data-part-section] {
220
220
  min-inline-size: 0;
221
221
  scroll-margin-block-start: var(--slotted-page-sticky-top, 0px);
222
222
  }
@@ -226,12 +226,12 @@
226
226
  * `[hidden]` carries `display: none` from the user-agent sheet at a
227
227
  * specificity any rule here would beat, so the attribute is restated.
228
228
  */
229
- [data-ui='detail-panel']
230
- > [data-part='body']
231
- > [data-ui='container']
232
- > [data-part='columns']
233
- > [data-part='main']
234
- > [data-part='section'][hidden] {
229
+ [data-ui-detail-panel]
230
+ > [data-part-body]
231
+ > [data-ui-container]
232
+ > [data-part-columns]
233
+ > [data-part-main]
234
+ > [data-part-section][hidden] {
235
235
  display: none;
236
236
  }
237
237
 
@@ -241,12 +241,12 @@
241
241
  * own panel: the section holds the consumer's content and has no inset of
242
242
  * its own, so an inset ring would be drawn through its first line.
243
243
  */
244
- [data-ui='detail-panel']
245
- > [data-part='body']
246
- > [data-ui='container']
247
- > [data-part='columns']
248
- > [data-part='main']
249
- > [data-part='section'][role='tabpanel']:focus-visible {
244
+ [data-ui-detail-panel]
245
+ > [data-part-body]
246
+ > [data-ui-container]
247
+ > [data-part-columns]
248
+ > [data-part-main]
249
+ > [data-part-section][role='tabpanel']:focus-visible {
250
250
  outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
251
251
  outline-offset: var(--slotted-focus-ring-offset, 2px);
252
252
  }
@@ -257,12 +257,12 @@
257
257
  * panel, because the section is the thing that changed. Under `stacked`
258
258
  * nothing arrives, so nothing moves.
259
259
  */
260
- [data-ui='detail-panel'][data-layout='tabs']
261
- > [data-part='body']
262
- > [data-ui='container']
263
- > [data-part='columns']
264
- > [data-part='main']
265
- > [data-part='section']:not([hidden]) {
260
+ [data-ui-detail-panel][data-layout='tabs']
261
+ > [data-part-body]
262
+ > [data-ui-container]
263
+ > [data-part-columns]
264
+ > [data-part-main]
265
+ > [data-part-section]:not([hidden]) {
266
266
  animation: slotted-detail-panel-section-in var(--slotted-duration-short)
267
267
  var(--slotted-easing-enter);
268
268
  }
@@ -278,13 +278,13 @@
278
278
  * own controls sit in a row at the inline end, above the content, where a
279
279
  * stacked section's actions column would have put them.
280
280
  */
281
- [data-ui='detail-panel']
282
- > [data-part='body']
283
- > [data-ui='container']
284
- > [data-part='columns']
285
- > [data-part='main']
286
- > [data-part='section']
287
- > [data-part='section-actions'] {
281
+ [data-ui-detail-panel]
282
+ > [data-part-body]
283
+ > [data-ui-container]
284
+ > [data-part-columns]
285
+ > [data-part-main]
286
+ > [data-part-section]
287
+ > [data-part-section-actions] {
288
288
  align-items: center;
289
289
  display: flex;
290
290
  flex-wrap: wrap;
@@ -301,7 +301,7 @@
301
301
  * the header: four of the largest space step, which is the height of a
302
302
  * short record.
303
303
  */
304
- [data-ui='detail-panel'] > [data-part='body'] > [data-ui='container'] > [data-part='message'] {
304
+ [data-ui-detail-panel] > [data-part-body] > [data-ui-container] > [data-part-message] {
305
305
  display: grid;
306
306
  min-block-size: calc(4 * var(--slotted-space-12, 4rem));
307
307
  min-inline-size: 0;
@@ -317,8 +317,10 @@
317
317
  * than its host, and the container inside aligns its actions with the
318
318
  * column above.
319
319
  */
320
- [data-ui='detail-panel'] > [data-part='footer'] {
321
- background-color: var(--_ground);
320
+ [data-ui-detail-panel] > [data-part-footer] {
321
+ -webkit-backdrop-filter: var(--slotted-detail-panel-footer-backdrop-filter, none);
322
+ backdrop-filter: var(--slotted-detail-panel-footer-backdrop-filter, none);
323
+ background-color: var(--slotted-detail-panel-footer-background, var(--_ground));
322
324
  border-block-start: var(--_rule-size) solid var(--_rule);
323
325
  inset-block-end: var(--slotted-page-sticky-bottom, 0px);
324
326
  margin-block-start: auto;
@@ -326,4 +328,17 @@
326
328
  position: sticky;
327
329
  z-index: var(--slotted-z-index-sticky, 100);
328
330
  }
331
+
332
+ /**
333
+ * A theme draws the footer as a material with its own ground and filter,
334
+ * apart from the ground a sticky section header reads. A reader who asked
335
+ * for less transparency gets no filter, and under forced colours the ground
336
+ * is the system's.
337
+ */
338
+ @media (prefers-reduced-transparency: reduce), (forced-colors: active) {
339
+ [data-ui-detail-panel] > [data-part-footer] {
340
+ -webkit-backdrop-filter: none;
341
+ backdrop-filter: none;
342
+ }
343
+ }
329
344
  }
@@ -6,6 +6,8 @@
6
6
  "--slotted-detail-panel-aside-size-md",
7
7
  "--slotted-detail-panel-aside-size-sm",
8
8
  "--slotted-detail-panel-border",
9
+ "--slotted-detail-panel-footer-backdrop-filter",
10
+ "--slotted-detail-panel-footer-background",
9
11
  "--slotted-detail-panel-gap-lg",
10
12
  "--slotted-detail-panel-gap-md",
11
13
  "--slotted-detail-panel-gap-sm",