@kerfjs/ui 5.0.0-beta.104 → 5.0.0-beta.106

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 (758) hide show
  1. package/README.md +155 -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 -628
  5. package/ai/component-composition-rules.json +10 -10
  6. package/ai/component-composition.json +1688 -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/{token-search-field.md → search-field.md} +23 -23
  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 +1579 -247
  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-T5BJBMW7.js → chunk-CIAUILRR.js} +5 -5
  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-CR5U5FV6.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-ZJC5ND3M.js → chunk-VEME3D7K.js} +35 -35
  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-JA1i8z4D.d.ts → search-field-CrGTN5sa.d.ts} +45 -45
  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 +10 -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 +10 -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 +228 -164
  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 +127 -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/dist/app-tab.js +0 -6
  690. package/dist/app-tab.js.map +0 -1
  691. package/dist/browser/app-tab.js +0 -4
  692. package/dist/browser/composer.js +0 -4
  693. package/dist/browser/icon-toggle-button.js +0 -4
  694. package/dist/browser/token-search-field.js +0 -4
  695. package/dist/chunk-2MSPNRWJ.js.map +0 -1
  696. package/dist/chunk-7IUEBNCO.js.map +0 -1
  697. package/dist/chunk-AV7CPAPT.js +0 -82
  698. package/dist/chunk-AV7CPAPT.js.map +0 -1
  699. package/dist/chunk-BYFTHA4I.js.map +0 -1
  700. package/dist/chunk-CA7LNX3J.js +0 -44
  701. package/dist/chunk-CA7LNX3J.js.map +0 -1
  702. package/dist/chunk-CR5U5FV6.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-JOR5LGYE.js.map +0 -1
  711. package/dist/chunk-K4AT3V3J.js.map +0 -1
  712. package/dist/chunk-LL45C7BB.js.map +0 -1
  713. package/dist/chunk-LOSRXZAH.js.map +0 -1
  714. package/dist/chunk-LPHU44S3.js.map +0 -1
  715. package/dist/chunk-M5KZ26VV.js.map +0 -1
  716. package/dist/chunk-MXNIVEVL.js.map +0 -1
  717. package/dist/chunk-NS762OVM.js +0 -222
  718. package/dist/chunk-NS762OVM.js.map +0 -1
  719. package/dist/chunk-QTSMHH5J.js.map +0 -1
  720. package/dist/chunk-T5BJBMW7.js.map +0 -1
  721. package/dist/chunk-TDMHA7C3.js.map +0 -1
  722. package/dist/chunk-TGLUDQP2.js.map +0 -1
  723. package/dist/chunk-U6QYTMDB.js.map +0 -1
  724. package/dist/chunk-VFYO3UGZ.js +0 -45
  725. package/dist/chunk-VFYO3UGZ.js.map +0 -1
  726. package/dist/chunk-W4IK7AWD.js.map +0 -1
  727. package/dist/chunk-YBWQR2OK.js.map +0 -1
  728. package/dist/chunk-ZJC5ND3M.js.map +0 -1
  729. package/dist/composer.js +0 -5
  730. package/dist/composer.js.map +0 -1
  731. package/dist/icon-button.d.ts +0 -46
  732. package/dist/icon-button.js +0 -6
  733. package/dist/icon-button.js.map +0 -1
  734. package/dist/icon-toggle-button.d.ts +0 -42
  735. package/dist/icon-toggle-button.js +0 -6
  736. package/dist/icon-toggle-button.js.map +0 -1
  737. package/dist/styles/components/actions/icon-button/icon-button.css +0 -22
  738. package/dist/styles/components/actions/icon-toggle-button/icon-toggle-button.css +0 -83
  739. package/dist/styles/icon-button.css +0 -22
  740. package/dist/styles/icon-toggle-button.css +0 -83
  741. package/dist/token-search-field.d.ts +0 -3
  742. package/dist/token-search-field.js +0 -5
  743. package/dist/token-search-field.js.map +0 -1
  744. package/dist/token-search-model.d.ts +0 -3
  745. package/dist/token-search-model.js +0 -3
  746. package/dist/token-search-model.js.map +0 -1
  747. package/dist/wire-composers.js +0 -3
  748. package/dist/wire-token-search-fields.js +0 -6
  749. package/docs/design/templates/composer/chat-dark.svg +0 -1
  750. package/docs/design/templates/composer/chat.svg +0 -1
  751. package/docs/design/templates/composer-dark.svg +0 -1
  752. package/docs/design/templates/composer.svg +0 -1
  753. /package/docs/design/templates/{token-search-field → search-field}/empty-dark.svg +0 -0
  754. /package/docs/design/templates/{token-search-field → search-field}/empty.svg +0 -0
  755. /package/docs/design/templates/{token-search-field → search-field}/tokens-dark.svg +0 -0
  756. /package/docs/design/templates/{token-search-field → search-field}/tokens.svg +0 -0
  757. /package/docs/design/templates/{token-search-field-dark.svg → search-field-dark.svg} +0 -0
  758. /package/docs/design/templates/{token-search-field.svg → search-field.svg} +0 -0
