@kerfjs/ui 5.0.0-beta.94 → 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 (388) hide show
  1. package/README.md +99 -57
  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 +57 -53
  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/catalog.md +41 -0
  334. package/docs/component-contract.md +26 -6
  335. package/docs/component-selection.md +149 -13
  336. package/docs/design/templates/choice-chips/color-palette-dark.svg +1 -0
  337. package/docs/design/templates/choice-chips/color-palette.svg +1 -0
  338. package/docs/design/templates/choice-chips/compact-icons-dark.svg +1 -0
  339. package/docs/design/templates/choice-chips/compact-icons.svg +1 -0
  340. package/docs/design/templates/choice-chips-dark.svg +1 -0
  341. package/docs/design/templates/choice-chips.svg +1 -0
  342. package/docs/design/templates/list-action-row/trailing-menu-dark.svg +1 -0
  343. package/docs/design/templates/list-action-row/trailing-menu.svg +1 -0
  344. package/docs/design/templates/list-action-row-dark.svg +1 -1
  345. package/docs/design/templates/list-action-row.svg +1 -1
  346. package/docs/design/templates/state-banner/strip-dark.svg +1 -0
  347. package/docs/design/templates/state-banner/strip.svg +1 -0
  348. package/docs/design/templates/state-banner-dark.svg +1 -1
  349. package/docs/design/templates/state-banner.svg +1 -1
  350. package/docs/design/templates.md +1 -1
  351. package/docs/document-baseline.md +51 -0
  352. package/docs/layout.md +52 -1
  353. package/docs/split-view.md +20 -2
  354. package/docs/sunken-panel.md +13 -0
  355. package/docs/surface-scaffold.md +66 -1
  356. package/docs/ux-demo.md +1 -0
  357. package/docs/webawesome-theme.md +6 -2
  358. package/llms.txt +125 -16
  359. package/package.json +89 -1
  360. package/vite-ux-review.d.mts +39 -0
  361. package/vite-ux-review.mjs +75 -20
  362. package/dist/chunk-3DXHNLME.js.map +0 -1
  363. package/dist/chunk-3PO7JEK7.js.map +0 -1
  364. package/dist/chunk-3XPGJUUQ.js.map +0 -1
  365. package/dist/chunk-4Y4L5YEI.js +0 -66
  366. package/dist/chunk-4Y4L5YEI.js.map +0 -1
  367. package/dist/chunk-75YOTZ25.js.map +0 -1
  368. package/dist/chunk-7QQ3HE47.js.map +0 -1
  369. package/dist/chunk-A7DYEERU.js +0 -59
  370. package/dist/chunk-A7DYEERU.js.map +0 -1
  371. package/dist/chunk-B3TROLC2.js.map +0 -1
  372. package/dist/chunk-BYHGRKC3.js.map +0 -1
  373. package/dist/chunk-DL55BSQX.js.map +0 -1
  374. package/dist/chunk-FL6J644M.js.map +0 -1
  375. package/dist/chunk-GIUOXAVL.js.map +0 -1
  376. package/dist/chunk-IOS2NXW7.js.map +0 -1
  377. package/dist/chunk-J3AWE5I4.js +0 -50
  378. package/dist/chunk-J3AWE5I4.js.map +0 -1
  379. package/dist/chunk-LAZLBC2Q.js.map +0 -1
  380. package/dist/chunk-MORVLMDG.js.map +0 -1
  381. package/dist/chunk-MTCTX25G.js.map +0 -1
  382. package/dist/chunk-O27D24CA.js.map +0 -1
  383. package/dist/chunk-PGL6TXFW.js.map +0 -1
  384. package/dist/chunk-QCLLBMLA.js.map +0 -1
  385. package/dist/chunk-QQICWWNX.js.map +0 -1
  386. package/dist/chunk-TKDDTLG5.js.map +0 -1
  387. package/dist/chunk-TNG3XKHB.js.map +0 -1
  388. package/dist/chunk-XKZPBRU7.js.map +0 -1
