@slotted/react 0.1.0-beta.10 → 0.1.0-beta.12

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 (329) hide show
  1. package/dist/action-bar-z2DPc1Wy.js +285 -0
  2. package/dist/action-bar.js +1 -1
  3. package/dist/action-sheet-BnedGewu.js +360 -0
  4. package/dist/action-sheet.js +1 -1
  5. package/dist/{alert-BTcqbG8w.js → alert-BTAXJ69M.js} +5 -5
  6. package/dist/alert.js +1 -1
  7. package/dist/{app-shell-BlkqQrOx.js → app-shell-Cb_kDBeV.js} +232 -173
  8. package/dist/app-shell.js +1 -1
  9. package/dist/{attachment-zlOPJvIm.js → attachment-D1O4qS8H.js} +28 -28
  10. package/dist/attachment.js +1 -1
  11. package/dist/{breadcrumb-DCGynpkb.js → breadcrumb-CnFjxxI2.js} +10 -10
  12. package/dist/breadcrumb.js +1 -1
  13. package/dist/{button-BCVjdzkn.js → button-D31perSu.js} +2 -2
  14. package/dist/button.js +2 -2
  15. package/dist/{calendar-qGUJ-kAy.js → calendar-DZyC1gAT.js} +8 -8
  16. package/dist/calendar.js +1 -1
  17. package/dist/{carousel-CjRTu8m7.js → carousel-Dso3gcYd.js} +14 -14
  18. package/dist/carousel.js +1 -1
  19. package/dist/cascader-BbajBwsX.js +1157 -0
  20. package/dist/cascader.js +1 -1
  21. package/dist/{chart-CPFq3jIE.js → chart-Bb6ctahn.js} +9 -9
  22. package/dist/chart.js +1 -1
  23. package/dist/{checkbox-CMY2KIih.js → checkbox-C_8GVtjD.js} +3 -3
  24. package/dist/{checkbox-group-DzMtLF7f.js → checkbox-group-DXCcusol.js} +2 -2
  25. package/dist/checkbox-group.js +1 -1
  26. package/dist/checkbox.js +1 -1
  27. package/dist/{code-block-Bh_2Eg3M.js → code-block-C4mtsROE.js} +8 -8
  28. package/dist/code-block.js +1 -1
  29. package/dist/{color-picker-DlepH5co.js → color-picker-JZPnPb7s.js} +49 -49
  30. package/dist/color-picker.js +1 -1
  31. package/dist/{column-manager-CV9tCnKa.js → column-manager-BDUj-WIs.js} +31 -31
  32. package/dist/column-manager.js +1 -1
  33. package/dist/combobox-Dn69QwGX.js +904 -0
  34. package/dist/combobox.js +1 -1
  35. package/dist/command-palette-Dh1HKz_F.js +744 -0
  36. package/dist/command-palette.js +1 -1
  37. package/dist/{context-menu-Dbc0KkFp.js → context-menu-uJjEmAN3.js} +1 -1
  38. package/dist/context-menu.js +1 -1
  39. package/dist/{currency-field--wIfgVAx.js → currency-field-lHcrNJ7X.js} +13 -13
  40. package/dist/currency-field.js +1 -1
  41. package/dist/{dashboard-grid-D_LbWfdZ.js → dashboard-grid-z-SOm9H0.js} +65 -65
  42. package/dist/dashboard-grid.js +1 -1
  43. package/dist/{data-grid-XH5fGoGj.js → data-grid-Kj1b9RD-.js} +1316 -1272
  44. package/dist/data-grid.js +1 -1
  45. package/dist/data-list-BgdkA3bD.js +587 -0
  46. package/dist/data-list.js +1 -1
  47. package/dist/{date-field-BrNyJBiJ.js → date-field-B2lQzE3p.js} +5 -5
  48. package/dist/date-field.js +1 -1
  49. package/dist/{date-picker-Nl55so0C.js → date-picker-DpTRb-Y1.js} +16 -16
  50. package/dist/date-picker.js +1 -1
  51. package/dist/{date-range-picker-DLkvfUJD.js → date-range-picker-CBUPJep5.js} +17 -17
  52. package/dist/date-range-picker.js +1 -1
  53. package/dist/{datetime-field-CZRhRDPb.js → datetime-field-BZ44uJ_B.js} +7 -7
  54. package/dist/datetime-field.js +1 -1
  55. package/dist/{datetime-picker-_GHra2WL.js → datetime-picker-BK_bV3Yr.js} +21 -21
  56. package/dist/datetime-picker.js +1 -1
  57. package/dist/{datetime-range-picker-Dy1A0Wqy.js → datetime-range-picker-ChdbRgzQ.js} +21 -21
  58. package/dist/datetime-range-picker.js +1 -1
  59. package/dist/{description-list-Cc4JYZ-3.js → description-list-CYlfHDwx.js} +11 -11
  60. package/dist/description-list.js +1 -1
  61. package/dist/{detail-panel-BI_wHSoz.js → detail-panel-DimjnPI8.js} +91 -91
  62. package/dist/detail-panel.js +1 -1
  63. package/dist/{dialog-B6MP7GYI.js → dialog-BB5MdJex.js} +108 -108
  64. package/dist/dialog.js +1 -1
  65. package/dist/docs/action-bar.json +4 -4
  66. package/dist/docs/action-bar.md +3 -3
  67. package/dist/docs/calendar.md +2 -2
  68. package/dist/docs/command-palette.json +1 -0
  69. package/dist/docs/command-palette.md +1 -1
  70. package/dist/docs/data-grid.examples.md +8 -2
  71. package/dist/docs/data-grid.json +12 -2
  72. package/dist/docs/data-grid.md +3 -1
  73. package/dist/docs/detail-panel.json +4 -2
  74. package/dist/docs/detail-panel.md +15 -5
  75. package/dist/docs/dialog.json +1 -0
  76. package/dist/docs/dialog.md +1 -1
  77. package/dist/docs/drawer.json +6 -4
  78. package/dist/docs/drawer.md +3 -3
  79. package/dist/docs/event-calendar.md +2 -2
  80. package/dist/docs/guidelines/index.md +4 -3
  81. package/dist/docs/guidelines/layout-alignment.md +17 -7
  82. package/dist/docs/guidelines/list-pages.md +3 -3
  83. package/dist/docs/page-header.json +18 -2
  84. package/dist/docs/page-header.md +5 -3
  85. package/dist/docs/page.json +1 -0
  86. package/dist/docs/page.md +1 -1
  87. package/dist/docs/rating.md +1 -1
  88. package/dist/docs/section.json +1 -1
  89. package/dist/docs/section.md +1 -1
  90. package/dist/docs/skills/compose-screen/SKILL.md +12 -4
  91. package/dist/docs/skills/review-screen/SKILL.md +20 -18
  92. package/dist/docs/skills/theme-app/SKILL.md +12 -1
  93. package/dist/docs/toast.json +1 -0
  94. package/dist/docs/toast.md +1 -1
  95. package/dist/docs/tokens.md +1 -1
  96. package/dist/docs/toolbar.json +1 -1
  97. package/dist/docs/toolbar.md +1 -1
  98. package/dist/docs/typography.md +1 -1
  99. package/dist/{drawer-CkpFlKYa.js → drawer-fyPyxnYQ.js} +216 -206
  100. package/dist/drawer.js +1 -1
  101. package/dist/entity-picker-ClyhBTyK.js +1283 -0
  102. package/dist/entity-picker.js +1 -1
  103. package/dist/{event-calendar-BDjI5T44.js → event-calendar-COgC24UG.js} +23 -23
  104. package/dist/event-calendar.js +1 -1
  105. package/dist/{field-group-CCM2vPKL.js → field-group-Bj-EbPIU.js} +2 -2
  106. package/dist/field-group.js +1 -1
  107. package/dist/{field-CzSGs7wo.js → field-tnEZiRLg.js} +19 -19
  108. package/dist/field.js +1 -1
  109. package/dist/filter-bar-BRuCz79-.js +1342 -0
  110. package/dist/filter-bar.js +1 -1
  111. package/dist/{form-CDq04WDY.js → form-DEcJ7tHf.js} +1 -1
  112. package/dist/form.js +1 -1
  113. package/dist/{fullscreen-6GW4naDP.js → fullscreen-BwweNj3-.js} +13 -13
  114. package/dist/fullscreen.js +1 -1
  115. package/dist/{hover-card-aadyPXzF.js → hover-card-BWcU37Yp.js} +1 -1
  116. package/dist/hover-card.js +1 -1
  117. package/dist/{i18n-DpW8lqJ1.js → i18n-D7xXDd8-.js} +11 -4
  118. package/dist/i18n.js +1 -1
  119. package/dist/{icon-button-CRB218_z.js → icon-button-DbSZKGT4.js} +73 -71
  120. package/dist/{import-export-center-DUrNwRKP.js → import-export-center-CYf0Qxl_.js} +291 -289
  121. package/dist/import-export-center.js +1 -1
  122. package/dist/index.js +100 -100
  123. package/dist/{kbd-Z4YmSPRy.js → kbd-dNz8QHfL.js} +1 -1
  124. package/dist/kbd.js +1 -1
  125. package/dist/{link-BsSlZ1ts.js → link-DLPyg54C.js} +5 -5
  126. package/dist/link.js +1 -1
  127. package/dist/{listbox-VFcfZT70.js → listbox-BSqx_ARf.js} +1 -1
  128. package/dist/listbox.js +1 -1
  129. package/dist/{loading-overlay-BZPBDK4w.js → loading-overlay-BLIrcaoj.js} +9 -9
  130. package/dist/loading-overlay.js +1 -1
  131. package/dist/{markdown-BmCU_sOv.js → markdown-DccRb1xf.js} +17 -17
  132. package/dist/markdown.js +1 -1
  133. package/dist/{menu-parts-DS9JEUCt.js → menu-parts-CNNHRduK.js} +42 -42
  134. package/dist/menu.js +1 -1
  135. package/dist/{menubar-BV43BKep.js → menubar-Bdr6zigi.js} +1 -1
  136. package/dist/menubar.js +1 -1
  137. package/dist/message-BkTiWsUp.js +436 -0
  138. package/dist/message-scroller-akQEtQLn.js +218 -0
  139. package/dist/message-scroller.js +1 -1
  140. package/dist/message.js +1 -1
  141. package/dist/{multi-select-YaxhhH9y.js → multi-select-BvlJIEtz.js} +445 -443
  142. package/dist/multi-select.js +1 -1
  143. package/dist/{navigation-menu-parts-B64gKl8B.js → navigation-menu-parts-CEW4fgCo.js} +12 -12
  144. package/dist/navigation-menu.js +1 -1
  145. package/dist/{notification-center-Ci-OLWTO.js → notification-center-BQO0Ey3h.js} +40 -40
  146. package/dist/notification-center.js +1 -1
  147. package/dist/{number-field-BYQmPyM-.js → number-field-D1MqT8_A.js} +13 -13
  148. package/dist/number-field.js +1 -1
  149. package/dist/{otp-input-BKO0WPZc.js → otp-input-Cub9H9Di.js} +1 -1
  150. package/dist/otp-input.js +1 -1
  151. package/dist/{page-CfjGviUA.js → page-CwYmBoZQ.js} +1 -1
  152. package/dist/{page-header-w_PFLnLG.js → page-header-CMxCQqu_.js} +117 -114
  153. package/dist/page-header.js +1 -1
  154. package/dist/page.js +1 -1
  155. package/dist/{pagination-Cm9665gb.js → pagination-IEuos7H1.js} +12 -12
  156. package/dist/pagination.js +1 -1
  157. package/dist/{popover-D1krYeP-.js → popover-C7NpEzq6.js} +22 -22
  158. package/dist/popover.js +1 -1
  159. package/dist/prompt-composer-Cu8bj1Vb.js +276 -0
  160. package/dist/prompt-composer.js +1 -1
  161. package/dist/{prose-Bl5OjXTb.js → prose-CQN4Bqqh.js} +1 -1
  162. package/dist/prose.js +1 -1
  163. package/dist/{radio-group-D9VTBLUB.js → radio-group-BHlDgCLk.js} +2 -2
  164. package/dist/radio-group.js +1 -1
  165. package/dist/{rating-BRqsV5OF.js → rating-Cr0lXaAV.js} +15 -15
  166. package/dist/rating.js +1 -1
  167. package/dist/{saved-views-C_76obIv.js → saved-views-CyLSn8a2.js} +151 -151
  168. package/dist/saved-views.js +1 -1
  169. package/dist/{scroll-area-vrm2bbtZ.js → scroll-area-Fr0PmnRS.js} +1 -1
  170. package/dist/scroll-area.js +1 -1
  171. package/dist/{segmented-control-5DTOKO3g.js → segmented-control-uPnQYklX.js} +2 -2
  172. package/dist/segmented-control.js +1 -1
  173. package/dist/select-C0JYHwBy.js +1020 -0
  174. package/dist/select.js +1 -1
  175. package/dist/{side-navigation-MNMSkj9b.js → side-navigation-D8lRpHwj.js} +64 -64
  176. package/dist/side-navigation.js +1 -1
  177. package/dist/{skeleton-DyOwgYmF.js → skeleton-DeEOmm1y.js} +1 -1
  178. package/dist/skeleton.js +1 -1
  179. package/dist/{slider-OMe1DAC-.js → slider-BSI1xvjw.js} +2 -2
  180. package/dist/slider.js +1 -1
  181. package/dist/{sparkline-ChkaLVdY.js → sparkline-CYU4_lCD.js} +1 -1
  182. package/dist/sparkline.js +1 -1
  183. package/dist/spinner-ring-DyfaYloA.js +19 -0
  184. package/dist/{split-button-DbmRwfMC.js → split-button-CkbylOMN.js} +2 -2
  185. package/dist/split-button.js +1 -1
  186. package/dist/{stat-card-BSnsTmsq.js → stat-card-CAh4SdeY.js} +16 -16
  187. package/dist/stat-card.js +1 -1
  188. package/dist/{status-indicator-CyKhBdvN.js → status-indicator-BVMnpcm8.js} +4 -4
  189. package/dist/status-indicator.js +1 -1
  190. package/dist/{stepper-Cw1Auv3n.js → stepper-BLfvMz04.js} +16 -16
  191. package/dist/stepper.js +1 -1
  192. package/dist/styles/action-bar.css +1 -1
  193. package/dist/styles/action-sheet.css +2 -2
  194. package/dist/styles/button.css +2 -2
  195. package/dist/styles/cascader.css +2 -2
  196. package/dist/styles/chart.css +1 -1
  197. package/dist/styles/column-manager.css +3 -3
  198. package/dist/styles/command-palette.css +3 -3
  199. package/dist/styles/dashboard-grid.css +2 -2
  200. package/dist/styles/data-grid.css +3 -3
  201. package/dist/styles/data-list.css +2 -2
  202. package/dist/styles/detail-panel.css +4 -4
  203. package/dist/styles/dialog.css +1 -1
  204. package/dist/styles/drawer.css +1 -1
  205. package/dist/styles/entity-picker.css +1 -1
  206. package/dist/styles/event-calendar.css +1 -1
  207. package/dist/styles/filter-bar.css +3 -3
  208. package/dist/styles/import-export-center.css +4 -4
  209. package/dist/styles/index.css +12 -12
  210. package/dist/styles/markdown.css +2 -2
  211. package/dist/styles/multi-select.css +1 -1
  212. package/dist/styles/notification-center.css +3 -3
  213. package/dist/styles/page-header.css +2 -2
  214. package/dist/styles/page.css +1 -1
  215. package/dist/styles/prompt-composer.css +1 -1
  216. package/dist/styles/saved-views.css +2 -2
  217. package/dist/styles/split-button.css +2 -2
  218. package/dist/styles/table.css +2 -2
  219. package/dist/styles/tabs.css +1 -1
  220. package/dist/styles/timeline.css +1 -1
  221. package/dist/styles/toast.css +1 -1
  222. package/dist/styles/tour.css +2 -2
  223. package/dist/styles/transfer.css +2 -2
  224. package/dist/styles/upload.css +1 -1
  225. package/dist/styles/wizard.css +2 -2
  226. package/dist/styles.css +1 -1
  227. package/dist/{switch-CQ1rpuKa.js → switch-BHyKHqeI.js} +5 -5
  228. package/dist/switch.js +1 -1
  229. package/dist/{table-DpGTPtnb.js → table-C8zOHDcY.js} +30 -30
  230. package/dist/{table-of-contents-BFVERMZy.js → table-of-contents-BAIuPCdy.js} +8 -8
  231. package/dist/table-of-contents.js +1 -1
  232. package/dist/table.js +1 -1
  233. package/dist/{tag-aX7uyAN0.js → tag-XYGEPUHR.js} +14 -14
  234. package/dist/tag.js +1 -1
  235. package/dist/{tags-input-BgpS22sf.js → tags-input-ClYSd-No.js} +40 -40
  236. package/dist/tags-input.js +1 -1
  237. package/dist/text-field-Cguj75tn.js +205 -0
  238. package/dist/text-field.js +1 -1
  239. package/dist/{textarea-DNCjsQYd.js → textarea-BKsh_jAo.js} +1 -1
  240. package/dist/textarea.js +1 -1
  241. package/dist/{time-field-Cm6iBjwH.js → time-field-BIE4WMpS.js} +7 -7
  242. package/dist/time-field.js +1 -1
  243. package/dist/{time-picker-Ce18FSO2.js → time-picker-CNfafRDF.js} +18 -18
  244. package/dist/time-picker.js +1 -1
  245. package/dist/{time-range-picker-kDnw4PQ3.js → time-range-picker-D7gM_Wno.js} +20 -20
  246. package/dist/time-range-picker.js +1 -1
  247. package/dist/timeline-BLadNUkS.js +449 -0
  248. package/dist/timeline.js +1 -1
  249. package/dist/{toast-58ex8PDK.js → toast-CjbiXiza.js} +16 -16
  250. package/dist/toast.js +1 -1
  251. package/dist/{toggle-group-YxVJlCnI.js → toggle-group-BZmghKac.js} +1 -1
  252. package/dist/toggle-group.js +1 -1
  253. package/dist/toolbar-BI4ZepBs.js +243 -0
  254. package/dist/toolbar.js +1 -1
  255. package/dist/{top-navigation-DorkYBnR.js → top-navigation-BTZpx5VA.js} +13 -13
  256. package/dist/top-navigation.js +1 -1
  257. package/dist/{tour-CwK_m_Jp.js → tour-_CQ1kYov.js} +23 -23
  258. package/dist/tour.js +1 -1
  259. package/dist/{transfer-DxGDWIEt.js → transfer-BVhBdIGp.js} +59 -59
  260. package/dist/transfer.js +1 -1
  261. package/dist/tree-DfI9UWLA.js +794 -0
  262. package/dist/tree.js +1 -1
  263. package/dist/types/action-bar/action-bar-overflow.d.ts.map +1 -1
  264. package/dist/types/action-bar/action-bar.types.d.ts +2 -2
  265. package/dist/types/action-sheet/action-sheet-parts.d.ts.map +1 -1
  266. package/dist/types/app-shell/app-shell-parts.d.ts.map +1 -1
  267. package/dist/types/app-shell/app-shell.d.ts.map +1 -1
  268. package/dist/types/app-shell/app-shell.types.d.ts +21 -14
  269. package/dist/types/app-shell/app-shell.types.d.ts.map +1 -1
  270. package/dist/types/app-shell/index.d.ts +1 -1
  271. package/dist/types/app-shell/index.d.ts.map +1 -1
  272. package/dist/types/button/button-indicator.d.ts.map +1 -1
  273. package/dist/types/button/spinner-ring.d.ts +8 -0
  274. package/dist/types/button/spinner-ring.d.ts.map +1 -0
  275. package/dist/types/cascader/cascader-surface.d.ts.map +1 -1
  276. package/dist/types/cascader/cascader.d.ts.map +1 -1
  277. package/dist/types/combobox/combobox-parts.d.ts.map +1 -1
  278. package/dist/types/command-palette/command-palette.d.ts.map +1 -1
  279. package/dist/types/data-grid/data-grid-body.d.ts +7 -2
  280. package/dist/types/data-grid/data-grid-body.d.ts.map +1 -1
  281. package/dist/types/data-grid/data-grid-header.d.ts.map +1 -1
  282. package/dist/types/data-grid/data-grid.d.ts +1 -1
  283. package/dist/types/data-grid/data-grid.d.ts.map +1 -1
  284. package/dist/types/detail-panel/detail-panel-parts.d.ts +2 -1
  285. package/dist/types/detail-panel/detail-panel-parts.d.ts.map +1 -1
  286. package/dist/types/drawer/drawer-parts.d.ts.map +1 -1
  287. package/dist/types/entity-picker/entity-picker-control.d.ts.map +1 -1
  288. package/dist/types/filter-bar/filter-bar.d.ts.map +1 -1
  289. package/dist/types/i18n/slotted-provider.d.ts +6 -0
  290. package/dist/types/i18n/slotted-provider.d.ts.map +1 -1
  291. package/dist/types/import-export-center/import-export-center.d.ts.map +1 -1
  292. package/dist/types/message/message-parts.d.ts.map +1 -1
  293. package/dist/types/message-scroller/message-scroller.d.ts.map +1 -1
  294. package/dist/types/multi-select/multi-select-parts.d.ts.map +1 -1
  295. package/dist/types/page-header/page-header-defaults.d.ts +1 -1
  296. package/dist/types/page-header/page-header-defaults.d.ts.map +1 -1
  297. package/dist/types/page-header/page-header.d.ts +1 -1
  298. package/dist/types/page-header/page-header.d.ts.map +1 -1
  299. package/dist/types/page-header/page-header.types.d.ts +9 -0
  300. package/dist/types/page-header/page-header.types.d.ts.map +1 -1
  301. package/dist/types/prompt-composer/prompt-composer.d.ts.map +1 -1
  302. package/dist/types/select/select-parts.d.ts.map +1 -1
  303. package/dist/types/text-field/text-field.d.ts.map +1 -1
  304. package/dist/types/timeline/timeline-parts.d.ts.map +1 -1
  305. package/dist/types/timeline/timeline.d.ts.map +1 -1
  306. package/dist/types/toolbar/toolbar-overflow.d.ts.map +1 -1
  307. package/dist/types/toolbar/toolbar.types.d.ts +2 -2
  308. package/dist/types/tree/tree-parts.d.ts.map +1 -1
  309. package/dist/{upload-CEDsfMWz.js → upload-N2-nyO8x.js} +65 -65
  310. package/dist/upload.js +1 -1
  311. package/dist/{wizard-B3p7zCSj.js → wizard-CK1x2fs3.js} +16 -16
  312. package/dist/wizard.js +1 -1
  313. package/package.json +6 -6
  314. package/dist/action-bar-CJgBierN.js +0 -283
  315. package/dist/action-sheet-tRrjm7WQ.js +0 -358
  316. package/dist/cascader-DqlC1z5b.js +0 -1154
  317. package/dist/combobox-YWFkxaQ3.js +0 -902
  318. package/dist/command-palette-DXNq-zKN.js +0 -741
  319. package/dist/data-list-DZCN_uW1.js +0 -587
  320. package/dist/entity-picker-CFwLGQeU.js +0 -1281
  321. package/dist/filter-bar-G50WdRac.js +0 -1340
  322. package/dist/message-Dtck9RJy.js +0 -434
  323. package/dist/message-scroller-niUJ8RoL.js +0 -216
  324. package/dist/prompt-composer-sh_TXKYZ.js +0 -273
  325. package/dist/select-BFx5EgAa.js +0 -1018
  326. package/dist/text-field-DL_uhNXV.js +0 -203
  327. package/dist/timeline-pEL30Jp8.js +0 -446
  328. package/dist/toolbar-BtIyVbs4.js +0 -241
  329. package/dist/tree-DbLRyItM.js +0 -792
