@kerfjs/ui 5.0.0-beta.95 → 5.0.0-beta.96

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 (385) hide show
  1. package/README.md +95 -55
  2. package/ai/component-catalog.json +1328 -94
  3. package/ai/component-composition-rules.json +11 -0
  4. package/ai/component-composition.d.ts +3 -0
  5. package/ai/component-composition.json +955 -23
  6. package/ai/component-composition.schema.json +4 -0
  7. package/ai/components/README.md +12 -0
  8. package/ai/components/badge.md +6 -2
  9. package/ai/components/choice-chips.md +80 -0
  10. package/ai/components/column-track.md +78 -0
  11. package/ai/components/combobox.md +88 -0
  12. package/ai/components/content-item.md +2 -0
  13. package/ai/components/content-swap.md +78 -0
  14. package/ai/components/corner-status.md +88 -0
  15. package/ai/components/document-baseline.md +3 -1
  16. package/ai/components/edge-activity-indicator.md +81 -0
  17. package/ai/components/file-picker.md +88 -0
  18. package/ai/components/foundation.md +1 -1
  19. package/ai/components/framed-list.md +80 -0
  20. package/ai/components/grid.md +2 -1
  21. package/ai/components/icon-button.md +82 -0
  22. package/ai/components/icon-toggle-button.md +80 -0
  23. package/ai/components/list-action-row.md +19 -7
  24. package/ai/components/list-item.md +16 -7
  25. package/ai/components/list.md +5 -2
  26. package/ai/components/nav-stack.md +2 -1
  27. package/ai/components/popup-menu.md +2 -2
  28. package/ai/components/row.md +1 -1
  29. package/ai/components/select.md +2 -1
  30. package/ai/components/split-button.md +80 -0
  31. package/ai/components/split-view.md +1 -1
  32. package/ai/components/state-banner.md +4 -2
  33. package/ai/components/summary-row.md +85 -0
  34. package/ai/components/sunken-panel.md +1 -1
  35. package/ai/components/surface-scaffold.md +8 -2
  36. package/ai/components/text.md +3 -0
  37. package/ai/components/toolbar-control-group.md +4 -2
  38. package/ai/components/toolbar-text.md +1 -0
  39. package/ai/components/toolbar.md +1 -0
  40. package/ai/components/value-table.md +9 -2
  41. package/ai/components/wa-button-group.md +2 -1
  42. package/ai/components/wa-button.md +5 -1
  43. package/ai/public-api-signatures-v1.md +1063 -52
  44. package/ai/skill.md +54 -52
  45. package/ai/webawesome-jsx-signatures-v1.md +1 -1
  46. package/dist/anchored-surface.d.ts +13 -2
  47. package/dist/anchored-surface.js +1 -1
  48. package/dist/app-tab.js +1 -1
  49. package/dist/badge.d.ts +31 -2
  50. package/dist/badge.js +2 -1
  51. package/dist/browser/choice-chips.js +3 -0
  52. package/dist/browser/column-track.js +3 -0
  53. package/dist/browser/combobox.js +3 -0
  54. package/dist/browser/content-swap.js +3 -0
  55. package/dist/browser/corner-status.js +3 -0
  56. package/dist/browser/edge-activity-indicator.js +3 -0
  57. package/dist/browser/file-picker.js +3 -0
  58. package/dist/browser/framed-list.js +3 -0
  59. package/dist/browser/icon-button.js +4 -0
  60. package/dist/browser/icon-toggle-button.js +4 -0
  61. package/dist/browser/list-action-row.js +1 -0
  62. package/dist/browser/split-button.js +5 -0
  63. package/dist/browser/summary-row.js +3 -0
  64. package/dist/catalog-resources.d.ts +1 -0
  65. package/dist/catalog.d.ts +1 -0
  66. package/dist/catalog.js +16 -13
  67. package/dist/catalog.js.map +1 -1
  68. package/dist/chip.d.ts +1 -0
  69. package/dist/choice-chips.d.ts +58 -0
  70. package/dist/choice-chips.js +3 -0
  71. package/dist/choice-chips.js.map +1 -0
  72. package/dist/chunk-2MSPNRWJ.js +82 -0
  73. package/dist/chunk-2MSPNRWJ.js.map +1 -0
  74. package/dist/{chunk-3PO7JEK7.js → chunk-36TL6BCR.js} +18 -4
  75. package/dist/chunk-36TL6BCR.js.map +1 -0
  76. package/dist/{chunk-MORVLMDG.js → chunk-44A6LP54.js} +3 -3
  77. package/dist/chunk-44A6LP54.js.map +1 -0
  78. package/dist/{chunk-7QQ3HE47.js → chunk-4LOK4634.js} +7 -3
  79. package/dist/chunk-4LOK4634.js.map +1 -0
  80. package/dist/chunk-4UB5Z3ZZ.js +68 -0
  81. package/dist/chunk-4UB5Z3ZZ.js.map +1 -0
  82. package/dist/{chunk-PGL6TXFW.js → chunk-6BRRUPJY.js} +6 -2
  83. package/dist/chunk-6BRRUPJY.js.map +1 -0
  84. package/dist/{chunk-KAJVVN7Q.js → chunk-6NOLL5KG.js} +2 -2
  85. package/dist/{chunk-KAJVVN7Q.js.map → chunk-6NOLL5KG.js.map} +1 -1
  86. package/dist/{chunk-IOS2NXW7.js → chunk-76PWEN5Y.js} +13 -2
  87. package/dist/chunk-76PWEN5Y.js.map +1 -0
  88. package/dist/{chunk-B3TROLC2.js → chunk-7IUEBNCO.js} +7 -3
  89. package/dist/chunk-7IUEBNCO.js.map +1 -0
  90. package/dist/{chunk-75YOTZ25.js → chunk-AYHC62OZ.js} +10 -6
  91. package/dist/chunk-AYHC62OZ.js.map +1 -0
  92. package/dist/{chunk-RZYQFGMM.js → chunk-BBU2SPRE.js} +4 -4
  93. package/dist/{chunk-RZYQFGMM.js.map → chunk-BBU2SPRE.js.map} +1 -1
  94. package/dist/{chunk-QCLLBMLA.js → chunk-BU23Z5HZ.js} +37 -12
  95. package/dist/chunk-BU23Z5HZ.js.map +1 -0
  96. package/dist/{chunk-BYHGRKC3.js → chunk-CMLPFIC5.js} +3 -1
  97. package/dist/chunk-CMLPFIC5.js.map +1 -0
  98. package/dist/{chunk-3XPGJUUQ.js → chunk-D5RGM3XA.js} +3 -2
  99. package/dist/chunk-D5RGM3XA.js.map +1 -0
  100. package/dist/chunk-EIET4QLK.js +51 -0
  101. package/dist/chunk-EIET4QLK.js.map +1 -0
  102. package/dist/chunk-ETCWQLJV.js +85 -0
  103. package/dist/chunk-ETCWQLJV.js.map +1 -0
  104. package/dist/chunk-FDZNYD4C.js +138 -0
  105. package/dist/chunk-FDZNYD4C.js.map +1 -0
  106. package/dist/{chunk-XKZPBRU7.js → chunk-FOQK4F3L.js} +25 -5
  107. package/dist/chunk-FOQK4F3L.js.map +1 -0
  108. package/dist/{chunk-FL6J644M.js → chunk-GJYQ27C2.js} +4 -2
  109. package/dist/chunk-GJYQ27C2.js.map +1 -0
  110. package/dist/{chunk-DL55BSQX.js → chunk-GZE2XVKC.js} +8 -1
  111. package/dist/chunk-GZE2XVKC.js.map +1 -0
  112. package/dist/{chunk-YP2G67S7.js → chunk-HO6FU3G7.js} +2 -2
  113. package/dist/{chunk-YP2G67S7.js.map → chunk-HO6FU3G7.js.map} +1 -1
  114. package/dist/{chunk-3DXHNLME.js → chunk-IGTWXPTN.js} +25 -8
  115. package/dist/chunk-IGTWXPTN.js.map +1 -0
  116. package/dist/chunk-IKS72C6P.js +53 -0
  117. package/dist/chunk-IKS72C6P.js.map +1 -0
  118. package/dist/chunk-JYD7G4RG.js +130 -0
  119. package/dist/chunk-JYD7G4RG.js.map +1 -0
  120. package/dist/{chunk-LAZLBC2Q.js → chunk-KH4KEMSP.js} +33 -2
  121. package/dist/chunk-KH4KEMSP.js.map +1 -0
  122. package/dist/chunk-LL45C7BB.js +122 -0
  123. package/dist/chunk-LL45C7BB.js.map +1 -0
  124. package/dist/chunk-M2NRCFRO.js +45 -0
  125. package/dist/chunk-M2NRCFRO.js.map +1 -0
  126. package/dist/chunk-MJ5RU6XT.js +173 -0
  127. package/dist/chunk-MJ5RU6XT.js.map +1 -0
  128. package/dist/{chunk-GIUOXAVL.js → chunk-P74VXMB6.js} +39 -19
  129. package/dist/chunk-P74VXMB6.js.map +1 -0
  130. package/dist/{chunk-TKDDTLG5.js → chunk-PBT3CPPY.js} +31 -3
  131. package/dist/chunk-PBT3CPPY.js.map +1 -0
  132. package/dist/chunk-PRG4CL3Q.js +88 -0
  133. package/dist/chunk-PRG4CL3Q.js.map +1 -0
  134. package/dist/chunk-QH5KOFNS.js +39 -0
  135. package/dist/chunk-QH5KOFNS.js.map +1 -0
  136. package/dist/{chunk-CD5TOO22.js → chunk-QIAPOWHH.js} +2 -2
  137. package/dist/{chunk-CD5TOO22.js.map → chunk-QIAPOWHH.js.map} +1 -1
  138. package/dist/chunk-QQ3TTWFH.js +29 -0
  139. package/dist/chunk-QQ3TTWFH.js.map +1 -0
  140. package/dist/chunk-QYMJHS4K.js +36 -0
  141. package/dist/chunk-QYMJHS4K.js.map +1 -0
  142. package/dist/chunk-R42D2BAO.js +44 -0
  143. package/dist/chunk-R42D2BAO.js.map +1 -0
  144. package/dist/chunk-S2XULQEK.js +52 -0
  145. package/dist/chunk-S2XULQEK.js.map +1 -0
  146. package/dist/{chunk-NMWDHZVM.js → chunk-S4Y3YTAI.js} +2 -2
  147. package/dist/{chunk-NMWDHZVM.js.map → chunk-S4Y3YTAI.js.map} +1 -1
  148. package/dist/{chunk-O27D24CA.js → chunk-TDMHA7C3.js} +3 -2
  149. package/dist/chunk-TDMHA7C3.js.map +1 -0
  150. package/dist/chunk-U6QYTMDB.js +85 -0
  151. package/dist/chunk-U6QYTMDB.js.map +1 -0
  152. package/dist/{chunk-QQICWWNX.js → chunk-V6W56V3N.js} +18 -7
  153. package/dist/chunk-V6W56V3N.js.map +1 -0
  154. package/dist/chunk-W4IK7AWD.js +73 -0
  155. package/dist/chunk-W4IK7AWD.js.map +1 -0
  156. package/dist/{chunk-TNG3XKHB.js → chunk-Y3LC7JQO.js} +26 -8
  157. package/dist/chunk-Y3LC7JQO.js.map +1 -0
  158. package/dist/chunk-YWQGSUF2.js +84 -0
  159. package/dist/chunk-YWQGSUF2.js.map +1 -0
  160. package/dist/{chunk-MTCTX25G.js → chunk-YXOMI7ES.js} +1 -1
  161. package/dist/chunk-YXOMI7ES.js.map +1 -0
  162. package/dist/chunk-ZKKO4MHC.js +25 -0
  163. package/dist/chunk-ZKKO4MHC.js.map +1 -0
  164. package/dist/collapsible-panel.d.ts +10 -3
  165. package/dist/collapsible-panel.js +8 -5
  166. package/dist/collapsible-panel.js.map +1 -1
  167. package/dist/column-track.d.ts +41 -0
  168. package/dist/column-track.js +4 -0
  169. package/dist/column-track.js.map +1 -0
  170. package/dist/combobox.d.ts +40 -0
  171. package/dist/combobox.js +3 -0
  172. package/dist/combobox.js.map +1 -0
  173. package/dist/content-item.d.ts +21 -4
  174. package/dist/content-item.js +1 -1
  175. package/dist/content-swap.d.ts +34 -0
  176. package/dist/content-swap.js +3 -0
  177. package/dist/content-swap.js.map +1 -0
  178. package/dist/corner-status.d.ts +36 -0
  179. package/dist/corner-status.js +3 -0
  180. package/dist/corner-status.js.map +1 -0
  181. package/dist/edge-activity-indicator.d.ts +28 -0
  182. package/dist/edge-activity-indicator.js +3 -0
  183. package/dist/edge-activity-indicator.js.map +1 -0
  184. package/dist/extension-attributes-mu8MFUl0.d.ts +13 -0
  185. package/dist/file-picker.d.ts +47 -0
  186. package/dist/file-picker.js +3 -0
  187. package/dist/file-picker.js.map +1 -0
  188. package/dist/framed-list.d.ts +47 -0
  189. package/dist/framed-list.js +4 -0
  190. package/dist/framed-list.js.map +1 -0
  191. package/dist/grid.js +1 -1
  192. package/dist/help-tags-register.js +1 -1
  193. package/dist/icon-button.d.ts +46 -0
  194. package/dist/icon-button.js +6 -0
  195. package/dist/icon-button.js.map +1 -0
  196. package/dist/icon-toggle-button.d.ts +42 -0
  197. package/dist/icon-toggle-button.js +6 -0
  198. package/dist/icon-toggle-button.js.map +1 -0
  199. package/dist/index.d.ts +23 -6
  200. package/dist/index.js +44 -27
  201. package/dist/list-action-row.d.ts +47 -10
  202. package/dist/list-action-row.js +2 -1
  203. package/dist/list-header.js +1 -1
  204. package/dist/list-inset-text.js +1 -1
  205. package/dist/list-item.d.ts +10 -2
  206. package/dist/list-item.js +1 -1
  207. package/dist/list.d.ts +37 -5
  208. package/dist/list.js +1 -1
  209. package/dist/nav-stack.d.ts +1 -0
  210. package/dist/nav-stack.js +2 -1
  211. package/dist/pane.js +2 -1
  212. package/dist/popup-menu-register.js +18 -1
  213. package/dist/popup-menu-register.js.map +1 -1
  214. package/dist/popup-menu.d.ts +28 -3
  215. package/dist/popup-menu.js +1 -1
  216. package/dist/row.d.ts +6 -2
  217. package/dist/row.js +1 -1
  218. package/dist/select-register.js +1 -1
  219. package/dist/select.js +2 -1
  220. package/dist/split-button.d.ts +57 -0
  221. package/dist/split-button.js +7 -0
  222. package/dist/split-button.js.map +1 -0
  223. package/dist/split-view.d.ts +20 -2
  224. package/dist/split-view.js +22 -1
  225. package/dist/split-view.js.map +1 -1
  226. package/dist/state-banner.d.ts +17 -2
  227. package/dist/state-banner.js +2 -1
  228. package/dist/styles/badge.css +27 -0
  229. package/dist/styles/catalog/components/catalog-example.css +7 -3
  230. package/dist/styles/choice-chips.css +154 -0
  231. package/dist/styles/column-track.css +57 -0
  232. package/dist/styles/combobox.css +113 -0
  233. package/dist/styles/components/actions/icon-button/icon-button.css +22 -0
  234. package/dist/styles/components/actions/icon-toggle-button/icon-toggle-button.css +83 -0
  235. package/dist/styles/components/actions/popup-menu/popup-menu.css +69 -1
  236. package/dist/styles/components/actions/split-button/split-button.css +95 -0
  237. package/dist/styles/components/actions/toolbar/toolbar.css +16 -9
  238. package/dist/styles/components/actions/toolbar-control-group/toolbar-control-group.css +144 -48
  239. package/dist/styles/components/actions/toolbar-text/toolbar-text.css +23 -0
  240. package/dist/styles/components/collections/framed-list/framed-list.css +47 -0
  241. package/dist/styles/components/collections/list/list.css +44 -0
  242. package/dist/styles/components/collections/list-action-row/list-action-row.css +39 -0
  243. package/dist/styles/components/collections/list-item/list-item.css +45 -0
  244. package/dist/styles/components/collections/summary-row/summary-row.css +161 -0
  245. package/dist/styles/components/data-display/value-table/value-table.css +76 -0
  246. package/dist/styles/components/feedback/badge/badge.css +27 -0
  247. package/dist/styles/components/feedback/corner-status/corner-status.css +60 -0
  248. package/dist/styles/components/feedback/edge-activity-indicator/edge-activity-indicator.css +127 -0
  249. package/dist/styles/components/feedback/state-banner/state-banner.css +38 -0
  250. package/dist/styles/components/forms/choice-chips/choice-chips.css +154 -0
  251. package/dist/styles/components/forms/combobox/combobox.css +113 -0
  252. package/dist/styles/components/forms/file-picker/file-picker.css +81 -0
  253. package/dist/styles/components/forms/token-search-field/token-search-field.css +12 -1
  254. package/dist/styles/components/layout/column-track/column-track.css +57 -0
  255. package/dist/styles/components/layout/content-swap/content-swap.css +154 -0
  256. package/dist/styles/components/layout/pane/pane.css +2 -8
  257. package/dist/styles/components/layout/workbench/workbench.css +2 -8
  258. package/dist/styles/components/navigation/tab-navigator/tab-navigator.css +1 -4
  259. package/dist/styles/components/surfaces/content-item/content-item.css +18 -0
  260. package/dist/styles/components/surfaces/sunken-panel/sunken-panel.css +1 -4
  261. package/dist/styles/components/surfaces/surface-scaffold/surface-scaffold.css +119 -0
  262. package/dist/styles/components/typography/text/text.css +62 -0
  263. package/dist/styles/content-item.css +18 -0
  264. package/dist/styles/content-swap.css +154 -0
  265. package/dist/styles/corner-status.css +60 -0
  266. package/dist/styles/document.css +65 -0
  267. package/dist/styles/edge-activity-indicator.css +127 -0
  268. package/dist/styles/file-picker.css +81 -0
  269. package/dist/styles/foundation.css +8 -0
  270. package/dist/styles/framed-list.css +47 -0
  271. package/dist/styles/icon-button.css +22 -0
  272. package/dist/styles/icon-toggle-button.css +83 -0
  273. package/dist/styles/list-action-row.css +39 -0
  274. package/dist/styles/list-item.css +45 -0
  275. package/dist/styles/list.css +44 -0
  276. package/dist/styles/pane.css +2 -8
  277. package/dist/styles/popup-menu.css +69 -1
  278. package/dist/styles/split-button.css +95 -0
  279. package/dist/styles/state-banner.css +38 -0
  280. package/dist/styles/styles.css +12 -0
  281. package/dist/styles/summary-row.css +161 -0
  282. package/dist/styles/sunken-panel.css +1 -4
  283. package/dist/styles/surface-scaffold.css +119 -0
  284. package/dist/styles/tab-navigator.css +1 -4
  285. package/dist/styles/text.css +62 -0
  286. package/dist/styles/token-search-field.css +12 -1
  287. package/dist/styles/toolbar-control-group.css +144 -48
  288. package/dist/styles/toolbar-text.css +23 -0
  289. package/dist/styles/toolbar.css +16 -9
  290. package/dist/styles/value-table.css +76 -0
  291. package/dist/styles/webawesome.css +4 -4
  292. package/dist/styles/workbench.css +2 -8
  293. package/dist/summary-row.d.ts +56 -0
  294. package/dist/summary-row.js +4 -0
  295. package/dist/summary-row.js.map +1 -0
  296. package/dist/sunken-panel.d.ts +8 -1
  297. package/dist/sunken-panel.js +2 -1
  298. package/dist/surface-scaffold-register.js +7 -1
  299. package/dist/surface-scaffold-register.js.map +1 -1
  300. package/dist/surface-scaffold.d.ts +75 -2
  301. package/dist/surface-scaffold.js +2 -1
  302. package/dist/tab-navigator.js +4 -1
  303. package/dist/tab-navigator.js.map +1 -1
  304. package/dist/text.d.ts +39 -4
  305. package/dist/text.js +1 -1
  306. package/dist/toolbar-control-group.d.ts +8 -1
  307. package/dist/toolbar-control-group.js +1 -1
  308. package/dist/toolbar-text.d.ts +14 -1
  309. package/dist/toolbar-text.js +1 -1
  310. package/dist/toolbar.d.ts +14 -3
  311. package/dist/toolbar.js +1 -1
  312. package/dist/value-table.d.ts +20 -2
  313. package/dist/value-table.js +1 -1
  314. package/dist/wire-catalog.d.ts +1 -0
  315. package/dist/wire-comboboxes.d.ts +26 -0
  316. package/dist/wire-comboboxes.js +3 -0
  317. package/dist/wire-comboboxes.js.map +1 -0
  318. package/dist/wire-corner-status.d.ts +11 -0
  319. package/dist/wire-corner-status.js +3 -0
  320. package/dist/wire-corner-status.js.map +1 -0
  321. package/dist/wire-file-pickers.d.ts +26 -0
  322. package/dist/wire-file-pickers.js +3 -0
  323. package/dist/wire-file-pickers.js.map +1 -0
  324. package/dist/wire-list-reorder.d.ts +41 -0
  325. package/dist/wire-list-reorder.js +3 -0
  326. package/dist/wire-list-reorder.js.map +1 -0
  327. package/dist/wire-token-search-fields.js +1 -1
  328. package/dist/workbench.d.ts +1 -0
  329. package/dist/workbench.js +2 -1
  330. package/docs/accessibility.md +45 -2
  331. package/docs/anchored-surface.md +15 -7
  332. package/docs/app-layouts.md +2 -1
  333. package/docs/component-contract.md +26 -6
  334. package/docs/component-selection.md +149 -13
  335. package/docs/design/templates/choice-chips/color-palette-dark.svg +1 -0
  336. package/docs/design/templates/choice-chips/color-palette.svg +1 -0
  337. package/docs/design/templates/choice-chips/compact-icons-dark.svg +1 -0
  338. package/docs/design/templates/choice-chips/compact-icons.svg +1 -0
  339. package/docs/design/templates/choice-chips-dark.svg +1 -0
  340. package/docs/design/templates/choice-chips.svg +1 -0
  341. package/docs/design/templates/list-action-row/trailing-menu-dark.svg +1 -0
  342. package/docs/design/templates/list-action-row/trailing-menu.svg +1 -0
  343. package/docs/design/templates/list-action-row-dark.svg +1 -1
  344. package/docs/design/templates/list-action-row.svg +1 -1
  345. package/docs/design/templates/state-banner/strip-dark.svg +1 -0
  346. package/docs/design/templates/state-banner/strip.svg +1 -0
  347. package/docs/design/templates/state-banner-dark.svg +1 -1
  348. package/docs/design/templates/state-banner.svg +1 -1
  349. package/docs/design/templates.md +1 -1
  350. package/docs/document-baseline.md +51 -0
  351. package/docs/layout.md +52 -1
  352. package/docs/split-view.md +20 -2
  353. package/docs/sunken-panel.md +13 -0
  354. package/docs/surface-scaffold.md +66 -1
  355. package/docs/ux-demo.md +1 -0
  356. package/docs/webawesome-theme.md +6 -2
  357. package/llms.txt +125 -16
  358. package/package.json +89 -1
  359. package/dist/chunk-3DXHNLME.js.map +0 -1
  360. package/dist/chunk-3PO7JEK7.js.map +0 -1
  361. package/dist/chunk-3XPGJUUQ.js.map +0 -1
  362. package/dist/chunk-4Y4L5YEI.js +0 -66
  363. package/dist/chunk-4Y4L5YEI.js.map +0 -1
  364. package/dist/chunk-75YOTZ25.js.map +0 -1
  365. package/dist/chunk-7QQ3HE47.js.map +0 -1
  366. package/dist/chunk-A7DYEERU.js +0 -59
  367. package/dist/chunk-A7DYEERU.js.map +0 -1
  368. package/dist/chunk-B3TROLC2.js.map +0 -1
  369. package/dist/chunk-BYHGRKC3.js.map +0 -1
  370. package/dist/chunk-DL55BSQX.js.map +0 -1
  371. package/dist/chunk-FL6J644M.js.map +0 -1
  372. package/dist/chunk-GIUOXAVL.js.map +0 -1
  373. package/dist/chunk-IOS2NXW7.js.map +0 -1
  374. package/dist/chunk-J3AWE5I4.js +0 -50
  375. package/dist/chunk-J3AWE5I4.js.map +0 -1
  376. package/dist/chunk-LAZLBC2Q.js.map +0 -1
  377. package/dist/chunk-MORVLMDG.js.map +0 -1
  378. package/dist/chunk-MTCTX25G.js.map +0 -1
  379. package/dist/chunk-O27D24CA.js.map +0 -1
  380. package/dist/chunk-PGL6TXFW.js.map +0 -1
  381. package/dist/chunk-QCLLBMLA.js.map +0 -1
  382. package/dist/chunk-QQICWWNX.js.map +0 -1
  383. package/dist/chunk-TKDDTLG5.js.map +0 -1
  384. package/dist/chunk-TNG3XKHB.js.map +0 -1
  385. package/dist/chunk-XKZPBRU7.js.map +0 -1
