@logicplanes/kaeso-ui 0.4.1 → 0.4.3

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 (372) hide show
  1. package/NOTICE.md +1 -1
  2. package/ai/component-guides.md +333 -21
  3. package/ai/component-registry.json +631 -32
  4. package/ai/component-registry.md +164 -28
  5. package/ai/icons.md +3 -3
  6. package/ai/tokens.md +1 -1
  7. package/dist/blocks/delete-resource.js +15 -14
  8. package/dist/blocks/delete-resource.js.map +1 -1
  9. package/dist/blocks/pages.js +5 -5
  10. package/dist/blocks/resource-list.js +42 -41
  11. package/dist/blocks/resource-list.js.map +1 -1
  12. package/dist/chunks/agent-avatar-0pdBTWkR.js +171 -0
  13. package/dist/chunks/agent-avatar-0pdBTWkR.js.map +1 -0
  14. package/dist/chunks/{app-frame-DZPEf2NQ.js → app-frame-DogGRmsu.js} +23 -22
  15. package/dist/chunks/app-frame-DogGRmsu.js.map +1 -0
  16. package/dist/chunks/{avatar-HnvBUoe5.js → avatar-CWbdwbJv.js} +2 -2
  17. package/dist/chunks/{avatar-HnvBUoe5.js.map → avatar-CWbdwbJv.js.map} +1 -1
  18. package/dist/chunks/{badge-CM8ahjDR.js → badge-C2KtxCLB.js} +2 -2
  19. package/dist/chunks/{badge-CM8ahjDR.js.map → badge-C2KtxCLB.js.map} +1 -1
  20. package/dist/chunks/{banner-CvYgPwCc.js → banner-BA2ALw9M.js} +4 -4
  21. package/dist/chunks/{banner-CvYgPwCc.js.map → banner-BA2ALw9M.js.map} +1 -1
  22. package/dist/chunks/{button-9q66Ta23.js → button-CzuxqawA.js} +8 -8
  23. package/dist/chunks/{button-9q66Ta23.js.map → button-CzuxqawA.js.map} +1 -1
  24. package/dist/chunks/{calendar-CeNcqLFd.js → calendar-BWaf2MXc.js} +58 -42
  25. package/dist/chunks/calendar-BWaf2MXc.js.map +1 -0
  26. package/dist/chunks/{checkbox-C_DrNA2N.js → checkbox-CQjwCPkc.js} +12 -10
  27. package/dist/chunks/checkbox-CQjwCPkc.js.map +1 -0
  28. package/dist/chunks/{cn-Isw2DnQX.js → cn-Dj6sRgkF.js} +8 -1
  29. package/dist/chunks/cn-Dj6sRgkF.js.map +1 -0
  30. package/dist/chunks/{code-block-mEH6Sy3h.js → code-block-D5A-CGXG.js} +75 -54
  31. package/dist/chunks/code-block-D5A-CGXG.js.map +1 -0
  32. package/dist/chunks/{code-Bp2p9AuD.js → code-tqj0uhBL.js} +2 -2
  33. package/dist/chunks/{code-Bp2p9AuD.js.map → code-tqj0uhBL.js.map} +1 -1
  34. package/dist/chunks/{collapsible-CtQNJn9b.js → collapsible-CKrCX_T9.js} +3 -3
  35. package/dist/chunks/{collapsible-CtQNJn9b.js.map → collapsible-CKrCX_T9.js.map} +1 -1
  36. package/dist/chunks/combobox-DjDI7SUC.js +319 -0
  37. package/dist/chunks/combobox-DjDI7SUC.js.map +1 -0
  38. package/dist/chunks/{command-list-CzMbdtJs.js → command-list-C2Y7V_lt.js} +54 -54
  39. package/dist/chunks/command-list-C2Y7V_lt.js.map +1 -0
  40. package/dist/chunks/{copy-button-Cdea0wKl.js → copy-button-FJvPJn72.js} +5 -5
  41. package/dist/chunks/{copy-button-Cdea0wKl.js.map → copy-button-FJvPJn72.js.map} +1 -1
  42. package/dist/chunks/{core-FtMDNELx.js → core-BYns5ytV.js} +146 -140
  43. package/dist/chunks/core-BYns5ytV.js.map +1 -0
  44. package/dist/chunks/{date-popup-NytWvSNh.js → date-popup-CPA_zt6o.js} +4 -4
  45. package/dist/chunks/{date-popup-NytWvSNh.js.map → date-popup-CPA_zt6o.js.map} +1 -1
  46. package/dist/chunks/{de-BnNQtBSV.js → de-CPXJh9cq.js} +3 -1
  47. package/dist/chunks/de-CPXJh9cq.js.map +1 -0
  48. package/dist/chunks/dialog-Cg9A_6SF.js +383 -0
  49. package/dist/chunks/dialog-Cg9A_6SF.js.map +1 -0
  50. package/dist/chunks/{empty-By1qTJr6.js → empty-DvhyMXQq.js} +2 -2
  51. package/dist/chunks/{empty-By1qTJr6.js.map → empty-DvhyMXQq.js.map} +1 -1
  52. package/dist/chunks/{field-DfITT6Jm.js → field-TviMvYa2.js} +2 -2
  53. package/dist/chunks/{field-DfITT6Jm.js.map → field-TviMvYa2.js.map} +1 -1
  54. package/dist/chunks/{icon-D5uD_mnL.js → icon-D7ja-_Yk.js} +2 -2
  55. package/dist/chunks/{icon-D5uD_mnL.js.map → icon-D7ja-_Yk.js.map} +1 -1
  56. package/dist/chunks/icon-DVooQfk4.js +94 -0
  57. package/dist/chunks/icon-DVooQfk4.js.map +1 -0
  58. package/dist/chunks/{icon-button-C7Du4pvb.js → icon-button-CrdF_eMG.js} +3 -3
  59. package/dist/chunks/{icon-button-C7Du4pvb.js.map → icon-button-CrdF_eMG.js.map} +1 -1
  60. package/dist/chunks/{identity-BcVQd-7H.js → identity-BmhQ6BQ-.js} +18 -18
  61. package/dist/chunks/identity-BmhQ6BQ-.js.map +1 -0
  62. package/dist/chunks/{input-B6Docqrk.js → input-2VJuj_M4.js} +13 -8
  63. package/dist/chunks/input-2VJuj_M4.js.map +1 -0
  64. package/dist/chunks/{input-group-Dgdb0JpZ.js → input-group-DQ_4DoXg.js} +4 -4
  65. package/dist/chunks/{input-group-Dgdb0JpZ.js.map → input-group-DQ_4DoXg.js.map} +1 -1
  66. package/dist/chunks/{inset-BnBj8NJV.js → inset-BUzyXLK4.js} +14 -4
  67. package/dist/chunks/inset-BUzyXLK4.js.map +1 -0
  68. package/dist/chunks/{iso-field-SOZ7Z-yE.js → iso-field-B2rTwiBo.js} +2 -2
  69. package/dist/chunks/{iso-field-SOZ7Z-yE.js.map → iso-field-B2rTwiBo.js.map} +1 -1
  70. package/dist/chunks/{json-view-DCTMY_j4.js → json-view-Dqd2TDkc.js} +3 -3
  71. package/dist/chunks/{json-view-DCTMY_j4.js.map → json-view-Dqd2TDkc.js.map} +1 -1
  72. package/dist/chunks/{kbd-9A9rX60U.js → kbd-BF1vKXJf.js} +2 -2
  73. package/dist/chunks/{kbd-9A9rX60U.js.map → kbd-BF1vKXJf.js.map} +1 -1
  74. package/dist/chunks/{link-CtII7u3h.js → link-KWI7PevW.js} +4 -4
  75. package/dist/chunks/{link-CtII7u3h.js.map → link-KWI7PevW.js.map} +1 -1
  76. package/dist/chunks/link-provider-cvl8lSTT.js +29 -0
  77. package/dist/chunks/link-provider-cvl8lSTT.js.map +1 -0
  78. package/dist/chunks/{list-CMXBTVkI.js → list-M1csq-d4.js} +21 -19
  79. package/dist/chunks/{list-CMXBTVkI.js.map → list-M1csq-d4.js.map} +1 -1
  80. package/dist/chunks/{loader-DqOUwS1j.js → loader-DCfPndXa.js} +2 -2
  81. package/dist/chunks/{loader-DqOUwS1j.js.map → loader-DCfPndXa.js.map} +1 -1
  82. package/dist/chunks/{markdown-CwVQ0niB.js → markdown-DULktoTK.js} +9 -9
  83. package/dist/chunks/{markdown-CwVQ0niB.js.map → markdown-DULktoTK.js.map} +1 -1
  84. package/dist/chunks/{menu-Cjg4RggA.js → menu-DEmBfdPm.js} +32 -29
  85. package/dist/chunks/menu-DEmBfdPm.js.map +1 -0
  86. package/dist/chunks/{meter-VrC2J2GF.js → meter-Bj4N3Xuh.js} +2 -2
  87. package/dist/chunks/{meter-VrC2J2GF.js.map → meter-Bj4N3Xuh.js.map} +1 -1
  88. package/dist/chunks/nav-sheet-CzgIwgAm.js +60 -0
  89. package/dist/chunks/nav-sheet-CzgIwgAm.js.map +1 -0
  90. package/dist/chunks/{nav-wordmark-CjWM3NYa.js → nav-wordmark-_pjheAsZ.js} +2 -2
  91. package/dist/chunks/{nav-wordmark-CjWM3NYa.js.map → nav-wordmark-_pjheAsZ.js.map} +1 -1
  92. package/dist/chunks/{page-header-CZCQVHYE.js → page-header-DL2y2iZp.js} +4 -4
  93. package/dist/chunks/{page-header-CZCQVHYE.js.map → page-header-DL2y2iZp.js.map} +1 -1
  94. package/dist/chunks/{pagination-BStrMDqM.js → pagination-Cn_qF4cg.js} +4 -4
  95. package/dist/chunks/{pagination-BStrMDqM.js.map → pagination-Cn_qF4cg.js.map} +1 -1
  96. package/dist/chunks/{picker-popover-BerQAEBT.js → picker-popover-BxyU1U9F.js} +17 -16
  97. package/dist/chunks/{picker-popover-BerQAEBT.js.map → picker-popover-BxyU1U9F.js.map} +1 -1
  98. package/dist/chunks/{popover-CgLt_4yG.js → popover-DNN4S47w.js} +3 -3
  99. package/dist/chunks/{popover-CgLt_4yG.js.map → popover-DNN4S47w.js.map} +1 -1
  100. package/dist/chunks/portal-context-BBbzDKmY.js.map +1 -1
  101. package/dist/chunks/{radio-07Muf4cX.js → radio-CDDFpdtL.js} +5 -5
  102. package/dist/chunks/{radio-07Muf4cX.js.map → radio-CDDFpdtL.js.map} +1 -1
  103. package/dist/chunks/{range-popup-BCov1iPe.js → range-popup-CRyWYUB1.js} +6 -6
  104. package/dist/chunks/{range-popup-BCov1iPe.js.map → range-popup-CRyWYUB1.js.map} +1 -1
  105. package/dist/chunks/{release-art-69WpgVik.js → release-art-ZwfFQImt.js} +2 -2
  106. package/dist/chunks/{release-art-69WpgVik.js.map → release-art-ZwfFQImt.js.map} +1 -1
  107. package/dist/chunks/{rights-UVngOX_4.js → rights-Cyp0Pzp-.js} +9 -9
  108. package/dist/chunks/{rights-UVngOX_4.js.map → rights-Cyp0Pzp-.js.map} +1 -1
  109. package/dist/chunks/scroll-area-D8MD7Vpo.js +42 -0
  110. package/dist/chunks/scroll-area-D8MD7Vpo.js.map +1 -0
  111. package/dist/chunks/{section-Bvg0EUnr.js → section-Ce1efbsP.js} +3 -3
  112. package/dist/chunks/{section-Bvg0EUnr.js.map → section-Ce1efbsP.js.map} +1 -1
  113. package/dist/chunks/{segmented-DRLDN8EW.js → segmented-CErcoxwi.js} +4 -4
  114. package/dist/chunks/{segmented-DRLDN8EW.js.map → segmented-CErcoxwi.js.map} +1 -1
  115. package/dist/chunks/{select-eFTHLeYG.js → select-x4XVsdCI.js} +4 -4
  116. package/dist/chunks/{select-eFTHLeYG.js.map → select-x4XVsdCI.js.map} +1 -1
  117. package/dist/chunks/{separator-D86IW7Ge.js → separator-D7TzNHmX.js} +2 -2
  118. package/dist/chunks/{separator-D86IW7Ge.js.map → separator-D7TzNHmX.js.map} +1 -1
  119. package/dist/chunks/{sidebar-DifJ5KgE.js → sidebar-3r1ZRXlN.js} +255 -237
  120. package/dist/chunks/sidebar-3r1ZRXlN.js.map +1 -0
  121. package/dist/chunks/{sidebar-menu-XKOiwrQp.js → sidebar-menu-BN3jkTlK.js} +2 -2
  122. package/dist/chunks/{sidebar-menu-XKOiwrQp.js.map → sidebar-menu-BN3jkTlK.js.map} +1 -1
  123. package/dist/chunks/{skeleton-Cu74kGJA.js → skeleton-Dcz57Zyp.js} +2 -2
  124. package/dist/chunks/{skeleton-Cu74kGJA.js.map → skeleton-Dcz57Zyp.js.map} +1 -1
  125. package/dist/chunks/{slider-Dh0qq1wa.js → slider-Ci83PGtj.js} +2 -2
  126. package/dist/chunks/{slider-Dh0qq1wa.js.map → slider-Ci83PGtj.js.map} +1 -1
  127. package/dist/chunks/{status-dot-u4Izk-uC.js → status-dot-QJTF0Yv4.js} +3 -3
  128. package/dist/chunks/{status-dot-u4Izk-uC.js.map → status-dot-QJTF0Yv4.js.map} +1 -1
  129. package/dist/chunks/{swap-text-CC77iKJF.js → swap-text-Dr0Irxz6.js} +2 -2
  130. package/dist/chunks/{swap-text-CC77iKJF.js.map → swap-text-Dr0Irxz6.js.map} +1 -1
  131. package/dist/chunks/{switch-CbU9m9gi.js → switch-BNMq_kGt.js} +3 -3
  132. package/dist/chunks/{switch-CbU9m9gi.js.map → switch-BNMq_kGt.js.map} +1 -1
  133. package/dist/chunks/table-BeOSKl_3.js +84 -0
  134. package/dist/chunks/table-BeOSKl_3.js.map +1 -0
  135. package/dist/chunks/{tag-CqSk8F7M.js → tag-D_M1s2qS.js} +4 -4
  136. package/dist/chunks/{tag-CqSk8F7M.js.map → tag-D_M1s2qS.js.map} +1 -1
  137. package/dist/chunks/{text-hFc6TDp9.js → text-CIXH8rmT.js} +3 -3
  138. package/dist/chunks/{text-hFc6TDp9.js.map → text-CIXH8rmT.js.map} +1 -1
  139. package/dist/chunks/{textarea-17Ftvph_.js → textarea--4FRL3Pb.js} +5 -5
  140. package/dist/chunks/{textarea-17Ftvph_.js.map → textarea--4FRL3Pb.js.map} +1 -1
  141. package/dist/chunks/theme-provider-DJhORMlc.js.map +1 -1
  142. package/dist/chunks/{timeseries-CbnSFD5q.js → timeseries-D1xjRXfk.js} +3 -3
  143. package/dist/chunks/{timeseries-CbnSFD5q.js.map → timeseries-D1xjRXfk.js.map} +1 -1
  144. package/dist/chunks/{toolbar-B_960Ttx.js → toolbar-WA_oZgu-.js} +6 -5
  145. package/dist/chunks/{toolbar-B_960Ttx.js.map → toolbar-WA_oZgu-.js.map} +1 -1
  146. package/dist/chunks/tooltip-OcwO0VUT.js +154 -0
  147. package/dist/chunks/tooltip-OcwO0VUT.js.map +1 -0
  148. package/dist/chunks/{tooltip-root-Dssjjp-E.js → tooltip-root-DzahJDVj.js} +4 -4
  149. package/dist/chunks/{tooltip-root-Dssjjp-E.js.map → tooltip-root-DzahJDVj.js.map} +1 -1
  150. package/dist/chunks/{use-scroll-margin-DfdTc_5D.js → use-scroll-margin-atRtf0v_.js} +14 -10
  151. package/dist/chunks/use-scroll-margin-atRtf0v_.js.map +1 -0
  152. package/dist/chunks/{virtual-rows-yAMjeAwj.js → virtual-rows-CC_kc2PR.js} +2 -2
  153. package/dist/chunks/{virtual-rows-yAMjeAwj.js.map → virtual-rows-CC_kc2PR.js.map} +1 -1
  154. package/dist/chunks/{zh-CN-CKffAT7j.js → zh-CN-29X4CDLE.js} +3 -1
  155. package/dist/chunks/zh-CN-29X4CDLE.js.map +1 -0
  156. package/dist/components/agent-avatar.js +2 -0
  157. package/dist/components/app-frame.js +2 -2
  158. package/dist/components/avatar.js +1 -1
  159. package/dist/components/badge.js +1 -1
  160. package/dist/components/banner.js +1 -1
  161. package/dist/components/button-group.js +4 -4
  162. package/dist/components/button.js +1 -1
  163. package/dist/components/calendar.js +1 -1
  164. package/dist/components/charts/bar.js +2 -2
  165. package/dist/components/charts/donut.js +2 -2
  166. package/dist/components/charts/gauge.js +2 -2
  167. package/dist/components/charts/heatmap.js +1 -1
  168. package/dist/components/charts/sankey.js +2 -2
  169. package/dist/components/charts/sparkline.js +1 -1
  170. package/dist/components/charts/timeseries.js +1 -1
  171. package/dist/components/charts.js +2 -2
  172. package/dist/components/checkbox.js +1 -1
  173. package/dist/components/code-block.js +2 -2
  174. package/dist/components/code.js +1 -1
  175. package/dist/components/collapsible.js +1 -1
  176. package/dist/components/combobox.js +1 -1
  177. package/dist/components/command-list.js +2 -2
  178. package/dist/components/command-palette.js +89 -84
  179. package/dist/components/command-palette.js.map +1 -1
  180. package/dist/components/copy-button.js +1 -1
  181. package/dist/components/data-table.js +193 -189
  182. package/dist/components/data-table.js.map +1 -1
  183. package/dist/components/date-picker.js +9 -7
  184. package/dist/components/date-picker.js.map +1 -1
  185. package/dist/components/dialog.js +125 -91
  186. package/dist/components/dialog.js.map +1 -1
  187. package/dist/components/display-options.js +52 -49
  188. package/dist/components/display-options.js.map +1 -1
  189. package/dist/components/empty.js +1 -1
  190. package/dist/components/field.js +1 -1
  191. package/dist/components/figure.js +60 -0
  192. package/dist/components/figure.js.map +1 -0
  193. package/dist/components/filter-chip.js +5 -5
  194. package/dist/components/filter-chip.js.map +1 -1
  195. package/dist/components/filter-row.js +2 -2
  196. package/dist/components/flow.js +2 -2
  197. package/dist/components/heading.js +1 -1
  198. package/dist/components/icon-button.js +1 -1
  199. package/dist/components/icon.js +2 -2
  200. package/dist/components/input.js +51 -51
  201. package/dist/components/input.js.map +1 -1
  202. package/dist/components/kaeso/conversation.js +8 -8
  203. package/dist/components/kaeso/identity.js +1 -1
  204. package/dist/components/kaeso/moments.js +5 -5
  205. package/dist/components/kaeso/rights.js +1 -1
  206. package/dist/components/kaeso/usage.js +12 -12
  207. package/dist/components/kaeso/usage.js.map +1 -1
  208. package/dist/components/kaeso.js +264 -96
  209. package/dist/components/kaeso.js.map +1 -1
  210. package/dist/components/kbd.js +1 -1
  211. package/dist/components/key-value.js +3 -3
  212. package/dist/components/label.js +1 -1
  213. package/dist/components/layout.js +1 -1
  214. package/dist/components/link.js +1 -1
  215. package/dist/components/list.js +1 -1
  216. package/dist/components/loader.js +2 -2
  217. package/dist/components/logo.js +2 -2
  218. package/dist/components/markdown.js +1 -1
  219. package/dist/components/menu.js +2 -2
  220. package/dist/components/meter.js +1 -1
  221. package/dist/components/page-header.js +1 -1
  222. package/dist/components/pagination.js +1 -1
  223. package/dist/components/playground.js +32 -31
  224. package/dist/components/playground.js.map +1 -1
  225. package/dist/components/popover.js +13 -12
  226. package/dist/components/popover.js.map +1 -1
  227. package/dist/components/qr-code.js +1 -1
  228. package/dist/components/radio.js +1 -1
  229. package/dist/components/release-art.js +1 -1
  230. package/dist/components/scroll-area.js +1 -41
  231. package/dist/components/section.js +1 -1
  232. package/dist/components/segmented.js +1 -1
  233. package/dist/components/select.js +1 -1
  234. package/dist/components/separator.js +1 -1
  235. package/dist/components/settings.js +10 -10
  236. package/dist/components/settings.js.map +1 -1
  237. package/dist/components/sheet.js +3 -3
  238. package/dist/components/sidebar.js +1 -1
  239. package/dist/components/skeleton.js +1 -1
  240. package/dist/components/slider.js +1 -1
  241. package/dist/components/stat.js +3 -3
  242. package/dist/components/status-dot.js +1 -1
  243. package/dist/components/surface.js +1 -1
  244. package/dist/components/swap-text.js +1 -1
  245. package/dist/components/switch.js +1 -1
  246. package/dist/components/table.js +1 -1
  247. package/dist/components/tabs.js +24 -24
  248. package/dist/components/tabs.js.map +1 -1
  249. package/dist/components/tag.js +1 -1
  250. package/dist/components/text.js +1 -1
  251. package/dist/components/theme-image.js +1 -1
  252. package/dist/components/theme-menu.js +33 -30
  253. package/dist/components/theme-menu.js.map +1 -1
  254. package/dist/components/theme-select.js +1 -1
  255. package/dist/components/thumbnail.js +41 -0
  256. package/dist/components/thumbnail.js.map +1 -0
  257. package/dist/components/timeline.js +1 -1
  258. package/dist/components/toast.js +100 -91
  259. package/dist/components/toast.js.map +1 -1
  260. package/dist/components/toc.js +37 -22
  261. package/dist/components/toc.js.map +1 -1
  262. package/dist/components/toolbar.js +1 -1
  263. package/dist/components/tooltip.js +1 -1
  264. package/dist/components/visually-hidden.js +1 -1
  265. package/dist/format.js.map +1 -1
  266. package/dist/i18n-provider.js +1 -1
  267. package/dist/index.js +99 -95
  268. package/dist/kaeso.css +3 -0
  269. package/dist/styles.css +1 -1
  270. package/dist/types/blocks/delete-resource/delete-resource.d.ts +2 -5
  271. package/dist/types/blocks/resource-list/resource-list.d.ts +1 -4
  272. package/dist/types/component-docs.d.ts +1 -1
  273. package/dist/types/components/agent-avatar/agent-avatar.d.ts +94 -0
  274. package/dist/types/components/agent-avatar/docs.d.ts +19 -0
  275. package/dist/types/components/agent-avatar/index.d.ts +3 -0
  276. package/dist/types/components/agent-avatar/model-name.d.ts +9 -0
  277. package/dist/types/components/agent-avatar/models.d.ts +4 -0
  278. package/dist/types/components/app-frame/app-frame.d.ts +3 -8
  279. package/dist/types/components/app-frame/nav-sheet.d.ts +2 -4
  280. package/dist/types/components/calendar/calendar.d.ts +1 -4
  281. package/dist/types/components/charts/core.d.ts +11 -18
  282. package/dist/types/components/checkbox/checkbox.d.ts +2 -0
  283. package/dist/types/components/code-block/code-block.d.ts +1 -1
  284. package/dist/types/components/code-block/indent.d.ts +3 -0
  285. package/dist/types/components/combobox/combobox.d.ts +26 -2
  286. package/dist/types/components/command-list/command-list.d.ts +1 -0
  287. package/dist/types/components/command-list/docs.d.ts +1 -0
  288. package/dist/types/components/command-list/picker-popover.d.ts +1 -4
  289. package/dist/types/components/command-palette/command-palette.d.ts +2 -4
  290. package/dist/types/components/command-palette/docs.d.ts +1 -0
  291. package/dist/types/components/data-table/data-table.d.ts +2 -1
  292. package/dist/types/components/data-table/docs.d.ts +1 -0
  293. package/dist/types/components/dialog/dialog.d.ts +7 -9
  294. package/dist/types/components/dialog/docs.d.ts +2 -0
  295. package/dist/types/components/dialog/scope.d.ts +2 -0
  296. package/dist/types/components/dialog/step-dialog.d.ts +38 -5
  297. package/dist/types/components/display-options/display-options.d.ts +2 -5
  298. package/dist/types/components/figure/docs.d.ts +12 -0
  299. package/dist/types/components/figure/figure.d.ts +25 -0
  300. package/dist/types/components/figure/index.d.ts +1 -0
  301. package/dist/types/components/input/input.d.ts +23 -0
  302. package/dist/types/components/kaeso/client-button.d.ts +17 -0
  303. package/dist/types/components/kaeso/docs.d.ts +18 -0
  304. package/dist/types/components/kaeso/grant-summary.d.ts +12 -0
  305. package/dist/types/components/kaeso/identity.d.ts +2 -0
  306. package/dist/types/components/kaeso/index.d.ts +2 -0
  307. package/dist/types/components/kaeso/provider-picker.d.ts +5 -0
  308. package/dist/types/components/kaeso/usage.d.ts +2 -0
  309. package/dist/types/components/list/list.d.ts +4 -8
  310. package/dist/types/components/menu/docs.d.ts +8 -1
  311. package/dist/types/components/menu/menu.d.ts +19 -31
  312. package/dist/types/components/playground/parameter-panel.d.ts +1 -4
  313. package/dist/types/components/popover/hover-card.d.ts +2 -0
  314. package/dist/types/components/radio/docs.d.ts +15 -0
  315. package/dist/types/components/radio/radio.d.ts +2 -4
  316. package/dist/types/components/settings/settings.d.ts +2 -0
  317. package/dist/types/components/sidebar/sidebar.d.ts +13 -35
  318. package/dist/types/components/table/docs.d.ts +3 -1
  319. package/dist/types/components/table/table.d.ts +18 -1
  320. package/dist/types/components/tabs/tabs.d.ts +15 -0
  321. package/dist/types/components/theme-menu/docs.d.ts +2 -0
  322. package/dist/types/components/theme-menu/theme-menu.d.ts +6 -5
  323. package/dist/types/components/thumbnail/docs.d.ts +10 -0
  324. package/dist/types/components/thumbnail/index.d.ts +1 -0
  325. package/dist/types/components/thumbnail/thumbnail.d.ts +26 -0
  326. package/dist/types/components/toast/toast.d.ts +5 -12
  327. package/dist/types/components/toolbar/toolbar.d.ts +1 -6
  328. package/dist/types/components/tooltip/tooltip.d.ts +2 -4
  329. package/dist/types/components/tooltip/trigger-props.d.ts +0 -1
  330. package/dist/types/format/index.d.ts +5 -5
  331. package/dist/types/hooks/use-scroll-margin.d.ts +1 -1
  332. package/dist/types/icons/groups.d.ts +2 -2
  333. package/dist/types/icons/vocabulary.d.ts +15 -0
  334. package/dist/types/index.d.ts +3 -0
  335. package/dist/types/utils/cn.d.ts +4 -0
  336. package/dist/types/utils/inset.d.ts +4 -0
  337. package/dist/types/utils/link-provider.d.ts +1 -1
  338. package/dist/types/utils/merge-refs.d.ts +3 -0
  339. package/dist/types/utils/portal-context.d.ts +1 -1
  340. package/dist/utils.js +4 -4
  341. package/foundations/shape.md +1 -1
  342. package/package.json +3 -3
  343. package/dist/chunks/app-frame-DZPEf2NQ.js.map +0 -1
  344. package/dist/chunks/calendar-CeNcqLFd.js.map +0 -1
  345. package/dist/chunks/checkbox-C_DrNA2N.js.map +0 -1
  346. package/dist/chunks/cn-Isw2DnQX.js.map +0 -1
  347. package/dist/chunks/code-block-mEH6Sy3h.js.map +0 -1
  348. package/dist/chunks/combobox-D8ZOm8uT.js +0 -314
  349. package/dist/chunks/combobox-D8ZOm8uT.js.map +0 -1
  350. package/dist/chunks/command-list-CzMbdtJs.js.map +0 -1
  351. package/dist/chunks/core-FtMDNELx.js.map +0 -1
  352. package/dist/chunks/de-BnNQtBSV.js.map +0 -1
  353. package/dist/chunks/dialog-BZCVFmGF.js +0 -353
  354. package/dist/chunks/dialog-BZCVFmGF.js.map +0 -1
  355. package/dist/chunks/icon-CBzvyEqC.js +0 -91
  356. package/dist/chunks/icon-CBzvyEqC.js.map +0 -1
  357. package/dist/chunks/identity-BcVQd-7H.js.map +0 -1
  358. package/dist/chunks/input-B6Docqrk.js.map +0 -1
  359. package/dist/chunks/inset-BnBj8NJV.js.map +0 -1
  360. package/dist/chunks/link-provider-BsUxhZKG.js +0 -27
  361. package/dist/chunks/link-provider-BsUxhZKG.js.map +0 -1
  362. package/dist/chunks/menu-Cjg4RggA.js.map +0 -1
  363. package/dist/chunks/nav-sheet-Y2Ite-iF.js +0 -60
  364. package/dist/chunks/nav-sheet-Y2Ite-iF.js.map +0 -1
  365. package/dist/chunks/sidebar-DifJ5KgE.js.map +0 -1
  366. package/dist/chunks/table-CTxDp7zC.js +0 -67
  367. package/dist/chunks/table-CTxDp7zC.js.map +0 -1
  368. package/dist/chunks/tooltip-CRApbLF6.js +0 -151
  369. package/dist/chunks/tooltip-CRApbLF6.js.map +0 -1
  370. package/dist/chunks/use-scroll-margin-DfdTc_5D.js.map +0 -1
  371. package/dist/chunks/zh-CN-CKffAT7j.js.map +0 -1
  372. package/dist/components/scroll-area.js.map +0 -1
