@slotted/react 0.1.0-beta.10 → 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 (336) 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-DQCvXMJA.js} +1330 -1278
  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 +25 -3
  72. package/dist/docs/data-grid.md +4 -1
  73. package/dist/docs/data-grid.props.md +2 -1
  74. package/dist/docs/detail-panel.json +4 -2
  75. package/dist/docs/detail-panel.md +15 -5
  76. package/dist/docs/dialog.json +1 -0
  77. package/dist/docs/dialog.md +1 -1
  78. package/dist/docs/drawer.json +6 -4
  79. package/dist/docs/drawer.md +3 -3
  80. package/dist/docs/event-calendar.md +2 -2
  81. package/dist/docs/guidelines/index.md +4 -3
  82. package/dist/docs/guidelines/layout-alignment.md +17 -7
  83. package/dist/docs/guidelines/list-pages.md +3 -3
  84. package/dist/docs/page-header.json +18 -2
  85. package/dist/docs/page-header.md +5 -3
  86. package/dist/docs/page.json +1 -0
  87. package/dist/docs/page.md +1 -1
  88. package/dist/docs/rating.md +1 -1
  89. package/dist/docs/section.json +1 -1
  90. package/dist/docs/section.md +1 -1
  91. package/dist/docs/skills/compose-screen/SKILL.md +12 -4
  92. package/dist/docs/skills/review-screen/SKILL.md +20 -18
  93. package/dist/docs/skills/theme-app/SKILL.md +12 -1
  94. package/dist/docs/toast.json +1 -0
  95. package/dist/docs/toast.md +1 -1
  96. package/dist/docs/tokens.md +1 -1
  97. package/dist/docs/toolbar.json +1 -1
  98. package/dist/docs/toolbar.md +1 -1
  99. package/dist/docs/typography.md +1 -1
  100. package/dist/{drawer-CkpFlKYa.js → drawer-fyPyxnYQ.js} +216 -206
  101. package/dist/drawer.js +1 -1
  102. package/dist/entity-picker-ClyhBTyK.js +1283 -0
  103. package/dist/entity-picker.js +1 -1
  104. package/dist/{event-calendar-BDjI5T44.js → event-calendar-COgC24UG.js} +23 -23
  105. package/dist/event-calendar.js +1 -1
  106. package/dist/{field-group-CCM2vPKL.js → field-group-Bj-EbPIU.js} +2 -2
  107. package/dist/field-group.js +1 -1
  108. package/dist/{field-CzSGs7wo.js → field-tnEZiRLg.js} +19 -19
  109. package/dist/field.js +1 -1
  110. package/dist/filter-bar-BRuCz79-.js +1342 -0
  111. package/dist/filter-bar.js +1 -1
  112. package/dist/{form-CDq04WDY.js → form-DEcJ7tHf.js} +1 -1
  113. package/dist/form.js +1 -1
  114. package/dist/{fullscreen-6GW4naDP.js → fullscreen-BwweNj3-.js} +13 -13
  115. package/dist/fullscreen.js +1 -1
  116. package/dist/{hover-card-aadyPXzF.js → hover-card-BWcU37Yp.js} +1 -1
  117. package/dist/hover-card.js +1 -1
  118. package/dist/{i18n-DpW8lqJ1.js → i18n-D7xXDd8-.js} +11 -4
  119. package/dist/i18n.js +1 -1
  120. package/dist/{icon-button-CRB218_z.js → icon-button-DbSZKGT4.js} +73 -71
  121. package/dist/{import-export-center-DUrNwRKP.js → import-export-center-CYf0Qxl_.js} +291 -289
  122. package/dist/import-export-center.js +1 -1
  123. package/dist/index.js +100 -100
  124. package/dist/{kbd-Z4YmSPRy.js → kbd-dNz8QHfL.js} +1 -1
  125. package/dist/kbd.js +1 -1
  126. package/dist/{link-BsSlZ1ts.js → link-DLPyg54C.js} +5 -5
  127. package/dist/link.js +1 -1
  128. package/dist/{listbox-VFcfZT70.js → listbox-BSqx_ARf.js} +1 -1
  129. package/dist/listbox.js +1 -1
  130. package/dist/{loading-overlay-BZPBDK4w.js → loading-overlay-BLIrcaoj.js} +9 -9
  131. package/dist/loading-overlay.js +1 -1
  132. package/dist/{markdown-BmCU_sOv.js → markdown-DccRb1xf.js} +17 -17
  133. package/dist/markdown.js +1 -1
  134. package/dist/{menu-parts-DS9JEUCt.js → menu-parts-CNNHRduK.js} +42 -42
  135. package/dist/menu.js +1 -1
  136. package/dist/{menubar-BV43BKep.js → menubar-Bdr6zigi.js} +1 -1
  137. package/dist/menubar.js +1 -1
  138. package/dist/message-BkTiWsUp.js +436 -0
  139. package/dist/message-scroller-akQEtQLn.js +218 -0
  140. package/dist/message-scroller.js +1 -1
  141. package/dist/message.js +1 -1
  142. package/dist/{multi-select-YaxhhH9y.js → multi-select-BvlJIEtz.js} +445 -443
  143. package/dist/multi-select.js +1 -1
  144. package/dist/{navigation-menu-parts-B64gKl8B.js → navigation-menu-parts-CEW4fgCo.js} +12 -12
  145. package/dist/navigation-menu.js +1 -1
  146. package/dist/{notification-center-Ci-OLWTO.js → notification-center-BQO0Ey3h.js} +40 -40
  147. package/dist/notification-center.js +1 -1
  148. package/dist/{number-field-BYQmPyM-.js → number-field-D1MqT8_A.js} +13 -13
  149. package/dist/number-field.js +1 -1
  150. package/dist/{otp-input-BKO0WPZc.js → otp-input-Cub9H9Di.js} +1 -1
  151. package/dist/otp-input.js +1 -1
  152. package/dist/{page-CfjGviUA.js → page-CwYmBoZQ.js} +1 -1
  153. package/dist/{page-header-w_PFLnLG.js → page-header-CMxCQqu_.js} +117 -114
  154. package/dist/page-header.js +1 -1
  155. package/dist/page.js +1 -1
  156. package/dist/{pagination-Cm9665gb.js → pagination-IEuos7H1.js} +12 -12
  157. package/dist/pagination.js +1 -1
  158. package/dist/{popover-D1krYeP-.js → popover-C7NpEzq6.js} +22 -22
  159. package/dist/popover.js +1 -1
  160. package/dist/prompt-composer-Cu8bj1Vb.js +276 -0
  161. package/dist/prompt-composer.js +1 -1
  162. package/dist/{prose-Bl5OjXTb.js → prose-CQN4Bqqh.js} +1 -1
  163. package/dist/prose.js +1 -1
  164. package/dist/{radio-group-D9VTBLUB.js → radio-group-BHlDgCLk.js} +2 -2
  165. package/dist/radio-group.js +1 -1
  166. package/dist/{rating-BRqsV5OF.js → rating-Cr0lXaAV.js} +15 -15
  167. package/dist/rating.js +1 -1
  168. package/dist/{saved-views-C_76obIv.js → saved-views-CyLSn8a2.js} +151 -151
  169. package/dist/saved-views.js +1 -1
  170. package/dist/{scroll-area-vrm2bbtZ.js → scroll-area-Fr0PmnRS.js} +1 -1
  171. package/dist/scroll-area.js +1 -1
  172. package/dist/{segmented-control-5DTOKO3g.js → segmented-control-uPnQYklX.js} +2 -2
  173. package/dist/segmented-control.js +1 -1
  174. package/dist/select-C0JYHwBy.js +1020 -0
  175. package/dist/select.js +1 -1
  176. package/dist/{side-navigation-MNMSkj9b.js → side-navigation-D8lRpHwj.js} +64 -64
  177. package/dist/side-navigation.js +1 -1
  178. package/dist/{skeleton-DyOwgYmF.js → skeleton-DeEOmm1y.js} +1 -1
  179. package/dist/skeleton.js +1 -1
  180. package/dist/{slider-OMe1DAC-.js → slider-BSI1xvjw.js} +2 -2
  181. package/dist/slider.js +1 -1
  182. package/dist/{sparkline-ChkaLVdY.js → sparkline-CYU4_lCD.js} +1 -1
  183. package/dist/sparkline.js +1 -1
  184. package/dist/spinner-ring-DyfaYloA.js +19 -0
  185. package/dist/{split-button-DbmRwfMC.js → split-button-CkbylOMN.js} +2 -2
  186. package/dist/split-button.js +1 -1
  187. package/dist/{stat-card-BSnsTmsq.js → stat-card-CAh4SdeY.js} +16 -16
  188. package/dist/stat-card.js +1 -1
  189. package/dist/{status-indicator-CyKhBdvN.js → status-indicator-BVMnpcm8.js} +4 -4
  190. package/dist/status-indicator.js +1 -1
  191. package/dist/{stepper-Cw1Auv3n.js → stepper-BLfvMz04.js} +16 -16
  192. package/dist/stepper.js +1 -1
  193. package/dist/styles/action-bar.css +1 -1
  194. package/dist/styles/action-sheet.css +2 -2
  195. package/dist/styles/button.css +2 -2
  196. package/dist/styles/cascader.css +2 -2
  197. package/dist/styles/chart.css +1 -1
  198. package/dist/styles/column-manager.css +3 -3
  199. package/dist/styles/command-palette.css +3 -3
  200. package/dist/styles/dashboard-grid.css +2 -2
  201. package/dist/styles/data-grid.css +3 -3
  202. package/dist/styles/data-list.css +2 -2
  203. package/dist/styles/detail-panel.css +4 -4
  204. package/dist/styles/dialog.css +1 -1
  205. package/dist/styles/drawer.css +1 -1
  206. package/dist/styles/entity-picker.css +1 -1
  207. package/dist/styles/event-calendar.css +1 -1
  208. package/dist/styles/filter-bar.css +3 -3
  209. package/dist/styles/import-export-center.css +4 -4
  210. package/dist/styles/index.css +12 -12
  211. package/dist/styles/markdown.css +2 -2
  212. package/dist/styles/multi-select.css +1 -1
  213. package/dist/styles/notification-center.css +3 -3
  214. package/dist/styles/page-header.css +2 -2
  215. package/dist/styles/page.css +1 -1
  216. package/dist/styles/prompt-composer.css +1 -1
  217. package/dist/styles/saved-views.css +2 -2
  218. package/dist/styles/split-button.css +2 -2
  219. package/dist/styles/table.css +2 -2
  220. package/dist/styles/tabs.css +1 -1
  221. package/dist/styles/timeline.css +1 -1
  222. package/dist/styles/toast.css +1 -1
  223. package/dist/styles/tour.css +2 -2
  224. package/dist/styles/transfer.css +2 -2
  225. package/dist/styles/upload.css +1 -1
  226. package/dist/styles/wizard.css +2 -2
  227. package/dist/styles.css +1 -1
  228. package/dist/{switch-CQ1rpuKa.js → switch-BHyKHqeI.js} +5 -5
  229. package/dist/switch.js +1 -1
  230. package/dist/{table-DpGTPtnb.js → table-C8zOHDcY.js} +30 -30
  231. package/dist/{table-of-contents-BFVERMZy.js → table-of-contents-BAIuPCdy.js} +8 -8
  232. package/dist/table-of-contents.js +1 -1
  233. package/dist/table.js +1 -1
  234. package/dist/{tag-aX7uyAN0.js → tag-XYGEPUHR.js} +14 -14
  235. package/dist/tag.js +1 -1
  236. package/dist/{tags-input-BgpS22sf.js → tags-input-ClYSd-No.js} +40 -40
  237. package/dist/tags-input.js +1 -1
  238. package/dist/text-field-Cguj75tn.js +205 -0
  239. package/dist/text-field.js +1 -1
  240. package/dist/{textarea-DNCjsQYd.js → textarea-BKsh_jAo.js} +1 -1
  241. package/dist/textarea.js +1 -1
  242. package/dist/{time-field-Cm6iBjwH.js → time-field-BIE4WMpS.js} +7 -7
  243. package/dist/time-field.js +1 -1
  244. package/dist/{time-picker-Ce18FSO2.js → time-picker-CNfafRDF.js} +18 -18
  245. package/dist/time-picker.js +1 -1
  246. package/dist/{time-range-picker-kDnw4PQ3.js → time-range-picker-D7gM_Wno.js} +20 -20
  247. package/dist/time-range-picker.js +1 -1
  248. package/dist/timeline-BLadNUkS.js +449 -0
  249. package/dist/timeline.js +1 -1
  250. package/dist/{toast-58ex8PDK.js → toast-CjbiXiza.js} +16 -16
  251. package/dist/toast.js +1 -1
  252. package/dist/{toggle-group-YxVJlCnI.js → toggle-group-BZmghKac.js} +1 -1
  253. package/dist/toggle-group.js +1 -1
  254. package/dist/toolbar-BI4ZepBs.js +243 -0
  255. package/dist/toolbar.js +1 -1
  256. package/dist/{top-navigation-DorkYBnR.js → top-navigation-BTZpx5VA.js} +13 -13
  257. package/dist/top-navigation.js +1 -1
  258. package/dist/{tour-CwK_m_Jp.js → tour-_CQ1kYov.js} +23 -23
  259. package/dist/tour.js +1 -1
  260. package/dist/{transfer-DxGDWIEt.js → transfer-BVhBdIGp.js} +59 -59
  261. package/dist/transfer.js +1 -1
  262. package/dist/tree-DfI9UWLA.js +794 -0
  263. package/dist/tree.js +1 -1
  264. package/dist/types/action-bar/action-bar-overflow.d.ts.map +1 -1
  265. package/dist/types/action-bar/action-bar.types.d.ts +2 -2
  266. package/dist/types/action-sheet/action-sheet-parts.d.ts.map +1 -1
  267. package/dist/types/app-shell/app-shell-parts.d.ts.map +1 -1
  268. package/dist/types/app-shell/app-shell.d.ts.map +1 -1
  269. package/dist/types/app-shell/app-shell.types.d.ts +21 -14
  270. package/dist/types/app-shell/app-shell.types.d.ts.map +1 -1
  271. package/dist/types/app-shell/index.d.ts +1 -1
  272. package/dist/types/app-shell/index.d.ts.map +1 -1
  273. package/dist/types/button/button-indicator.d.ts.map +1 -1
  274. package/dist/types/button/spinner-ring.d.ts +8 -0
  275. package/dist/types/button/spinner-ring.d.ts.map +1 -0
  276. package/dist/types/cascader/cascader-surface.d.ts.map +1 -1
  277. package/dist/types/cascader/cascader.d.ts.map +1 -1
  278. package/dist/types/combobox/combobox-parts.d.ts.map +1 -1
  279. package/dist/types/command-palette/command-palette.d.ts.map +1 -1
  280. package/dist/types/data-grid/data-grid-body.d.ts +7 -2
  281. package/dist/types/data-grid/data-grid-body.d.ts.map +1 -1
  282. package/dist/types/data-grid/data-grid-context.d.ts +2 -1
  283. package/dist/types/data-grid/data-grid-context.d.ts.map +1 -1
  284. package/dist/types/data-grid/data-grid-header.d.ts.map +1 -1
  285. package/dist/types/data-grid/data-grid.d.ts +1 -1
  286. package/dist/types/data-grid/data-grid.d.ts.map +1 -1
  287. package/dist/types/data-grid/data-grid.types.d.ts +12 -0
  288. package/dist/types/data-grid/data-grid.types.d.ts.map +1 -1
  289. package/dist/types/data-grid/index.d.ts +1 -1
  290. package/dist/types/data-grid/index.d.ts.map +1 -1
  291. package/dist/types/detail-panel/detail-panel-parts.d.ts +2 -1
  292. package/dist/types/detail-panel/detail-panel-parts.d.ts.map +1 -1
  293. package/dist/types/drawer/drawer-parts.d.ts.map +1 -1
  294. package/dist/types/entity-picker/entity-picker-control.d.ts.map +1 -1
  295. package/dist/types/filter-bar/filter-bar.d.ts.map +1 -1
  296. package/dist/types/i18n/slotted-provider.d.ts +6 -0
  297. package/dist/types/i18n/slotted-provider.d.ts.map +1 -1
  298. package/dist/types/import-export-center/import-export-center.d.ts.map +1 -1
  299. package/dist/types/message/message-parts.d.ts.map +1 -1
  300. package/dist/types/message-scroller/message-scroller.d.ts.map +1 -1
  301. package/dist/types/multi-select/multi-select-parts.d.ts.map +1 -1
  302. package/dist/types/page-header/page-header-defaults.d.ts +1 -1
  303. package/dist/types/page-header/page-header-defaults.d.ts.map +1 -1
  304. package/dist/types/page-header/page-header.d.ts +1 -1
  305. package/dist/types/page-header/page-header.d.ts.map +1 -1
  306. package/dist/types/page-header/page-header.types.d.ts +9 -0
  307. package/dist/types/page-header/page-header.types.d.ts.map +1 -1
  308. package/dist/types/prompt-composer/prompt-composer.d.ts.map +1 -1
  309. package/dist/types/select/select-parts.d.ts.map +1 -1
  310. package/dist/types/text-field/text-field.d.ts.map +1 -1
  311. package/dist/types/timeline/timeline-parts.d.ts.map +1 -1
  312. package/dist/types/timeline/timeline.d.ts.map +1 -1
  313. package/dist/types/toolbar/toolbar-overflow.d.ts.map +1 -1
  314. package/dist/types/toolbar/toolbar.types.d.ts +2 -2
  315. package/dist/types/tree/tree-parts.d.ts.map +1 -1
  316. package/dist/{upload-CEDsfMWz.js → upload-N2-nyO8x.js} +65 -65
  317. package/dist/upload.js +1 -1
  318. package/dist/{wizard-B3p7zCSj.js → wizard-CK1x2fs3.js} +16 -16
  319. package/dist/wizard.js +1 -1
  320. package/package.json +6 -6
  321. package/dist/action-bar-CJgBierN.js +0 -283
  322. package/dist/action-sheet-tRrjm7WQ.js +0 -358
  323. package/dist/cascader-DqlC1z5b.js +0 -1154
  324. package/dist/combobox-YWFkxaQ3.js +0 -902
  325. package/dist/command-palette-DXNq-zKN.js +0 -741
  326. package/dist/data-list-DZCN_uW1.js +0 -587
  327. package/dist/entity-picker-CFwLGQeU.js +0 -1281
  328. package/dist/filter-bar-G50WdRac.js +0 -1340
  329. package/dist/message-Dtck9RJy.js +0 -434
  330. package/dist/message-scroller-niUJ8RoL.js +0 -216
  331. package/dist/prompt-composer-sh_TXKYZ.js +0 -273
  332. package/dist/select-BFx5EgAa.js +0 -1018
  333. package/dist/text-field-DL_uhNXV.js +0 -203
  334. package/dist/timeline-pEL30Jp8.js +0 -446
  335. package/dist/toolbar-BtIyVbs4.js +0 -241
  336. package/dist/tree-DbLRyItM.js +0 -792