@@ -0,0 +1,83 @@
1
+ /* The single contained ToolbarControlGroup's geometry, standalone: a 44px
2
+ filled, bordered control whose 2px-inset face lifts to the raised surface
3
+ on hover and stays raised, in the brand foreground, while pressed. */
4
+ .kui-icon-toggle-button {
5
+ --_kui-icon-toggle-button-radius: var(
6
+ --kui-layout-pill-radius,
7
+ calc(1px + 1.3125rem)
8
+ );
9
+ --_kui-icon-toggle-button-inset: var(
10
+ --kui-layout-highlight-inset,
11
+ 0.125rem
12
+ );
13
+ /* One full-size track for the face. The button sets its own track and
14
+ alignment because native or document button styles center content,
15
+ which would shrink the face to the icon. */
16
+ display: inline-grid;
17
+ grid-template: minmax(0, 1fr) / minmax(0, 1fr);
18
+ place-content: stretch;
19
+ place-items: stretch;
20
+ width: 2.75rem;
21
+ height: 2.75rem;
22
+ margin: 0;
23
+ padding: var(--_kui-icon-toggle-button-inset);
24
+ box-sizing: border-box;
25
+ border: 1px solid var(--kui-color-neutral-border-normal);
26
+ border-radius: var(--_kui-icon-toggle-button-radius);
27
+ color: var(--kui-color-neutral-on-quiet);
28
+ background: var(--kui-color-neutral-fill-normal);
29
+ cursor: pointer;
30
+ flex: none;
31
+ font: inherit;
32
+ }
33
+
34
+ .kui-icon-toggle-button[data-shape="rounded"] {
35
+ --_kui-icon-toggle-button-radius: var(
36
+ --kui-layout-rounded-radius,
37
+ calc(1px + 0.6875rem)
38
+ );
39
+ }
40
+
41
+ .kui-icon-toggle-button__face {
42
+ display: grid;
43
+ border-radius: max(
44
+ 0px,
45
+ calc(
46
+ var(--_kui-icon-toggle-button-radius) -
47
+ var(--_kui-icon-toggle-button-inset) - 1px
48
+ )
49
+ );
50
+ place-items: center;
51
+ transition:
52
+ background-color 120ms ease,
53
+ box-shadow 120ms ease;
54
+ }
55
+
56
+ .kui-icon-toggle-button:hover:not(:disabled) > .kui-icon-toggle-button__face {
57
+ background: var(--kui-color-surface);
58
+ }
59
+
60
+ .kui-icon-toggle-button[aria-pressed="true"] {
61
+ color: var(--kui-color-brand-on-quiet);
62
+ }
63
+
64
+ .kui-icon-toggle-button[aria-pressed="true"] > .kui-icon-toggle-button__face {
65
+ background: var(--kui-color-surface);
66
+ box-shadow: var(--kui-shadow-s);
67
+ }
68
+
69
+ .kui-icon-toggle-button:focus-visible {
70
+ outline: var(--kui-focus-ring);
71
+ outline-offset: 1px;
72
+ }
73
+
74
+ .kui-icon-toggle-button:disabled {
75
+ cursor: default;
76
+ opacity: 0.5;
77
+ }
78
+
79
+ @media (prefers-reduced-motion: reduce) {
80
+ .kui-icon-toggle-button__face {
81
+ transition: none;
82
+ }
83
+ }
@@ -68,6 +68,40 @@
68
68
  outline-offset: 1px;