@@ -1,7 +1,121 @@
1
1
  {
2
2
  "package": "@logicplanes/kaeso-ui",
3
- "version": "0.4.1",
3
+ "version": "0.4.3",
4
4
  "components": [
5
+ {
6
+ "entry": "agent-avatar",
7
+ "kind": "components",
8
+ "import": "@logicplanes/kaeso-ui/agent-avatar",
9
+ "components": [
10
+ {
11
+ "name": "AgentAttribution",
12
+ "description": "A person's avatar with the agent that acted for them as a small badge on its corner, for audit rows and activity; it reads as one picture named after both. The badge stays inside the avatar's square, so a table cell never cuts it off.",
13
+ "props": [
14
+ {
15
+ "name": "agent",
16
+ "type": "{ name: string; model: string; }",
17
+ "required": true,
18
+ "default": null,
19
+ "description": "The agent that acted, with its name and model family id from the API; the family is named in the accessible name only."
20
+ },
21
+ {
22
+ "name": "name",
23
+ "type": "string",
24
+ "required": true,
25
+ "default": null,
26
+ "description": "The name of the person the agent acted for; it starts the accessible name, such as `Ada Okafor via Release helper (Claude)`."
27
+ },
28
+ {
29
+ "name": "className",
30
+ "type": "string",
31
+ "required": false,
32
+ "default": null,
33
+ "description": "Classes for the layout of the outer element: margin, width and placement, never its look."
34
+ },
35
+ {
36
+ "name": "size",
37
+ "type": "24 | 20 | 28 | 32 | 40",
38
+ "required": false,
39
+ "default": "24",
40
+ "description": "The diameter of the person's avatar in pixels; the agent badge is half of it."
41
+ },
42
+ {
43
+ "name": "src",
44
+ "type": "string",
45
+ "required": false,
46
+ "default": null,
47
+ "description": "The person's picture; without one, or when it fails to load, their initials show."
48
+ }
49
+ ],
50
+ "file": "src/components/agent-avatar/agent-avatar.tsx"
51
+ },
52
+ {
53
+ "name": "AgentAvatar",
54
+ "description": "An agent acting for a person: one bot face on an ink square, the same for every agent; write its model family beside it with useModelName where it matters.",
55
+ "props": [
56
+ {
57
+ "name": "name",
58
+ "type": "string",
59
+ "required": true,
60
+ "default": null,
61
+ "description": "The agent's name, such as `Release helper`; it is the accessible name."
62
+ },
63
+ {
64
+ "name": "className",
65
+ "type": "string",
66
+ "required": false,
67
+ "default": null,
68
+ "description": "Classes for the layout of the outer element: margin, width and placement, never its look."
69
+ },
70
+ {
71
+ "name": "decorative",
72
+ "type": "boolean",
73
+ "required": false,
74
+ "default": null,
75
+ "description": "Hides it from assistive technology when the agent's name is already written next to it."
76
+ },
77
+ {
78
+ "name": "size",
79
+ "type": "24 | 20 | 28 | 32 | 40",
80
+ "required": false,
81
+ "default": "24",
82
+ "description": "The side of the square in pixels, on the same scale as `Avatar`."
83
+ }
84
+ ],
85
+ "file": "src/components/agent-avatar/agent-avatar.tsx"
86
+ }
87
+ ],
88
+ "variants": {
89
+ "AGENT_ATTRIBUTION": {
90
+ "axes": {
91
+ "size": {
92
+ "20": "20px person, 10px agent badge",
93
+ "24": "24px person, 12px agent badge (default)",
94
+ "28": "28px person, 14px agent badge",
95
+ "32": "32px person, 16px agent badge",
96
+ "40": "40px person, 20px agent badge"
97
+ }
98
+ },
99
+ "defaults": {
100
+ "size": "24"
101
+ }
102
+ },
103
+ "AGENT_AVATAR": {
104
+ "axes": {
105
+ "size": {
106
+ "20": "20px",
107
+ "24": "24px: rows and lists (default)",
108
+ "28": "28px",
109
+ "32": "32px",
110
+ "40": "40px: an agent's own page, menus"
111
+ }
112
+ },
113
+ "defaults": {
114
+ "size": "24"
115
+ }
116
+ }
117
+ }
118
+ },
5
119
  {
6
120
  "entry": "app-frame",
7
121
  "kind": "components",
@@ -696,7 +810,7 @@
696
810
  },
697
811
  {
698
812
  "name": "weekStartsOn",
699
- "type": "0 | 4 | 1 | 2 | 3 | 5 | 6",
813
+ "type": "0 | 2 | 3 | 4 | 1 | 5 | 6",
700
814
  "required": false,
701
815
  "default": "1",
702
816
  "description": "0 = Sunday, 1 = Monday (default)."
@@ -2115,6 +2229,10 @@
2115
2229
  "defaults": {
2116
2230
  "size": "md"
2117
2231
  }
2232
+ },
2233
+ "CHECKBOX_GROUP": {
2234
+ "axes": {},
2235
+ "defaults": {}
2118
2236
  }
2119
2237
  }
2120
2238
  },
