@kerfjs/ui 5.0.0-beta.103 → 5.0.0-beta.105

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 (759) hide show
  1. package/README.md +163 -116
  2. package/ai/application-ui-profile.defaults.json +125 -4
  3. package/ai/compile-time-contracts-v1.json +11 -11
  4. package/ai/component-catalog.json +2606 -627
  5. package/ai/component-composition-rules.json +11 -10
  6. package/ai/component-composition.json +1689 -300
  7. package/ai/components/README.md +66 -48
  8. package/ai/components/application-tabs.md +4 -4
  9. package/ai/components/badge.md +1 -0
  10. package/ai/components/button.md +91 -0
  11. package/ai/components/checkbox.md +89 -0
  12. package/ai/components/choice-chips.md +9 -3
  13. package/ai/components/color-field.md +92 -0
  14. package/ai/components/color-picker.md +90 -0
  15. package/ai/components/color-swatches.md +82 -0
  16. package/ai/components/combobox.md +6 -4
  17. package/ai/components/content-item.md +5 -2
  18. package/ai/components/disclosure.md +83 -0
  19. package/ai/components/file-picker.md +1 -0
  20. package/ai/components/foundation.md +1 -1
  21. package/ai/components/list-action-row.md +3 -3
  22. package/ai/components/list-detail-dialog.md +90 -0
  23. package/ai/components/list.md +2 -0
  24. package/ai/components/lucide-icon.md +2 -0
  25. package/ai/components/{composer.md → message-composer.md} +17 -16
  26. package/ai/components/pane.md +3 -1
  27. package/ai/components/popup-menu.md +12 -9
  28. package/ai/components/progress-bar.md +82 -0
  29. package/ai/components/progress-ring.md +80 -0
  30. package/ai/components/radio-group.md +88 -0
  31. package/ai/components/recipe-list-detail-dialog.md +5 -5
  32. package/ai/components/search-field.md +108 -0
  33. package/ai/components/select.md +15 -13
  34. package/ai/components/slider.md +84 -0
  35. package/ai/components/surface-scaffold.md +16 -13
  36. package/ai/components/switch.md +81 -0
  37. package/ai/components/tab-bar.md +6 -6
  38. package/ai/components/tab-navigator.md +2 -2
  39. package/ai/components/tabs.md +7 -7
  40. package/ai/components/tag-field.md +86 -0
  41. package/ai/components/text-field.md +98 -0
  42. package/ai/components/text.md +1 -0
  43. package/ai/components/toast.md +85 -0
  44. package/ai/components/toolbar-control-group.md +3 -3
  45. package/ai/components/tooltip.md +81 -0
  46. package/ai/components/wa-accordion-item.md +11 -5
  47. package/ai/components/wa-accordion.md +11 -5
  48. package/ai/components/wa-animated-image.md +2 -1
  49. package/ai/components/wa-animation.md +1 -0
  50. package/ai/components/wa-avatar.md +1 -0
  51. package/ai/components/wa-badge.md +10 -3
  52. package/ai/components/wa-breadcrumb-item.md +1 -0
  53. package/ai/components/wa-breadcrumb.md +1 -0
  54. package/ai/components/wa-button-group.md +6 -4
  55. package/ai/components/wa-button.md +7 -5
  56. package/ai/components/wa-callout.md +7 -5
  57. package/ai/components/wa-card.md +12 -4
  58. package/ai/components/wa-carousel-item.md +1 -0
  59. package/ai/components/wa-carousel.md +1 -0
  60. package/ai/components/wa-checkbox-group.md +11 -4
  61. package/ai/components/wa-checkbox.md +10 -4
  62. package/ai/components/wa-color-picker.md +13 -5
  63. package/ai/components/wa-comparison.md +2 -1
  64. package/ai/components/wa-copy-button.md +1 -0
  65. package/ai/components/wa-details.md +11 -5
  66. package/ai/components/wa-dialog.md +10 -4
  67. package/ai/components/wa-divider.md +1 -0
  68. package/ai/components/wa-drawer.md +12 -5
  69. package/ai/components/wa-dropdown-item.md +8 -6
  70. package/ai/components/wa-dropdown.md +8 -6
  71. package/ai/components/wa-format-bytes.md +1 -0
  72. package/ai/components/wa-format-date.md +1 -0
  73. package/ai/components/wa-format-number.md +1 -0
  74. package/ai/components/wa-icon.md +2 -1
  75. package/ai/components/wa-include.md +6 -4
  76. package/ai/components/wa-input.md +9 -6
  77. package/ai/components/wa-intersection-observer.md +1 -0
  78. package/ai/components/wa-known-date.md +1 -0
  79. package/ai/components/wa-markdown.md +1 -0
  80. package/ai/components/wa-mutation-observer.md +1 -0
  81. package/ai/components/wa-number-input.md +1 -0
  82. package/ai/components/wa-option.md +7 -5
  83. package/ai/components/wa-otp-input.md +1 -0
  84. package/ai/components/wa-page.md +13 -4
  85. package/ai/components/wa-pagination.md +1 -0
  86. package/ai/components/wa-popover.md +11 -5
  87. package/ai/components/wa-popup.md +11 -4
  88. package/ai/components/wa-progress-bar.md +11 -4
  89. package/ai/components/wa-progress-ring.md +11 -4
  90. package/ai/components/wa-qr-code.md +1 -0
  91. package/ai/components/wa-radio-group.md +12 -4
  92. package/ai/components/wa-radio.md +10 -4
  93. package/ai/components/wa-random-content.md +1 -0
  94. package/ai/components/wa-rating.md +1 -0
  95. package/ai/components/wa-relative-time.md +1 -0
  96. package/ai/components/wa-resize-observer.md +1 -0
  97. package/ai/components/wa-scroller.md +12 -4
  98. package/ai/components/wa-select.md +7 -5
  99. package/ai/components/wa-skeleton.md +10 -3
  100. package/ai/components/wa-slider.md +11 -5
  101. package/ai/components/wa-spinner.md +7 -5
  102. package/ai/components/wa-split-panel.md +7 -5
  103. package/ai/components/wa-step.md +56 -0
  104. package/ai/components/wa-stepper.md +56 -0
  105. package/ai/components/wa-switch.md +10 -3
  106. package/ai/components/wa-tab-group.md +8 -6
  107. package/ai/components/wa-tab-panel.md +7 -5
  108. package/ai/components/wa-tab.md +8 -6
  109. package/ai/components/wa-tag-input.md +62 -0
  110. package/ai/components/wa-tag.md +9 -6
  111. package/ai/components/wa-textarea.md +10 -3
  112. package/ai/components/wa-time-input.md +1 -0
  113. package/ai/components/wa-toast-item.md +9 -7
  114. package/ai/components/wa-toast.md +9 -7
  115. package/ai/components/wa-tooltip.md +11 -5
  116. package/ai/components/wa-tree-item.md +2 -1
  117. package/ai/components/wa-tree.md +2 -1
  118. package/ai/components/wa-zoomable-frame.md +2 -1
  119. package/ai/components/workbench-dialog.md +90 -0
  120. package/ai/public-api-signatures-v1.md +1577 -245
  121. package/ai/skill.md +83 -50
  122. package/ai/webawesome-jsx-signatures-v1.md +4 -1
  123. package/dist/badge.d.ts +9 -1
  124. package/dist/badge.js +1 -1
  125. package/dist/browser/button.js +5 -0
  126. package/dist/browser/catalog.js +3 -2
  127. package/dist/browser/{icon-button.js → checkbox.js} +2 -2
  128. package/dist/browser/color-field.js +4 -0
  129. package/dist/browser/color-picker.js +5 -0
  130. package/dist/browser/color-swatches.js +3 -0
  131. package/dist/browser/disclosure.js +5 -0
  132. package/dist/browser/list-action-row.js +1 -0
  133. package/dist/browser/list-detail-dialog.js +14 -0
  134. package/dist/browser/message-composer.js +5 -0
  135. package/dist/browser/popup-menu.js +1 -0
  136. package/dist/browser/progress-bar.js +3 -0
  137. package/dist/browser/progress-ring.js +3 -0
  138. package/dist/browser/radio-group.js +3 -0
  139. package/dist/browser/search-field.js +4 -0
  140. package/dist/browser/slider.js +3 -0
  141. package/dist/browser/surface-scaffold.js +1 -0
  142. package/dist/browser/switch.js +3 -0
  143. package/dist/browser/tab-bar-item.js +4 -0
  144. package/dist/browser/tag-field.js +5 -0
  145. package/dist/browser/text-field.js +4 -0
  146. package/dist/browser/workbench-dialog.js +15 -0
  147. package/dist/button.d.ts +108 -0
  148. package/dist/button.js +7 -0
  149. package/dist/button.js.map +1 -0
  150. package/dist/catalog-resources.d.ts +1 -1
  151. package/dist/catalog.d.ts +3 -3
  152. package/dist/catalog.js +57 -27
  153. package/dist/catalog.js.map +1 -1
  154. package/dist/checkbox.d.ts +45 -0
  155. package/dist/checkbox.js +6 -0
  156. package/dist/checkbox.js.map +1 -0
  157. package/dist/choice-chips.d.ts +49 -15
  158. package/dist/choice-chips.js +1 -1
  159. package/dist/chunk-23PPPNH6.js +93 -0
  160. package/dist/chunk-23PPPNH6.js.map +1 -0
  161. package/dist/{chunk-FNZQOUZ5.js → chunk-2FW7D4IG.js} +2 -2
  162. package/dist/{chunk-FNZQOUZ5.js.map → chunk-2FW7D4IG.js.map} +1 -1
  163. package/dist/{chunk-ZYU5WRC3.js → chunk-3GLYIIFR.js} +2 -2
  164. package/dist/{chunk-ZYU5WRC3.js.map → chunk-3GLYIIFR.js.map} +1 -1
  165. package/dist/{chunk-5NQF35VO.js → chunk-4RECPEHI.js} +2 -2
  166. package/dist/{chunk-5NQF35VO.js.map → chunk-4RECPEHI.js.map} +1 -1
  167. package/dist/{chunk-7IUEBNCO.js → chunk-5USKCWGL.js} +8 -3
  168. package/dist/chunk-5USKCWGL.js.map +1 -0
  169. package/dist/chunk-6VVIW7VB.js +69 -0
  170. package/dist/chunk-6VVIW7VB.js.map +1 -0
  171. package/dist/{chunk-LL45C7BB.js → chunk-7K6U6FCN.js} +1 -1
  172. package/dist/chunk-7K6U6FCN.js.map +1 -0
  173. package/dist/{chunk-HQZYKJ56.js → chunk-7W3GKMN4.js} +110 -74
  174. package/dist/chunk-7W3GKMN4.js.map +1 -0
  175. package/dist/chunk-ACUKTVS3.js +371 -0
  176. package/dist/chunk-ACUKTVS3.js.map +1 -0
  177. package/dist/{chunk-YQ2AC4E2.js → chunk-AMIHGFLP.js} +2 -2
  178. package/dist/{chunk-YQ2AC4E2.js.map → chunk-AMIHGFLP.js.map} +1 -1
  179. package/dist/chunk-ATGAJVZ6.js +268 -0
  180. package/dist/chunk-ATGAJVZ6.js.map +1 -0
  181. package/dist/chunk-AYPGXR2E.js +20 -0
  182. package/dist/chunk-AYPGXR2E.js.map +1 -0
  183. package/dist/{chunk-ETCWQLJV.js → chunk-BKUMG2KB.js} +38 -28
  184. package/dist/chunk-BKUMG2KB.js.map +1 -0
  185. package/dist/chunk-C26Q6P4Q.js +76 -0
  186. package/dist/chunk-C26Q6P4Q.js.map +1 -0
  187. package/dist/chunk-C3RLKKFQ.js +452 -0
  188. package/dist/chunk-C3RLKKFQ.js.map +1 -0
  189. package/dist/{chunk-IM3GKYOG.js → chunk-CIAUILRR.js} +52 -32
  190. package/dist/chunk-CIAUILRR.js.map +1 -0
  191. package/dist/chunk-CNM6ZWP2.js +38 -0
  192. package/dist/chunk-CNM6ZWP2.js.map +1 -0
  193. package/dist/{chunk-LPHU44S3.js → chunk-CTQUDCY5.js} +3 -1
  194. package/dist/chunk-CTQUDCY5.js.map +1 -0
  195. package/dist/{chunk-MXNIVEVL.js → chunk-D4MXSAMI.js} +5 -3
  196. package/dist/chunk-D4MXSAMI.js.map +1 -0
  197. package/dist/{chunk-YBWQR2OK.js → chunk-DDSCVEO5.js} +10 -9
  198. package/dist/chunk-DDSCVEO5.js.map +1 -0
  199. package/dist/{chunk-SIW64V65.js → chunk-DF2YKGIX.js} +3 -3
  200. package/dist/{chunk-SIW64V65.js.map → chunk-DF2YKGIX.js.map} +1 -1
  201. package/dist/{chunk-3SKAEPPZ.js → chunk-ECFCAKWE.js} +4 -4
  202. package/dist/{chunk-3SKAEPPZ.js.map → chunk-ECFCAKWE.js.map} +1 -1
  203. package/dist/chunk-EKBMUXFV.js +298 -0
  204. package/dist/chunk-EKBMUXFV.js.map +1 -0
  205. package/dist/{chunk-IXLUZHGT.js → chunk-FG6U7KQQ.js} +5 -5
  206. package/dist/{chunk-IXLUZHGT.js.map → chunk-FG6U7KQQ.js.map} +1 -1
  207. package/dist/chunk-FKKJHGN5.js +147 -0
  208. package/dist/chunk-FKKJHGN5.js.map +1 -0
  209. package/dist/{chunk-FDZNYD4C.js → chunk-GCAK23PU.js} +34 -3
  210. package/dist/chunk-GCAK23PU.js.map +1 -0
  211. package/dist/chunk-GXSX6Q6O.js +42 -0
  212. package/dist/chunk-GXSX6Q6O.js.map +1 -0
  213. package/dist/{chunk-LOSRXZAH.js → chunk-HJXVVFBT.js} +14 -6
  214. package/dist/chunk-HJXVVFBT.js.map +1 -0
  215. package/dist/{chunk-M5KZ26VV.js → chunk-HQZG3OFL.js} +11 -1
  216. package/dist/chunk-HQZG3OFL.js.map +1 -0
  217. package/dist/{chunk-ELCMSQNJ.js → chunk-HTERKONR.js} +8 -8
  218. package/dist/chunk-HTERKONR.js.map +1 -0
  219. package/dist/chunk-HYORKKYP.js +8 -0
  220. package/dist/chunk-HYORKKYP.js.map +1 -0
  221. package/dist/chunk-IO27YTL3.js +73 -0
  222. package/dist/chunk-IO27YTL3.js.map +1 -0
  223. package/dist/chunk-ITUQC4FW.js +163 -0
  224. package/dist/chunk-ITUQC4FW.js.map +1 -0
  225. package/dist/chunk-K57NINLH.js +137 -0
  226. package/dist/chunk-K57NINLH.js.map +1 -0
  227. package/dist/chunk-KC6WUSNS.js +34 -0
  228. package/dist/chunk-KC6WUSNS.js.map +1 -0
  229. package/dist/{chunk-W4IK7AWD.js → chunk-KDQZ3E5C.js} +3 -1
  230. package/dist/chunk-KDQZ3E5C.js.map +1 -0
  231. package/dist/{chunk-2MSPNRWJ.js → chunk-KK3S5OTW.js} +27 -11
  232. package/dist/chunk-KK3S5OTW.js.map +1 -0
  233. package/dist/chunk-LTBVP6VN.js +59 -0
  234. package/dist/chunk-LTBVP6VN.js.map +1 -0
  235. package/dist/chunk-OHPYT2BH.js +82 -0
  236. package/dist/chunk-OHPYT2BH.js.map +1 -0
  237. package/dist/{chunk-HZPHCSCS.js → chunk-OY2MXIBB.js} +8 -2
  238. package/dist/chunk-OY2MXIBB.js.map +1 -0
  239. package/dist/chunk-PE2KPZDW.js +85 -0
  240. package/dist/chunk-PE2KPZDW.js.map +1 -0
  241. package/dist/{chunk-QTSMHH5J.js → chunk-QPTJ5DOO.js} +5 -3
  242. package/dist/chunk-QPTJ5DOO.js.map +1 -0
  243. package/dist/{chunk-JOR5LGYE.js → chunk-RFLW4FPL.js} +1 -1
  244. package/dist/chunk-RFLW4FPL.js.map +1 -0
  245. package/dist/{chunk-U6QYTMDB.js → chunk-RMWNO6BA.js} +6 -2
  246. package/dist/chunk-RMWNO6BA.js.map +1 -0
  247. package/dist/{chunk-TDMHA7C3.js → chunk-SQ2Q3OQI.js} +112 -63
  248. package/dist/chunk-SQ2Q3OQI.js.map +1 -0
  249. package/dist/{chunk-K4AT3V3J.js → chunk-T74YB76U.js} +13 -11
  250. package/dist/chunk-T74YB76U.js.map +1 -0
  251. package/dist/{chunk-BYFTHA4I.js → chunk-TAHR457X.js} +53 -6
  252. package/dist/chunk-TAHR457X.js.map +1 -0
  253. package/dist/{chunk-3VXDSIBJ.js → chunk-TKNVL53O.js} +2 -2
  254. package/dist/{chunk-3VXDSIBJ.js.map → chunk-TKNVL53O.js.map} +1 -1
  255. package/dist/chunk-TNJLNLVE.js +115 -0
  256. package/dist/chunk-TNJLNLVE.js.map +1 -0
  257. package/dist/chunk-TUID42UE.js +15 -0
  258. package/dist/chunk-TUID42UE.js.map +1 -0
  259. package/dist/{chunk-PKL6QJKK.js → chunk-UMNHJSIO.js} +93 -80
  260. package/dist/chunk-UMNHJSIO.js.map +1 -0
  261. package/dist/chunk-UTCAOOXU.js +116 -0
  262. package/dist/chunk-UTCAOOXU.js.map +1 -0
  263. package/dist/{chunk-MF6ZUUJZ.js → chunk-VEME3D7K.js} +38 -40
  264. package/dist/chunk-VEME3D7K.js.map +1 -0
  265. package/dist/{chunk-HLDRH23D.js → chunk-WJKHLOP5.js} +2 -2
  266. package/dist/{chunk-HLDRH23D.js.map → chunk-WJKHLOP5.js.map} +1 -1
  267. package/dist/chunk-WU57BYYM.js +115 -0
  268. package/dist/chunk-WU57BYYM.js.map +1 -0
  269. package/dist/{chunk-TGLUDQP2.js → chunk-ZCDRLN3B.js} +11 -11
  270. package/dist/chunk-ZCDRLN3B.js.map +1 -0
  271. package/dist/chunk-ZX2QQJXD.js +249 -0
  272. package/dist/chunk-ZX2QQJXD.js.map +1 -0
  273. package/dist/{chunk-6E2H2E5A.js → chunk-ZXZAECHZ.js} +6 -6
  274. package/dist/{chunk-6E2H2E5A.js.map → chunk-ZXZAECHZ.js.map} +1 -1
  275. package/dist/collapsible-panel.js +3 -3
  276. package/dist/color-field.d.ts +51 -0
  277. package/dist/color-field.js +92 -0
  278. package/dist/color-field.js.map +1 -0
  279. package/dist/color-picker.d.ts +88 -0
  280. package/dist/color-picker.js +8 -0
  281. package/dist/color-picker.js.map +1 -0
  282. package/dist/color-swatches.d.ts +56 -0
  283. package/dist/color-swatches.js +4 -0
  284. package/dist/color-swatches.js.map +1 -0
  285. package/dist/combobox.js +1 -1
  286. package/dist/content-item.d.ts +13 -1
  287. package/dist/content-item.js +1 -1
  288. package/dist/disclosure-arrow.js +1 -1
  289. package/dist/disclosure.d.ts +57 -0
  290. package/dist/disclosure.js +51 -0
  291. package/dist/disclosure.js.map +1 -0
  292. package/dist/file-picker.d.ts +7 -0
  293. package/dist/file-picker.js +1 -1
  294. package/dist/help-tags-register.d.ts +8 -8
  295. package/dist/help-tags-register.js +3 -2
  296. package/dist/help-tags-register.js.map +1 -1
  297. package/dist/index.d.ts +16 -9
  298. package/dist/index.js +58 -46
  299. package/dist/list-action-row.js +4 -1
  300. package/dist/list-detail-dialog.d.ts +117 -0
  301. package/dist/list-detail-dialog.js +165 -0
  302. package/dist/list-detail-dialog.js.map +1 -0
  303. package/dist/list-header.js +1 -1
  304. package/dist/list-item.js +1 -1
  305. package/dist/list.d.ts +17 -2
  306. package/dist/list.js +1 -1
  307. package/dist/lucide-icon.d.ts +9 -1
  308. package/dist/lucide-icon.js +1 -1
  309. package/dist/{composer.d.ts → message-composer.d.ts} +20 -12
  310. package/dist/message-composer.js +6 -0
  311. package/dist/message-composer.js.map +1 -0
  312. package/dist/nav-stack.js +1 -1
  313. package/dist/pane.d.ts +36 -3
  314. package/dist/pane.js +1 -1
  315. package/dist/popup-menu-register.d.ts +6 -5
  316. package/dist/popup-menu-register.js +3 -326
  317. package/dist/popup-menu-register.js.map +1 -1
  318. package/dist/popup-menu.d.ts +41 -23
  319. package/dist/popup-menu.js +5 -1
  320. package/dist/progress-bar.d.ts +52 -0
  321. package/dist/progress-bar.js +68 -0
  322. package/dist/progress-bar.js.map +1 -0
  323. package/dist/progress-ring.d.ts +44 -0
  324. package/dist/progress-ring.js +73 -0
  325. package/dist/progress-ring.js.map +1 -0
  326. package/dist/radio-group.d.ts +62 -0
  327. package/dist/radio-group.js +4 -0
  328. package/dist/radio-group.js.map +1 -0
  329. package/dist/row.js +1 -1
  330. package/dist/{token-search-model-aYR0YAei.d.ts → search-field-CrGTN5sa.d.ts} +67 -43
  331. package/dist/search-field-model.d.ts +3 -0
  332. package/dist/search-field-model.js +3 -0
  333. package/dist/search-field-model.js.map +1 -0
  334. package/dist/search-field.d.ts +3 -0
  335. package/dist/search-field.js +5 -0
  336. package/dist/search-field.js.map +1 -0
  337. package/dist/select-register.d.ts +6 -3
  338. package/dist/select-register.js +383 -241
  339. package/dist/select-register.js.map +1 -1
  340. package/dist/select.d.ts +30 -6
  341. package/dist/select.js +3 -1
  342. package/dist/selection.d.ts +54 -0
  343. package/dist/selection.js +3 -0
  344. package/dist/selection.js.map +1 -0
  345. package/dist/slider.d.ts +74 -0
  346. package/dist/slider.js +103 -0
  347. package/dist/slider.js.map +1 -0
  348. package/dist/split-button.js +1 -1
  349. package/dist/split-view.d.ts +5 -2
  350. package/dist/split-view.js +18 -159
  351. package/dist/split-view.js.map +1 -1
  352. package/dist/state-banner.js +1 -1
  353. package/dist/styles/badge.css +18 -6
  354. package/dist/styles/button.css +230 -0
  355. package/dist/styles/catalog/components/catalog-example.css +13 -4
  356. package/dist/styles/checkbox.css +121 -0
  357. package/dist/styles/choice-chips.css +58 -7
  358. package/dist/styles/color-field.css +125 -0
  359. package/dist/styles/color-picker.css +331 -0
  360. package/dist/styles/color-swatches.css +122 -0
  361. package/dist/styles/combobox.css +7 -5
  362. package/dist/styles/components/actions/button/button.css +230 -0
  363. package/dist/styles/components/actions/popup-menu/popup-menu.css +326 -198
  364. package/dist/styles/components/actions/toolbar/toolbar.css +25 -3
  365. package/dist/styles/components/actions/toolbar-control-group/toolbar-control-group.css +67 -104
  366. package/dist/styles/components/actions/toolbar-text/toolbar-text.css +5 -18
  367. package/dist/styles/components/collections/list/list.css +37 -0
  368. package/dist/styles/components/feedback/badge/badge.css +18 -6
  369. package/dist/styles/components/feedback/progress-bar/progress-bar.css +168 -0
  370. package/dist/styles/components/feedback/progress-ring/progress-ring.css +91 -0
  371. package/dist/styles/components/feedback/state-banner/state-banner.css +18 -3
  372. package/dist/styles/components/forms/checkbox/checkbox.css +121 -0
  373. package/dist/styles/components/forms/choice-chips/choice-chips.css +58 -7
  374. package/dist/styles/components/forms/color-field/color-field.css +125 -0
  375. package/dist/styles/components/forms/color-picker/color-picker.css +331 -0
  376. package/dist/styles/components/forms/color-swatches/color-swatches.css +122 -0
  377. package/dist/styles/components/forms/combobox/combobox.css +7 -5
  378. package/dist/styles/components/forms/{composer/composer.css → message-composer/message-composer.css} +17 -33
  379. package/dist/styles/components/forms/radio-group/radio-group.css +156 -0
  380. package/dist/styles/{token-search-field.css → components/forms/search-field/search-field.css} +111 -102
  381. package/dist/styles/components/forms/select/select.css +370 -249
  382. package/dist/styles/components/forms/slider/slider.css +241 -0
  383. package/dist/styles/components/forms/switch/switch.css +132 -0
  384. package/dist/styles/components/forms/tag-field/tag-field.css +8 -0
  385. package/dist/styles/components/forms/text-field/text-field.css +193 -0
  386. package/dist/styles/components/layout/pane/pane.css +254 -0
  387. package/dist/styles/components/layout/resizable-region/resizable-region.css +3 -2
  388. package/dist/styles/components/layout/row/row.css +11 -0
  389. package/dist/styles/components/layout/split-view/split-view.css +25 -0
  390. package/dist/styles/components/layout/workbench/workbench.css +12 -4
  391. package/dist/styles/components/navigation/disclosure-arrow/disclosure-arrow.css +20 -0
  392. package/dist/styles/components/navigation/tab-bar/tab-bar.css +7 -7
  393. package/dist/styles/components/navigation/{app-tab/app-tab.css → tab-bar-item/tab-bar-item.css} +95 -90
  394. package/dist/styles/components/surfaces/disclosure/disclosure.css +98 -0
  395. package/dist/styles/components/surfaces/surface-scaffold/surface-scaffold.css +263 -116
  396. package/dist/styles/components/typography/text/text.css +14 -12
  397. package/dist/styles/disclosure-arrow.css +20 -0
  398. package/dist/styles/disclosure.css +98 -0
  399. package/dist/styles/foundation.css +6 -4
  400. package/dist/styles/list-detail-dialog.css +11 -0
  401. package/dist/styles/list.css +37 -0
  402. package/dist/styles/{composer.css → message-composer.css} +17 -33
  403. package/dist/styles/overlay-toast.css +149 -0
  404. package/dist/styles/overlay-tooltip.css +55 -0
  405. package/dist/styles/pane.css +254 -0
  406. package/dist/styles/popup-menu.css +326 -198
  407. package/dist/styles/progress-bar.css +168 -0
  408. package/dist/styles/progress-ring.css +91 -0
  409. package/dist/styles/radio-group.css +156 -0
  410. package/dist/styles/resizable-region.css +3 -2
  411. package/dist/styles/row.css +11 -0
  412. package/dist/styles/{components/forms/token-search-field/token-search-field.css → search-field.css} +111 -102
  413. package/dist/styles/select.css +370 -249
  414. package/dist/styles/slider.css +241 -0
  415. package/dist/styles/split-view.css +25 -0
  416. package/dist/styles/state-banner.css +18 -3
  417. package/dist/styles/styles.css +16 -5
  418. package/dist/styles/surface-scaffold.css +263 -116
  419. package/dist/styles/switch.css +132 -0
  420. package/dist/styles/{app-tab.css → tab-bar-item.css} +95 -90
  421. package/dist/styles/tab-bar.css +7 -7
  422. package/dist/styles/tag-field.css +8 -0
  423. package/dist/styles/text-field.css +193 -0
  424. package/dist/styles/text.css +14 -12
  425. package/dist/styles/toolbar-control-group.css +67 -104
  426. package/dist/styles/toolbar-text.css +5 -18
  427. package/dist/styles/toolbar.css +25 -3
  428. package/dist/styles/webawesome.css +9 -0
  429. package/dist/styles/workbench-dialog.css +10 -0
  430. package/dist/styles/workbench.css +12 -4
  431. package/dist/surface-scaffold-register.d.ts +7 -5
  432. package/dist/surface-scaffold-register.js +2 -246
  433. package/dist/surface-scaffold-register.js.map +1 -1
  434. package/dist/surface-scaffold.d.ts +70 -7
  435. package/dist/surface-scaffold.js +5 -1
  436. package/dist/switch.d.ts +38 -0
  437. package/dist/switch.js +4 -0
  438. package/dist/switch.js.map +1 -0
  439. package/dist/{app-tab.d.ts → tab-bar-item.d.ts} +11 -11
  440. package/dist/tab-bar-item.js +6 -0
  441. package/dist/tab-bar-item.js.map +1 -0
  442. package/dist/tab-bar.d.ts +3 -3
  443. package/dist/tab-bar.js +1 -1
  444. package/dist/tab-navigator.js +1 -1
  445. package/dist/tag-field.d.ts +52 -0
  446. package/dist/tag-field.js +6 -0
  447. package/dist/tag-field.js.map +1 -0
  448. package/dist/text-field.d.ts +83 -0
  449. package/dist/text-field.js +6 -0
  450. package/dist/text-field.js.map +1 -0
  451. package/dist/text.d.ts +6 -1
  452. package/dist/text.js +1 -1
  453. package/dist/{types-CVgIwSdq.d.ts → types-DmHWkSd6.d.ts} +19 -1
  454. package/dist/webawesome.d.ts +3 -0
  455. package/dist/wire-catalog.d.ts +8 -2
  456. package/dist/wire-catalog.js +16 -4
  457. package/dist/wire-catalog.js.map +1 -1
  458. package/dist/wire-checkboxes.d.ts +10 -0
  459. package/dist/wire-checkboxes.js +3 -0
  460. package/dist/{wire-composers.js.map → wire-checkboxes.js.map} +1 -1
  461. package/dist/wire-choice-chips.d.ts +17 -0
  462. package/dist/wire-choice-chips.js +4 -0
  463. package/dist/{wire-token-search-fields.js.map → wire-choice-chips.js.map} +1 -1
  464. package/dist/wire-color-fields.d.ts +33 -0
  465. package/dist/wire-color-fields.js +82 -0
  466. package/dist/wire-color-fields.js.map +1 -0
  467. package/dist/wire-color-pickers.d.ts +34 -0
  468. package/dist/wire-color-pickers.js +9 -0
  469. package/dist/wire-color-pickers.js.map +1 -0
  470. package/dist/wire-comboboxes.js +2 -1
  471. package/dist/wire-content-items.d.ts +5 -1
  472. package/dist/wire-content-items.js +84 -15
  473. package/dist/wire-content-items.js.map +1 -1
  474. package/dist/wire-file-pickers.d.ts +3 -2
  475. package/dist/wire-file-pickers.js +1 -1
  476. package/dist/{wire-composers.d.ts → wire-message-composers.d.ts} +5 -4
  477. package/dist/wire-message-composers.js +3 -0
  478. package/dist/wire-message-composers.js.map +1 -0
  479. package/dist/wire-overlay-sheets.js +1 -1
  480. package/dist/wire-pane-chrome.d.ts +21 -0
  481. package/dist/wire-pane-chrome.js +67 -0
  482. package/dist/wire-pane-chrome.js.map +1 -0
  483. package/dist/{wire-token-search-fields.d.ts → wire-search-fields.d.ts} +25 -25
  484. package/dist/wire-search-fields.js +6 -0
  485. package/dist/wire-search-fields.js.map +1 -0
  486. package/dist/wire-sliders.d.ts +12 -0
  487. package/dist/wire-sliders.js +31 -0
  488. package/dist/wire-sliders.js.map +1 -0
  489. package/dist/wire-tab-bars.js +1 -1
  490. package/dist/wire-tag-fields.d.ts +41 -0
  491. package/dist/wire-tag-fields.js +258 -0
  492. package/dist/wire-tag-fields.js.map +1 -0
  493. package/dist/wire-text-fields.d.ts +12 -0
  494. package/dist/wire-text-fields.js +3 -0
  495. package/dist/wire-text-fields.js.map +1 -0
  496. package/dist/workbench-dialog.d.ts +97 -0
  497. package/dist/workbench-dialog.js +124 -0
  498. package/dist/workbench-dialog.js.map +1 -0
  499. package/dist/workbench.d.ts +5 -0
  500. package/dist/workbench.js +1 -1
  501. package/docs/accessibility.md +181 -97
  502. package/docs/anchored-surface.md +8 -7
  503. package/docs/app-layouts.md +28 -0
  504. package/docs/catalog.md +14 -5
  505. package/docs/color-field.md +65 -0
  506. package/docs/color-picker.md +71 -0
  507. package/docs/color-swatches.md +46 -0
  508. package/docs/component-contract.md +31 -32
  509. package/docs/component-selection.md +232 -165
  510. package/docs/design/templates/button/emphasis-dark.svg +1 -0
  511. package/docs/design/templates/button/emphasis.svg +1 -0
  512. package/docs/design/templates/button/icons-dark.svg +1 -0
  513. package/docs/design/templates/button/icons.svg +1 -0
  514. package/docs/design/templates/button/pill-dark.svg +1 -0
  515. package/docs/design/templates/button/pill.svg +1 -0
  516. package/docs/design/templates/button/states-dark.svg +1 -0
  517. package/docs/design/templates/button/states.svg +1 -0
  518. package/docs/design/templates/button/toggles-dark.svg +1 -0
  519. package/docs/design/templates/button/toggles.svg +1 -0
  520. package/docs/design/templates/button/tones-dark.svg +1 -0
  521. package/docs/design/templates/button/tones.svg +1 -0
  522. package/docs/design/templates/button-dark.svg +1 -0
  523. package/docs/design/templates/button.svg +1 -0
  524. package/docs/design/templates/checkbox/compact-dark.svg +1 -0
  525. package/docs/design/templates/checkbox/compact.svg +1 -0
  526. package/docs/design/templates/checkbox/error-dark.svg +1 -0
  527. package/docs/design/templates/checkbox/error.svg +1 -0
  528. package/docs/design/templates/checkbox/mixed-dark.svg +1 -0
  529. package/docs/design/templates/checkbox/mixed.svg +1 -0
  530. package/docs/design/templates/checkbox/states-dark.svg +1 -0
  531. package/docs/design/templates/checkbox/states.svg +1 -0
  532. package/docs/design/templates/checkbox-dark.svg +1 -0
  533. package/docs/design/templates/checkbox.svg +1 -0
  534. package/docs/design/templates/choice-chips/color-palette-dark.svg +1 -1
  535. package/docs/design/templates/choice-chips/color-palette.svg +1 -1
  536. package/docs/design/templates/choice-chips/compact-icons-dark.svg +1 -1
  537. package/docs/design/templates/choice-chips/compact-icons.svg +1 -1
  538. package/docs/design/templates/choice-chips/multiple-dark.svg +1 -1
  539. package/docs/design/templates/choice-chips/multiple.svg +1 -1
  540. package/docs/design/templates/choice-chips-dark.svg +1 -1
  541. package/docs/design/templates/choice-chips.svg +1 -1
  542. package/docs/design/templates/color-field/compact-dark.svg +1 -0
  543. package/docs/design/templates/color-field/compact.svg +1 -0
  544. package/docs/design/templates/color-field/error-dark.svg +1 -0
  545. package/docs/design/templates/color-field/error.svg +1 -0
  546. package/docs/design/templates/color-field/hint-dark.svg +1 -0
  547. package/docs/design/templates/color-field/hint.svg +1 -0
  548. package/docs/design/templates/color-field-dark.svg +1 -0
  549. package/docs/design/templates/color-field.svg +1 -0
  550. package/docs/design/templates/color-picker/gray-dark.svg +1 -0
  551. package/docs/design/templates/color-picker/gray.svg +1 -0
  552. package/docs/design/templates/color-picker/rgb-dark.svg +1 -0
  553. package/docs/design/templates/color-picker/rgb.svg +1 -0
  554. package/docs/design/templates/color-picker-dark.svg +1 -0
  555. package/docs/design/templates/color-picker.svg +1 -0
  556. package/docs/design/templates/color-swatches/palette-dark.svg +1 -0
  557. package/docs/design/templates/color-swatches/palette.svg +1 -0
  558. package/docs/design/templates/color-swatches-dark.svg +1 -0
  559. package/docs/design/templates/color-swatches.svg +1 -0
  560. package/docs/design/templates/disclosure/framed-sunken-dark.svg +1 -0
  561. package/docs/design/templates/disclosure/framed-sunken.svg +1 -0
  562. package/docs/design/templates/disclosure/plain-dark.svg +1 -0
  563. package/docs/design/templates/disclosure/plain.svg +1 -0
  564. package/docs/design/templates/disclosure-dark.svg +1 -0
  565. package/docs/design/templates/disclosure.svg +1 -0
  566. package/docs/design/templates/list-header/size-l-dark.svg +1 -1
  567. package/docs/design/templates/list-header/size-l.svg +1 -1
  568. package/docs/design/templates/list-header/size-m-dark.svg +1 -1
  569. package/docs/design/templates/list-header/size-m.svg +1 -1
  570. package/docs/design/templates/list-header/size-xl-dark.svg +1 -1
  571. package/docs/design/templates/list-header/size-xl.svg +1 -1
  572. package/docs/design/templates/list-header-dark.svg +1 -1
  573. package/docs/design/templates/list-header.svg +1 -1
  574. package/docs/design/templates/message-composer/chat-dark.svg +1 -0
  575. package/docs/design/templates/message-composer/chat.svg +1 -0
  576. package/docs/design/templates/{composer → message-composer}/prompt-dark.svg +1 -1
  577. package/docs/design/templates/{composer → message-composer}/prompt.svg +1 -1
  578. package/docs/design/templates/message-composer-dark.svg +1 -0
  579. package/docs/design/templates/message-composer.svg +1 -0
  580. package/docs/design/templates/progress-bar/determinate-dark.svg +1 -0
  581. package/docs/design/templates/progress-bar/determinate.svg +1 -0
  582. package/docs/design/templates/progress-bar/tones-dark.svg +1 -0
  583. package/docs/design/templates/progress-bar/tones.svg +1 -0
  584. package/docs/design/templates/progress-bar-dark.svg +1 -0
  585. package/docs/design/templates/progress-bar.svg +1 -0
  586. package/docs/design/templates/progress-ring/sizes-dark.svg +1 -0
  587. package/docs/design/templates/progress-ring/sizes.svg +1 -0
  588. package/docs/design/templates/progress-ring/tones-dark.svg +1 -0
  589. package/docs/design/templates/progress-ring/tones.svg +1 -0
  590. package/docs/design/templates/progress-ring-dark.svg +1 -0
  591. package/docs/design/templates/progress-ring.svg +1 -0
  592. package/docs/design/templates/radio-group/horizontal-dark.svg +1 -0
  593. package/docs/design/templates/radio-group/horizontal.svg +1 -0
  594. package/docs/design/templates/radio-group/vertical-dark.svg +1 -0
  595. package/docs/design/templates/radio-group/vertical.svg +1 -0
  596. package/docs/design/templates/radio-group-dark.svg +1 -0
  597. package/docs/design/templates/radio-group.svg +1 -0
  598. package/docs/design/templates/segmented-control/equal-dark.svg +1 -1
  599. package/docs/design/templates/segmented-control/equal.svg +1 -1
  600. package/docs/design/templates/segmented-control/pill-small-dark.svg +1 -1
  601. package/docs/design/templates/segmented-control/pill-small.svg +1 -1
  602. package/docs/design/templates/segmented-control-dark.svg +1 -1
  603. package/docs/design/templates/segmented-control.svg +1 -1
  604. package/docs/design/templates/select/compact-dark.svg +1 -0
  605. package/docs/design/templates/select/compact.svg +1 -0
  606. package/docs/design/templates/select/form-dark.svg +1 -0
  607. package/docs/design/templates/select/form.svg +1 -0
  608. package/docs/design/templates/select/icons-dark.svg +1 -0
  609. package/docs/design/templates/select/icons.svg +1 -0
  610. package/docs/design/templates/select-dark.svg +1 -0
  611. package/docs/design/templates/select.svg +1 -0
  612. package/docs/design/templates/slider/compact-dark.svg +1 -0
  613. package/docs/design/templates/slider/compact.svg +1 -0
  614. package/docs/design/templates/slider/readout-dark.svg +1 -0
  615. package/docs/design/templates/slider/readout.svg +1 -0
  616. package/docs/design/templates/slider/ticks-dark.svg +1 -0
  617. package/docs/design/templates/slider/ticks.svg +1 -0
  618. package/docs/design/templates/slider-dark.svg +1 -0
  619. package/docs/design/templates/slider.svg +1 -0
  620. package/docs/design/templates/switch/compact-dark.svg +1 -0
  621. package/docs/design/templates/switch/compact.svg +1 -0
  622. package/docs/design/templates/switch/states-dark.svg +1 -0
  623. package/docs/design/templates/switch/states.svg +1 -0
  624. package/docs/design/templates/switch-dark.svg +1 -0
  625. package/docs/design/templates/switch.svg +1 -0
  626. package/docs/design/templates/tag-field/error-dark.svg +1 -0
  627. package/docs/design/templates/tag-field/error.svg +1 -0
  628. package/docs/design/templates/tag-field/tags-dark.svg +1 -0
  629. package/docs/design/templates/tag-field/tags.svg +1 -0
  630. package/docs/design/templates/tag-field-dark.svg +1 -0
  631. package/docs/design/templates/tag-field.svg +1 -0
  632. package/docs/design/templates/text-field/compact-dark.svg +1 -0
  633. package/docs/design/templates/text-field/compact.svg +1 -0
  634. package/docs/design/templates/text-field/error-dark.svg +1 -0
  635. package/docs/design/templates/text-field/error.svg +1 -0
  636. package/docs/design/templates/text-field/labeled-dark.svg +1 -0
  637. package/docs/design/templates/text-field/labeled.svg +1 -0
  638. package/docs/design/templates/text-field/multiline-dark.svg +1 -0
  639. package/docs/design/templates/text-field/multiline.svg +1 -0
  640. package/docs/design/templates/text-field/search-dark.svg +1 -0
  641. package/docs/design/templates/text-field/search.svg +1 -0
  642. package/docs/design/templates/text-field-dark.svg +1 -0
  643. package/docs/design/templates/text-field.svg +1 -0
  644. package/docs/design/templates/toolbar/title-and-actions-dark.svg +1 -1
  645. package/docs/design/templates/toolbar/title-and-actions.svg +1 -1
  646. package/docs/design/templates/toolbar/width-visibility-320-dark.svg +1 -1
  647. package/docs/design/templates/toolbar/width-visibility-320.svg +1 -1
  648. package/docs/design/templates/toolbar/width-visibility-600-dark.svg +1 -1
  649. package/docs/design/templates/toolbar/width-visibility-600.svg +1 -1
  650. package/docs/design/templates/toolbar-dark.svg +1 -1
  651. package/docs/design/templates/toolbar.svg +1 -1
  652. package/docs/design/templates/value-table/details-dark.svg +1 -1
  653. package/docs/design/templates/value-table/details.svg +1 -1
  654. package/docs/design/templates/value-table-dark.svg +1 -1
  655. package/docs/design/templates/value-table.svg +1 -1
  656. package/docs/design/templates.md +19 -6
  657. package/docs/design-philosophy.md +6 -6
  658. package/docs/disclosure.md +63 -0
  659. package/docs/examples/component-catalog-extension.json +2 -2
  660. package/docs/layout.md +16 -7
  661. package/docs/list-detail-dialog.md +96 -0
  662. package/docs/manual-test-plan.md +1 -1
  663. package/docs/{composer.md → message-composer.md} +41 -28
  664. package/docs/overlay-toast.md +62 -0
  665. package/docs/overlay-tooltip.md +53 -0
  666. package/docs/progress.md +62 -0
  667. package/docs/recipes.md +15 -21
  668. package/docs/slider.md +64 -0
  669. package/docs/surface-scaffold.md +155 -88
  670. package/docs/tag-field.md +66 -0
  671. package/docs/type-contracts.md +8 -8
  672. package/docs/ui-analyzer.md +1 -1
  673. package/docs/ui-doctor.md +11 -6
  674. package/docs/ux-demo.md +6 -6
  675. package/docs/webawesome-migration.md +80 -0
  676. package/docs/webawesome-theme.md +57 -35
  677. package/docs/workbench-dialog.md +85 -0
  678. package/docs/workbench.md +10 -6
  679. package/docs/writing.md +10 -8
  680. package/doctor/copy-capitalization-checks.mjs +18 -9
  681. package/llms.txt +131 -57
  682. package/package.json +156 -39
  683. package/ux-demo/recipes/composer-form.tsx +18 -19
  684. package/ux-demo/recipes/list-detail-dialog.tsx +55 -162
  685. package/ux-demo/recipes/mount-recipe.ts +7 -6
  686. package/ux-demo/recipes/types.ts +1 -0
  687. package/ai/components/icon-button.md +0 -82
  688. package/ai/components/icon-toggle-button.md +0 -80
  689. package/ai/components/token-search-field.md +0 -107
  690. package/dist/app-tab.js +0 -6
  691. package/dist/app-tab.js.map +0 -1
  692. package/dist/browser/app-tab.js +0 -4
  693. package/dist/browser/composer.js +0 -4
  694. package/dist/browser/icon-toggle-button.js +0 -4
  695. package/dist/browser/token-search-field.js +0 -4
  696. package/dist/chunk-2MSPNRWJ.js.map +0 -1
  697. package/dist/chunk-7IUEBNCO.js.map +0 -1
  698. package/dist/chunk-AV7CPAPT.js +0 -82
  699. package/dist/chunk-AV7CPAPT.js.map +0 -1
  700. package/dist/chunk-BYFTHA4I.js.map +0 -1
  701. package/dist/chunk-CA7LNX3J.js +0 -44
  702. package/dist/chunk-CA7LNX3J.js.map +0 -1
  703. package/dist/chunk-ELCMSQNJ.js.map +0 -1
  704. package/dist/chunk-ETCWQLJV.js.map +0 -1
  705. package/dist/chunk-FDZNYD4C.js.map +0 -1
  706. package/dist/chunk-FR76ZJQC.js +0 -90
  707. package/dist/chunk-FR76ZJQC.js.map +0 -1
  708. package/dist/chunk-HQZYKJ56.js.map +0 -1
  709. package/dist/chunk-HZPHCSCS.js.map +0 -1
  710. package/dist/chunk-IM3GKYOG.js.map +0 -1
  711. package/dist/chunk-JOR5LGYE.js.map +0 -1
  712. package/dist/chunk-K4AT3V3J.js.map +0 -1
  713. package/dist/chunk-LL45C7BB.js.map +0 -1
  714. package/dist/chunk-LOSRXZAH.js.map +0 -1
  715. package/dist/chunk-LPHU44S3.js.map +0 -1
  716. package/dist/chunk-M5KZ26VV.js.map +0 -1
  717. package/dist/chunk-MF6ZUUJZ.js.map +0 -1
  718. package/dist/chunk-MXNIVEVL.js.map +0 -1
  719. package/dist/chunk-NS762OVM.js +0 -222
  720. package/dist/chunk-NS762OVM.js.map +0 -1
  721. package/dist/chunk-PKL6QJKK.js.map +0 -1
  722. package/dist/chunk-QTSMHH5J.js.map +0 -1
  723. package/dist/chunk-TDMHA7C3.js.map +0 -1
  724. package/dist/chunk-TGLUDQP2.js.map +0 -1
  725. package/dist/chunk-U6QYTMDB.js.map +0 -1
  726. package/dist/chunk-VFYO3UGZ.js +0 -45
  727. package/dist/chunk-VFYO3UGZ.js.map +0 -1
  728. package/dist/chunk-W4IK7AWD.js.map +0 -1
  729. package/dist/chunk-YBWQR2OK.js.map +0 -1
  730. package/dist/composer.js +0 -5
  731. package/dist/composer.js.map +0 -1
  732. package/dist/icon-button.d.ts +0 -46
  733. package/dist/icon-button.js +0 -6
  734. package/dist/icon-button.js.map +0 -1
  735. package/dist/icon-toggle-button.d.ts +0 -42
  736. package/dist/icon-toggle-button.js +0 -6
  737. package/dist/icon-toggle-button.js.map +0 -1
  738. package/dist/styles/components/actions/icon-button/icon-button.css +0 -22
  739. package/dist/styles/components/actions/icon-toggle-button/icon-toggle-button.css +0 -83
  740. package/dist/styles/icon-button.css +0 -22
  741. package/dist/styles/icon-toggle-button.css +0 -83
  742. package/dist/token-search-field.d.ts +0 -3
  743. package/dist/token-search-field.js +0 -5
  744. package/dist/token-search-field.js.map +0 -1
  745. package/dist/token-search-model.d.ts +0 -3
  746. package/dist/token-search-model.js +0 -3
  747. package/dist/token-search-model.js.map +0 -1
  748. package/dist/wire-composers.js +0 -3
  749. package/dist/wire-token-search-fields.js +0 -6
  750. package/docs/design/templates/composer/chat-dark.svg +0 -1
  751. package/docs/design/templates/composer/chat.svg +0 -1
  752. package/docs/design/templates/composer-dark.svg +0 -1
  753. package/docs/design/templates/composer.svg +0 -1
  754. /package/docs/design/templates/{token-search-field → search-field}/empty-dark.svg +0 -0
  755. /package/docs/design/templates/{token-search-field → search-field}/empty.svg +0 -0
  756. /package/docs/design/templates/{token-search-field → search-field}/tokens-dark.svg +0 -0
  757. /package/docs/design/templates/{token-search-field → search-field}/tokens.svg +0 -0
  758. /package/docs/design/templates/{token-search-field-dark.svg → search-field-dark.svg} +0 -0
  759. /package/docs/design/templates/{token-search-field.svg → search-field.svg} +0 -0