69
69
  }
70
70
 
71
+ /* Reorder presentation. A dragged row dims; the row under the pointer draws
72
+ a brand insertion line along the block edge the dragged rows would land
73
+ beside, inset to the row's content padding so it ends clear of the
74
+ rounded corners. */
75
+ .kui-list-action-row[data-dragging="true"] {
76
+ opacity: var(--kui-list-action-row-dragging-opacity, 0.55);
77
+ }
78
+
79
+ .kui-list-action-row[data-drop-position] {
80
+ position: relative;
81
+ }
82
+
83
+ .kui-list-action-row[data-drop-position]::after {
84
+ position: absolute;
85
+ z-index: 1;
86
+ inset-inline: var(--kui-layout-item-padding, 0.5rem);
87
+ height: var(--kui-list-action-row-drop-indicator-width, 2px);
88
+ border-radius: var(--kui-radius-pill);
89
+ background: var(
90
+ --kui-list-action-row-drop-indicator,
91
+ var(--kui-color-brand-border-loud)
92
+ );
93
+ content: "";
94
+ pointer-events: none;
95
+ }
96
+
97
+ .kui-list-action-row[data-drop-position="before"]::after {
98
+ inset-block-start: 0;
99
+ }
100
+
101
+ .kui-list-action-row[data-drop-position="after"]::after {
102
+ inset-block-end: 0;
103
+ }
104
+
71
105
  .kui-list-action-row__primary,