@@ -72,7 +72,8 @@ element stands in that slot.
72
72
  - A control that switches a region — tabs, a route, a filter — updates its
73
73
  own state at once and renders the region from a deferred value (in React,
74
74
  useDeferredValue or startTransition) (CP-09). A list longer than a hundred
75
- rows is a `data-grid`, which windows its rows (LP-14).
75
+ rows is a `data-grid`, which windows its rows where it has a height of its
76
+ own and is served in pages below 600 pixels (LP-12, LP-14). Its columns, its disabled keys and a function row key are module constants or memoised: a new one on a render of the screen renders every mounted row again. Its renderers, its messages and its tree may be written inline.
76
77
  - Where no anatomy answers the problem, the screen writes an element of its
77
78
  own instead of bending a family into a shape it does not have (CP-04). That
78
79
  element is built with `../../skills/build-own-element/SKILL.md`.
@@ -88,8 +89,15 @@ Every region filled by a request and every control that starts one follow
88
89
  2. Each `SHOULD` rule not followed is listed with its reason.
89
90
  3. No CSS of the screen's own targets a family's parts; a family's appearance
90
91
  changes through its axes.
91
- 4. In a browser with the CPU throttled 4×, each control that switches a region
92
- paints its new state in the next frame, with no long task between the input
93
- and that paint.
92
+ 4. On the production build, at 375 pixels with a coarse pointer and the CPU
93
+ throttled 4×, with the list holding at least 200 rows: each control that
94
+ switches a region, a row's selection, select-all, a sort, a row menu and a
95
+ scroll of one screen each paint within 200 ms of the input (the Event Timing
96
+ duration), and no list mounts more rows than its window or than the pages
97
+ it has requested (LP-12). A development build is not a measurement: a
98
+ hundred rows of twenty columns measured 93 ms on the production build and
99
+ 160 ms on the development one (LP-14).
94
100
  5. For each value named in step 1, the control that edits it was chosen