@@ -1,5 +1,89 @@
1
- /* An icon-only trigger's accessible name: Web Awesome names its button from the
2
- slotted content, so the label is present but visually hidden. */
1
+ /* PopupMenu shares the Select's caret motion, surface inset, row rhythm,
2
+ current-row fill, and group titles from the popup-choice contract in
3
+ foundation.css. Checkbox items reserve a check column, and so do the plain
4
+ items in any level that holds one; a level without a choice keeps the
5
+ compact start. */
6
+
7
+ .kui-popup-menu {
8
+ --_kui-popup-menu-motion: 75ms;
9
+ --_kui-popup-menu-trigger-height: round(2.75em, 1px);
10
+ --_kui-popup-menu-trigger-radius: var(--kui-layout-rounded-radius);
11
+
12
+ display: inline-flex;
13
+ vertical-align: middle;
14
+ }
15
+
16
+ /* The trigger: a quiet button whose text and caret share one row. */
17
+ .kui-popup-menu__trigger {
18
+ display: inline-flex;
19
+ box-sizing: border-box;
20
+ height: var(--_kui-popup-menu-trigger-height);
21
+ align-items: center;
22
+ justify-content: center;
23
+ margin: 0;
24
+ padding: 0 var(--kui-layout-item-padding);
25
+ border: var(--kui-layout-item-border-width) solid transparent;
26
+ border-radius: var(--_kui-popup-menu-trigger-radius);
27
+ color: var(--kui-color-neutral-on-quiet);
28
+ background: transparent;
29
+ font: inherit;
30
+ font-weight: var(--kui-font-weight-semibold);
31
+ white-space: nowrap;
32
+ cursor: pointer;
33
+ user-select: none;
34
+ transform: none;
35
+ transition:
36
+ background-color var(--_kui-popup-menu-motion) ease,
37
+ border-color var(--_kui-popup-menu-motion) ease,
38
+ color var(--_kui-popup-menu-motion) ease;
39
+ }
40
+ @media (hover: hover) {
41
+ .kui-popup-menu__trigger:not(:disabled):hover {
42
+ background-color: var(--kui-color-neutral-fill-quiet);
43
+ }
44
+ }
45
+ .kui-popup-menu__trigger:focus {
46
+ outline: none;
47
+ }
48
+ .kui-popup-menu__trigger:focus-visible {
49
+ outline: var(--kui-focus-ring);
50
+ outline-offset: 1px;
51
+ }
52
+ .kui-popup-menu__trigger:disabled {
53
+ opacity: 0.5;
54
+ cursor: not-allowed;
55
+ }
56
+ .kui-popup-menu__trigger > svg {
57
+ flex: none;
58
+ }
59
+ /* An icon and visible text sit one standard gap apart. */
60
+ .kui-popup-menu__text:not(:first-child) {
61
+ margin-inline-start: var(--kui-space-xs);
62
+ }
63
+
64
+ /* A content trigger (a Badge showing a status): a bare button that is just
65
+ its content, with a pill focus ring around it. */
66
+ .kui-popup-menu[data-trigger="content"] > .kui-popup-menu__trigger {
67
+ height: auto;
68
+ padding: 0;
69
+ border: 0;
70
+ border-radius: var(--kui-radius-pill);
71
+ color: inherit;
72
+ font-weight: inherit;
73
+ }
74
+ @media (hover: hover) {
75
+ .kui-popup-menu[data-trigger="content"]
76
+ > .kui-popup-menu__trigger:not(:disabled):hover {
77
+ background-color: transparent;
78
+ filter: brightness(0.96);
79
+ }
80
+ }
81
+ .kui-popup-menu__trigger-content {
82
+ display: inline-flex;
83
+ align-items: center;
84
+ }
85
+
86
+ /* An icon-only trigger's accessible name: present, but visually hidden. */
3
87
  .kui-popup-menu__label {
4
88
  position: absolute;
5
89
  width: 1px;
@@ -11,98 +95,196 @@
11
95
  clip-path: inset(50%);
12
96
  }