72
106
  .kui-list-action-row__trailing-action {
73
107
  height: auto !important;
@@ -244,6 +278,11 @@
244
278
  }
245
279
 
246
280
  @media (forced-colors: active) {
281
+ .kui-list-action-row[data-drop-position]::after {
282
+ background: Highlight;
283
+ forced-color-adjust: none;
284
+ }
285
+
247
286
  .kui-list-action-row {
248
287
  --kui-list-action-row-border: ButtonText;
249
288
  outline: 1px solid ButtonText;
@@ -243,6 +243,51 @@
243
243
  );
244
244
  }
245
245
 
246
+ /* Reorder presentation. A dragged row dims; the row under the pointer draws
247
+ a brand insertion line along the block edge the dragged rows would land
248
+ beside. The line sits inside the row (the row clips its overflow to its
249
+ rounded boundary) and is inset to the row's content padding so it ends
250
+ clear of the rounded corners. */
251
+ .kui-list-item[data-dragging="true"] {
252
+ opacity: var(--kui-list-item-dragging-opacity, 0.55);
253
+ }
254
+
255
+ .kui-list-item[data-drop-position] {
256
+ position: relative;
257
+ }
258
+
259
+ .kui-list-item[data-drop-position]::after {
260
+ position: absolute;
261
+ z-index: 1;
262
+ inset-inline: var(
263
+ --kui-list-item-padding-inline,
264
+ var(--kui-layout-item-padding, 0.5rem)
265
+ );
266
+ height: var(--kui-list-item-drop-indicator-width, 2px);
267
+ border-radius: var(--kui-radius-pill);
268
+ background: var(
269
+ --kui-list-item-drop-indicator,
270
+ var(--kui-color-brand-border-loud)
271
+ );
272
+ content: "";
273
+ pointer-events: none;
274
+ }
275
+
276
+ .kui-list-item[data-drop-position="before"]::after {
277
+ inset-block-start: 0;
278
+ }
279
+
280
+ .kui-list-item[data-drop-position="after"]::after {
281
+ inset-block-end: 0;
282
+ }
283
+
284
+ @media (forced-colors: active) {
285
+ .kui-list-item[data-drop-position]::after {
286
+ background: Highlight;
287
+ forced-color-adjust: none;
288
+ }
289
+ }
290
+
246
291
  .kui-list-item__status {
247
292
  color: var(--kui-color-neutral-on-quiet);
248
293
  font-size: var(--kui-font-xs);
@@ -81,6 +81,22 @@
81
81
  );