@@ -2261,10 +2379,10 @@
2261
2379
  },
2262
2380
  {
2263
2381
  "name": "wrap",
2264
- "type": "boolean",
2382
+ "type": "boolean | \"phone\"",
2265
2383
  "required": false,
2266
2384
  "default": "false",
2267
- "description": "Long lines wrap instead of scrolling sideways: code in a narrow column (a model's response)."
2385
+ "description": "Long lines wrap instead of scrolling sideways: code in a narrow column (a model's response). `phone` wraps them only below 640px, with wrapped parts indented, and scrolls from there up."
2268
2386
  }
2269
2387
  ],
2270
2388
  "file": "src/components/code-block/code-block.tsx"
@@ -2359,10 +2477,10 @@
2359
2477
  },
2360
2478
  {
2361
2479
  "name": "wrap",
2362
- "type": "boolean",
2480
+ "type": "boolean | \"phone\"",
2363
2481
  "required": false,
2364
2482
  "default": "false",
2365
- "description": "Long lines wrap instead of scrolling sideways: code in a narrow column (a model's response)."
2483
+ "description": "Long lines wrap instead of scrolling sideways: code in a narrow column (a model's response). `phone` wraps them only below 640px, with wrapped parts indented, and scrolls from there up."
2366
2484
  }