13
97
 
14
- /* PopupMenu shares the Select's caret motion, surface inset, row rhythm,
15
- current-row fill, and group titles from the popup-choice contract in
16
- foundation.css. Checkbox items reserve a check column, and so do the
17
- plain items in any level that holds one; a level without a choice keeps the
18
- compact start. */
19
-
20
- /* The trigger caret turns to face the open menu, like the Select's. */
21
- .kui-popup-menu > wa-button::part(caret) {
98
+ /* The caret turns to face the open menu, like the Select's. */
99
+ .kui-popup-menu__caret {
100
+ display: flex;
101
+ width: 1.25em;
102
+ flex: none;
103
+ align-items: center;
104
+ justify-content: center;
105
+ margin-inline-start: 0.75em;
22
106
  rotate: 0deg;
23
107
  transition: var(--_kui-popup-caret-transition);
24
108
  }
25
- .kui-popup-menu[open] > wa-button::part(caret) {
109
+ .kui-popup-menu__caret svg {
110
+ width: 0.875em;
111
+ height: 0.875em;
112
+ flex: none;
113
+ }
114
+ .kui-popup-menu__trigger[aria-expanded="true"] > .kui-popup-menu__caret {
26
115
  rotate: var(--_kui-popup-caret-open-rotation);
27
116
  }
28
117
 
29
- /* The Select's popup fades in place; Web Awesome's dropdown also scales from
30
- 90%. Holding the scale leaves the shared fade. */
31
- .kui-popup-menu::part(menu) {
118
+ /* The menu and each submenu: a raised surface in the top layer, placed by
119
+ the register against its trigger or item. It fades in place. */
120
+ .kui-popup-menu__menu {
121
+ position: fixed;
122
+ inset: auto;
123
+ box-sizing: border-box;
124
+ width: max-content;
125
+ max-width: var(--_kui-popup-available-width, none);
126
+ margin: 0;
32
127
  padding: var(--_kui-popup-inset);
128
+ overflow: auto;
129
+ border: 1px solid var(--kui-color-neutral-border-normal);
130
+ border-radius: var(--kui-radius-m);
131
+ color: var(--kui-color-text);
33
132
  background: var(--_kui-popup-scroll-cue);
133
+ box-shadow: var(--kui-shadow-m);
134
+ font: inherit;
135
+ font-weight: normal;
136
+ text-align: start;
137
+ white-space: normal;
138
+ user-select: none;
139
+ opacity: 0;
140
+ transition:
141
+ opacity var(--_kui-popup-menu-motion) ease,
142
+ display var(--_kui-popup-menu-motion) allow-discrete,
143
+ overlay var(--_kui-popup-menu-motion) allow-discrete;
144
+ }
145
+ .kui-popup-menu__menu:popover-open {
146
+ display: flex;
147
+ flex-direction: column;
34
148
  gap: var(--_kui-popup-row-gap);
35
- scale: none !important;
149
+ opacity: 1;
150
+ }
151
+ /* Rows keep their height; a capped menu scrolls instead of squeezing them. */
152
+ .kui-popup-menu__menu > *,
153
+ .kui-popup-menu__group > *,
154
+ .kui-popup-menu__submenu-host > * {
155
+ flex: none;
156
+ }
157
+ @starting-style {
158
+ .kui-popup-menu__menu:popover-open {
159
+ opacity: 0;
160
+ }
161
+ }
162
+ .kui-popup-menu__menu:focus {
163
+ outline: none;
36
164
  }
37
165
 
38
- /* A submenu capped beside its parent menu (a phone placement) scrolls with
39
- the same edge cue as the menu and a Select's listbox. */
40
- .kui-popup-menu wa-dropdown-item::part(submenu) {
41
- background: var(--_kui-popup-scroll-cue);
166
+ /* A pointer-opened submenu's safe triangle: from the pointer to the
167
+ submenu's near edge, so a diagonal move toward it stays over the submenu
168
+ instead of crossing (and closing it from) the parent's other items. */
169
+ .kui-popup-menu__menu[data-pointer-opened]::before {
170
+ position: fixed;
171
+ inset: 0;
172
+ content: "";
173
+ clip-path: polygon(
174
+ var(--_kui-popup-menu-safe-x, 0) var(--_kui-popup-menu-safe-y, 0),
175
+ var(--_kui-popup-menu-safe-edge, 0) var(--_kui-popup-menu-safe-top, 0),
176
+ var(--_kui-popup-menu-safe-edge, 0) var(--_kui-popup-menu-safe-bottom, 0)
177
+ );
178
+ }
179
+
180
+ .kui-popup-menu__group,
181
+ .kui-popup-menu__submenu-host {
182
+ display: flex;
183
+ flex-direction: column;
184
+ gap: var(--_kui-popup-row-gap);
42
185
  }
43
186
 
44
- .kui-popup-menu wa-dropdown-item {
45
- /* A plain command starts at the checkbox glyph's leading edge. The glyph
46
- sits half a smaller-font em beyond the row's base inset; its label starts
47
- after the full check column below. */
187
+ /* A group title matches the Select's group title. */
188
+ .kui-popup-menu__heading {
189
+ padding: var(--_kui-popup-group-title-padding);
190
+ color: var(--kui-color-neutral-on-quiet);
191
+ font-size: var(--kui-font-2xs);
192
+ font-weight: var(--_kui-popup-group-title-font-weight);
193
+ letter-spacing: 0.04em;
194
+ text-transform: uppercase;
195
+ }
196
+
197
+ .kui-popup-menu__divider {
198
+ flex: none;
199
+ margin-block: 0.5em;
200
+ border-top: 1px solid var(--kui-color-neutral-border-normal);
201
+ }
202
+
203
+ /* One command: the Select option's geometry. A plain command starts at the
204
+ checkbox glyph's leading edge, half a smaller-font em beyond the row's base
205
+ inset. */
206
+ .kui-popup-menu__item {
207
+ display: flex;
208
+ position: relative;
209
+ box-sizing: border-box;
210
+ width: 100%;
211
+ height: auto;
212
+ align-items: center;
213
+ margin: 0;
48
214
  padding: var(--_kui-popup-row-padding-block)
49
215
  var(--_kui-popup-row-padding-inline-end) var(--_kui-popup-row-padding-block)
50
216
  calc(var(--_kui-popup-row-padding-inline-start) + 0.4375em);
217
+ border: 0;
218
+ border-radius: var(--kui-radius-s);
219
+ color: var(--kui-color-text);
220
+ background: transparent;
221
+ font: inherit;
222
+ text-align: start;
223
+ white-space: normal;
224
+ cursor: pointer;
225
+ transform: none;
226
+ transition:
227
+ background-color var(--_kui-popup-menu-motion) ease,
228
+ color var(--_kui-popup-menu-motion) ease;
229
+ }
230
+ .kui-popup-menu__item:focus {
231
+ outline: none;
51
232
  }
52
- .kui-popup-menu wa-dropdown-item[type="checkbox"] {
53
- /* Web Awesome marks every sibling checkbox-adjacent; reserve this column
54
- only on items whose checked state was explicitly supplied. */
55
- padding-inline-start: calc(
56
- var(--_kui-popup-row-padding-inline-start) +
57
- var(--_kui-popup-row-check-width)
58
- );
233
+ @media (hover: hover) {
234
+ .kui-popup-menu__item:not([aria-disabled="true"]):hover {
235
+ background-color: var(--kui-color-neutral-fill-normal);
236
+ }
237
+ .kui-popup-menu__item[data-tone="danger"]:not([aria-disabled="true"]):hover {
238
+ color: var(--kui-color-danger-on-normal);
239
+ background-color: var(--kui-color-danger-fill-normal);
240
+ }
59
241
  }
60
- /* Web Awesome's nested submenu owns its item host padding. Move its exposed
61
- checkmark inside the panel: in flow, the checkmark and its gap advance the
62
- row's content by the same check column as at the top level. */
63
- .kui-popup-menu
64
- wa-dropdown-item[slot="submenu"][type="checkbox"]::part(checkmark) {
65
- margin-inline-start: 0;
66
- }
67
- /* A plain item beside checkbox choices holds their check column with an empty
68
- icon-slot spacer, at either level. Web Awesome sizes a slotted icon in its
69
- smaller font and spaces it 0.75em (!important) from the next item; with
70
- that gap, 1em of width equals the 1.25em checkmark plus its 0.5em gap. */
71
- .kui-popup-menu__check-space {
72
- display: block;
73
- width: 1em;
74
- height: 1px;
75
- flex: none;
242
+ .kui-popup-menu__item[aria-expanded="true"] {
243
+ background-color: var(--kui-color-neutral-fill-normal);
76
244
  }
77
- .kui-popup-menu wa-dropdown-item::part(label) {
78
- padding-block: var(--_kui-popup-row-label-padding-block);
79
- line-height: var(--_kui-popup-row-label-line-height);
245
+ .kui-popup-menu__item[data-tone="danger"] {
246
+ color: var(--kui-color-danger-on-quiet);
80
247
  }
81
248
  /* A keyboard-focused item is the menu's current row: the Select's brand fill,
82
249
  with no second focus ring inside the open popup. */
83
- .kui-popup-menu wa-dropdown-item:focus-visible {
84
- outline: none;
250
+ .kui-popup-menu__item:focus-visible {
85
251
  color: var(--_kui-popup-row-current-color);
86
252
  background-color: var(--_kui-popup-row-current-background);
87
253
  }
88
- .kui-popup-menu > wa-divider,
89
- .kui-popup-menu wa-divider[slot="submenu"] {
90
- --spacing: 0.5em;
254
+ .kui-popup-menu__item[aria-disabled="true"] {
255
+ opacity: 0.5;
256
+ cursor: not-allowed;
91
257
  }
92
258
 
93
- /* Center the icon on the label's line, like the Select's start slot. */
94
- .kui-popup-menu wa-dropdown-item::part(icon) {
259
+ /* The check column: the checkmark of a checkbox item, or the same empty
260
+ width beside the plain items of a level that holds one. */
261
+ .kui-popup-menu__check {
95
262
  display: flex;
96
- align-self: center;
263
+ width: 1.25em;
264
+ height: 1em;
265
+ flex: none;
266
+ align-items: center;
267
+ justify-content: center;
268
+ margin-inline-end: 0.5em;
269
+ font-size: var(--kui-font-s);
270
+ }
271
+ .kui-popup-menu__check svg {
272
+ width: 1.25em;
273
+ height: 1.25em;
274
+ flex: none;
275
+ stroke-width: 2.5;
97
276
  }
277
+ .kui-popup-menu__item[aria-checked="false"] .kui-popup-menu__check svg {
278
+ visibility: hidden;
279
+ }
280
+
281
+ /* Center the icon on the label's line, like the Select's start slot. */
98
282
  .kui-popup-menu__icon {
99
283
  display: inline-flex;
100
284
  width: var(--_kui-popup-row-icon-size);
101
285
  height: var(--_kui-popup-row-icon-size);
102
286
  flex: none;
103
- /* Web Awesome spaces a slotted item icon 0.75em from its label (an
104
- !important shadow rule). Sizing that em makes the gap the Select's. */
105
- font-size: calc(var(--_kui-popup-row-icon-gap) / 0.75);
287
+ margin-inline-end: var(--_kui-popup-row-icon-gap);
106
288
  }
107
289
  .kui-popup-menu__icon svg {
108
290
  display: block;
@@ -110,17 +292,47 @@
110
292
  height: 100%;
111
293
  }
112
294
 
295
+ .kui-popup-menu__item-label {
296
+ flex: 1 1 auto;
297
+ min-width: 0;
298
+ padding-block: var(--_kui-popup-row-label-padding-block);
299
+ line-height: var(--_kui-popup-row-label-line-height);
300
+ }
301
+
113
302
  .kui-popup-menu__details {
114
303
  display: inline-flex;
304
+ flex: none;
115
305
  align-items: center;
306
+ justify-content: end;
307
+ margin-inline-start: 2em;
308
+ color: var(--kui-color-text-quiet);
309
+ font-size: var(--kui-font-s);
116
310
  }
117
-
118
311
  .kui-popup-menu__details svg {
119
312
  display: block;
120
313
  width: var(--_kui-popup-row-icon-size);
121
314
  height: var(--_kui-popup-row-icon-size);
122
315
  }
123
316
 
317
+ .kui-popup-menu__submenu-icon {
318
+ display: flex;
319
+ width: 1.25em;
320
+ flex: none;
321
+ align-items: center;
322
+ justify-content: center;
323
+ margin-inline-start: 2.5em;
324
+ color: var(--kui-color-neutral-on-quiet);
325
+ font-size: var(--kui-font-s);
326
+ }
327
+ .kui-popup-menu__submenu-icon svg {
328
+ width: 0.875em;
329
+ height: 0.875em;
330
+ flex: none;
331
+ }
332
+ .kui-popup-menu__submenu-icon:dir(rtl) {
333
+ transform: scaleX(-1);
334
+ }
335
+
124
336
  /* A context menu takes no space where it is rendered: out of flow, it adds no
125
337
  line box in block layout and no gap slot in a flex or grid container. Its
126
338
  fixed anchor opens the menu at the recorded viewport point. */
@@ -145,165 +357,82 @@
145
357
  pointer-events: none;
146
358
  }
147
359
 
148
- /* A group title matches the Select's group title. It is a styled element
149
- rather than a slotted heading, whose Web Awesome metrics are !important. */
150
- .kui-popup-menu__heading {
151
- padding: var(--_kui-popup-group-title-padding);
152
- color: var(--kui-color-neutral-on-quiet);
153
- font-size: var(--kui-font-2xs);
154
- font-weight: var(--_kui-popup-group-title-font-weight);
155
- letter-spacing: 0.04em;
156
- text-transform: uppercase;
157
- }
158
-
159
360
  /* In a ToolbarControlGroup a PopupMenu sizes itself in the group's context:
160
- the group lays out its own native and raw Web Awesome children and names a
161
- PopupMenu only to key its own state on it. The trigger takes the group's
162
- control height (40px, or 32px in a compact group). A mixed-content trigger
163
- in a nested-dropdown group grows for its label plus the caret; a fixed 32px
164
- base would center both outside its host, painting the label across the
165
- separator and the caret beyond the group border. */
166
- /* The trigger button takes the group's control metrics, as the group's own
167
- raw wa-button children do (toolbar-control-group.css excludes this
168
- trigger). The PopupMenu ancestor sits in `:where()` so each rule keeps the
169
- specificity of the group's matching raw-child rule and resolves against the
170
- group's attribute-keyed variants exactly as they do. */
171
- .kui-toolbar-control-group :where(wa-dropdown.kui-popup-menu) > wa-button {
172
- --wa-form-control-height: 2.5rem;
173
- display: inline-flex;
174
- line-height: 0;
175
- align-items: center;
176
- justify-content: center;
177
- --wa-color-fill-quiet: transparent;
361
+ the trigger takes the group's control height (40px, or 32px in a compact
362
+ group), the group's item radius, and the group's hover; in a `single`
363
+ group the group's own surface shows the hover. A mixed-content trigger in
364
+ a nested-dropdown group grows for its label plus the caret. */
365
+ .kui-toolbar-control-group > .kui-popup-menu {
366
+ --_kui-popup-menu-trigger-height: 2.5rem;
367
+ --_kui-popup-menu-trigger-radius: var(
368
+ --kui-toolbar-item-radius,
369
+ var(--kui-layout-pill-radius, calc(1px + 1.3125rem))
370
+ );
371
+
372
+ flex: 0 0 auto;
373
+ }
374
+ .kui-toolbar-control-group[data-size="compact"] > .kui-popup-menu {
375
+ --_kui-popup-menu-trigger-height: 2rem;
178
376
  }
179
- .kui-toolbar-control-group[data-size="compact"]
180
- :where(wa-dropdown.kui-popup-menu)
181
- > wa-button {
182
- --wa-form-control-height: 2rem;
377
+ .kui-toolbar-control-group > .kui-popup-menu > .kui-popup-menu__trigger {
378
+ min-width: var(--_kui-popup-menu-trigger-height);
379
+ line-height: 0;
183
380
  }
184
381
  .kui-toolbar-control-group[data-content="mixed"]
185
- :where(wa-dropdown.kui-popup-menu)
186
- > wa-button {
382
+ > .kui-popup-menu
383
+ > .kui-popup-menu__trigger {
187
384
  line-height: normal;
188
385
  }
189
- .kui-toolbar-control-group
190
- :where(wa-dropdown.kui-popup-menu)
191
- > wa-button
192
- > svg {
386
+ .kui-toolbar-control-group > .kui-popup-menu > .kui-popup-menu__trigger > svg {
193
387
  display: block;
194
388
  width: 1rem;
195
389
  height: 1rem;
196
390
  }
197
- /* Toolbar controls never wrap: a slotted icon and its label share one row. */
198
- .kui-toolbar-control-group
199
- :where(wa-dropdown.kui-popup-menu)
200
- > wa-button::part(label) {
201
- display: inline-flex;
202
- align-items: center;
203
- gap: var(--kui-space-xs);
204
- white-space: nowrap;
205
- }
206
- /* At least a circle around an icon-only trigger, with the group's item radius;
207
- hover lifts the trigger like a group button, except in a `single` group,
208
- whose whole surface shows the hover (toolbar-control-group.css). */
209
- .kui-toolbar-control-group
210
- :where(wa-dropdown.kui-popup-menu)
211
- > wa-button::part(base) {
212
- min-width: 2.5rem;
213
- min-height: 2.5rem;
214
- box-sizing: border-box;
215
- border: 1px solid transparent;
216
- border-radius: var(
217
- --kui-toolbar-item-radius,
218
- var(--kui-layout-pill-radius, calc(1px + 1.3125rem))
219
- );
220
- }
221
- .kui-toolbar-control-group
222
- :where(wa-dropdown.kui-popup-menu)
223
- > wa-button:hover::part(base) {
391
+ .kui-toolbar-control-group > .kui-popup-menu > .kui-popup-menu__trigger:hover {
224
392
  border-color: var(--kui-toolbar-control-border);
225
393
  background-color: var(--kui-toolbar-control-hover-background);
226
394
  }
227
395
  .kui-toolbar-control-group[data-single="true"]
228
- :where(wa-dropdown.kui-popup-menu)
229
- > wa-button:hover::part(base) {
396
+ > .kui-popup-menu
397
+ > .kui-popup-menu__trigger:hover {
230
398
  border-color: transparent;
231
399
  background: transparent;
232
400
  }
233
- .kui-toolbar-control-group > wa-dropdown.kui-popup-menu {
234
- display: inline-flex;
235
- flex: 0 0 auto;
236
- }
237
- .kui-toolbar-control-group > wa-dropdown.kui-popup-menu,
238
- .kui-toolbar-control-group > wa-dropdown.kui-popup-menu > wa-button,
239
- .kui-toolbar-control-group
240
- > wa-dropdown.kui-popup-menu
241
- > wa-button::part(base) {
242
- min-width: 2.5rem;
243
- height: 2.5rem;
244
- }
245
- .kui-toolbar-control-group[data-size="compact"] > wa-dropdown.kui-popup-menu,
246
- .kui-toolbar-control-group[data-size="compact"]
247
- > wa-dropdown.kui-popup-menu
248
- > wa-button,
249
- .kui-toolbar-control-group[data-size="compact"]
250
- > wa-dropdown.kui-popup-menu
251
- > wa-button::part(base),
252
- .kui-toolbar-control-group[data-size="compact"][data-nested-dropdown="true"]
253
- wa-dropdown.kui-popup-menu
254
- wa-button,
255
- .kui-toolbar-control-group[data-size="compact"][data-nested-dropdown="true"]
256
- wa-dropdown.kui-popup-menu
257
- wa-button::part(base) {
258
- min-width: 2rem;
259
- height: 2rem;
260
- min-height: 2rem;
261
- }
262
401
  .kui-toolbar-control-group[data-size="compact"][data-content="mixed"]
263
- > wa-dropdown.kui-popup-menu {
402
+ > .kui-popup-menu {
264
403
  margin: -2px;
265
404
  }
266
- .kui-toolbar-control-group[data-content="mixed"][data-nested-dropdown="true"]
267
- > wa-dropdown.kui-popup-menu
268
- > wa-button,
269
- .kui-toolbar-control-group[data-content="mixed"][data-nested-dropdown="true"]
270
- > wa-dropdown.kui-popup-menu
271
- > wa-button::part(base) {
405
+ .kui-toolbar-control-group:is([data-single="true"], [data-content="mixed"])
406
+ > .kui-popup-menu
407
+ > .kui-popup-menu__trigger {
272
408
  min-width: max-content;
273
409
  }
274
- .kui-toolbar-control-group[data-content="mixed"][data-nested-dropdown="true"]
275
- > wa-dropdown.kui-popup-menu
276
- > wa-button::part(base) {
277
- width: max-content;
278
- }
279
- .kui-toolbar-control-group[data-single="true"]
280
- > wa-dropdown.kui-popup-menu
281
- > wa-button::part(base) {
282
- width: max-content;
283
- }
284
410
 
285
411
  /* The menu insets a composing parent asks for. A PopupMenu applies them to
286
412
  itself; its default is the Select listbox inset above, which a
287
413
  ToolbarControlGroup's `standard` inset keeps. A PopupSurface's inset follows
288
414
  the group's, so a surface wins when both apply. */
289
415
  .kui-toolbar-control-group[data-menu-inset="compact"]
290
- wa-dropdown.kui-popup-menu::part(menu) {
416
+ .kui-popup-menu__menu:not([data-submenu]) {
291
417
  padding: 0.25rem;
292
418
  }
293
419
  .kui-toolbar-control-group[data-menu-inset="list-zero"]
294
- wa-dropdown.kui-popup-menu::part(menu) {
420
+ .kui-popup-menu__menu:not([data-submenu]) {
295
421
  padding: 0;
296
422
  }
297
423
  .kui-popup-surface[data-inset="standard"]
298
- > wa-dropdown.kui-popup-menu::part(menu) {
424
+ > .kui-popup-menu
425
+ > .kui-popup-menu__menu {
299
426
  padding: var(--kui-wa-surface-inset, 0.5rem);
300
427
  }
301
428
  .kui-popup-surface[data-inset="compact"]
302
- > wa-dropdown.kui-popup-menu::part(menu) {
429
+ > .kui-popup-menu
430
+ > .kui-popup-menu__menu {
303
431
  padding: 0.25rem;
304
432
  }
305
433
  .kui-popup-surface[data-inset="list-zero"]
306
- > wa-dropdown.kui-popup-menu::part(menu) {
434
+ > .kui-popup-menu
435
+ > .kui-popup-menu__menu {
307
436
  padding: 0;
308
437
  }
309
438
 
@@ -314,35 +443,34 @@
314
443
  display: flex;
315
444
  flex: none;
316
445
  }
317
- .kui-list-action-row > .kui-popup-menu > wa-button {
318
- display: flex;
319
- min-height: 2.75rem;
320
- color: inherit;
321
- }
322
- .kui-list-action-row[data-density="compact"] > .kui-popup-menu > wa-button {
323
- min-height: 2.25rem;
324
- }
325
- .kui-list-action-row > .kui-popup-menu > wa-button::part(base) {
446
+ .kui-list-action-row > .kui-popup-menu > .kui-popup-menu__trigger {
326
447
  width: 2.75rem;
327
448
  min-width: 2.75rem;
328
- height: 100%;
329
- min-height: 0;
449
+ height: auto;
450
+ min-height: 2.75rem;
330
451
  padding: 0;
331
452
  border: 0;
332
453
  border-radius: var(--kui-radius-pill);
333
454
  color: inherit;
334
455
  background: transparent;
335
456
  }
457
+ .kui-list-action-row[data-density="compact"]
458
+ > .kui-popup-menu
459
+ > .kui-popup-menu__trigger {
460
+ min-height: 2.25rem;
461
+ }
336
462
  .kui-list-action-row
337
463
  > .kui-popup-menu
338
- > wa-button:not([disabled]):hover::part(base) {
464
+ > .kui-popup-menu__trigger:not(:disabled):hover {
339
465
  background: var(--kui-list-action-row-trailing-hover-background);
340
466
  }
341
- .kui-list-action-row > .kui-popup-menu > wa-button::part(base):focus-visible {
467
+ .kui-list-action-row
468
+ > .kui-popup-menu
469
+ > .kui-popup-menu__trigger:focus-visible {
342
470
  outline: var(--kui-focus-ring);
343
471
  outline-offset: -2px;
344
472
  }
345
- .kui-list-action-row > .kui-popup-menu > wa-button > svg {
473
+ .kui-list-action-row > .kui-popup-menu > .kui-popup-menu__trigger > svg {
346
474
  display: block;
347
475
  width: 1rem;
348
476
  height: 1rem;
@@ -350,21 +478,21 @@
350
478
  /* The row's interaction visibility reveals the trigger on hover or focus, and
351
479
  keeps it visible while its menu is open. A placeholder row reveals nothing. */
352
480
  .kui-list-action-row[data-trailing-visibility="interaction"]
353
- > .kui-popup-menu:not([open])
354
- > wa-button {
481
+ > .kui-popup-menu
482
+ > .kui-popup-menu__trigger[aria-expanded="false"] {
355
483
  opacity: 0;
356
484
  }
357
485
  .kui-list-action-row[data-trailing-visibility="interaction"]:not(
358
486
  [data-placeholder="true"]
359
487
  ):is(:hover, :focus-within)
360
488
  > .kui-popup-menu
361
- > wa-button {
489
+ > .kui-popup-menu__trigger {
362
490
  opacity: 1;
363
491
  }
364
492
  @media (hover: none) {
365
493
  .kui-list-action-row[data-trailing-visibility="interaction"]
366
494
  > .kui-popup-menu
367
- > wa-button {
495
+ > .kui-popup-menu__trigger {
368
496
  opacity: 1;
369
497
  }
370
498
  }