82
82
  }
83
83
 
84
+ /* `inset="document"`: a reading inset on all four sides that replaces any
85
+ side-selected text or control inset. */
86
+ .kui-list[data-inset="document"] {
87
+ --_kui-list-inset-top: var(--kui-space-l);
88
+ --_kui-list-inset-right: var(--kui-space-xl);
89
+ --_kui-list-inset-bottom: var(--kui-space-l);
90
+ --_kui-list-inset-left: var(--kui-space-xl);
91
+ }
92
+
93
+ @media (max-width: 36rem) {
94
+ .kui-list[data-inset="document"] {
95
+ --_kui-list-inset-right: var(--kui-space-m);
96
+ --_kui-list-inset-left: var(--kui-space-m);
97
+ }
98
+ }
99
+
84
100
  .kui-list[data-h-align="left"] {
85
101
  align-items: flex-start;
86
102
  align-content: flex-start;
@@ -113,6 +129,25 @@
113
129
  overscroll-behavior-y: contain;
114
130
  }
115
131
 
132
+ /* A scrollable List owns the overflow, so its rows keep their natural height
133
+ and scroll rather than shrink. Items that clip their own overflow (a
134
+ ListItem) have a zero automatic minimum height, so the default
135
+ `flex-shrink: 1` compressed multiline rows into one another once the List
136
+ was bounded by a max-height ancestor. */
137
+ .kui-list[data-scrollable="true"] > * {
138
+ flex-shrink: 0;
139
+ }
140
+
141
+ /* A scrollable List is a keyboard-focusable scroller: Chromium focuses it on
142
+ Tab when it holds no focusable rows, and a dialog may pick it as its first
143
+ focusable area. Its ring sits inside its box, so a rounded or clipping
144
+ parent cannot cut it off, and rounds with the standard control radius. */
145
+ .kui-list[data-scrollable="true"]:focus-visible {
146
+ border-radius: var(--kui-radius-m);
147
+ outline: var(--kui-focus-ring);
148
+ outline-offset: -3px;
149
+ }
150
+
116
151
  .kui-list:is([divider-sides*="t"], [data-scroll-divider*="t"]) {
117
152
  --_kui-list-divider-top: var(--kui-list-divider-color);
118
153
  }