@@ -1,15 +1,15 @@
1
- import { n as e, t } from "./icon-DjqSEQ-o.js";
2
- import { r as n } from "./i18n-DpW8lqJ1.js";
1
+ import { r as e } from "./i18n-D7xXDd8-.js";
2
+ import { n as t, t as n } from "./icon-DjqSEQ-o.js";
3
3
  import { keyedProps as r } from "@slotted/core/selector-key";
4
4
  import { createFocusScope as i } from "@slotted/core/focus";
5
5
  import { createControllable as a } from "@slotted/core/state";
6
6
  import { createContext as o, useCallback as s, useContext as c, useEffect as l, useId as u, useImperativeHandle as d, useLayoutEffect as f, useMemo as p, useRef as m, useState as h } from "react";
7
7
  import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
8
8
  import { createPresence as ee } from "@slotted/core/presence";
9
- import { createPortalRoot as y } from "@slotted/core/portal";
9
+ import { dialogMessages as y } from "@slotted/core/i18n";
10
+ import { createPortalRoot as b } from "@slotted/core/portal";
10
11
  import { createDismissableLayer as te } from "@slotted/core/dismissable-layer";
11
- import { createPortal as b } from "react-dom";
12
- import { dialogMessages as x } from "@slotted/core/i18n";
12
+ import { createPortal as x } from "react-dom";
13
13
  import { observeKeyboardInset as S } from "@slotted/core/measure";