95
101
  against the task, and the reason is written beside it.
102
+ 6. At 360 pixels with a coarse pointer, the header's actions and the footer's
103
+ actions each occupy one row (LA-03, LA-07).
@@ -32,24 +32,26 @@ A review answers one question per rule read: does the screen pass the rule's
32
32
 
33
33
  Each search below finds a defect without running the screen.
34
34
 
35
- | Search the screen's files for | Defect | Rule |
36
- | ------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------- | ------------ |
37
- | A colour literal (hex, rgb, hsl, oklch), a length in pixels or rem other than zero, or a font size, in the screen's CSS | a value the theme has a token for | CP-05, OE-01 |
38
- | A rule of the application's CSS that sets colour, border, radius, padding or type on a family's `data-ui` or `data-part` | the screen restyles a family instead of setting its axes | OE-08 |
39
- | A control that starts a request and is not in its `loading` state until the answer, except a Refresh of the whole page | a control that fires twice | AF-03 |
40
- | A Refresh of the whole page drawing a spinner on its button, or a refetch of data on screen with no `page-header` progress bar | a wait in the wrong place, and no wait shown for the page | AF-07 |
41
- | An empty state drawn from the initial value of the data, before the first answer | a wait shown as nothing | AF-01 |
42
- | A spinner standing in a region that has no items yet | placeholders missing | AF-02 |
43
- | Siblings of the page's own spaced by margins, or text with a font size of its own | layout outside the primitives | CP-02 |
44
- | A grid or flex track around a family that scrolls, with no zero minimum | the page scrolls, not the family | CP-03 |
45
- | A badge, a tag or a colour beside a family that already draws the same state | a state stated twice | CP-06 |
46
- | An element of the screen's own that takes focus with no ring in its `focus-visible` state | focus not drawn | OE-03 |
47
- | A `data-grid` or `table` with no `variant` on a page whose `width` is not `bleed` | a grid with no frame on the page's surface | LP-15 |
48
- | A list page's `page-header` with a heading and no subheading, no figures and no solid primary action | a header that does not say what the list covers | LP-16 |
49
- | A grid whose column state unpins its `actions` column | the row's actions leave the frame | LP-17 |
50
- | A row of `stat-card`s where a label has more than three words, or one card has a comparison the others lack | a row of cards with no shared structure | OV-06 |
51
- | Two destinations of the navigation whose `page`s state different `width`s | the column's edges move between destinations | CP-10 |
52
- | A write whose success handler refreshes only the region of the control that wrote | figures elsewhere stay stale after the write | AF-08 |
35
+ | Search the screen's files for | Defect | Rule |
36
+ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------- | ------------ |
37
+ | A colour literal (hex, rgb, hsl, oklch), a length in pixels or rem other than zero, or a font size, in the screen's CSS | a value the theme has a token for | CP-05, OE-01 |
38
+ | A rule of the application's CSS that sets colour, border, radius, padding or type on a family's `data-ui` or `data-part` | the screen restyles a family instead of setting its axes | OE-08 |
39
+ | A control that starts a request and is not in its `loading` state until the answer, except a Refresh of the whole page | a control that fires twice | AF-03 |
40
+ | A Refresh of the whole page drawing a spinner on its button, or a refetch of data on screen with no `page-header` progress bar | a wait in the wrong place, and no wait shown for the page | AF-07 |
41
+ | An empty state drawn from the initial value of the data, before the first answer | a wait shown as nothing | AF-01 |
42
+ | A spinner standing in a region that has no items yet | placeholders missing | AF-02 |
43
+ | Siblings of the page's own spaced by margins, or text with a font size of its own | layout outside the primitives | CP-02 |
44
+ | A grid or flex track around a family that scrolls, with no zero minimum | the page scrolls, not the family | CP-03 |
45
+ | A badge, a tag or a colour beside a family that already draws the same state | a state stated twice | CP-06 |
46
+ | An element of the screen's own that takes focus with no ring in its `focus-visible` state | focus not drawn | OE-03 |
47
+ | A `data-grid` or `table` with no `variant` on a page whose `width` is not `bleed` | a grid with no frame on the page's surface | LP-15 |
48
+ | A list page's `page-header` with a heading and no subheading, no figures and no solid primary action | a header that does not say what the list covers | LP-16 |
49
+ | A grid whose column state unpins its `actions` column | the row's actions leave the frame | LP-17 |
50
+ | A row of `stat-card`s where a label has more than three words, or one card has a comparison the others lack | a row of cards with no shared structure | OV-06 |
51
+ | Two destinations of the navigation whose `page`s state different `width`s | the column's edges move between destinations | CP-10 |
52
+ | A write whose success handler refreshes only the region of the control that wrote | figures elsewhere stay stale after the write | AF-08 |
53
+ | Two or more actions in a `page-header`'s `actions` outside a `toolbar` that folds into its menu, or toolbar items with no counterpart beside the primary one | a header whose actions wrap on a phone | LA-03 |
54
+ | A footer `action-bar` of three or more actions with no overflow control, or a secondary action with no counterpart | a footer that stacks into a column on a phone | LA-07 |
53
55
 