@@ -129,6 +164,15 @@
129
164
  --_kui-list-divider-left: var(--kui-list-divider-color);
130
165
  }
131
166
 
167
+ /* `surface`: a solid background behind the stack and its insets. */
168
+ .kui-list[data-surface="base"] {
169
+ background: var(--kui-color-surface);
170
+ }
171
+
172
+ .kui-list[data-surface="raised"] {
173
+ background: var(--kui-color-surface-raised);
174
+ }
175
+
132
176
  /* `fill`: the layout root of a definite-height parent (an app root or a
133
177
  fixed-height frame) takes its full height. Inside a flex layout use `flex`. */
134
178
  .kui-list[data-fill="true"] {
@@ -44,17 +44,11 @@
44
44
  Fixed chrome leaves the content slot scrolling; auto chrome lets the Pane
45
45
  root scroll in its short mode, while its content remains transparent. */
46
46
  .kui-pane[data-appearance="sunken"] > .kui-pane__content {
47
- background: var(
48
- --kui-sunken-panel-background,
49
- var(--kui-color-surface-lowered)
50
- );
47
+ background: var(--kui-sunken-panel-background, var(--kui-sunken-surface));
51
48
  }
52
49
 
53
50
  .kui-pane[data-appearance="sunken"][data-chrome-placement="auto"] {
54
- background: var(
55
- --kui-sunken-panel-background,
56
- var(--kui-color-surface-lowered)
57
- );
51
+ background: var(--kui-sunken-panel-background, var(--kui-sunken-surface));
58
52
  }
59
53
 
60
54
  .kui-pane[data-appearance="sunken"][data-chrome-placement="auto"]
@@ -104,8 +104,14 @@
104
104
  height: var(--_kui-popup-row-icon-size);
105
105
  }
106
106
 
107
+ /* A context menu takes no space where it is rendered: out of flow, it adds no
108
+ line box in block layout and no gap slot in a flex or grid container. Its
109
+ fixed anchor opens the menu at the recorded viewport point. */
107
110
  .kui-popup-menu[data-trigger="context"] {
108
- display: inline-block;
111
+ position: fixed;
112
+ top: 0;
113
+ left: 0;
114
+ display: block;
109
115
  width: 0;
110
116
  height: 0;
111
117
  }
@@ -283,3 +289,65 @@
283
289
  > wa-dropdown.kui-popup-menu::part(menu) {
284
290
  padding: 0;
285
291
  }