@@ -0,0 +1,168 @@
1
+ /* A label row above a native <progress> track, on the shared block-content
2
+ inset and the full available width. The track resets the
3
+ platform's appearance in every engine and paints the fill in the tone; an
4
+ indeterminate bar (no value) sweeps a band across the track instead. */
5
+ .kui-progress-bar {
6
+ --_kui-progress-bar-fill: var(--kui-color-brand-fill-loud);
7
+ --_kui-progress-bar-track: var(--kui-color-neutral-fill-normal);
8
+ --_kui-progress-bar-height: 0.375rem;
9
+
10
+ display: flex;
11
+ width: 100%;
12
+ min-width: 0;
13
+ box-sizing: border-box;
14
+ flex: 1 1 auto;
15
+ align-self: stretch;
16
+ flex-direction: column;
17
+ gap: var(--kui-space-2xs);
18
+ /* The shared block-content inset (a transparent 1px border and 8px
19
+ padding), so the label sits on the same text column as Text. */
20
+ padding: var(--kui-layout-item-padding, 0.5rem);
21
+ border: var(--kui-layout-item-border-width, 1px) solid transparent;
22
+ }
23
+
24
+ .kui-progress-bar[data-size="compact"] {
25
+ --_kui-progress-bar-height: 0.25rem;
26
+ }
27
+
28
+ .kui-progress-bar[data-tone="success"] {
29
+ --_kui-progress-bar-fill: var(--kui-color-success-fill-loud);
30
+ }
31
+
32
+ .kui-progress-bar[data-tone="warning"] {
33
+ --_kui-progress-bar-fill: var(--kui-color-warning-fill-loud);
34
+ }
35
+
36
+ .kui-progress-bar[data-tone="danger"] {
37
+ --_kui-progress-bar-fill: var(--kui-color-danger-fill-loud);
38
+ }
39
+
40
+ .kui-progress-bar__header {
41
+ display: flex;
42
+ min-width: 0;
43
+ align-items: baseline;
44
+ gap: var(--kui-space-xs);
45
+ font-size: var(--kui-font-s, 0.875rem);
46
+ line-height: 1.4;
47
+ }
48
+
49
+ .kui-progress-bar__label {
50
+ min-width: 0;
51
+ flex: 1;
52
+ overflow-wrap: anywhere;
53
+ }
54
+
55
+ .kui-progress-bar__value {
56
+ flex: none;
57
+ margin-inline-start: auto;
58
+ color: var(--kui-color-text-quiet);
59
+ font-variant-numeric: tabular-nums;
60
+ }
61
+
62
+ .kui-progress-bar__track {
63
+ display: block;
64
+ width: 100%;
65
+ height: var(--_kui-progress-bar-height);
66
+ margin: 0;
67
+ padding: 0;
68
+ overflow: hidden;
69
+ border: 0;
70
+ border-radius: var(--kui-radius-pill);
71
+ color: var(--_kui-progress-bar-fill);
72
+ background: var(--_kui-progress-bar-track);
73
+ appearance: none;
74
+ }
75
+
76
+ .kui-progress-bar__track::-webkit-progress-bar {
77
+ border-radius: inherit;
78
+ background: var(--_kui-progress-bar-track);
79
+ }
80
+
81
+ .kui-progress-bar__track::-webkit-progress-value {
82
+ border-radius: inherit;
83
+ background: var(--_kui-progress-bar-fill);
84
+ transition: inline-size 200ms ease;
85
+ }
86
+
87
+ .kui-progress-bar__track::-moz-progress-bar {
88
+ border-radius: inherit;
89
+ background: var(--_kui-progress-bar-fill);
90
+ }
91
+
92
+ /* Indeterminate: a band sweeps across the track. */
93
+ .kui-progress-bar__track:indeterminate {
94
+ background:
95
+ linear-gradient(
96
+ 90deg,
97
+ transparent 0%,
98
+ var(--_kui-progress-bar-fill) 35%,
99
+ var(--_kui-progress-bar-fill) 65%,
100
+ transparent 100%
101
+ )
102
+ no-repeat,
103
+ var(--_kui-progress-bar-track);
104
+ background-size:
105
+ 40% 100%,
106
+ auto;
107
+ animation: kui-progress-bar-sweep 1.4s ease-in-out infinite;
108
+ }
109
+
110
+ .kui-progress-bar__track:indeterminate::-webkit-progress-bar {
111
+ background: transparent;
112
+ }
113
+
114
+ .kui-progress-bar__track:indeterminate::-moz-progress-bar {
115
+ background: transparent;
116
+ }
117
+
118
+ @keyframes kui-progress-bar-sweep {
119
+ from {
120
+ background-position:
121
+ -60% 0,
122
+ 0 0;
123
+ }
124
+
125
+ to {
126
+ background-position:
127
+ 160% 0,
128
+ 0 0;
129
+ }
130
+ }
131
+
132
+ /* Without motion the indeterminate band holds still in the middle. */
133
+ @media (prefers-reduced-motion: reduce) {
134
+ .kui-progress-bar__track:indeterminate {
135
+ background-position:
136
+ 50% 0,
137
+ 0 0;
138
+ animation: none;
139
+ }
140
+
141
+ .kui-progress-bar__track::-webkit-progress-value {
142
+ transition: none;
143
+ }
144
+ }
145
+
146
+ :root[data-kui-effects="static"] .kui-progress-bar__track:indeterminate {
147
+ background-position:
148
+ 50% 0,
149
+ 0 0;
150
+ animation: none;
151
+ }
152
+
153
+ @media (forced-colors: active) {
154
+ .kui-progress-bar__track {
155
+ border: 1px solid CanvasText;
156
+ background: Canvas;
157
+ }
158
+
159
+ .kui-progress-bar__track::-webkit-progress-value,
160
+ .kui-progress-bar__track::-moz-progress-bar {
161
+ background: Highlight;
162
+ }
163
+
164
+ .kui-progress-bar__track:indeterminate {
165
+ background: linear-gradient(90deg, Highlight, Highlight) no-repeat 50% 0 /
166
+ 40% 100%;
167
+ }
168
+ }
@@ -0,0 +1,91 @@
1
+ /* An SVG track and arc. The arc starts at the top and fills clockwise; an
2
+ indeterminate ring spins a quarter arc. */
3
+ .kui-progress-ring {
4
+ --_kui-progress-ring-fill: var(--kui-color-brand-fill-loud);
5
+
6
+ display: inline-flex;
7
+ width: var(--_kui-progress-ring-size, 1.5rem);
8
+ height: var(--_kui-progress-ring-size, 1.5rem);
9
+ flex: none;
10
+ vertical-align: middle;
11
+ }
12
+
13
+ .kui-progress-ring[data-tone="success"] {
14
+ --_kui-progress-ring-fill: var(--kui-color-success-fill-loud);
15
+ }
16
+
17
+ .kui-progress-ring[data-tone="warning"] {
18
+ --_kui-progress-ring-fill: var(--kui-color-warning-fill-loud);
19
+ }
20
+
21
+ .kui-progress-ring[data-tone="danger"] {
22
+ --_kui-progress-ring-fill: var(--kui-color-danger-fill-loud);
23
+ }
24
+
25
+ .kui-progress-ring svg {
26
+ display: block;
27
+ width: 100%;
28
+ height: 100%;
29
+ overflow: visible;
30
+ rotate: -90deg;
31
+ }
32
+
33
+ .kui-progress-ring__track,
34
+ .kui-progress-ring__arc {
35
+ fill: none;
36
+ stroke-width: 3;
37
+ }
38
+
39
+ .kui-progress-ring__track {
40
+ stroke: var(--kui-color-neutral-fill-normal);
41
+ }
42
+
43
+ .kui-progress-ring__arc {
44
+ stroke: var(--_kui-progress-ring-fill);
45
+ stroke-linecap: round;
46
+ transition: stroke-dasharray 200ms ease;
47
+ }
48
+
49
+ /* A zero value draws no dot. */
50
+ .kui-progress-ring[aria-valuenow="0"] .kui-progress-ring__arc {
51
+ stroke-linecap: butt;
52
+ }
53
+
54
+ .kui-progress-ring[data-indeterminate] svg {
55
+ animation: kui-progress-ring-spin 1s linear infinite;
56
+ }
57
+
58
+ @keyframes kui-progress-ring-spin {
59
+ from {
60
+ rotate: -90deg;
61
+ }
62
+
63
+ to {
64
+ rotate: 270deg;
65
+ }
66
+ }
67
+
68
+ /* Without motion an indeterminate ring holds a still quarter arc. */
69
+ @media (prefers-reduced-motion: reduce) {
70
+ .kui-progress-ring[data-indeterminate] svg {
71
+ animation: none;
72
+ }
73
+
74
+ .kui-progress-ring__arc {
75
+ transition: none;
76
+ }
77
+ }
78
+
79
+ :root[data-kui-effects="static"] .kui-progress-ring[data-indeterminate] svg {
80
+ animation: none;
81
+ }
82
+
83
+ @media (forced-colors: active) {
84
+ .kui-progress-ring__track {
85
+ stroke: GrayText;
86
+ }
87
+
88
+ .kui-progress-ring__arc {
89
+ stroke: Highlight;
90
+ }
91
+ }
@@ -181,6 +181,19 @@
181
181
  var(--kui-color-surface);