@@ -0,0 +1,113 @@
1
+ /* A field label, the themed input with its listbox, and an optional hint,
2
+ aligned like a Web Awesome form field: label and hint sit on the value's
3
+ text column (1px border + 8px padding). */
4
+ .kui-combobox {
5
+ display: grid;
6
+ min-width: 0;
7
+ gap: var(--kui-space-2xs);
8
+ }
9
+
10
+ .kui-combobox__label,
11
+ .kui-combobox__hint {
12
+ padding-inline: calc(1px + var(--kui-layout-item-padding, 0.5rem));
13
+ }
14
+
15
+ .kui-combobox__label {
16
+ color: var(--kui-color-neutral-on-quiet);
17
+ font-size: var(--kui-font-xs);
18
+ font-weight: 650;
19
+ letter-spacing: 0.04em;
20
+ line-height: 1.2;
21
+ text-transform: uppercase;
22
+ }
23
+
24
+ .kui-combobox__hint {
25
+ color: var(--kui-color-text-quiet);
26
+ font-size: var(--kui-font-s);
27
+ }
28
+
29
+ .kui-combobox__control {
30
+ position: relative;
31
+ min-width: 0;
32
+ }
33
+
34
+ /* The same chrome as a themed wa-input: 44px, 1px border, 8px inset. */
35
+ .kui-combobox__input {
36
+ width: 100%;
37
+ min-width: 0;
38
+ height: 2.75rem;
39
+ margin: 0;
40
+ padding: 0 var(--kui-layout-item-padding, 0.5rem);
41
+ box-sizing: border-box;
42
+ border: 1px solid var(--kui-color-neutral-border-normal);
43
+ border-radius: var(--kui-layout-rounded-radius, calc(1px + 0.6875rem));
44
+ color: var(--kui-color-text);
45
+ background: var(--kui-color-surface);
46
+ font: inherit;
47
+ font-size: var(--kui-font-s);
48
+ }
49
+
50
+ .kui-combobox__input::placeholder {
51
+ color: var(--kui-color-text-quiet);
52
+ }
53
+
54
+ .kui-combobox__input:focus-visible {
55
+ border-color: var(--kui-color-text-link);
56
+ outline: none;
57
+ box-shadow: 0 0 0 3px
58
+ color-mix(in srgb, var(--kui-color-text-link) 22%, transparent);
59
+ }
60
+
61
+ .kui-combobox[data-disabled="true"] {
62
+ opacity: 0.55;
63
+ }
64
+
65
+ /* A touch field below 16px makes iOS magnify the page on focus. */
66
+ @media (hover: none) and (pointer: coarse) {
67
+ .kui-combobox__input {
68
+ font-size: max(16px, var(--kui-font-s));
69
+ }
70
+ }
71
+
72
+ /* The suggestion list drops below the field over the content that follows. */
73
+ .kui-combobox__listbox {
74
+ position: absolute;
75
+ z-index: var(--kui-combobox-z-index, 20);
76
+ inset: calc(100% + var(--kui-space-2xs)) 0 auto;
77
+ max-height: 15rem;
78
+ margin: 0;
79
+ padding: var(--kui-space-2xs);
80
+ overflow-y: auto;
81
+ box-sizing: border-box;
82
+ border: 1px solid var(--kui-color-neutral-border-normal);
83
+ border-radius: var(--kui-layout-rounded-radius, calc(1px + 0.6875rem));
84
+ background: var(--kui-color-surface-raised);
85
+ box-shadow: var(--kui-shadow-l);
86
+ list-style: none;
87
+ }
88
+
89
+ .kui-combobox__listbox[hidden] {
90
+ display: none;
91
+ }
92
+
93
+ .kui-combobox__option {
94
+ margin: 0;
95
+ padding: var(--kui-space-xs);
96
+ border-radius: max(
97
+ 0px,
98
+ calc(var(--kui-layout-rounded-radius, 0.75rem) - var(--kui-space-2xs))
99
+ );
100
+ color: var(--kui-color-text);
101
+ cursor: pointer;
102
+ font-size: var(--kui-font-s);
103
+ overflow-wrap: anywhere;
104
+ }
105
+
106
+ .kui-combobox__option:hover,
107
+ .kui-combobox__option[aria-selected="true"] {
108
+ background: var(--kui-color-brand-fill-quiet);
109
+ }
110
+
111
+ .kui-combobox__option[data-create] {
112
+ color: var(--kui-color-text-link);
113
+ }
@@ -0,0 +1,81 @@
1
+ /* The native file input stays inside each label for activation, keyboard
2
+ focus, and form submission, visually hidden but accessible. */
3
+ .kui-file-picker__input {
4
+ position: absolute;
5
+ width: 1px;
6
+ height: 1px;
7
+ overflow: hidden;
8
+ clip-path: inset(50%);
9
+ white-space: nowrap;
10
+ }
11
+
12
+ .kui-file-picker__icon {
13
+ display: inline-grid;
14
+ flex: none;
15
+ place-items: center;
16
+ }
17
+
18
+ /* A compact, link-toned browse trigger. */
19
+ .kui-file-picker[data-presentation="trigger"] {
20
+ position: relative;
21
+ display: inline-flex;
22
+ min-height: 2rem;
23
+ padding: 0 var(--kui-space-xs);
24
+ border-radius: var(--kui-radius-pill);
25
+ color: var(--kui-color-text-link);
26
+ cursor: pointer;
27
+ align-items: center;
28
+ gap: var(--kui-space-2xs);
29
+ font-size: var(--kui-font-xs);
30
+ font-weight: var(--kui-font-weight-semibold);
31
+ }
32
+
33
+ .kui-file-picker[data-presentation="trigger"]:hover {
34
+ background: var(--kui-color-brand-fill-quiet);
35
+ }
36
+
37
+ /* A dashed drop target with content-item margins, highlighted on hover and
38
+ while files are dragged over it. */
39
+ .kui-file-picker[data-presentation="drop-zone"] {
40
+ position: relative;
41
+ display: grid;
42
+ min-height: 5rem;
43
+ margin-inline: var(--kui-layout-inline-margin, 0.5rem);
44
+ padding: var(--kui-space-s);
45
+ box-sizing: border-box;
46
+ border: 1px dashed var(--kui-color-neutral-border-loud);
47
+ border-radius: var(--kui-layout-rounded-radius, calc(1px + 0.6875rem));
48
+ color: var(--kui-color-neutral-on-quiet);
49
+ cursor: pointer;
50
+ place-items: center;
51
+ align-content: center;
52
+ gap: var(--kui-space-2xs);
53
+ font-size: var(--kui-font-xs);
54
+ text-align: center;
55
+ }
56
+
57
+ .kui-file-picker[data-presentation="drop-zone"]:hover,
58
+ .kui-file-picker[data-presentation="drop-zone"][data-dragging="true"] {
59
+ border-color: var(--kui-color-text-link);
60
+ background: var(--kui-color-brand-fill-quiet);
61
+ }
62
+
63
+ .kui-file-picker__title {
64
+ color: var(--kui-color-text);
65
+ }
66
+
67
+ .kui-file-picker__detail {
68
+ font-size: var(--kui-font-2xs);
69
+ }
70
+
71
+ /* Keyboard focus lands on the hidden input; the visible control shows it. */
72
+ .kui-file-picker:has(> .kui-file-picker__input:focus-visible) {
73
+ outline: var(--kui-focus-ring);
74
+ outline-offset: 2px;
75
+ }
76
+
77
+ .kui-file-picker[data-disabled="true"] {
78
+ cursor: default;
79
+ opacity: 0.5;
80
+ pointer-events: none;
81
+ }
@@ -284,12 +284,23 @@
284
284
  no-grow / may-shrink behavior a toolbar row wants without leaking the width