2367
2485
  ],
2368
2486
  "file": "src/components/code-block/code-block.tsx"
@@ -2903,6 +3021,19 @@
2903
3021
  }
2904
3022
  ],
2905
3023
  "variants": {
3024
+ "AUTOCOMPLETE": {
3025
+ "axes": {
3026
+ "size": {
3027
+ "sm": "32px",
3028
+ "md": "36px (default)",
3029
+ "lg": "40px",
3030
+ "xl": "48px"
3031
+ }
3032
+ },
3033
+ "defaults": {
3034
+ "size": "md"
3035
+ }
3036
+ },
2906
3037
  "COMBOBOX": {
2907
3038
  "axes": {
2908
3039
  "size": {
@@ -2955,6 +3086,13 @@
2955
3086
  "default": null,
2956
3087
  "description": "Classes for the layout of the outer element: margin, width and placement, never its look."
2957
3088
  },
3089
+ {
3090
+ "name": "counts",
3091
+ "type": "boolean",
3092
+ "required": false,
3093
+ "default": "true",
3094
+ "description": "Shows each group's count beside its caption; false leaves them out, for a site whose house style has no result counters."
3095
+ },
2958
3096
  {
2959
3097
  "name": "data-force",
2960
3098
  "type": "string",
@@ -3266,6 +3404,13 @@
3266
3404
  "default": null,
3267
3405
  "description": "The commands, in groups with a heading each."
3268
3406
  },
3407
+ {
3408
+ "name": "counts",
3409
+ "type": "boolean",
3410
+ "required": false,
3411
+ "default": null,
3412
+ "description": "Shows each group's count beside its caption; false leaves them out, for a site whose house style has no result counters."
3413
+ },
3269
3414
  {
3270
3415
  "name": "defaultQuery",
3271
3416
  "type": "string",
@@ -3563,6 +3708,13 @@
3563
3708
  "default": null,
3564
3709
  "description": "The id of a row to show as active (open in a sheet)."
3565
3710
  },
3711
+ {
3712
+ "name": "canSelectRow",
3713
+ "type": "((row: T) => boolean)",
3714
+ "required": false,
3715
+ "default": null,
3716
+ "description": "Whether a row can be selected; a row that can't keeps a disabled checkbox, and select all skips it."
3717
+ },
3566
3718
  {
3567
3719
  "name": "className",
3568
3720
  "type": "string",
@@ -3880,7 +4032,7 @@
3880
4032
  },
3881
4033
  {
3882
4034
  "name": "weekStartsOn",
3883
- "type": "0 | 4 | 1 | 2 | 3 | 5 | 6",
4035
+ "type": "0 | 2 | 3 | 4 | 1 | 5 | 6",
3884
4036
  "required": false,
3885
4037
  "default": null,
3886
4038
  "description": "The first day of the week, from 0 (Sunday) to 6 (Saturday); the language decides by default."
@@ -4034,7 +4186,7 @@
4034
4186
  },
4035
4187
  {
4036
4188
  "name": "weekStartsOn",
4037
- "type": "0 | 4 | 1 | 2 | 3 | 5 | 6",
4189
+ "type": "0 | 2 | 3 | 4 | 1 | 5 | 6",
4038
4190
  "required": false,
4039
4191
  "default": null,
4040
4192
  "description": "The first day of the week, from 0 (Sunday) to 6 (Saturday); the language decides by default."
@@ -4450,6 +4602,13 @@
4450
4602
  "default": null,
4451
4603
  "description": "Right-aligned actions: Cancel (secondary) then the primary."
4452
4604
  },
4605
+ {
4606
+ "name": "footerStart",
4607
+ "type": "ReactNode",
4608
+ "required": false,
4609
+ "default": null,
4610
+ "description": "A quiet action at the footer's start, such as a link to another way of doing the task."
4611
+ },
4453
4612
  {
4454
4613
  "name": "headerStart",
4455
4614
  "type": "ReactNode",
@@ -4506,6 +4665,13 @@
4506
4665
  "default": null,
4507
4666
  "description": "The dialog's width."
4508
4667
  },
4668
+ {
4669
+ "name": "toolbar",
4670
+ "type": "ReactNode",
4671
+ "required": false,
4672
+ "default": null,
4673
+ "description": "Controls that stay under the title while the body scrolls, such as a search over the list below; a hairline shows once the body is scrolled."
4674
+ },
4509
4675
  {
4510
4676
  "name": "trigger",
4511
4677
  "type": "ReactElement<unknown, string | JSXElementConstructor<any>>",
@@ -4546,7 +4712,7 @@
4546
4712
  "type": "DialogLayer[]",
4547
4713
  "required": true,
4548
4714
  "default": null,
4549
- "description": "The layers, each with its title, content and footer; one shows at a time, and the ones below it stay mounted and hidden."
4715
+ "description": "The layers, each with its title, content and footer, and optionally a toolbar and a footer start; one shows at a time, and the ones below it stay mounted and hidden."
4550
4716
  },
4551
4717
  {
4552
4718
  "name": "anchor",
@@ -4651,7 +4817,7 @@
4651
4817
  },
4652
4818
  {
4653
4819
  "name": "StepDialog",
4654
- "description": "A form split into steps, one question at a time, like sign-in: the step's title and fields, Back and Continue, the action on the last step. Enter in a single-line field and ⌘/Ctrl+Enter continue. The dialog takes each step's own height and keeps its top edge where it opened: it grows or shrinks 200ms downward from the size it has as the step changes, so the title never jumps, and the new step drifts in from the side it comes from. With `result`, what the last step made (a key shown once) takes the steps' place in the same dialog, at its own size. Continue and Back move the focus into the step they show (its first field; without one, the primary action, or Back when the last step destroys), and a screen reader hears which step it is.",
4820
+ "description": "A form split into steps, one question at a time, like sign-in: the step's title and fields, Back and Continue, the action on the last step. Enter in a single-line field and ⌘/Ctrl+Enter continue. The dialog takes each step's own height and keeps its top edge where it opened: it grows or shrinks 200ms downward from the size it has as the step changes, so the title never jumps, and the new step drifts in from the side it comes from. With `result`, what the last step made (a key shown once) takes the steps' place in the same dialog, at its own size. Continue and Back move the focus into the step they show (its first field; without one, the primary action, or Back when the last step destroys), and a screen reader hears which step it is. Inside a step, `useStepDialog()?.advance()` continues as Continue would, once the step is no longer blocked: a choice that answers the step, like a provider tile, moves on in one press.",
4655
4821
  "props": [
4656
4822
  {
4657
4823
  "name": "onSubmit",
@@ -4665,7 +4831,7 @@
4665
4831
  "type": "DialogStep[]",
4666
4832
  "required": true,
4667
4833
  "default": null,
4668
- "description": "The steps, each with its title, content and whether it can be continued."
4834
+ "description": "The steps, each with its title, content and whether it can be continued; `onContinue` checks a step before the next opens, such as asking a server, and `continueLabel` names that check: \"Detect settings\"."
4669
4835
  },
4670
4836
  {
4671
4837
  "name": "submitLabel",
@@ -4771,6 +4937,10 @@
4771
4937
  "anchor": "center"
4772
4938
  }
4773
4939
  },
4940
+ "DIALOG_SCOPE": {
4941
+ "axes": {},
4942
+ "defaults": {}
4943
+ },
4774
4944
  "LAYER_DIALOG": {
4775
4945
  "axes": {
4776
4946
  "size": {
@@ -4787,6 +4957,23 @@
4787
4957
  "size": "md",
4788
4958
  "anchor": "center"
4789
4959
  }
4960
+ },
4961
+ "STEP_DIALOG": {
4962
+ "axes": {
4963
+ "size": {
4964
+ "sm": "440px: most tasks in a few steps (default)",
4965
+ "md": "560px: steps with longer forms",
4966
+ "lg": "720px: steps with two columns or previews"
4967
+ },
4968
+ "tone": {
4969
+ "default": "The last step's button is primary (default)",
4970
+ "danger": "The last step's button is a danger button, for a task that ends in deletion"
4971
+ }
4972
+ },
4973
+ "defaults": {
4974
+ "size": "sm",
4975
+ "tone": "default"
4976
+ }
4790
4977
  }
4791
4978
  }
4792
4979
  },
@@ -5026,6 +5213,75 @@
5026
5213
  }
5027
5214
  }
5028
5215
  },