182
182
  box-shadow: var(--kui-shadow-l);
183
183
  }
184
+ /* As the only content of a kerfjs/overlay toast (styled by
185
+ @kerfjs/ui/overlay-toast.css) the banner is the toast: no inline margin, and
186
+ its tone fill composites over the opaque surface; the toast keeps the
187
+ elevation. */
188
+ .kerf-toast > .kui-state-banner:only-child {
189
+ margin-inline: 0;
190
+ background:
191
+ linear-gradient(
192
+ var(--_kui-state-banner-background),
193
+ var(--_kui-state-banner-background)
194
+ ),
195
+ var(--kui-color-surface-raised);
196
+ }
184
197
  .kui-state-banner__icon {
185
198
  display: grid;
186
199
  flex: none;
@@ -268,7 +281,9 @@
268
281
  margin-inline-start: auto;
269
282
  flex: 0 1 auto;
270
283
  }
271
- .kui-state-banner__action button {
284
+ /* A plain action button takes the banner's own pill; a Button keeps its own
285
+ look. */
286
+ .kui-state-banner__action button:not(.kui-button) {
272
287
  min-height: 1.8rem;
273
288
  padding: 0 0.7rem;
274
289
  border: 1px solid currentColor;
@@ -280,10 +295,10 @@
280
295
  font-size: var(--kui-font-2xs);
281
296
  font-weight: 650;
282
297
  }
283
- .kui-state-banner__action button:hover {
298
+ .kui-state-banner__action button:not(.kui-button):hover {
284
299
  background: var(--_kui-state-banner-action-hover-background);
285
300
  }
286
- .kui-state-banner__action button:focus-visible {
301
+ .kui-state-banner__action button:not(.kui-button):focus-visible {
287
302
  outline: 2px solid var(--kui-color-text-link);
288
303
  outline-offset: 2px;
289
304
  }
@@ -0,0 +1,121 @@
1
+ /* Checkbox: a drawn box beside its label, with hint and error text on the
2
+ label's column. The native input sits invisibly over the box, so pointer,
3
+ keyboard, touch exploration, and forms all reach the real control. */
4
+ .kui-checkbox {
5
+ --_kui-checkbox-box: 1.25rem;
6
+ --_kui-checkbox-gap: 0.5rem;
7
+ display: flex;
8
+ min-width: 0;
9
+ flex-direction: column;
10
+ font-size: var(--kui-font-m, 1rem);
11
+ font-weight: 400;
12
+ line-height: 1.2;
13
+ }
14
+ .kui-checkbox[data-size="compact"] {
15
+ --_kui-checkbox-box: 1.125rem;
16
+ --_kui-checkbox-gap: 0.4375rem;
17
+ font-size: var(--kui-font-s, 0.875rem);
18
+ }
19
+ .kui-checkbox__row {
20
+ display: inline-flex;
21
+ width: fit-content;
22
+ align-items: flex-start;
23
+ gap: var(--_kui-checkbox-gap);
24
+ color: var(--kui-color-text);
25
+ cursor: pointer;
26
+ }
27
+ .kui-checkbox__control {
28
+ position: relative;
29
+ display: inline-flex;
30
+ flex: none;
31
+ }
32
+ /* A real input with every native and global form-control style reset. */
33
+ .kui-checkbox__input {
34
+ position: absolute;
35
+ inset: 0;
36
+ width: 100%;
37
+ height: 100%;
38
+ margin: 0;
39
+ padding: 0;
40
+ border: none;
41
+ opacity: 0;
42
+ cursor: inherit;
43
+ appearance: none;
44
+ }
45
+ .kui-checkbox__box {
46
+ display: inline-flex;
47
+ box-sizing: border-box;
48
+ width: var(--_kui-checkbox-box);
49
+ height: var(--_kui-checkbox-box);
50
+ align-items: center;
51
+ justify-content: center;
52
+ color: var(--kui-color-brand-on-loud);
53
+ border: 1px solid var(--kui-color-neutral-border-normal);
54
+ border-radius: 0.1875rem;
55
+ background-color: var(--kui-color-surface);
56
+ }
57
+ .kui-checkbox__box > [data-lucide] {
58
+ display: none;
59
+ width: calc(var(--_kui-checkbox-box) - 0.375rem);
60
+ height: calc(var(--_kui-checkbox-box) - 0.375rem);
61
+ stroke-width: 3;
62
+ }
63
+ .kui-checkbox__input:is(:checked, :indeterminate) + .kui-checkbox__box {
64
+ border-color: var(--kui-color-brand-fill-loud);
65
+ background-color: var(--kui-color-brand-fill-loud);
66
+ }
67
+ .kui-checkbox__input:checked:not(:indeterminate)
68
+ + .kui-checkbox__box
69
+ > [data-lucide="check"],
70
+ .kui-checkbox__input:indeterminate
71
+ + .kui-checkbox__box
72
+ > [data-lucide="minus"] {
73
+ display: block;
74
+ }
75
+ .kui-checkbox__input:focus-visible + .kui-checkbox__box {
76
+ outline: var(--kui-focus-ring);
77
+ outline-offset: 1px;
78
+ }
79
+ .kui-checkbox[data-invalid] .kui-checkbox__box {
80
+ border-color: var(--kui-color-danger-border-loud);
81
+ }
82
+ .kui-checkbox__label {
83
+ min-width: 0;
84
+ padding-block-start: calc((var(--_kui-checkbox-box) - 1lh) / 2);
85
+ overflow-wrap: anywhere;
86
+ }
87
+ .kui-checkbox:has(.kui-checkbox__input:disabled) .kui-checkbox__row {
88
+ cursor: not-allowed;
89
+ opacity: 0.5;
90
+ }
91
+ .kui-checkbox__hint,
92
+ .kui-checkbox__error {
93
+ display: block;
94
+ margin-block-start: 0.4375rem;
95
+ padding-inline-start: calc(
96
+ var(--_kui-checkbox-box) + var(--_kui-checkbox-gap)
97
+ );
98
+ color: var(--kui-color-text-quiet);
99
+ font-size: var(--kui-font-s, 0.875rem);
100
+ line-height: 1.6;
101
+ }
102
+ .kui-checkbox[data-size="compact"]
103
+ :is(.kui-checkbox__hint, .kui-checkbox__error) {
104
+ font-size: var(--kui-font-xs, 0.75rem);
105
+ }
106
+ .kui-checkbox__error {
107
+ color: var(--kui-color-danger-on-quiet);
108
+ }
109
+ .kui-checkbox__hint + .kui-checkbox__error {
110
+ margin-block-start: 0;
111
+ }
112
+ @media (forced-colors: active) {
113
+ .kui-checkbox__box {
114
+ border-color: CanvasText;
115
+ }
116
+ .kui-checkbox__input:is(:checked, :indeterminate) + .kui-checkbox__box {
117
+ color: HighlightText;
118
+ border-color: Highlight;
119
+ background-color: Highlight;
120
+ }
121
+ }
@@ -1,6 +1,8 @@
1
- /* ChoiceChips: separated pills that wrap with the control gap. Each pill is a
2
- <label> around a native radio, so the radio owns focus, arrow keys, and the
3
- form value; the pill paints the radio's state through :has(). */
1
+ /* ChoiceChips: separated pills that wrap with the control gap. In the radio
2
+ and toggle modes each pill is a <label> around a native input, which owns
3
+ focus, keys, and the form value; the pill paints its state through :has().
4
+ In the multiple mode each pill is itself a listbox option (aria-selected),
5
+ and hidden inputs carry the form value. */
4
6
  .kui-choice-chips {
5
7
  display: flex;
6
8
  min-width: 0;
@@ -57,12 +59,16 @@
57
59
  }
58
60
 
59
61
  .kui-choice-chips__chip:hover:not([data-disabled]):not(
60
- :has(> .kui-choice-chips__input:checked)
62
+ :has(> .kui-choice-chips__input:checked),
63
+ [aria-selected="true"]
61
64
  ) {
62
65
  background: var(--kui-color-neutral-fill-quiet);
63
66
  }
64
67
 
65
- .kui-choice-chips__chip:has(> .kui-choice-chips__input:checked) {
68
+ .kui-choice-chips__chip:is(
69
+ :has(> .kui-choice-chips__input:checked),
70
+ [aria-selected="true"]
71
+ ) {
66
72
  --_kui-choice-chips-border: var(--kui-color-brand-border-loud);
67
73
 
68
74
  color: var(--kui-color-brand-on-fill);
@@ -71,11 +77,18 @@
71
77
  box-shadow: inset 0 0 0 1px var(--_kui-choice-chips-border);
72
78
  }
73
79
 
74
- .kui-choice-chips__chip:has(> .kui-choice-chips__input:focus-visible) {
80
+ .kui-choice-chips__chip:is(
81
+ :has(> .kui-choice-chips__input:focus-visible),
82
+ [role="option"]:focus-visible
83
+ ) {
75
84
  outline: var(--kui-focus-ring);
76
85
  outline-offset: 2px;
77
86
  }
78
87
 
88
+ .kui-choice-chips__chip[role="option"]:focus:not(:focus-visible) {
89
+ outline: none;
90
+ }
91
+
79
92
  .kui-choice-chips__chip[data-disabled] {
80
93
  opacity: 0.45;
81
94
  cursor: not-allowed;
@@ -136,7 +149,10 @@
136
149
  border-color: ButtonBorder;
137
150
  }
138
151
 
139
- .kui-choice-chips__chip:has(> .kui-choice-chips__input:checked) {
152
+ .kui-choice-chips__chip:is(
153
+ :has(> .kui-choice-chips__input:checked),
154
+ [aria-selected="true"]
155
+ ) {
140
156
  border-color: Highlight;
141
157
  color: HighlightText;
142
158
  background: Highlight;
@@ -152,3 +168,38 @@
152
168
  transition: none;
153
169
  }
154
170
  }
171
+
172
+ /* `icons`: square icon-only choices (an icon picker). The label stays as the
173
+ accessible name, visually hidden; the chip's title shows it on hover. */
174
+ .kui-choice-chips[data-presentation="icons"] .kui-choice-chips__chip {
175
+ width: 2.25rem;
176
+ height: 2.25rem;
177
+ min-height: 0;
178
+ padding: 0;
179
+ justify-content: center;
180
+ border-radius: var(--kui-radius-m);
181
+ }
182
+
183
+ /* An unsized LucideIcon fills 1em, so the slot's font size sets it. */
184
+ .kui-choice-chips[data-presentation="icons"] .kui-choice-chips__icon {
185
+ font-size: 1.25rem;
186
+ }
187
+
188
+ .kui-choice-chips[data-presentation="icons"] .kui-choice-chips__label {
189
+ position: absolute;
190
+ width: 1px;
191
+ height: 1px;
192
+ overflow: hidden;
193
+ clip-path: inset(50%);
194
+ white-space: nowrap;
195
+ }
196
+
197
+ /* `maxHeight`: past it the group scrolls, with room for a chip's focus ring
198
+ (3px ring, 2px offset) inside the clip. */
199
+ .kui-choice-chips[data-scrollable] {
200
+ max-height: var(--_kui-choice-chips-max-height);
201
+ padding: 0.3125rem;
202
+ overflow-y: auto;
203
+ overscroll-behavior: contain;
204
+ align-content: flex-start;
205
+ }
@@ -0,0 +1,125 @@
1
+ /* ColorField: a label above a trigger box (a swatch, the hex value, and a
2
+ chevron) that matches TextField's box, then supporting or error text. */
3
+ .kui-color-field {
4
+ --_kui-color-field-height: round(2.75em, 1px);
5
+
6
+ display: flex;
7
+ min-width: 0;
8
+ flex-direction: column;
9
+ font-size: var(--kui-font-m, 1rem);
10
+ font-weight: 400;
11
+ }
12
+
13
+ .kui-color-field[data-size="compact"] {
14
+ --_kui-color-field-height: round(calc(1rem + 1.2em), 1px);
15
+
16
+ font-size: var(--kui-font-s, 0.875rem);
17
+ }
18
+
19
+ /* The label matches every Kerf form control's label. */
20
+ .kui-color-field__label {
21
+ display: block;
22
+ margin-block-end: 0.375rem;
23
+ padding-inline: calc(1px + var(--kui-layout-item-padding, 0.5rem));
24
+ color: var(--kui-color-neutral-on-quiet);
25
+ font-size: var(--kui-font-xs);
26
+ font-weight: 650;
27
+ letter-spacing: 0.04em;
28
+ line-height: 1.2;
29
+ text-transform: uppercase;
30
+ }
31
+
32
+ .kui-color-field__required {
33
+ margin-inline-start: 0.1em;
34
+ }
35
+
36
+ .kui-color-field__trigger {
37
+ display: flex;
38
+ min-height: var(--_kui-color-field-height);
39
+ box-sizing: border-box;
40
+ align-items: center;
41
+ gap: 0.5rem;
42
+ padding: 0 0.5rem;
43
+ border: 1px solid var(--kui-color-neutral-border-normal);
44
+ border-radius: var(--kui-layout-rounded-radius, calc(1px + 0.6875rem));
45
+ color: var(--kui-color-text);
46
+ background-color: var(--kui-color-surface);
47
+ font: inherit;
48
+ text-align: start;
49
+ cursor: pointer;
50
+ appearance: none;
51
+ }
52
+
53
+ .kui-color-field__trigger:focus-visible {
54
+ outline: var(--kui-focus-ring);
55
+ outline-offset: 1px;
56
+ }
57
+
58
+ .kui-color-field__trigger:disabled {
59
+ cursor: not-allowed;
60
+ opacity: 0.5;
61
+ }
62
+
63
+ .kui-color-field[data-invalid] > .kui-color-field__trigger {
64
+ border-color: var(--kui-color-danger-border-loud);
65
+ }
66
+
67
+ /* The swatch shows the color over a checkerboard, so transparency reads. */
68
+ .kui-color-field__swatch {
69
+ width: 1.25em;
70
+ height: 1.25em;
71
+ box-sizing: border-box;
72
+ flex: none;
73
+ border-radius: var(--kui-radius-m);
74
+ background:
75
+ linear-gradient(
76
+ var(--_kui-color-field-color),
77
+ var(--_kui-color-field-color)
78
+ ),
79
+ repeating-conic-gradient(
80
+ var(--kui-color-neutral-fill-normal) 0% 25%,
81
+ var(--kui-color-surface) 0% 50%
82
+ )
83
+ 0 0 / 0.5em 0.5em;
84
+ box-shadow: inset 0 0 0 1px
85
+ color-mix(in srgb, var(--kui-color-text) 20%, transparent);
86
+ }
87
+
88
+ .kui-color-field__hex {
89
+ min-width: 0;
90
+ flex: 1;
91
+ font-family: var(--kui-font-mono, ui-monospace, monospace);
92
+ font-variant-numeric: tabular-nums;
93
+ }
94
+
95
+ .kui-color-field__chevron {
96
+ display: inline-flex;
97
+ flex: none;
98
+ color: var(--kui-color-neutral-on-quiet);
99
+ }
100
+
101
+ .kui-color-field__hint,
102
+ .kui-color-field__error {
103
+ margin-block-start: 0.375rem;
104
+ padding-inline: calc(1px + var(--kui-layout-item-padding, 0.5rem));
105
+ font-size: var(--kui-font-s, 0.875rem);
106
+ line-height: 1.4;
107
+ }
108
+
109
+ .kui-color-field__hint {
110
+ color: var(--kui-color-text-quiet);
111
+ }
112
+
113
+ .kui-color-field__error {
114
+ color: var(--kui-color-danger-on-quiet);
115
+ }
116
+
117
+ @media (forced-colors: active) {
118
+ .kui-color-field__trigger {
119
+ border-color: CanvasText;
120
+ }
121
+
122
+ .kui-color-field__swatch {
123
+ forced-color-adjust: none;
124
+ }
125
+ }