285
285
  into the cross axis. */
286
286
  flex: 0 1 auto;
287
+ /* A grow search group animates the open/close itself and sets this duration
288
+ to 0s: the field is the group's width on every frame instead of running a
289
+ second, lagging width transition that left an empty band beside a wrapped
290
+ query (KF-50K0JM). */
287
291
  transition:
288
- width 0.25s ease,
292
+ width var(--_kui-toolbar-group-grow-search-width-duration, 0.25s) ease,
289
293
  background-color 0.2s ease,
290
294
  border-color 0.2s ease;
291
295
  }
292
296
 
297
+ /* While a grow search group is still narrower than its basis, keep the
298
+ basis-wide layout it provides; the group clips the field and reveals the
299
+ query instead of re-wrapping it every frame. Elsewhere this is 0px. */
300
+ .kui-token-search[data-collapsible="true"][data-expanded="true"] {
301
+ min-width: var(--_kui-toolbar-group-grow-search-min-width, 0px);
302
+ }
303
+
293
304
  .kui-token-search[data-collapsible="true"][data-expanded="true"][data-fill="true"] {
294
305
  width: 100%;
295
306
  flex: 1 1 auto;
@@ -0,0 +1,57 @@
1
+ /* The track is the sideways scroll owner and fills its parent's height; the
2
+ columns sit flush in one row and own their insets and vertical scrolling. */
3
+ .kui-column-track {
4
+ --_kui-column-track-min-width: 15.625rem;
5
+ --_kui-column-track-peek: 1.5rem;
6
+ width: 100%;
7
+ height: 100%;
8
+ min-height: 0;
9
+ padding-inline: var(--kui-layout-inline-margin, 0.5rem);
10
+ overflow-x: auto;
11
+ overflow-y: hidden;
12
+ box-sizing: border-box;
13
+ overscroll-behavior-x: contain;
14
+ }
15
+
16
+ /* Equal columns that never shrink below the minimum: a narrow track scrolls
17
+ instead of crushing them. */
18
+ .kui-column-track__columns {
19
+ display: grid;
20
+ width: 100%;
21
+ height: 100%;
22
+ min-height: 0;
23
+ grid-auto-columns: minmax(var(--_kui-column-track-min-width), 1fr);
24
+ grid-auto-flow: column;
25
+ grid-template-rows: minmax(0, 1fr);
26
+ }
27
+
28
+ /* Paged: each column is nearly the visible width so the next one peeks in,
29
+ and mandatory snapping settles a swipe or momentum scroll on a column
30
+ start. Trailing room lets the last column snap to the leading inset. */
31
+ .kui-column-track[data-layout="paged"] {
32
+ container-type: inline-size;
33
+ scroll-behavior: smooth;
34
+ scroll-padding-inline: var(--kui-layout-inline-margin, 0.5rem);
35
+ scroll-snap-type: x mandatory;
36
+ scrollbar-width: none;
37
+ }
38
+
39
+ .kui-column-track[data-layout="paged"]::-webkit-scrollbar {
40
+ display: none;
41
+ }
42
+
43
+ .kui-column-track[data-layout="paged"] > .kui-column-track__columns {
44
+ width: max-content;
45
+ padding-inline-end: var(--_kui-column-track-peek);
46
+ grid-auto-columns: calc(100cqi - var(--_kui-column-track-peek));
47
+ }
48
+
49
+ .kui-column-track[data-layout="paged"] > .kui-column-track__columns > * {
50
+ scroll-snap-align: start;
51
+ }
52
+
53
+ @media (prefers-reduced-motion: reduce) {
54
+ .kui-column-track[data-layout="paged"] {
55
+ scroll-behavior: auto;
56
+ }
57
+ }
@@ -0,0 +1,154 @@
1
+ /* Both sides share one grid cell, so the region keeps the active side's
2
+ height; the inactive side is taken out of flow, clipped, and hidden once its
3
+ exit animation ends (each keyframe keeps it visible while it runs). */
4
+ .kui-content-swap {
5
+ --_kui-content-swap-dir: 1;
6
+ --_kui-content-swap-duration: 280ms;
7
+ position: relative;
8
+ display: grid;
9
+ min-width: 0;
10
+ overflow: hidden;
11
+ }
12
+
13
+ .kui-content-swap:dir(rtl) {
14
+ --_kui-content-swap-dir: -1;
15
+ }
16
+
17
+ .kui-content-swap[data-fill="true"] {
18
+ width: 100%;
19
+ }
20
+
21
+ .kui-content-swap__side {
22
+ min-width: 0;
23
+ grid-area: 1 / 1;
24
+ }
25
+
26
+ .kui-content-swap__side[data-active="false"] {
27
+ position: absolute;
28
+ inset: 0;
29
+ overflow: hidden;
30
+ visibility: hidden;
31
+ opacity: 0;
32
+ pointer-events: none;
33
+ }
34
+
35
+ /* Motion runs only when the viewer has not asked for reduced motion. */
36
+ @media (prefers-reduced-motion: no-preference) {
37
+ /* Push forward: a leaves toward the start, b arrives from the end. */
38
+ .kui-content-swap[data-transition="push"][data-active-side="b"][data-direction="forward"]
39
+ > [data-side="a"],
40
+ .kui-content-swap[data-transition="push"][data-active-side="a"][data-direction="forward"]
41
+ > [data-side="b"] {
42
+ animation: kui-content-swap-out-start var(--_kui-content-swap-duration)
43
+ cubic-bezier(0.32, 0.72, 0, 1);
44
+ }
45
+ .kui-content-swap[data-transition="push"][data-active-side="b"][data-direction="forward"]
46
+ > [data-side="b"],
47
+ .kui-content-swap[data-transition="push"][data-active-side="a"][data-direction="forward"]
48
+ > [data-side="a"] {
49
+ animation: kui-content-swap-in-end var(--_kui-content-swap-duration)
50
+ cubic-bezier(0.32, 0.72, 0, 1);
51
+ }
52
+
53
+ /* Push backward: the mirror image. */
54
+ .kui-content-swap[data-transition="push"][data-active-side="a"][data-direction="backward"]
55
+ > [data-side="b"],
56
+ .kui-content-swap[data-transition="push"][data-active-side="b"][data-direction="backward"]
57
+ > [data-side="a"] {
58
+ animation: kui-content-swap-out-end var(--_kui-content-swap-duration)
59
+ cubic-bezier(0.32, 0.72, 0, 1);
60
+ }
61
+ .kui-content-swap[data-transition="push"][data-active-side="a"][data-direction="backward"]
62
+ > [data-side="a"],
63
+ .kui-content-swap[data-transition="push"][data-active-side="b"][data-direction="backward"]
64
+ > [data-side="b"] {
65
+ animation: kui-content-swap-in-start var(--_kui-content-swap-duration)
66
+ cubic-bezier(0.32, 0.72, 0, 1);
67
+ }
68
+
69
+ .kui-content-swap[data-transition="crossfade"]
70
+ > .kui-content-swap__side[data-active="true"] {
71
+ animation: kui-content-swap-fade-in 200ms ease-out;
72
+ }
73
+ .kui-content-swap[data-transition="crossfade"]
74
+ > .kui-content-swap__side[data-active="false"] {
75
+ animation: kui-content-swap-fade-out 200ms ease-out;
76
+ }
77
+ }
78
+
79
+ @keyframes kui-content-swap-in-end {
80
+ from {
81
+ visibility: visible;
82
+ opacity: 1;
83
+ transform: translateX(calc(100% * var(--_kui-content-swap-dir)));
84
+ }
85
+ to {
86
+ visibility: visible;
87
+ opacity: 1;
88
+ transform: none;
89
+ }
90
+ }
91
+ @keyframes kui-content-swap-in-start {
92
+ from {
93
+ visibility: visible;
94
+ opacity: 1;
95
+ transform: translateX(calc(-100% * var(--_kui-content-swap-dir)));
96
+ }
97
+ to {
98
+ visibility: visible;
99
+ opacity: 1;
100
+ transform: none;
101
+ }
102
+ }
103
+ @keyframes kui-content-swap-out-start {
104
+ from {
105
+ visibility: visible;
106
+ opacity: 1;
107
+ transform: none;
108
+ }
109
+ to {
110
+ visibility: visible;
111
+ opacity: 1;
112
+ transform: translateX(calc(-100% * var(--_kui-content-swap-dir)));
113
+ }
114
+ }
115
+ @keyframes kui-content-swap-out-end {
116
+ from {
117
+ visibility: visible;
118
+ opacity: 1;
119
+ transform: none;
120
+ }
121
+ to {
122
+ visibility: visible;
123
+ opacity: 1;
124
+ transform: translateX(calc(100% * var(--_kui-content-swap-dir)));
125
+ }
126
+ }
127
+ @keyframes kui-content-swap-fade-in {
128
+ from {
129
+ visibility: visible;
130
+ opacity: 0;
131
+ }
132
+ to {
133
+ visibility: visible;
134
+ opacity: 1;
135
+ }
136
+ }
137
+ @keyframes kui-content-swap-fade-out {
138
+ from {
139
+ visibility: visible;
140
+ opacity: 1;
141
+ }
142
+ to {
143
+ visibility: visible;
144
+ opacity: 0;
145
+ }
146
+ }
147
+
148
+ /* Reduced motion: no slide; a push or crossfade swaps with a short fade. */
149
+ @media (prefers-reduced-motion: reduce) {
150
+ .kui-content-swap:is([data-transition="push"], [data-transition="crossfade"])
151
+ > .kui-content-swap__side[data-active="true"] {
152
+ animation: kui-content-swap-fade-in 120ms ease-out;
153
+ }
154
+ }
@@ -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"]
@@ -135,10 +135,7 @@
135
135
  separator handle remains fixed. Paint only that owner. */
136
136
  .kui-workbench__main[data-appearance="sunken"],
137
137
  :is(.kui-workbench__rail, .kui-workbench__drawer)[data-appearance="sunken"] {
138
- background: var(
139
- --kui-sunken-panel-background,
140
- var(--kui-color-surface-lowered)
141
- );
138
+ background: var(--kui-sunken-panel-background, var(--kui-sunken-surface));
142
139
  }
143
140
 
144
141
  :is(
@@ -153,10 +150,7 @@
153
150
  .kui-workbench__drawer
154
151
  )[data-appearance="sunken"][data-resizable="true"][data-content-overflow="auto"]
155
152
  > .kui-workbench__panel-content {
156
- background: var(
157
- --kui-sunken-panel-background,
158
- var(--kui-color-surface-lowered)
159
- );
153
+ background: var(--kui-sunken-panel-background, var(--kui-sunken-surface));
160
154
  }
161
155
 
162
156
  .kui-workbench__main[data-drawer-inline-expanded="true"] {
@@ -52,10 +52,7 @@
52
52
  }
53
53
 
54
54
  .kui-tab-scaffold__scene[data-appearance="sunken"] {
55
- background: var(
56
- --kui-sunken-panel-background,
57
- var(--kui-color-surface-lowered)
58
- );
55
+ background: var(--kui-sunken-panel-background, var(--kui-sunken-surface));
59
56
  }
60
57
 
61
58
  /* A scene is its region's scroll owner, so its top inset is padding inside
@@ -71,6 +71,24 @@
71
71
  --kui-content-item-foreground: var(--kui-color-warning-on-fill);
72
72
  }
73
73
 
74
+ .kui-content-item[data-appearance="brand-loud"] {
75
+ --kui-content-item-border: var(--kui-color-brand-border-loud);
76
+ --kui-content-item-background: var(--kui-color-brand-fill-loud);
77
+ --kui-content-item-foreground: var(--kui-color-brand-on-loud);
78
+ }
79
+
80
+ /* Chat bubble: the item shrinks to its content up to 80% of the row and sits
81
+ at the start or end of the line; long unbroken text wraps inside it. */
82
+ .kui-content-item[data-bubble] {
83
+ width: fit-content;
84
+ max-width: 80%;
85
+ overflow-wrap: anywhere;
86
+ }
87
+
88
+ .kui-content-item[data-bubble="end"] {
89
+ margin-inline-start: auto;
90
+ }
91
+
74
92
  .kui-content-item[data-appearance="danger"] {
75
93
  --kui-content-item-border: var(--kui-color-danger-border-quiet);
76
94
  --kui-content-item-background: var(--kui-color-danger-fill-quiet);
@@ -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
  }
@@ -62,6 +62,28 @@
62
62
  )