5216
+ {
5217
+ "entry": "figure",
5218
+ "kind": "components",
5219
+ "import": "@logicplanes/kaeso-ui/figure",
5220
+ "components": [
5221
+ {
5222
+ "name": "Figure",
5223
+ "description": "A diagram or image set apart from the text: centred on a well, with a caption, scrolling sideways only when it can't shrink to fit.",
5224
+ "props": [
5225
+ {
5226
+ "name": "children",
5227
+ "type": "ReactNode",
5228
+ "required": true,
5229
+ "default": null,
5230
+ "description": "What the figure shows, usually a ThemeImage."
5231
+ },
5232
+ {
5233
+ "name": "label",
5234
+ "type": "string",
5235
+ "required": true,
5236
+ "default": null,
5237
+ "description": "The name of the figure's scrolling region, read by screen readers."
5238
+ },
5239
+ {
5240
+ "name": "caption",
5241
+ "type": "ReactNode",
5242
+ "required": false,
5243
+ "default": null,
5244
+ "description": "A few words under the figure that say what it shows, such as a diagram's title."
5245
+ },
5246
+ {
5247
+ "name": "className",
5248
+ "type": "string",
5249
+ "required": false,
5250
+ "default": null,
5251
+ "description": "Classes for the layout of the outer element: margin, width and placement, never its look."
5252
+ },
5253
+ {
5254
+ "name": "focus",
5255
+ "type": "number",
5256
+ "required": false,
5257
+ "default": "0.5",
5258
+ "description": "Where a figure wider than its column starts, as a share of its width: 0.5, the middle, by default."
5259
+ },
5260
+ {
5261
+ "name": "surface",
5262
+ "type": "\"well\" | \"plain\"",
5263
+ "required": false,
5264
+ "default": "well",
5265
+ "description": "The figure's background: a well like a code block's, or none."
5266
+ }
5267
+ ],
5268
+ "file": "src/components/figure/figure.tsx"
5269
+ }
5270
+ ],
5271
+ "variants": {
5272
+ "FIGURE": {
5273
+ "axes": {
5274
+ "surface": {
5275
+ "well": "A well like a code block's: radius 14, fill, no ring (default)",
5276
+ "plain": "No surface, for a figure that brings its own"
5277
+ }
5278
+ },
5279
+ "defaults": {
5280
+ "surface": "well"
5281
+ }
5282
+ }
5283
+ }
5284
+ },
5029
5285
  {
5030
5286
  "entry": "filter-chip",
5031
5287
  "kind": "components",
@@ -5320,7 +5576,7 @@
5320
5576
  },