292
+
293
+ /* As a ListActionRow's trailing menu, the PopupMenu styles its trigger in the
294
+ row's context like the row's trailing button: a full-height 44px pill (36px
295
+ in a compact row) on the row's trailing-hover fill, with a 16px icon. */
296
+ .kui-list-action-row > .kui-popup-menu {
297
+ display: flex;
298
+ flex: none;
299
+ }
300
+ .kui-list-action-row > .kui-popup-menu > wa-button {
301
+ display: flex;
302
+ min-height: 2.75rem;
303
+ color: inherit;
304
+ }
305
+ .kui-list-action-row[data-density="compact"] > .kui-popup-menu > wa-button {
306
+ min-height: 2.25rem;
307
+ }
308
+ .kui-list-action-row > .kui-popup-menu > wa-button::part(base) {
309
+ width: 2.75rem;
310
+ min-width: 2.75rem;
311
+ height: 100%;
312
+ min-height: 0;
313
+ padding: 0;
314
+ border: 0;
315
+ border-radius: var(--kui-radius-pill);
316
+ color: inherit;
317
+ background: transparent;
318
+ }
319
+ .kui-list-action-row
320
+ > .kui-popup-menu
321
+ > wa-button:not([disabled]):hover::part(base) {
322
+ background: var(--kui-list-action-row-trailing-hover-background);
323
+ }
324
+ .kui-list-action-row > .kui-popup-menu > wa-button::part(base):focus-visible {
325
+ outline: var(--kui-focus-ring);
326
+ outline-offset: -2px;
327
+ }
328
+ .kui-list-action-row > .kui-popup-menu > wa-button > svg {
329
+ display: block;
330
+ width: 1rem;
331
+ height: 1rem;
332
+ }
333
+ /* The row's interaction visibility reveals the trigger on hover or focus, and
334
+ keeps it visible while its menu is open. A placeholder row reveals nothing. */
335
+ .kui-list-action-row[data-trailing-visibility="interaction"]
336
+ > .kui-popup-menu:not([open])
337
+ > wa-button {
338
+ opacity: 0;
339
+ }
340
+ .kui-list-action-row[data-trailing-visibility="interaction"]:not(
341
+ [data-placeholder="true"]
342
+ ):is(:hover, :focus-within)
343
+ > .kui-popup-menu
344
+ > wa-button {
345
+ opacity: 1;
346
+ }
347
+ @media (hover: none) {
348
+ .kui-list-action-row[data-trailing-visibility="interaction"]
349
+ > .kui-popup-menu
350
+ > wa-button {
351
+ opacity: 1;
352
+ }
353
+ }
@@ -0,0 +1,95 @@
1
+ /* One loud semantic fill split into a primary half and a narrow options
2
+ trigger, with a hairline divider in the foreground color. Both halves are
3
+ native buttons on the shared fill; each brightens on its own hover. */
4
+ .kui-split-button {
5
+ --_kui-split-button-fill: var(--kui-color-brand-fill-loud);
6
+ --_kui-split-button-on: var(--kui-color-brand-on-loud);
7
+ display: inline-grid;
8
+ min-width: 0;
9
+ min-height: 2.75rem;
10
+ overflow: hidden;
11
+ border-radius: var(--kui-layout-rounded-radius, calc(1px + 0.6875rem));
12
+ color: var(--_kui-split-button-on);
13
+ background: var(--_kui-split-button-fill);
14
+ grid-template-columns: minmax(0, auto) 2.5rem;
15
+ font-weight: var(--kui-font-weight-semibold);
16
+ }
17
+
18
+ .kui-split-button[data-tone="neutral"] {
19
+ --_kui-split-button-fill: var(--kui-color-neutral-fill-loud);
20
+ --_kui-split-button-on: var(--kui-color-neutral-on-loud);
21
+ }
22
+
23
+ .kui-split-button[data-tone="success"] {
24
+ --_kui-split-button-fill: var(--kui-color-success-fill-loud);
25
+ --_kui-split-button-on: var(--kui-color-success-on-loud);
26
+ }
27
+
28
+ .kui-split-button[data-tone="warning"] {
29
+ --_kui-split-button-fill: var(--kui-color-warning-fill-loud);
30
+ --_kui-split-button-on: var(--kui-color-warning-on-loud);
31
+ }
32
+
33
+ .kui-split-button[data-tone="danger"] {
34
+ --_kui-split-button-fill: var(--kui-color-danger-fill-loud);
35
+ --_kui-split-button-on: var(--kui-color-danger-on-loud);
36
+ }
37
+
38
+ .kui-split-button[data-fill="true"] {
39
+ display: grid;
40
+ width: 100%;
41
+ grid-template-columns: minmax(0, 1fr) 2.5rem;
42
+ }
43
+
44
+ .kui-split-button > button {
45
+ display: flex;
46
+ min-width: 0;
47
+ min-height: 2.75rem;
48
+ margin: 0;
49
+ padding-block: var(--kui-space-xs);
50
+ padding-inline: var(--kui-space-s);
51
+ border: 0;
52
+ border-radius: 0;
53
+ color: inherit;
54
+ background: transparent;
55
+ cursor: pointer;
56
+ align-items: center;
57
+ justify-content: center;
58
+ gap: var(--kui-space-xs);
59
+ font: inherit;
60
+ }
61
+
62
+ .kui-split-button > .kui-split-button__options {
63
+ padding-inline: 0;
64
+ border-inline-start: 1px solid
65
+ color-mix(in srgb, currentColor 28%, transparent);
66
+ }
67
+
68
+ .kui-split-button > button:hover:not(:disabled) {
69
+ background: color-mix(in srgb, currentColor 12%, transparent);
70
+ }
71
+
72
+ /* The group clips outer outlines at its rounded corners, so the ring sits
73
+ inside each half. */
74
+ .kui-split-button > button:focus-visible {
75
+ outline: var(--kui-focus-ring);
76
+ outline-offset: -3px;
77
+ }
78
+
79
+ .kui-split-button > button:disabled {
80
+ cursor: not-allowed;
81
+ opacity: 0.6;
82
+ }
83
+
84
+ .kui-split-button__icon {
85
+ display: inline-grid;
86
+ flex: none;
87
+ place-items: center;
88
+ }
89
+
90
+ .kui-split-button__label {
91
+ min-width: 0;
92
+ overflow: hidden;
93
+ text-overflow: ellipsis;
94
+ white-space: nowrap;
95
+ }
@@ -135,6 +135,44 @@
135
135
  var(--kui-state-banner-danger-foreground, var(--kui-color-danger-on-fill))
136
136
  );
137
137
  }