54
56
  A rule whose `Check` needs the screen running — a size class, a throttled
55
57
  network, the accessibility tree — is run when the environment can run it, and
@@ -67,7 +67,18 @@ has.
67
67
  tab bar, a sticky banner — is a material: its background reads
68
68
  `--slotted-surface-material` and its backdrop filter reads
69
69
  `--slotted-material-backdrop`. The theme makes both opaque under reduced
70
- transparency and forced colours.
70
+ transparency and forced colours. A page header becomes that material once
71
+ content passes under it with its `material` input, set on the header or on
72
+ its defaults. A theme draws the command palette as one by setting
73
+ `--slotted-command-palette-surface` to the material surface and
74
+ `--slotted-command-palette-backdrop-filter` to the material backdrop, and a
75
+ raised toast with `--slotted-toast-surface` and
76
+ `--slotted-toast-backdrop-filter`. The bars at the bottom edge take
77
+ `--slotted-page-footer-background` with
78
+ `--slotted-page-footer-backdrop-filter`, and
79
+ `--slotted-detail-panel-footer-background` with
80
+ `--slotted-detail-panel-footer-backdrop-filter`, and a dialog's panel
81
+ `--slotted-dialog-surface` with `--slotted-dialog-backdrop-filter`.
71
82
 
72
83
  ## 4. Restyle a control