5321
5577
  {
5322
5578
  "name": "level",
5323
- "type": "4 | 1 | 2 | 3 | 5 | 6",
5579
+ "type": "2 | 3 | 4 | 1 | 5 | 6",
5324
5580
  "required": false,
5325
5581
  "default": null,
5326
5582
  "description": "The heading level in the document, independent of its size."
@@ -6401,6 +6657,19 @@
6401
6657
  "size": "md"
6402
6658
  }
6403
6659
  },
6660
+ "SEARCH_INPUT": {
6661
+ "axes": {
6662
+ "size": {
6663
+ "sm": "32px: toolbars (default)",
6664
+ "md": "36px: a search at the top of a page or dialog",
6665
+ "lg": "40px",
6666
+ "xl": "48px"
6667
+ }
6668
+ },
6669
+ "defaults": {
6670
+ "size": "sm"
6671
+ }
6672
+ },
6404
6673
  "SENSITIVE_INPUT": {
6405
6674
  "axes": {
6406
6675
  "kind": {
@@ -6461,6 +6730,41 @@
6461
6730
  ],
6462
6731
  "file": "src/components/kaeso/identity.tsx"
6463
6732
  },
6733
+ {
6734
+ "name": "ClientButton",
6735
+ "description": "An agent client's mark, such as Claude, Cursor or GitHub Copilot, on a raised tile, as a button that opens how to connect it.",
6736
+ "props": [
6737
+ {
6738
+ "name": "aria-label",
6739
+ "type": "string",
6740
+ "required": true,
6741
+ "default": null,
6742
+ "description": "The client's name; also the tooltip."
6743
+ },
6744
+ {
6745
+ "name": "client",
6746
+ "type": "\"cursor\" | \"claude\" | \"github-copilot\"",
6747
+ "required": true,
6748
+ "default": null,
6749
+ "description": "Which client's mark it shows."
6750
+ },
6751
+ {
6752
+ "name": "className",
6753
+ "type": "string",
6754
+ "required": false,
6755
+ "default": null,
6756
+ "description": "Classes for the layout of the outer element: margin, width and placement, never its look."
6757
+ },
6758
+ {
6759
+ "name": "onClick",
6760
+ "type": "(() => void)",
6761
+ "required": false,
6762
+ "default": null,
6763
+ "description": "Opens how to connect the client."
6764
+ }
6765
+ ],
6766
+ "file": "src/components/kaeso/client-button.tsx"
6767
+ },
6464
6768
  {
6465
6769
  "name": "ConversationView",
6466
6770
  "description": "A model conversation from a request log: role captions, prose, tool calls and results, reasoning, images, refusals. Inline images show; remote ones are links, so viewing a log never fetches them.",
@@ -6580,6 +6884,48 @@
6580
6884
  ],
6581
6885
  "file": "src/components/kaeso/moments.tsx"
6582
6886
  },
6887
+ {
6888
+ "name": "GrantSummary",
6889
+ "description": "What an agent or a key may do, one short line each after a check mark, on a group surface.",
6890
+ "props": [
6891
+ {
6892
+ "name": "aria-label",
6893
+ "type": "string",
6894
+ "required": true,
6895
+ "default": null,
6896
+ "description": "The list's accessible name (\"What it can do\")."
6897
+ },
6898
+ {
6899
+ "name": "items",
6900
+ "type": "readonly ReactNode[]",
6901
+ "required": true,
6902
+ "default": null,
6903
+ "description": "The lines, short and without a final period."
6904
+ },
6905
+ {
6906
+ "name": "action",
6907
+ "type": "ReactNode",
6908
+ "required": false,
6909
+ "default": null,
6910
+ "description": "A small button after the note, such as Customize."
6911
+ },
6912
+ {
6913
+ "name": "className",
6914
+ "type": "string",
6915
+ "required": false,
6916
+ "default": null,
6917
+ "description": "Classes for the layout of the outer element: margin, width and placement, never its look."
6918
+ },
6919
+ {
6920
+ "name": "footer",
6921
+ "type": "ReactNode",
6922
+ "required": false,
6923
+ "default": null,
6924
+ "description": "A quiet note under the lines, such as how long it lasts."
6925
+ }
6926
+ ],
6927
+ "file": "src/components/kaeso/grant-summary.tsx"
6928
+ },
6583
6929
  {
6584
6930
  "name": "KeyDisplay",
6585
6931
  "description": "A redacted key: mono 13 with its state dot, copy of the redacted form, and its access.",
@@ -6887,10 +7233,10 @@
6887
7233
  },
6888
7234
  {
6889
7235
  "name": "appearance",
6890
- "type": "\"list\" | \"select\"",
7236
+ "type": "\"list\" | \"grid\" | \"select\"",
6891
7237
  "required": false,
6892
7238
  "default": null,
6893
- "description": "An always-open list for a dialog step, or a pill that opens it."
7239
+ "description": "An always-open list for a dialog step, tiles with each provider's mark for a dialog's first step, or a pill that opens the list."
6894
7240
  },
6895
7241
  {
6896
7242
  "name": "aria-label",
@@ -6956,6 +7302,13 @@
6956
7302
  "default": null,
6957
7303
  "description": "The label above the control (`vertical`) or beside it (`horizontal`)."
6958
7304
  },
7305
+ {
7306
+ "name": "onChoose",
7307
+ "type": "((id: string) => void)",
7308
+ "required": false,
7309
+ "default": null,
7310
+ "description": "With `grid`: called when a tile is pressed or clicked, not when the arrow keys move the choice, so a dialog step can continue at once."
7311
+ },
6959
7312
  {
6960
7313
  "name": "onValueChange",
6961
7314
  "type": "((id: string | null) => void)",
@@ -7297,6 +7650,10 @@
7297
7650
  }
7298
7651
  ],