138
+ /* A strip is a full-width band at a layout edge rather than a card beside the
139
+ work: flush, square, and divided from its neighbor only on the edges it
140
+ names, in the tone's own border color. Its inline padding lands the copy on
141
+ the content-text column a card banner's copy uses (8px margin + 1px border
142
+ + 8px padding), so a strip above a pane lines up with the pane's text. */
143
+ .kui-state-banner[data-presentation="strip"] {
144
+ margin-inline: 0;
145
+ padding-block: var(--kui-space-xs);
146
+ padding-inline: calc(1px + 1rem);
147
+ border-width: 0;
148
+ border-radius: 0;
149
+ }
150
+ .kui-state-banner[data-presentation="strip"][divider-sides*="t"] {
151
+ border-top-width: 1px;
152
+ }
153
+ .kui-state-banner[data-presentation="strip"][divider-sides*="r"] {
154
+ border-right-width: 1px;
155
+ }
156
+ .kui-state-banner[data-presentation="strip"][divider-sides*="b"] {
157
+ border-bottom-width: 1px;
158
+ }
159
+ .kui-state-banner[data-presentation="strip"][divider-sides*="l"] {
160
+ border-left-width: 1px;
161
+ }
162
+ /* Inside a CornerStatus the banner floats over the page at a viewport corner:
163
+ the corner's gutter replaces the inline margin, elevation separates it from
164
+ whatever content it covers, and the translucent tone fill composites over
165
+ the opaque surface so that content never shows through the copy. */
166
+ .kui-corner-status > .kui-state-banner {
167
+ margin-inline: 0;
168
+ background:
169
+ linear-gradient(
170
+ var(--_kui-state-banner-background),
171
+ var(--_kui-state-banner-background)
172
+ ),
173
+ var(--kui-color-surface);
174
+ box-shadow: var(--kui-shadow-l);
175
+ }
138
176
  .kui-state-banner__icon {
139
177
  display: grid;
140
178
  place-items: center;
@@ -26,7 +26,19 @@
26
26
  @import "./popup-menu.css";
27
27
  @import "./anchored-surface.css";
28
28
  @import "./segmented-control.css";
29
+ @import "./choice-chips.css";
29
30
  @import "./token-search-field.css";
30
31
  @import "./state-banner.css";
32
+ @import "./corner-status.css";
33
+ @import "./column-track.css";
34
+ @import "./content-swap.css";
35
+ @import "./file-picker.css";
36
+ @import "./combobox.css";
37
+ @import "./edge-activity-indicator.css";
38
+ @import "./icon-button.css";
39
+ @import "./icon-toggle-button.css";
40
+ @import "./split-button.css";
41
+ @import "./framed-list.css";
42
+ @import "./summary-row.css";
31
43
  @import "./empty-state.css";
32
44
  @import "./value-table.css";
@@ -0,0 +1,161 @@
1
+ /* A selectable summary: a full-width option on the base surface, a container
2
+ for its own compaction, with a hairline divider below each list row. */
3
+ .kui-summary-row {
4
+ --_kui-summary-row-rail: transparent;
5
+ --_kui-summary-row-radius: var(
6
+ --kui-layout-rounded-radius,
7
+ calc(1px + 0.6875rem)
8
+ );
9
+ --_kui-summary-row-title-lines: 2;
10
+ position: relative;
11
+ display: block;
12
+ width: 100%;
13
+ min-width: 0;
14
+ overflow: hidden;
15
+ box-sizing: border-box;
16
+ border: 1px solid transparent;
17
+ border-block-end-color: var(--kui-color-neutral-border-quiet);
18
+ border-radius: 0;
19
+ color: var(--kui-color-text);
20
+ background: var(--kui-color-surface);
21
+ cursor: pointer;
22
+ outline: none;
23
+ container-type: inline-size;
24
+ user-select: none;
25
+ }
26
+
27
+ .kui-summary-row[data-presentation="card"] {
28
+ --_kui-summary-row-title-lines: 4;
29
+ border-color: transparent;
30
+ border-radius: var(--_kui-summary-row-radius);
31
+ }
32
+
33
+ .kui-summary-row[data-list-edge="start"] {
34
+ border-start-start-radius: var(--_kui-summary-row-radius);
35
+ border-start-end-radius: var(--_kui-summary-row-radius);
36
+ }
37
+ .kui-summary-row[data-list-edge="end"] {
38
+ border-end-start-radius: var(--_kui-summary-row-radius);
39
+ border-end-end-radius: var(--_kui-summary-row-radius);
40
+ }
41
+ .kui-summary-row[data-list-edge="only"] {
42
+ border-radius: var(--_kui-summary-row-radius);
43
+ }
44
+
45
+ .kui-summary-row[data-defer="true"] {
46
+ content-visibility: auto;
47
+ contain-intrinsic-size: auto 4.5rem;
48
+ }
49
+
50
+ .kui-summary-row:hover {
51
+ border-color: var(--kui-color-brand-border-normal);
52
+ }
53
+
54
+ .kui-summary-row:focus-visible {
55
+ box-shadow: 0 0 0 3px
56
+ color-mix(in srgb, var(--kui-color-text-link) 24%, transparent);
57
+ }
58
+
59
+ .kui-summary-row[data-selected="true"] {
60
+ border-color: var(--kui-color-brand-border-normal);
61
+ background: var(--kui-color-brand-fill-quiet);
62
+ }
63
+
64
+ .kui-summary-row[data-dimmed="true"]:not(:hover, [data-selected="true"]) {
65
+ opacity: 0.55;
66
+ }
67
+
68
+ /* The leading state rail. */
69
+ .kui-summary-row__rail {
70
+ position: absolute;
71
+ inset: 0 auto 0 0;
72
+ width: 0.25rem;
73
+ background: var(--_kui-summary-row-rail);
74
+ }
75
+ .kui-summary-row[data-rail="neutral"] {
76
+ --_kui-summary-row-rail: var(--kui-color-neutral-on-quiet);
77
+ }
78
+ .kui-summary-row[data-rail="info"] {
79
+ --_kui-summary-row-rail: var(--kui-color-brand-fill-loud);
80
+ }
81
+ .kui-summary-row[data-rail="pop"] {
82
+ --_kui-summary-row-rail: var(--kui-color-pop-fill-loud);
83
+ }
84
+ .kui-summary-row[data-rail="success"] {
85
+ --_kui-summary-row-rail: var(--kui-color-success-fill-loud);
86
+ }
87
+ .kui-summary-row[data-rail="warning"] {
88
+ --_kui-summary-row-rail: var(--kui-color-warning-fill-loud);
89
+ }
90
+ .kui-summary-row[data-rail="danger"] {
91
+ --_kui-summary-row-rail: var(--kui-color-danger-fill-loud);
92
+ }
93
+
94
+ /* Leading glyph, then the content column. */
95
+ .kui-summary-row__body {
96
+ display: grid;
97
+ min-width: 0;
98
+ padding: var(--kui-space-xs) var(--kui-space-s);
99
+ grid-template-columns: auto minmax(0, 1fr);
100
+ align-items: start;
101
+ gap: var(--kui-space-xs);
102
+ }
103
+
104
+ .kui-summary-row__body:not(:has(> .kui-summary-row__leading)) {
105
+ grid-template-columns: minmax(0, 1fr);
106
+ }
107
+
108
+ .kui-summary-row__leading {
109
+ display: grid;
110
+ min-width: 1.5rem;
111
+ min-height: 1.5rem;
112
+ color: var(--kui-color-neutral-on-quiet);
113
+ place-items: center;
114
+ }
115
+
116
+ .kui-summary-row[data-presentation="card"] .kui-summary-row__leading {
117
+ min-width: 1.125rem;
118
+ min-height: 1.25rem;
119
+ }
120
+
121
+ .kui-summary-row__content {
122
+ display: grid;
123
+ min-width: 0;
124
+ gap: var(--kui-space-2xs);
125
+ }
126
+
127
+ /* The identity line clips at its line budget; the trailing meta floats to its
128
+ end so the title wraps around it. */
129
+ .kui-summary-row__title {
130
+ min-width: 0;
131
+ max-height: calc(var(--_kui-summary-row-title-lines) * 1.3em);
132
+ overflow: hidden;
133
+ line-height: 1.3;
134
+ overflow-wrap: anywhere;
135
+ }
136
+
137
+ .kui-summary-row__trailing {
138
+ float: inline-end;
139
+ margin-inline-start: var(--kui-space-s);
140
+ color: var(--kui-color-text-quiet);
141
+ font-size: var(--kui-font-2xs);
142
+ line-height: calc(1.3em * 1.15);
143
+ white-space: nowrap;
144
+ }
145
+
146
+ .kui-summary-row__metadata {
147
+ display: flex;
148
+ min-width: 0;
149
+ color: var(--kui-color-neutral-on-quiet);
150
+ flex-wrap: wrap;
151
+ align-items: center;
152
+ gap: var(--kui-space-2xs) var(--kui-space-xs);
153
+ font-size: var(--kui-font-xs);
154
+ }
155
+
156
+ /* A narrow row tightens its gaps. */
157
+ @container (max-width: 24rem) {
158
+ .kui-summary-row__body {
159
+ padding: var(--kui-space-xs);
160
+ }
161
+ }
@@ -12,10 +12,7 @@
12
12
  var(--kui-layout-rounded-radius, calc(1px + 0.6875rem))
13
13
  );
14
14
  color: var(--kui-sunken-panel-foreground, var(--kui-color-text));
15
- background: var(
16
- --kui-sunken-panel-background,
17
- var(--kui-color-surface-lowered)
18
- );
15
+ background: var(--kui-sunken-panel-background, var(--kui-sunken-surface));
19
16
  flex-direction: column;
20
17
  gap: var(--kui-sunken-panel-gap, 0.5rem);
21
18
  }