73
84
 
@@ -472,6 +472,7 @@
472
472
  "--slotted-text",
473
473
  "--slotted-text-muted",
474
474
  "--slotted-toast-actions-gap",
475
+ "--slotted-toast-backdrop-filter",
475
476
  "--slotted-toast-border-color",
476
477
  "--slotted-toast-border-width",
477
478
  "--slotted-toast-close-radius",
@@ -133,7 +133,7 @@ export default function ToastBasic() {
133
133
 
134
134
  ## Tokens
135
135
 
136
- `--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-font-family`, `--slotted-control-font-size-md`, `--slotted-control-icon-size-md`, `--slotted-control-inner-size-md`, `--slotted-control-radius`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-duration-long`, `--slotted-duration-medium`, `--slotted-duration-short`, `--slotted-easing-enter`, `--slotted-easing-exit`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-family-heading`, `--slotted-font-family-sans`, `--slotted-font-weight-semibold`, `--slotted-line-height-md`, `--slotted-radius-lg`, `--slotted-shadow-md`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-space-7`, `--slotted-surface-raised`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-toast-actions-gap`, `--slotted-toast-border-color`, `--slotted-toast-border-width`, `--slotted-toast-close-radius`, `--slotted-toast-close-size`, `--slotted-toast-column-gap`, `--slotted-toast-font-family`, `--slotted-toast-gap`, `--slotted-toast-measure`, `--slotted-toast-offset`, `--slotted-toast-padding-block`, `--slotted-toast-padding-inline`, `--slotted-toast-progress-size`, `--slotted-toast-radius`, `--slotted-toast-row-gap`, `--slotted-toast-shadow`, `--slotted-toast-stack-fade`, `--slotted-toast-stack-step`, `--slotted-toast-state-layer-active`, `--slotted-toast-state-layer-hover`, `--slotted-toast-surface`, `--slotted-toast-text`, `--slotted-toast-text-gap`, `--slotted-toast-text-muted`, `--slotted-toast-title-font-family`, `--slotted-toast-title-font-weight`, `--slotted-tone-accent-border`, `--slotted-tone-accent-on-solid`, `--slotted-tone-accent-solid`, `--slotted-tone-accent-surface`, `--slotted-tone-accent-text`, `--slotted-tone-danger-border`, `--slotted-tone-danger-on-solid`, `--slotted-tone-danger-solid`, `--slotted-tone-danger-surface`, `--slotted-tone-danger-text`, `--slotted-tone-info-border`, `--slotted-tone-info-on-solid`, `--slotted-tone-info-solid`, `--slotted-tone-info-surface`, `--slotted-tone-info-text`, `--slotted-tone-secondary-border`, `--slotted-tone-secondary-on-solid`, `--slotted-tone-secondary-solid`, `--slotted-tone-secondary-surface`, `--slotted-tone-secondary-text`, `--slotted-tone-success-border`, `--slotted-tone-success-on-solid`, `--slotted-tone-success-solid`, `--slotted-tone-success-surface`, `--slotted-tone-success-text`, `--slotted-tone-warning-border`, `--slotted-tone-warning-on-solid`, `--slotted-tone-warning-solid`, `--slotted-tone-warning-surface`, `--slotted-tone-warning-text`, `--slotted-z-index-toast`
136
+ `--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-font-family`, `--slotted-control-font-size-md`, `--slotted-control-icon-size-md`, `--slotted-control-inner-size-md`, `--slotted-control-radius`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-duration-long`, `--slotted-duration-medium`, `--slotted-duration-short`, `--slotted-easing-enter`, `--slotted-easing-exit`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-family-heading`, `--slotted-font-family-sans`, `--slotted-font-weight-semibold`, `--slotted-line-height-md`, `--slotted-radius-lg`, `--slotted-shadow-md`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-space-7`, `--slotted-surface-raised`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-toast-actions-gap`, `--slotted-toast-backdrop-filter`, `--slotted-toast-border-color`, `--slotted-toast-border-width`, `--slotted-toast-close-radius`, `--slotted-toast-close-size`, `--slotted-toast-column-gap`, `--slotted-toast-font-family`, `--slotted-toast-gap`, `--slotted-toast-measure`, `--slotted-toast-offset`, `--slotted-toast-padding-block`, `--slotted-toast-padding-inline`, `--slotted-toast-progress-size`, `--slotted-toast-radius`, `--slotted-toast-row-gap`, `--slotted-toast-shadow`, `--slotted-toast-stack-fade`, `--slotted-toast-stack-step`, `--slotted-toast-state-layer-active`, `--slotted-toast-state-layer-hover`, `--slotted-toast-surface`, `--slotted-toast-text`, `--slotted-toast-text-gap`, `--slotted-toast-text-muted`, `--slotted-toast-title-font-family`, `--slotted-toast-title-font-weight`, `--slotted-tone-accent-border`, `--slotted-tone-accent-on-solid`, `--slotted-tone-accent-solid`, `--slotted-tone-accent-surface`, `--slotted-tone-accent-text`, `--slotted-tone-danger-border`, `--slotted-tone-danger-on-solid`, `--slotted-tone-danger-solid`, `--slotted-tone-danger-surface`, `--slotted-tone-danger-text`, `--slotted-tone-info-border`, `--slotted-tone-info-on-solid`, `--slotted-tone-info-solid`, `--slotted-tone-info-surface`, `--slotted-tone-info-text`, `--slotted-tone-secondary-border`, `--slotted-tone-secondary-on-solid`, `--slotted-tone-secondary-solid`, `--slotted-tone-secondary-surface`, `--slotted-tone-secondary-text`, `--slotted-tone-success-border`, `--slotted-tone-success-on-solid`, `--slotted-tone-success-solid`, `--slotted-tone-success-surface`, `--slotted-tone-success-text`, `--slotted-tone-warning-border`, `--slotted-tone-warning-on-solid`, `--slotted-tone-warning-solid`, `--slotted-tone-warning-surface`, `--slotted-tone-warning-text`, `--slotted-z-index-toast`
137
137
 
138
138
  ## Examples
139
139
 
@@ -229,7 +229,7 @@ The grounds content stands on.
229
229
  | `--slotted-surface-inverse-hover` | The inverse ground under the pointer: `--slotted-surface-inverse` moved a share toward the opposite lightness. | by scheme |
230
230
  | `--slotted-surface-inverse-active` | The inverse ground while pressed, a step beyond the hover. | by scheme |
231
231
  | `--slotted-surface-material` | The ground of a bar that floats over scrolling content, drawn as a material: `--slotted-surface` at a partial share over transparency, behind `--slotted-material-backdrop`. Under `prefers-reduced-transparency: reduce` it is `--slotted-surface`, and under forced colours the Canvas system colour. | by scheme |
232
- | `--slotted-material-backdrop` | The backdrop filter a material is drawn with: the content scrolling under it, saturated and blurred. Under `prefers-reduced-transparency: reduce` it is `none`. | saturate(1.6) blur(20px) |
232
+ | `--slotted-material-backdrop` | The backdrop filter a material is drawn with: the content scrolling under it, saturated and blurred. Each scheme states its own, because a light page holds less contrast for a blur to keep. Under `prefers-reduced-transparency: reduce` and forced colours it is `none`. | by scheme |
233
233
 
234
234
  ## text
235
235
 
@@ -150,7 +150,7 @@
150
150
  "type": "string | ((hidden: number) => string)",
151
151
  "defaultValue": "counted",
152
152
  "appliesTo": "ToolbarOverflow",
153
- "description": "The accessible name of the control that holds what did not fit. The default counts — \"3 more actions\" — because three dots say nothing about how much is behind them; a bar in another language replaces the sentence rather than translating the mark"
153
+ "description": "The accessible name of the control that holds what did not fit. The default counts — \"3 more actions\" — because three dots say nothing about how much is behind them. It is a sentence of the language in force, with its plural (\"Mais 3 ações\" in pt-BR), and label replaces it"
154
154
  },