63
63
  );
64
64
  }
65
+ .kui-dialog-surface[data-presentation="modal"][data-height]
66
+ > wa-dialog::part(dialog) {
67
+ --_kui-dialog-surface-resolved-height: max(
68
+ 0px,
69
+ min(
70
+ var(--_kui-dialog-surface-height, 100dvh),
71
+ calc(
72
+ 100dvh - var(--_kui-dialog-surface-resolved-gutter) -
73
+ var(--_kui-dialog-surface-resolved-gutter)
74
+ )
75
+ )
76
+ );
77
+ height: var(--_kui-dialog-surface-resolved-height);
78
+ max-height: var(--_kui-dialog-surface-resolved-height);
79
+ }
80
+ /* One child owns the body: it gets the body's whole height and its own
81
+ scrolling (the body itself no longer scrolls). */
82
+ .kui-dialog-surface[data-body-layout="fill"] > wa-dialog::part(body) {
83
+ display: grid;
84
+ overflow: hidden;
85
+ grid-template-rows: minmax(0, 1fr);
86
+ }
65
87
  .kui-dialog-surface[data-body-inset="none"] > wa-dialog::part(body),
66
88
  .kui-dialog-surface[data-footer-inset="none"] > wa-dialog::part(footer) {
67
89
  padding: 0;
@@ -92,6 +114,103 @@
92
114
  max-height: 100dvh;
93
115
  border-radius: 0;
94
116
  }