7299
7652
  "variants": {
7653
+ "CLIENT_BUTTON": {
7654
+ "axes": {},
7655
+ "defaults": {}
7656
+ },
7300
7657
  "CONVERSATION": {
7301
7658
  "axes": {
7302
7659
  "density": {
@@ -7318,6 +7675,10 @@
7318
7675
  "layout": "rows"
7319
7676
  }
7320
7677
  },
7678
+ "GRANT_SUMMARY": {
7679
+ "axes": {},
7680
+ "defaults": {}
7681
+ },
7321
7682
  "IDENTITY": {
7322
7683
  "axes": {
7323
7684
  "provider": {
@@ -7331,6 +7692,10 @@
7331
7692
  "provider": "md"
7332
7693
  }
7333
7694
  },
7695
+ "KEY_DISPLAY": {
7696
+ "axes": {},
7697
+ "defaults": {}
7698
+ },
7334
7699
  "MOMENTS": {
7335
7700
  "axes": {
7336
7701
  "secret": {
@@ -7345,7 +7710,8 @@
7345
7710
  "axes": {
7346
7711
  "appearance": {
7347
7712
  "list": "A search field over every provider, always open: a dialog step (default)",
7348
- "select": "A pill that opens the searchable list: forms and toolbars"
7713
+ "select": "A pill that opens the searchable list: forms and toolbars",
7714
+ "grid": "Tiles with each provider's mark, connected ones first: the first step of a dialog"
7349
7715
  }
7350
7716
  },
7351
7717
  "defaults": {
@@ -7381,6 +7747,10 @@
7381
7747
  "appearance": "list"
7382
7748
  }
7383
7749
  },
7750
+ "USAGE_BREAKDOWN": {
7751
+ "axes": {},
7752
+ "defaults": {}
7753
+ },
7384
7754
  "USAGE": {
7385
7755
  "axes": {
7386
7756
  "limit": {
@@ -7481,7 +7851,7 @@
7481
7851
  },
7482
7852
  {
7483
7853
  "name": "columns",
7484
- "type": "4 | 2 | 3",
7854
+ "type": "2 | 3 | 4",
7485
7855
  "required": false,
7486
7856
  "default": "2",
7487
7857
  "description": "The grid layout's items to a row, from 480px of its container's width."
@@ -7591,14 +7961,14 @@
7591
7961
  },
7592
7962
  {
7593
7963
  "name": "columns",
7594
- "type": "4 | 1 | 2 | 3 | 6",
7964
+ "type": "2 | 3 | 4 | 1 | 6",
7595
7965
  "required": false,
7596
7966
  "default": "2",
7597
7967
  "description": "The number of columns."
7598
7968
  },
7599
7969
  {
7600
7970
  "name": "gap",
7601
- "type": "0 | 24 | 20 | 32 | 40 | 4 | 2 | 6 | 8 | 12 | 16 | 48 | 64",
7971
+ "type": "0 | 2 | 24 | 20 | 32 | 40 | 4 | 6 | 8 | 12 | 16 | 48 | 64",
7602
7972
  "required": false,
7603
7973
  "default": "16",
7604
7974
  "description": "The space between items, in pixels on the spacing scale."
@@ -7626,7 +7996,7 @@
7626
7996
  },
7627
7997
  {
7628
7998
  "name": "gap",
7629
- "type": "0 | 24 | 20 | 32 | 40 | 4 | 2 | 6 | 8 | 12 | 16 | 48 | 64",
7999
+ "type": "0 | 2 | 24 | 20 | 32 | 40 | 4 | 6 | 8 | 12 | 16 | 48 | 64",
7630
8000
  "required": false,
7631
8001
  "default": "16",
7632
8002
  "description": "The space between items, in pixels on the spacing scale."
@@ -7668,7 +8038,7 @@
7668
8038
  },
7669
8039
  {
7670
8040
  "name": "gap",
7671
- "type": "0 | 24 | 20 | 32 | 40 | 4 | 2 | 6 | 8 | 12 | 16 | 48 | 64",
8041
+ "type": "0 | 2 | 24 | 20 | 32 | 40 | 4 | 6 | 8 | 12 | 16 | 48 | 64",
7672
8042
  "required": false,
7673
8043
  "default": "16",
7674
8044
  "description": "The space between items, in pixels on the spacing scale."
@@ -8401,7 +8771,7 @@
8401
8771
  },
8402
8772
  {
8403
8773
  "name": "headingLevel",
8404
- "type": "4 | 1 | 2 | 3 | 5 | 6",
8774
+ "type": "2 | 3 | 4 | 1 | 5 | 6",
8405
8775
  "required": false,
8406
8776
  "default": "3",
8407
8777
  "description": "The heading level `#` becomes (3 by default: below a page's and a section's own headings)."
@@ -8472,7 +8842,7 @@
8472
8842
  "components": [
8473
8843
  {
8474
8844
  "name": "ContextMenu",
8475
- "description": "A dropdown menu: 16px radius, 34px rows, typeahead, Home/End, loops.",
8845
+ "description": "The same menu, opened by a right click, a long press or the context-menu key on the area it wraps.",
8476
8846
  "props": [
8477
8847
  {
8478
8848
  "name": "children",
@@ -8481,6 +8851,27 @@
8481
8851
  "default": null,
8482
8852
  "description": "The area that opens the menu on a right click or long press."
8483
8853
  },
8854
+ {
8855
+ "name": "onOpenChange",
8856
+ "type": "((open: boolean) => void)",
8857
+ "required": false,
8858
+ "default": null,
8859
+ "description": "Called when it opens or closes."
8860
+ }
8861
+ ],
8862
+ "file": "src/components/menu/menu.tsx"
8863
+ },
8864
+ {
8865
+ "name": "Menu",
8866
+ "description": "A dropdown menu: 16px radius, 34px rows, typeahead, Home/End, loops.",
8867
+ "props": [
8868
+ {
8869
+ "name": "children",
8870
+ "type": "ReactNode",
8871
+ "required": true,
8872
+ "default": null,
8873
+ "description": "The trigger and the menu's content."
8874
+ },
8484
8875
  {
8485
8876
  "name": "defaultOpen",
8486
8877
  "type": "boolean",
@@ -8524,17 +8915,32 @@
8524
8915
  "description": "The menus."
8525
8916
  },
8526
8917
  {
8527
- "name": "onOpenChange",
8528
- "type": "((o: boolean) => void)",
8918
+ "name": "aria-label",
8919
+ "type": "string",
8920
+ "required": false,
8921
+ "default": null,
8922
+ "description": "The accessible name, for when there is no visible label."
8923
+ },
8924
+ {
8925
+ "name": "className",
8926
+ "type": "string",
8529
8927
  "required": false,
8530
8928
  "default": null,
8531
- "description": "Called when a menu opens or closes."
8929
+ "description": "Classes for the layout of the outer element: margin, width and placement, never its look."
8532
8930
  }
8533
8931
  ],
8534
8932
  "file": "src/components/menu/menu.tsx"
8535
8933
  }
8536
8934
  ],
8537
8935
  "variants": {
8936
+ "CONTEXT_MENU": {
8937
+ "axes": {},
8938
+ "defaults": {}
8939
+ },
8940
+ "MENUBAR": {
8941
+ "axes": {},
8942
+ "defaults": {}
8943
+ },
8538
8944
  "MENU": {
8539
8945
  "axes": {
8540
8946
  "item": {
@@ -10029,7 +10435,7 @@
10029
10435
  },
10030
10436
  {
10031
10437
  "name": "maxLines",
10032
- "type": "0 | 4 | 2 | 3 | 6",
10438
+ "type": "0 | 2 | 3 | 4 | 6",
10033
10439
  "required": false,
10034
10440
  "default": "4",
10035
10441
  "description": "Lines shown before \"Show all\" (4 by default; 0 shows everything)."
@@ -10217,6 +10623,10 @@
10217
10623
  }
10218
10624
  ],
10219
10625
  "variants": {
10626
+ "HOVER_CARD": {
10627
+ "axes": {},
10628
+ "defaults": {}
10629
+ },
10220
10630
  "POPOVER": {
10221
10631
  "axes": {
10222
10632
  "padding": {
@@ -10555,6 +10965,90 @@
10555
10965
  }
10556
10966
  ],
10557
10967
  "file": "src/components/radio/radio.tsx"
10968
+ },
10969
+ {
10970
+ "name": "RadioGroup",
10971
+ "description": "The group a set of radios belongs to: one of them is chosen, and the arrow keys move between them.",
10972
+ "props": [
10973
+ {
10974
+ "name": "children",
10975
+ "type": "ReactNode",
10976
+ "required": true,
10977
+ "default": null,
10978
+ "description": "The radios, one per option."
10979
+ },
10980
+ {
10981
+ "name": "aria-label",
10982
+ "type": "string",
10983
+ "required": false,
10984
+ "default": null,
10985
+ "description": "The accessible name, for when there is no visible label."
10986
+ },
10987
+ {
10988
+ "name": "aria-labelledby",
10989
+ "type": "string",
10990
+ "required": false,
10991
+ "default": null,
10992
+ "description": "The id of the element that names it, when its label is elsewhere on the page."
10993
+ },
10994
+ {
10995
+ "name": "className",
10996
+ "type": "string",
10997
+ "required": false,
10998
+ "default": null,
10999
+ "description": "Classes for the layout of the outer element: margin, width and placement, never its look."
11000
+ },
11001
+ {
11002
+ "name": "defaultValue",
11003
+ "type": "string",
11004
+ "required": false,
11005
+ "default": null,
11006
+ "description": "The chosen option on first render."
11007
+ },
11008
+ {
11009
+ "name": "disabled",
11010
+ "type": "boolean",
11011
+ "required": false,
11012
+ "default": null,
11013
+ "description": "Turns off every radio."
11014
+ },
11015
+ {
11016
+ "name": "name",
11017
+ "type": "string",
11018
+ "required": false,
11019
+ "default": null,
11020
+ "description": "The field name the value is sent under in a form."
11021
+ },
11022
+ {
11023
+ "name": "onValueChange",
11024
+ "type": "((value: string) => void)",
11025
+ "required": false,
11026
+ "default": null,
11027
+ "description": "Called with the chosen option."
11028
+ },
11029
+ {
11030
+ "name": "orientation",
11031
+ "type": "\"horizontal\" | \"vertical\"",
11032
+ "required": false,
11033
+ "default": "vertical",
11034
+ "description": "Lays the items out in a row (`horizontal`) or a column (`vertical`)."
11035
+ },
11036
+ {
11037
+ "name": "value",
11038
+ "type": "string",
11039
+ "required": false,
11040
+ "default": null,
11041
+ "description": "The chosen option, when you control it."
11042
+ },
11043
+ {
11044
+ "name": "variant",
11045
+ "type": "\"default\" | \"cards\"",
11046
+ "required": false,
11047
+ "default": "default",
11048
+ "description": "A plain list of radios, or rows inside a settings group with the radio at the end (`cards`)."
11049
+ }
11050
+ ],
11051
+ "file": "src/components/radio/radio.tsx"
10558
11052
  }
10559
11053
  ],
10560
11054
  "variants": {
@@ -11470,6 +11964,10 @@
11470
11964
  "defaults": {
11471
11965
  "row": "default"
11472
11966
  }
11967
+ },
11968
+ "SETTINGS_SECTION": {
11969
+ "axes": {},
11970
+ "defaults": {}
11473
11971
  }
11474
11972
  }
11475
11973
  },
@@ -12374,7 +12872,15 @@
12374
12872
  {
12375
12873
  "name": "Table",
12376
12874
  "description": "A plain table for small amounts of data; use `DataTable` for sorting, selection and many rows.",
12377
- "props": [],
12875
+ "props": [
12876
+ {
12877
+ "name": "density",
12878
+ "type": "\"default\" | \"compact\"",
12879
+ "required": false,
12880
+ "default": "default",
12881
+ "description": "12px between columns (`default`), or 8px (`compact`) for reference tables of five or more columns."
12882
+ }
12883
+ ],
12378
12884
  "file": "src/components/table/table.tsx"
12379
12885
  }
12380
12886
  ],
@@ -12384,10 +12890,15 @@
12384
12890
  "align": {
12385
12891
  "start": "Text (default)",
12386
12892
  "end": "Numbers"
12893
+ },
12894
+ "density": {
12895
+ "default": "12px between columns (default)",
12896
+ "compact": "8px between columns, for reference tables of five or more columns"
12387
12897
  }
12388
12898
  },
12389
12899
  "defaults": {
12390
- "align": "start"
12900
+ "align": "start",
12901
+ "density": "default"
12391
12902
  }
12392
12903
  }
12393
12904
  }
@@ -12497,6 +13008,17 @@
12497
13008
  }
12498
13009
  ],
12499
13010
  "variants": {
13011
+ "PILL_TABS": {
13012
+ "axes": {
13013
+ "variant": {
13014
+ "underline": "Underline tabs for detail pages: 40px, a 2px ink indicator that slides",
13015
+ "pill": "Header tabs: separate 32px pills, the active one filled"
13016
+ }
13017
+ },
13018
+ "defaults": {
13019
+ "variant": "pill"
13020
+ }
13021
+ },
12500
13022
  "TABS": {
12501
13023
  "axes": {
12502
13024
  "variant": {
@@ -12743,7 +13265,7 @@
12743
13265
  },
12744
13266
  {
12745
13267
  "name": "variant",
12746
- "type": "\"title\" | \"display\" | \"title-sm\" | \"title-lg\" | \"body\" | \"caption\" | \"small\" | \"micro\" | \"body-lg\" | \"metric\"",
13268
+ "type": "\"title\" | \"display\" | \"caption\" | \"title-sm\" | \"title-lg\" | \"body\" | \"small\" | \"micro\" | \"body-lg\" | \"metric\"",
12747
13269
  "required": false,
12748
13270
  "default": "body",
12749
13271
  "description": "The type style, from `micro` to `display`."
@@ -12880,6 +13402,27 @@
12880
13402
  "name": "ThemeMenu",
12881
13403
  "description": "System, light or dark, stored as `kaeso:theme`.",
12882
13404
  "props": [
13405
+ {
13406
+ "name": "align",
13407
+ "type": "\"start\" | \"end\"",
13408
+ "required": false,
13409
+ "default": "end",
13410
+ "description": "Which edge of the button the menu lines up with: its end (`end`) or its start (`start`), for a button at the left edge."
13411
+ },
13412
+ {
13413
+ "name": "data-force",
13414
+ "type": "string",
13415
+ "required": false,
13416
+ "default": null,
13417
+ "description": "Forces an interaction state for state matrices: `hover`, `pressed`, `focus`, `open`."
13418
+ },
13419
+ {
13420
+ "name": "side",
13421
+ "type": "\"top\" | \"bottom\"",
13422
+ "required": false,
13423
+ "default": "bottom",
13424
+ "description": "Where the menu opens: below the button (`bottom`), or above it (`top`) when the button sits at the foot of a sidebar."
13425
+ },
12883
13426
  {
12884
13427
  "name": "size",
12885
13428
  "type": "\"md\" | \"sm\"",
@@ -12979,6 +13522,62 @@
12979
13522
  }
12980
13523
  }
12981
13524
  },
13525
+ {
13526
+ "entry": "thumbnail",
13527
+ "kind": "components",
13528
+ "import": "@logicplanes/kaeso-ui/thumbnail",
13529
+ "components": [
13530
+ {
13531
+ "name": "Thumbnail",
13532
+ "description": "A square image someone sent, such as a photo in a conversation: cropped to fill, on a well with radius 14; when it can't load, its text alternative shows instead.",
13533
+ "props": [
13534
+ {
13535
+ "name": "alt",
13536
+ "type": "string",
13537
+ "required": true,
13538
+ "default": null,
13539
+ "description": "What the image shows, read by screen readers and shown in its place when it can't load."
13540
+ },
13541
+ {
13542
+ "name": "src",
13543
+ "type": "string",
13544
+ "required": true,
13545
+ "default": null,
13546
+ "description": "The image's address, including a data: URL."
13547
+ },
13548
+ {
13549
+ "name": "className",
13550
+ "type": "string",
13551
+ "required": false,
13552
+ "default": null,
13553
+ "description": "Classes for the layout of the outer element: margin, width and placement, never its look."
13554
+ },
13555
+ {
13556
+ "name": "size",
13557
+ "type": "\"md\" | \"sm\" | \"lg\"",
13558
+ "required": false,
13559
+ "default": "md",
13560
+ "description": "The width and height: 64, 120 or 160 pixels."
13561
+ }
13562
+ ],
13563
+ "file": "src/components/thumbnail/thumbnail.tsx"
13564
+ }
13565
+ ],
13566
+ "variants": {
13567
+ "THUMBNAIL": {
13568
+ "axes": {
13569
+ "size": {
13570
+ "sm": "64px: a row or a compact list",
13571
+ "md": "120px: an image inside a message (default)",
13572
+ "lg": "160px: an image a page is about"
13573
+ }
13574
+ },
13575
+ "defaults": {
13576
+ "size": "md"
13577
+ }
13578
+ }
13579
+ }
13580
+ },
12982
13581
  {
12983
13582
  "entry": "timeline",
12984
13583
  "kind": "components",
@@ -13036,14 +13635,14 @@
13036
13635
  "name": "limit",
13037
13636
  "type": "number",
13038
13637
  "required": false,
13039
- "default": null,
13638
+ "default": "3",
13040
13639
  "description": "How many toasts show at once."
13041
13640
  },
13042
13641
  {
13043
13642
  "name": "timeout",
13044
13643
  "type": "number",
13045
13644
  "required": false,
13046
- "default": null,
13645
+ "default": "5000",
13047
13646
  "description": "How long a toast stays, in milliseconds."
13048
13647
  }
13049
13648
  ],
@@ -13296,7 +13895,7 @@
13296
13895
  "name": "shape",
13297
13896
  "type": "\"pill\" | \"multiline\"",
13298
13897
  "required": false,
13299
- "default": null,
13898
+ "default": "pill",
13300
13899
  "description": "A pill for a short label, or a box for several lines."
13301
13900
  },
13302
13901
  {