14
14
  //#region src/dialog/dialog-defaults.tsx
15
15
  var C = o({
@@ -53,33 +53,33 @@ function D() {
53
53
  if (e === void 0) throw Error("Every dialog part must be rendered inside Dialog or AlertDialog.");
54
54
  return e;
55
55
  }
56
- function O({ back: e, children: t, container: r, defaultFullscreen: i, defaultOpen: o, escape: c, finalFocus: f, fullscreen: g, fullScreen: v, fullscreenToggle: y, initialFocus: te, loading: b, member: S, messages: C, modal: T, mount: D, onFullscreenChange: O, onOpenChange: k, onOpenChangeComplete: A, open: j, outsidePress: M, placement: N, ref: ne, scroll: re, size: ie, surface: P, tone: F }) {
57
- let I = w(), L = n(x, C), R = u(), [z, ae] = h(o ?? !1), B = j ?? z, V = S === "alertDialog", [H, U] = h(i ?? !1), W = !V && (g ?? H), G = !V && y === !0, K = V ? !0 : T ?? I.modal, q = V ? "none" : M ?? I.outsidePress, J = D ?? I.mount, oe = ie ?? (V ? "sm" : I.size), se = v ?? (V ? "never" : I.fullScreen), ce = te ?? (V ? "cancel" : "first"), le = c ?? I.escape, ue = e ?? I.back, de = N ?? I.placement, fe = re ?? I.scroll, pe = P ?? I.surface, [Y, me] = h(B ? "entering" : "unmounted"), X = m(null), Z = m(A);
58
- Z.current = A, X.current === null && (X.current = ee({
59
- onEnterComplete: () => Z.current?.(!0),
60
- onExitComplete: () => Z.current?.(!1),
61
- onStatusChange: me,
62
- present: B,
56
+ function O({ back: t, children: n, container: r, defaultFullscreen: i, defaultOpen: o, escape: c, finalFocus: f, fullscreen: g, fullScreen: v, fullscreenToggle: b, initialFocus: te, loading: x, member: S, messages: C, modal: T, mount: D, onFullscreenChange: O, onOpenChange: k, onOpenChangeComplete: A, open: j, outsidePress: M, placement: ne, ref: N, scroll: re, size: ie, surface: ae, tone: P }) {
57
+ let F = w(), I = e(y, C), L = u(), [R, oe] = h(o ?? !1), z = j ?? R, B = S === "alertDialog", [V, H] = h(i ?? !1), U = !B && (g ?? V), W = !B && b === !0, G = B ? !0 : T ?? F.modal, K = B ? "none" : M ?? F.outsidePress, q = D ?? F.mount, se = ie ?? (B ? "sm" : F.size), ce = v ?? (B ? "never" : F.fullScreen), le = te ?? (B ? "cancel" : "first"), ue = c ?? F.escape, de = t ?? F.back, fe = ne ?? F.placement, pe = re ?? F.scroll, me = ae ?? F.surface, [J, he] = h(z ? "entering" : "unmounted"), Y = m(null), X = m(A);
58
+ X.current = A, Y.current === null && (Y.current = ee({
59
+ onEnterComplete: () => X.current?.(!0),
60
+ onExitComplete: () => X.current?.(!1),
61
+ onStatusChange: he,
62
+ present: z,
63
63
  skipInitialAnimation: !1
64
64
  })), l(() => {
65
- X.current?.sync(B);
66
- }, [B]), l(() => {
67
- let e = X.current;
65
+ Y.current?.sync(z);
66
+ }, [z]), l(() => {
67
+ let e = Y.current;
68
68
  return () => e?.stop();
69
69
  }, []);
70
- let he = m(B);
71
- B && (he.current = !0);
72
- let ge = J === "eager" ? !0 : J === "lazy" ? he.current : Y !== "unmounted", Q = m({
70
+ let ge = m(z);
71
+ z && (ge.current = !0);
72
+ let _e = q === "eager" ? !0 : q === "lazy" ? ge.current : J !== "unmounted", Z = m({
73
73
  cancel: null,
74
74
  content: null,
75
75
  trigger: null
76
- }), [_e, ve] = h(!1), [ye, be] = h(!1), xe = s((e, t) => (e === "cancel" && (Q.current.cancel = t), e === "title" && ve(!0), e === "description" && be(!0), () => {
77
- e === "cancel" && (Q.current.cancel = null), e === "title" && ve(!1), e === "description" && be(!1);
76
+ }), [Q, ve] = h(!1), [ye, be] = h(!1), xe = s((e, t) => (e === "cancel" && (Z.current.cancel = t), e === "title" && ve(!0), e === "description" && be(!0), () => {
77
+ e === "cancel" && (Z.current.cancel = null), e === "title" && ve(!1), e === "description" && be(!1);
78
78
  }), []), $ = s((e, t, n, r) => {
79
- if (e === B) return;
79
+ if (e === z) return;
80
80
  let i = !1, o = a({
81
81
  controlled: j,
82
- initial: B,
82
+ initial: z,
83
83
  onRequest: (e) => {
84
84
  i = e.cancelled, k?.(e.value, {
85
85
  get cancelled() {
@@ -94,15 +94,15 @@ function O({ back: e, children: t, container: r, defaultFullscreen: i, defaultOp
94
94
  });
95
95
  }
96
96
  }).request(e, t, r);
97
- i || o && ae(e);
97
+ i || o && oe(e);
98
98
  }, [
99
- B,
99
+ z,
100
100
  k,
101
101
  j
102
102
  ]), Se = s((e, t, n) => {
103
- e !== W && a({
103
+ e !== U && a({
104
104
  controlled: g,
105
- initial: W,
105
+ initial: U,
106
106
  onRequest: (e) => {
107
107
  O?.(e.value, {
108
108
  get cancelled() {
@@ -115,93 +115,93 @@ function O({ back: e, children: t, container: r, defaultFullscreen: i, defaultOp
115
115
  value: e.value
116
116
  });
117
117
  }
118
- }).request(e, t, n) && U(e);
118
+ }).request(e, t, n) && H(e);
119
119
  }, [
120
- W,
120
+ U,
121
121
  g,
122
122
  O
123
123
  ]);
124
- d(ne, () => ({
124
+ d(N, () => ({
125
125
  open: () => $(!0, "programmatic", void 0, void 0),
126
126
  close: (e) => $(!1, "programmatic", e, void 0),
127
- focus: () => Q.current.content?.focus(),
127
+ focus: () => Z.current.content?.focus(),
128
128
  get content() {
129
- return Q.current.content;
129
+ return Z.current.content;
130
130
  }
131
131
  }), [$]);
132
132
  let Ce = p(() => ({
133
133
  announce: xe,
134
134
  close: (e, t, n) => $(!1, e, t, n),
135
135
  container: r,
136
- descriptionId: ye ? `${R}description` : "",
137
- back: ue,
138
- escape: le,
136
+ descriptionId: ye ? `${L}description` : "",
137
+ back: de,
138
+ escape: ue,
139
139
  finalFocus: f,
140
- fullScreen: se,
141
- fullscreen: W,
142
- fullscreenToggle: G,
143
- initialFocus: ce,
140
+ fullScreen: ce,
141
+ fullscreen: U,
142
+ fullscreenToggle: W,
143
+ initialFocus: le,
144
144
  setFullscreen: Se,
145
- loading: b === !0,
145
+ loading: x === !0,
146
146
  member: S,
147
- modal: K,
148
- mount: J,
149
- mounted: ge,
150
- nodes: Q.current,
151
- open: B,
147
+ modal: G,
148
+ mount: q,
149
+ mounted: _e,
150
+ nodes: Z.current,
151
+ open: z,
152
152
  openWith: (e, t) => $(!0, e, void 0, t),
153
- outsidePress: q,
154
- placement: de,
153
+ outsidePress: K,
154
+ placement: fe,
155
155
  registerContent: (e) => {
156
- Q.current.content = e;
156
+ Z.current.content = e;
157
157
  },
158
- registerLayer: (e) => X.current?.setNode(e),
158
+ registerLayer: (e) => Y.current?.setNode(e),
159
159
  registerTrigger: (e) => {
160
- Q.current.trigger = e;
160
+ Z.current.trigger = e;
161
161
  },
162
- scroll: fe,
163
- size: oe,
164
- surface: pe,
165
- t: L,
166
- titleId: _e ? `${R}title` : "",
167
- tone: V ? F ?? "danger" : void 0,
168
- triggerId: `${R}trigger`,
169
- visible: Y === "open",
170
- interactive: Y === "entering" || Y === "open"
162
+ scroll: pe,
163
+ size: se,
164
+ surface: me,
165
+ t: I,
166
+ titleId: Q ? `${L}title` : "",
167
+ tone: B ? P ?? "danger" : void 0,
168
+ triggerId: `${L}trigger`,
169
+ visible: J === "open",
170
+ interactive: J === "entering" || J === "open"
171
171
  }), [
172
172
  xe,
173
- R,
173
+ L,
174
174
  r,
175
- B,
176
- W,
175
+ z,
176
+ U,
177
177
  ye,
178
178
  f,
179
- V,
180
- b,
179
+ B,
180
+ x,
181
181
  S,
182
- ge,
182
+ _e,
183
183
  $,
184
+ de,
184
185
  ue,
186
+ ce,
187
+ W,
185
188
  le,
186
- se,
187
189
  G,
188
- ce,
189
- K,
190
- J,
191
190
  q,
192
- de,
191
+ K,
193
192
  fe,
194
- oe,
195
- Se,
196
193
  pe,
197
- Y,
198
- L,
199
- _e,
200
- F
194
+ se,
195
+ Se,
196
+ me,
197
+ J,
198
+ I,
199
+ Q,
200
+ P
201
201
  ]);
202
202
  return /* @__PURE__ */ _(E.Provider, {
203
203
  value: Ce,
204
- children: t
204
+ children: n
205
205
  });
206
206
  }
207
207
  function k(e) {
@@ -222,7 +222,7 @@ function j(e) {
222
222
  return e.detail === 0 ? "keyboard" : "pointer";
223
223
  }
224
224
  var M = typeof document > "u" ? l : f;
225
- function N({ children: e, className: t, onClick: n, ref: i, render: a, style: o, ...s }) {
225
+ function ne({ children: e, className: t, onClick: n, ref: i, render: a, style: o, ...s }) {
226
226
  let c = D(), l = r({
227
227
  ...s,
228
228
  "aria-controls": c.mounted ? `${c.triggerId}-content` : void 0,
@@ -244,11 +244,11 @@ function N({ children: e, className: t, onClick: n, ref: i, render: a, style: o,
244
244
  });
245
245
  return a === void 0 ? /* @__PURE__ */ _("button", { ...l }) : a(l);
246
246
  }
247
- function ne(e) {
247
+ function N(e) {
248
248
  let [t, n] = h(null);
249
249
  return M(() => {
250
250
  if (!e.mounted) return;
251
- let t = y({
251
+ let t = b({
252
252
  origin: e.nodes.trigger,
253
253
  ...e.container === void 0 ? {} : { container: e.container }
254
254
  });
@@ -262,19 +262,19 @@ function ne(e) {
262
262
  ]), t;
263
263
  }
264
264
  function re({ children: e, className: t, ref: n, render: a, style: o, ...s }) {
265
- let c = D(), u = ne(c), [d, f] = h(null), p = `${c.triggerId}-content`, g = c.titleId !== "" && s["aria-label"] === void 0, ee = c.descriptionId !== "";
265
+ let c = D(), u = N(c), [d, f] = h(null), p = `${c.triggerId}-content`, g = c.titleId !== "" && s["aria-label"] === void 0, ee = c.descriptionId !== "";
266
266
  l(() => {
267
267
  if (c.member === "alertDialog" && d !== null && d.querySelector("[data-part=\"description\"]") === null) throw Error("AlertDialog requires a DialogDescription: the alertdialog pattern makes aria-describedby mandatory.");
268
268
  }, [d, c.member]);
269
269
  let y = m(c);
270
270
  y.current = c;
271
- let { back: x, escape: C, modal: w, open: T, outsidePress: E } = c, O = c.nodes.trigger;
271
+ let { back: b, escape: C, modal: w, open: T, outsidePress: E } = c, O = c.nodes.trigger;
272
272
  l(() => {
273
273
  if (d === null || !T) return;
274
274
  let e = d.closest("[data-ui=\"dialog\"]");
275
275
  if (e === null) return;
276
276
  let t = te(e, {
277
- back: w && x === "close",
277
+ back: w && b === "close",
278
278
  branches: O === null ? [] : [O],
279
279
  content: d,
280
280
  escape: C === "close",
@@ -294,7 +294,7 @@ function re({ children: e, className: t, ref: n, render: a, style: o, ...s }) {
294
294
  t.destroy(), a.destroy();
295
295
  };
296
296
  }, [
297
- x,
297
+ b,
298
298
  d,
299
299
  C,
300
300
  w,
@@ -348,7 +348,7 @@ function re({ children: e, className: t, ref: n, render: a, style: o, ...s }) {
348
348
  role: c.member === "alertDialog" ? "alertdialog" : "dialog",
349
349
  style: o
350
350
  }), M = a === void 0 ? /* @__PURE__ */ _("div", { ...j }) : a(j);
351
- return b(/* @__PURE__ */ v("div", {
351
+ return x(/* @__PURE__ */ v("div", {
352
352
  ...A,
353
353
  ...c.interactive ? {} : { inert: !0 },
354
354
  ref: c.registerLayer,
@@ -365,7 +365,7 @@ function re({ children: e, className: t, ref: n, render: a, style: o, ...s }) {
365
365
  function ie({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
366
366
  let s = D(), c = r({
367
367
  ...o,
368
- children: /* @__PURE__ */ v(g, { children: [e, s.fullscreenToggle ? /* @__PURE__ */ _(P, {}) : null] }),
368
+ children: /* @__PURE__ */ v(g, { children: [e, s.fullscreenToggle ? /* @__PURE__ */ _(ae, {}) : null] }),
369
369
  className: t,
370
370
  "data-part": "header",
371
371
  style: a
@@ -375,21 +375,21 @@ function ie({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
375
375
  ref: n
376
376
  }) : i(c);
377
377
  }
378
- function P() {
379
- let n = D();
378
+ function ae() {
379
+ let e = D();
380
380
  return /* @__PURE__ */ _("button", {
381
- "aria-label": n.t("fullScreen"),
382
- "aria-pressed": n.fullscreen,
381
+ "aria-label": e.t("fullScreen"),
382
+ "aria-pressed": e.fullscreen,
383
383
  "data-part": "fullscreen",
384
384
  "data-part-fullscreen": "",
385
- onClick: (e) => {
386
- e.defaultPrevented || n.setFullscreen(!n.fullscreen, e.detail === 0 ? "keyboard" : "pointer", e);
385
+ onClick: (t) => {
386
+ t.defaultPrevented || e.setFullscreen(!e.fullscreen, t.detail === 0 ? "keyboard" : "pointer", t);
387
387
  },
388
388
  type: "button",
389
- children: /* @__PURE__ */ _(t, { children: /* @__PURE__ */ _(e, { name: n.fullscreen ? "minimize" : "maximize" }) })
389
+ children: /* @__PURE__ */ _(n, { children: /* @__PURE__ */ _(t, { name: e.fullscreen ? "minimize" : "maximize" }) })
390
390
  });
391
391
  }
392
- function F({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
392
+ function P({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
393
393
  let s = D();
394
394
  l(() => s.announce("title", null), [s]);
395
395
  let c = r({
@@ -405,7 +405,7 @@ function F({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
405
405
  ref: n
406
406
  }) : i(c);
407
407
  }
408
- function I({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
408
+ function F({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
409
409
  let s = D();
410
410
  l(() => s.announce("description", null), [s]);
411
411
  let c = r({
@@ -421,7 +421,7 @@ function I({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
421
421
  ref: n
422
422
  }) : i(c);
423
423
  }
424
- function L({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
424
+ function I({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
425
425
  let s = D(), c = r({
426
426
  ...o,
427
427
  ...s.loading ? { "aria-busy": !0 } : {},
@@ -435,7 +435,7 @@ function L({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
435
435
  ref: n
436
436
  }) : i(c);
437
437
  }
438
- function R({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
438
+ function L({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
439
439
  let s = r({
440
440
  ...o,
441
441
  children: e,
@@ -448,7 +448,7 @@ function R({ children: e, className: t, ref: n, render: i, style: a, ...o }) {
448
448
  ref: n
449
449
  }) : i(s);
450
450
  }
451
- function z(e, t, n, r) {
451
+ function R(e, t, n, r) {
452
452
  let i = D();
453
453
  return {
454
454
  dialog: i,
@@ -458,13 +458,13 @@ function z(e, t, n, r) {
458
458
  part: e
459
459
  };
460
460
  }
461
- function ae({ children: n, className: i, onClick: a, ref: o, render: s, style: c, value: l, ...u }) {
462
- let { dialog: d, handleClick: f } = z("close", "dismiss", a, l);
461
+ function oe({ children: e, className: i, onClick: a, ref: o, render: s, style: c, value: l, ...u }) {
462
+ let { dialog: d, handleClick: f } = R("close", "dismiss", a, l);
463
463
  if (d.member === "alertDialog") throw Error("AlertDialog has no close part: a confirmation is answered with AlertDialogCancel or AlertDialogAction, not dismissed by an ✕.");
464
464
  let p = r({
465
465
  "aria-label": d.t("close"),
466
466
  ...u,
467
- children: n ?? /* @__PURE__ */ _(t, { children: /* @__PURE__ */ _(e, { name: "x" }) }),
467
+ children: e ?? /* @__PURE__ */ _(n, { children: /* @__PURE__ */ _(t, { name: "x" }) }),
468
468
  className: i,
469
469
  "data-part": "close",
470
470
  onClick: f,
@@ -476,7 +476,7 @@ function ae({ children: n, className: i, onClick: a, ref: o, render: s, style: c
476
476
  ref: o
477
477
  }) : s(p);
478
478
  }
479
- var B = {
479
+ var z = {
480
480
  accent: "circle-info",
481
481
  secondary: "circle-info",
482
482
  info: "circle-info",
@@ -484,11 +484,11 @@ var B = {
484
484
  warning: "triangle-alert",
485
485
  danger: "circle-alert"
486
486
  };
487
- function V({ children: n, className: i, ref: a, render: o, style: s, ...c }) {
487
+ function B({ children: e, className: i, ref: a, render: o, style: s, ...c }) {
488
488
  let l = D(), u = r({
489
489
  "aria-hidden": !0,
490
490
  ...c,
491
- children: n ?? /* @__PURE__ */ _(t, { children: /* @__PURE__ */ _(e, { name: l.tone === void 0 ? "triangle-alert" : B[l.tone] }) }),
491
+ children: e ?? /* @__PURE__ */ _(n, { children: /* @__PURE__ */ _(t, { name: l.tone === void 0 ? "triangle-alert" : z[l.tone] }) }),
492
492
  className: i,
493
493
  "data-part": "icon",
494
494
  style: s
@@ -498,8 +498,8 @@ function V({ children: n, className: i, ref: a, render: o, style: s, ...c }) {
498
498
  ref: a
499
499
  }) : o(u);
500
500
  }
501
- function H({ children: e, className: t, onClick: n, ref: i, render: a, style: o, value: s, ...c }) {
502
- let { dialog: l, handleClick: u } = z("cancel", "dismiss", n, s ?? "cancel"), d = r({
501
+ function V({ children: e, className: t, onClick: n, ref: i, render: a, style: o, value: s, ...c }) {
502
+ let { dialog: l, handleClick: u } = R("cancel", "dismiss", n, s ?? "cancel"), d = r({
503
503
  ...c,
504
504
  children: e,
505
505
  className: t,
@@ -518,8 +518,8 @@ function H({ children: e, className: t, onClick: n, ref: i, render: a, style: o,
518
518
  ref: f
519
519
  });
520
520
  }
521
- function U({ children: e, className: t, onClick: n, ref: i, render: a, style: o, value: s, ...c }) {
522
- let { handleClick: l } = z("action", "submit", n, s ?? "confirm"), u = r({
521
+ function H({ children: e, className: t, onClick: n, ref: i, render: a, style: o, value: s, ...c }) {
522
+ let { handleClick: l } = R("action", "submit", n, s ?? "confirm"), u = r({
523
523
  ...c,
524
524
  children: e,
525
525
  className: t,
@@ -534,4 +534,4 @@ function U({ children: e, className: t, onClick: n, ref: i, render: a, style: o,
534
534
  }) : a(u);
535
535
  }
536
536
  //#endregion
537
- export { ae as a, R as c, N as d, A as f, w as g, T as h, L as i, ie as l, D as m, H as n, re as o, k as p, V as r, I as s, U as t, F as u };
537
+ export { oe as a, L as c, ne as d, A as f, w as g, T as h, I as i, ie as l, D as m, V as n, re as o, k as p, B as r, F as s, H as t, P as u };
package/dist/dialog.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "./dialog-B6MP7GYI.js";
1
+ import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "./dialog-BB5MdJex.js";
2
2
  export { r as AlertDialog, m as AlertDialogAction, l as AlertDialogCancel, f as AlertDialogIcon, d as Dialog, o as DialogBody, e as DialogClose, u as DialogContent, a as DialogDefaultsProvider, p as DialogDescription, t as DialogFooter, s as DialogHeader, h as DialogTitle, n as DialogTrigger, c as useDialog, i as useDialogDefaults };
@@ -81,7 +81,7 @@
81
81
  "part": "actions",
82
82
  "element": "div",
83
83
  "required": true,
84
- "purpose": "The run that gives way, and the box the collapse measures. It carries margin-inline-start: auto, which anchors it to the bar’s end edge; below 24rem of container it becomes a full-width column with the action that confirms on top."
84
+ "purpose": "The run that gives way, and the box the collapse measures. It carries margin-inline-start: auto, which anchors it to the bar’s end edge; below 24rem of container, with no overflow control in the bar, it becomes a full-width column with the action that confirms on top."
85
85
  },
86
86
  {
87
87
  "part": "action",
@@ -164,7 +164,7 @@
164
164
  "type": "string | ((hidden: number) => string)",
165
165
  "defaultValue": "counted",
166
166
  "appliesTo": "ActionBarOverflow",
167
- "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"
167
+ "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, in the language in force, with its plural"
168
168
  },
169
169
  {
170
170
  "name": "align, side, size",
@@ -244,7 +244,7 @@
244
244
  "There is no APG pattern for a bar of actions, and the closest official guidance is the Toolbar pattern (w3.org/WAI/ARIA/apg/patterns/toolbar/). This family departs from it deliberately: there is no roving focus, so Tab reaches every action in the order the author wrote it. The controls here are the page’s own form actions, and a reader walking a form expects to arrive at Cancel and then at Save; a composite would make the whole bar one tab stop and put Save behind an arrow key that announces nothing. The cost is written down — a bar of ten icon-only actions is ten tab stops, and that bar is the Toolbar family.",
245
245
  "The role follows the departure. ARIA 1.2 makes toolbar a subclass of group, and the subclass is what is asserted when there is focus management to declare; without it, group is what is true. The bar names itself with the consumer’s aria-label or aria-labelledby, because only the page knows which task it finishes — and a role the consumer wrote on the element survives the family’s own.",
246
246
  "The only keyboard this family owns is the overflow trigger’s, and it is the Menu family’s: Enter, Space and ArrowDown open the surface, Escape closes it and returns focus to the trigger. Focus is moved onto the trigger before the action holding it is hidden, so a reader who was on the fifth button lands on the control that now holds it rather than on the document body.",
247
- "The trigger’s accessible name carries the count rather than the mark, so a reader hears “3 more actions” instead of three dots — and an application in another language replaces the sentence rather than translating an ellipsis. The count in the DOM, data-collapsed, is the same fact for a stylesheet or a test.",
247
+ "The trigger’s accessible name carries the count rather than the mark, so a reader hears “3 more actions” instead of three dots, in the language in force with its plural (“Mais 3 ações” in pt-BR). The count in the DOM, data-collapsed, is the same fact for a stylesheet or a test.",
248
248
  "A bar out of action is a fieldset around it: the platform disables every control inside and takes them out of the tab order with it. The family writes no data-disabled and declares no disabled state, because it does not own the capability — a container that refused interaction while its controls still looked operable is the defect the state precedence exists to prevent.",
249
249
  "A bar that is not present leaves the document once it has left the view, rather than staying mounted and hidden. Carbon’s batch bar writes aria-hidden on its root and leaves the buttons inside reachable by Tab, which puts focus in a region the screen reader announces as absent. Appearing never moves focus either: the bar is not a dialog, and taking focus from a reader who is ticking boxes is exactly the jump a selection bar must not make.",
250
250
  "Under forced colours the rule between two runs keeps its own paint, because a background flattens to Canvas and would take the boundary between a destructive action and a frequent one with it. Everything else the reader sees belongs to the controls the consumer placed, and each keeps its own states, its own focus ring and its own contrast."
@@ -393,7 +393,7 @@
393
393
  {
394
394
  "id": "stacked",
395
395
  "title": "The bar on a phone",
396
- "note": "Below 24rem of container the run becomes a full-width column with the action that confirms on top, and the collapse stops running — a column has room for everything, so there is no menu. The DOM order does not change, so Tab still reads the form’s order.",
396
+ "note": "Below 24rem of container a bar with no overflow control becomes a full-width column with the action that confirms on top, and the collapse stops running — a column has room for everything, so there is no menu. A bar with an overflow control keeps one row: the actions without a counterpart stay and the rest fold into the menu. The DOM order does not change, so Tab still reads the form’s order.",
397
397
  "language": "tsx",
398
398
  "source": "// The breakpoint lives in the stylesheet's container query, and the\n// binding reads back the property that query raises rather than holding\n// a copy of the number.\n<ActionBar aria-label=\"Ações do pedido\" variant=\"raised\">\n <ActionBarActions>\n <ActionBarAction>\n <Button variant=\"ghost\">Descartar alterações</Button>\n </ActionBarAction>\n <ActionBarAction>\n <Button>Guardar alterações</Button>\n </ActionBarAction>\n </ActionBarActions>\n</ActionBar>;\n",
399
399
  "verdict": "excerpt"
@@ -52,7 +52,7 @@ Excerpt — not a complete module
52
52
  | `onOverflowChange` | `(hidden: number) => void` | — | ActionBar | How many actions 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 |
53
53
  | `priority` | `'pinned' \| 'high' \| 'low' \| 'hide' \| 'always'` | low with a counterpart, pinned without | ActionBarAction | Where the action stands in the order of giving way. pinned never goes; high goes after low and hide; low is the first into the surface; hide goes first and is not offered in the surface at all; always is never in the bar. A rank that needs a counterpart and has none behaves as pinned, so a consumer error leaves the control on the bar |
54
54
  | `counterpart` | `ReactNode` | — | ActionBarAction | What the action becomes in the surface. An action 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 names what a container does with more content than it has room for |
55
- | `label` | `string \| ((hidden: number) => string)` | counted | ActionBarOverflow | 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 |
55
+ | `label` | `string \| ((hidden: number) => string)` | counted | ActionBarOverflow | 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, in the language in force, with its plural |
56
56
  | `align, side, size` | `MenuAlign \| MenuSide \| MenuSize` | from the Menu defaults | ActionBarOverflow | Where the surface sits against the trigger, and its own measure. Everything else about the layer an application sets once with MenuDefaultsProvider |
57
57
  | `aria-label` | `string` | — | ActionBar | The name of the bar. The family writes none: only the page knows which task the bar finishes. aria-labelledby works the same way |
58
58
  | `role` | `string` | group | ActionBar | group, because there is no roving focus to declare — ARIA makes toolbar a subclass of group, and the subclass is what is asserted when there is focus management. A consumer with ten icon-only actions may write toolbar themselves and keeps it, but that consumer wants the Toolbar family |
@@ -78,7 +78,7 @@ Excerpt — not a complete module
78
78
  - There is no APG pattern for a bar of actions, and the closest official guidance is the Toolbar pattern (w3.org/WAI/ARIA/apg/patterns/toolbar/). This family departs from it deliberately: there is no roving focus, so Tab reaches every action in the order the author wrote it. The controls here are the page’s own form actions, and a reader walking a form expects to arrive at Cancel and then at Save; a composite would make the whole bar one tab stop and put Save behind an arrow key that announces nothing. The cost is written down — a bar of ten icon-only actions is ten tab stops, and that bar is the Toolbar family.
79
79
  - The role follows the departure. ARIA 1.2 makes toolbar a subclass of group, and the subclass is what is asserted when there is focus management to declare; without it, group is what is true. The bar names itself with the consumer’s aria-label or aria-labelledby, because only the page knows which task it finishes — and a role the consumer wrote on the element survives the family’s own.
80
80
  - The only keyboard this family owns is the overflow trigger’s, and it is the Menu family’s: Enter, Space and ArrowDown open the surface, Escape closes it and returns focus to the trigger. Focus is moved onto the trigger before the action holding it is hidden, so a reader who was on the fifth button lands on the control that now holds it rather than on the document body.
81
- - The trigger’s accessible name carries the count rather than the mark, so a reader hears “3 more actions” instead of three dots — and an application in another language replaces the sentence rather than translating an ellipsis. The count in the DOM, data-collapsed, is the same fact for a stylesheet or a test.
81
+ - The trigger’s accessible name carries the count rather than the mark, so a reader hears “3 more actions” instead of three dots, in the language in force with its plural (“Mais 3 ações” in pt-BR). The count in the DOM, data-collapsed, is the same fact for a stylesheet or a test.
82
82
  - A bar out of action is a fieldset around it: the platform disables every control inside and takes them out of the tab order with it. The family writes no data-disabled and declares no disabled state, because it does not own the capability — a container that refused interaction while its controls still looked operable is the defect the state precedence exists to prevent.
83
83
  - A bar that is not present leaves the document once it has left the view, rather than staying mounted and hidden. Carbon’s batch bar writes aria-hidden on its root and leaves the buttons inside reachable by Tab, which puts focus in a region the screen reader announces as absent. Appearing never moves focus either: the bar is not a dialog, and taking focus from a reader who is ticking boxes is exactly the jump a selection bar must not make.
84
84
  - Under forced colours the rule between two runs keeps its own paint, because a background flattens to Canvas and would take the boundary between a destructive action and a frequent one with it. Everything else the reader sees belongs to the controls the consumer placed, and each keeps its own states, its own focus ring and its own contrast.
@@ -280,7 +280,7 @@ Excerpt — not a complete module
280
280
 
281
281
  ### The bar on a phone
282
282
 
283
- Below 24rem of container the run becomes a full-width column with the action that confirms on top, and the collapse stops running — a column has room for everything, so there is no menu. The DOM order does not change, so Tab still reads the form’s order.
283
+ Below 24rem of container a bar with no overflow control becomes a full-width column with the action that confirms on top, and the collapse stops running — a column has room for everything, so there is no menu. A bar with an overflow control keeps one row: the actions without a counterpart stay and the rest fold into the menu. The DOM order does not change, so Tab still reads the form’s order.
284
284
 
285
285
  Excerpt — not a complete module
286
286
 
@@ -87,8 +87,8 @@ Excerpt — not a complete module
87
87
  | `selectionMode` | `single`, `range`, `multiple` | `single` |
88
88
  | `view` | `day`, `month`, `year` | `day` |
89
89
  | `calendar` | `gregory` | `gregory` |
90
- | `weekNumbers` | `off`, `on` | `false` |
91
- | `fixedWeeks` | `off`, `on` | `false` |
90
+ | `weekNumbers` | `off`, `on` | false |
91
+ | `fixedWeeks` | `off`, `on` | false |
92
92
  | `outsideDays` | `shown`, `selectable`, `hidden` | `shown` |
93
93
 
94
94
  ## Rules
@@ -597,6 +597,7 @@
597
597
  "--slotted-border-subtle",
598
598
  "--slotted-border-width-thin",
599
599
  "--slotted-command-palette-active",
600
+ "--slotted-command-palette-backdrop-filter",
600
601
  "--slotted-command-palette-border-color",
601
602
  "--slotted-command-palette-footer-surface",
602
603
  "--slotted-command-palette-highlight",
@@ -130,7 +130,7 @@ Excerpt — not a complete module
130
130
 
131
131
  ## Tokens
132
132
 
133
- `--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-command-palette-active`, `--slotted-command-palette-border-color`, `--slotted-command-palette-footer-surface`, `--slotted-command-palette-highlight`, `--slotted-command-palette-highlight-ring`, `--slotted-command-palette-hover`, `--slotted-command-palette-item-radius`, `--slotted-command-palette-list-max-block-size`, `--slotted-command-palette-list-padding`, `--slotted-command-palette-measure`, `--slotted-command-palette-page-surface`, `--slotted-command-palette-placeholder-fade`, `--slotted-command-palette-radius`, `--slotted-command-palette-separator-color`, `--slotted-command-palette-shadow`, `--slotted-command-palette-surface`, `--slotted-command-palette-text`, `--slotted-command-palette-text-muted`, `--slotted-control-font-size-lg`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-control-inner-size-lg`, `--slotted-control-inner-size-md`, `--slotted-control-inner-size-sm`, `--slotted-control-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-radius`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-disabled-foreground`, `--slotted-duration-short`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-width`, `--slotted-font-family-sans`, `--slotted-font-size-lg`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-semibold`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-line-height-xs`, `--slotted-radius-lg`, `--slotted-radius-sm`, `--slotted-shadow-lg`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-6`, `--slotted-space-8`, `--slotted-surface-raised`, `--slotted-surface-sunken`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-border`, `--slotted-tone-accent-surface`, `--slotted-tone-accent-text`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`
133
+ `--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-command-palette-active`, `--slotted-command-palette-backdrop-filter`, `--slotted-command-palette-border-color`, `--slotted-command-palette-footer-surface`, `--slotted-command-palette-highlight`, `--slotted-command-palette-highlight-ring`, `--slotted-command-palette-hover`, `--slotted-command-palette-item-radius`, `--slotted-command-palette-list-max-block-size`, `--slotted-command-palette-list-padding`, `--slotted-command-palette-measure`, `--slotted-command-palette-page-surface`, `--slotted-command-palette-placeholder-fade`, `--slotted-command-palette-radius`, `--slotted-command-palette-separator-color`, `--slotted-command-palette-shadow`, `--slotted-command-palette-surface`, `--slotted-command-palette-text`, `--slotted-command-palette-text-muted`, `--slotted-control-font-size-lg`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-control-inner-size-lg`, `--slotted-control-inner-size-md`, `--slotted-control-inner-size-sm`, `--slotted-control-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-radius`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-disabled-foreground`, `--slotted-duration-short`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-width`, `--slotted-font-family-sans`, `--slotted-font-size-lg`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-semibold`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-line-height-xs`, `--slotted-radius-lg`, `--slotted-radius-sm`, `--slotted-shadow-lg`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-6`, `--slotted-space-8`, `--slotted-surface-raised`, `--slotted-surface-sunken`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-border`, `--slotted-tone-accent-surface`, `--slotted-tone-accent-text`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`
134
134
 
135
135
  ## Examples
136
136
 
@@ -788,6 +788,7 @@ const COLUMNS: GridColumn<Shipment>[] = [
788
788
  ];
789
789
 
790
790
  const ROWS = shipments(12);
791
+ const DISABLED = ['SH-3305'];
791
792
 
792
793
  export default function DataGridSelection() {
793
794
  const [value, setValue] = useState<string | readonly string[] | null>(['SH-3302', 'SH-3303']);
@@ -799,7 +800,7 @@ export default function DataGridSelection() {
799
800
  columns={COLUMNS}
800
801
  rowKey="id"
801
802
  rows={ROWS}
802
- disabledKeys={['SH-3305']}
803
+ disabledKeys={DISABLED}
803
804
  footer={
804
805
  <Text size="sm" tone="muted">
805
806
  {count} selected
@@ -2328,6 +2329,11 @@ A renderer draws anything: an avatar beside the name, a thumbnail in a custom co
2328
2329
  Excerpt — not a complete module
2329
2330
 
2330
2331
  ```tsx
2332
+ const MEDIA_COLUMNS: DataGridColumn<Shipment>[] = [
2333
+ ...columns,
2334
+ { id: 'photo', label: 'Cargo', kind: 'custom', sortable: false },
2335
+ ];
2336
+
2331
2337
  <DataGrid
2332
2338
  cellRenderers={{
2333
2339
  customer: ({ row }) => (
@@ -2338,7 +2344,7 @@ Excerpt — not a complete module
2338
2344
  ),
2339
2345
  photo: ({ row }) => <Image alt="" radius="sm" ratio="landscape" src={row.photo} />,
2340
2346
  }}
2341
- columns={[...columns, { id: 'photo', label: 'Cargo', kind: 'custom', sortable: false }]}
2347
+ columns={MEDIA_COLUMNS}
2342
2348
  rowHeight={56}
2343
2349
  />;
2344
2350
  ```