117
+ /* PopoverDialogSurface: the dialog chrome and bounded geometry for a native
118
+ popover="auto" surface (non-modal, light dismiss) or the same surface in
119
+ flow. The UA popover rules supply the centered top-layer placement. */
120
+ .kui-popover-dialog-surface {
121
+ --_kui-popover-dialog-surface-width: 35rem;
122
+ --_kui-popover-dialog-surface-resolved-gutter: max(
123
+ 0px,
124
+ var(--_kui-popover-dialog-surface-gutter, 1rem)
125
+ );
126
+ --_kui-popover-dialog-surface-available-height: calc(
127
+ 100dvh - var(--_kui-popover-dialog-surface-resolved-gutter) -
128
+ var(--_kui-popover-dialog-surface-resolved-gutter)
129
+ );
130
+ box-sizing: border-box;
131
+ width: min(
132
+ var(
133
+ --_kui-popover-dialog-surface-preferred-width,
134
+ var(--_kui-popover-dialog-surface-width)
135
+ ),
136
+ max(
137
+ 0px,
138
+ calc(
139
+ 100vw - var(--_kui-popover-dialog-surface-resolved-gutter) -
140
+ var(--_kui-popover-dialog-surface-resolved-gutter)
141
+ )
142
+ )
143
+ );
144
+ max-height: max(0px, var(--_kui-popover-dialog-surface-available-height));
145
+ padding: 0;
146
+ overflow: auto;
147
+ color: var(--kui-color-text);
148
+ border: 1px solid var(--kui-color-neutral-border-normal);
149
+ border-radius: var(--kui-radius-l);
150
+ background: var(--kui-color-surface-raised);
151
+ box-shadow: var(--kui-shadow-l);
152
+ }
153
+ .kui-popover-dialog-surface[data-size="small"] {
154
+ --_kui-popover-dialog-surface-width: 25rem;
155
+ }
156
+ .kui-popover-dialog-surface[data-size="large"] {
157
+ --_kui-popover-dialog-surface-width: 50rem;
158
+ }
159
+ .kui-popover-dialog-surface[data-max-height] {
160
+ max-height: max(
161
+ 0px,
162
+ min(
163
+ var(--_kui-popover-dialog-surface-max-height, 100dvh),
164
+ var(--_kui-popover-dialog-surface-available-height)
165
+ )
166
+ );
167
+ }
168
+ .kui-popover-dialog-surface[data-height] {
169
+ height: max(
170
+ 0px,
171
+ min(
172
+ var(--_kui-popover-dialog-surface-height, 100dvh),
173
+ var(--_kui-popover-dialog-surface-available-height)
174
+ )
175
+ );
176
+ max-height: none;
177
+ }
178
+ /* Centered in the top layer whatever margins or item alignment the host
179
+ sets: an absolutely positioned box's auto self-alignment otherwise
180
+ follows its parent's justify-items. */
181
+ .kui-popover-dialog-surface[data-presentation="overlay"]:popover-open {
182
+ inset: 0;
183
+ margin: auto;
184
+ place-self: center;
185
+ }
186
+ .kui-popover-dialog-surface::backdrop {
187
+ background: var(
188
+ --wa-color-overlay-modal,
189
+ light-dark(rgb(29 29 31 / 0.34), rgb(0 0 0 / 0.6))
190
+ );
191
+ }
192
+ /* Only an open overlay lays out, so a closed one stays hidden. One filling
193
+ child takes the whole surface and owns its scrolling. */
194
+ .kui-popover-dialog-surface[data-body-layout="fill"]:is(
195
+ :popover-open,
196
+ [data-presentation="embedded"]
197
+ ) {
198
+ display: grid;
199
+ overflow: hidden;
200
+ grid-template-rows: minmax(0, 1fr);
201
+ }
202
+ /* In flow for a catalog or inline use: the same surface without the top
203
+ layer, never wider than its container. */
204
+ .kui-popover-dialog-surface[data-presentation="embedded"] {
205
+ position: relative;
206
+ inset: auto;
207
+ /* The available inline space, after any margin the container gives it. */
208
+ max-width: 100%;
209
+ max-width: -webkit-fill-available;
210
+ max-width: -moz-available;
211
+ max-width: stretch;
212
+ margin: 0;
213
+ }
95
214
  .kui-popup-surface {
96
215
  display: inline-flex;
97
216
  }