155
155
  {
156
156
  "name": "align, side, size",
@@ -43,7 +43,7 @@ Excerpt — not a complete module
43
43
  | `overflow` | `'wrap' \| 'scroll' \| 'menu'` | wrap | Toolbar, ToolbarDefaultsProvider | What a bar does with more controls than it has room for. wrap keeps every control on a second row, scroll is one line the arrows reveal, and menu is one line whose units give way from the end into a surface. A menu bar with no ToolbarOverflow in it has nothing to give way to, so it scrolls |
44
44
  | `onOverflowChange` | `(hidden: number) => void` | — | Toolbar | How many units gave way, once per change. There is no controlled pair over the collapsed set: it is a measurement, and a consumer who owned it could assert that a bar fits when the layout says it does not |
45
45
  | `counterpart` | `ReactNode` | — | ToolbarItem, ToolbarGroup | What the unit becomes in the surface when the bar has no room for it. A unit that declares none is pinned — pinning is the absence of a counterpart rather than a second prop, so the two can never disagree. It is not called overflow, because that word is the bar’s own axis |
46
- | `label` | `string \| ((hidden: number) => string)` | counted | ToolbarOverflow | The accessible name of the control that holds what did not fit. The default counts — "3 more actions" — because three dots say nothing about how much is behind them; a bar in another language replaces the sentence rather than translating the mark |
46
+ | `label` | `string \| ((hidden: number) => string)` | counted | ToolbarOverflow | The accessible name of the control that holds what did not fit. The default counts — "3 more actions" — because three dots say nothing about how much is behind them. It is a sentence of the language in force, with its plural ("Mais 3 ações" in pt-BR), and label replaces it |
47
47
  | `align, side, size` | `MenuAlign \| MenuSide \| MenuSize` | from the Menu defaults | ToolbarOverflow | Where the surface sits against the trigger, and its own measure. Everything else about the layer an application sets once with MenuDefaultsProvider: a second configuration surface over the same layer would be two answers to one question |
48
48
  | `loop` | `boolean` | true | Toolbar, ToolbarDefaultsProvider | Whether the arrows wrap past the ends of the bar |
49
49
  | `aria-label` | `string` | — | Toolbar, ToolbarGroup | The name of the bar, and of each group. The family writes neither: only the page knows what the set of controls is for. aria-labelledby works the same way |
@@ -47,7 +47,7 @@ Excerpt — not a complete module
47
47
 
48
48
  | Axis | Values | Default |
49
49
  | --- | --- | --- |
50
- | `size` | `xs`, `sm`, `md`, `lg`, `xl`, `2xl`, `3xl` | `md`, `level` |
50
+ | `size` | `xs`, `sm`, `md`, `lg`, `xl`, `2xl`, `3xl` | `md`, level |
51
51
  | `weight` | `regular`, `medium`, `semibold` | `regular`, `semibold` |
52
52
  | `tone` | `inherit`, `default`, `muted`, `accent`, `info`, `success`, `warning`, `danger`, `inverse` | `inherit` |
53
53
  | `align` | `start`, `center`, `end` | — |