@logicplanes/kaeso-ui 0.1.0

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 (660) hide show
  1. package/AGENTS.md +124 -0
  2. package/CLAUDE.md +3 -0
  3. package/LICENSE +21 -0
  4. package/NOTICE.md +5 -0
  5. package/README.md +43 -0
  6. package/ai/component-guides.md +4760 -0
  7. package/ai/component-registry.json +12626 -0
  8. package/ai/component-registry.md +2950 -0
  9. package/ai/icons.md +28 -0
  10. package/ai/tokens.md +207 -0
  11. package/dist/blocks/delete-resource.js +35 -0
  12. package/dist/blocks/delete-resource.js.map +1 -0
  13. package/dist/blocks/pages.js +70 -0
  14. package/dist/blocks/pages.js.map +1 -0
  15. package/dist/blocks/resource-list.js +68 -0
  16. package/dist/blocks/resource-list.js.map +1 -0
  17. package/dist/chunks/app-frame-BBIMch8X.js +224 -0
  18. package/dist/chunks/app-frame-BBIMch8X.js.map +1 -0
  19. package/dist/chunks/arrow-focus-BcySmwwU.js +11 -0
  20. package/dist/chunks/arrow-focus-BcySmwwU.js.map +1 -0
  21. package/dist/chunks/avatar-D2nJNbtC.js +83 -0
  22. package/dist/chunks/avatar-D2nJNbtC.js.map +1 -0
  23. package/dist/chunks/badge-Dkyhs0_j.js +26 -0
  24. package/dist/chunks/badge-Dkyhs0_j.js.map +1 -0
  25. package/dist/chunks/banner-BiziJuBZ.js +85 -0
  26. package/dist/chunks/banner-BiziJuBZ.js.map +1 -0
  27. package/dist/chunks/button-BHKAE6ui.js +164 -0
  28. package/dist/chunks/button-BHKAE6ui.js.map +1 -0
  29. package/dist/chunks/calendar-B5SSTE56.js +104 -0
  30. package/dist/chunks/calendar-B5SSTE56.js.map +1 -0
  31. package/dist/chunks/checkbox-BgRdbfCE.js +124 -0
  32. package/dist/chunks/checkbox-BgRdbfCE.js.map +1 -0
  33. package/dist/chunks/cn-CidVUKMm.js +669 -0
  34. package/dist/chunks/cn-CidVUKMm.js.map +1 -0
  35. package/dist/chunks/code-DDyOlIFO.js +23 -0
  36. package/dist/chunks/code-DDyOlIFO.js.map +1 -0
  37. package/dist/chunks/code-block-BbK6E4Eo.js +273 -0
  38. package/dist/chunks/code-block-BbK6E4Eo.js.map +1 -0
  39. package/dist/chunks/collapsible-Cw_1aem5.js +87 -0
  40. package/dist/chunks/collapsible-Cw_1aem5.js.map +1 -0
  41. package/dist/chunks/combobox-D8pQk22r.js +291 -0
  42. package/dist/chunks/combobox-D8pQk22r.js.map +1 -0
  43. package/dist/chunks/context-BELWW79w.js +20 -0
  44. package/dist/chunks/context-BELWW79w.js.map +1 -0
  45. package/dist/chunks/copy-button-mAzHjYXq.js +109 -0
  46. package/dist/chunks/copy-button-mAzHjYXq.js.map +1 -0
  47. package/dist/chunks/core-Bgefcs3z.js +467 -0
  48. package/dist/chunks/core-Bgefcs3z.js.map +1 -0
  49. package/dist/chunks/date-popup-Er1oQwtU.js +35 -0
  50. package/dist/chunks/date-popup-Er1oQwtU.js.map +1 -0
  51. package/dist/chunks/de-BCg1eRVd.js +384 -0
  52. package/dist/chunks/de-BCg1eRVd.js.map +1 -0
  53. package/dist/chunks/dev-CR1p7gCm.js +30 -0
  54. package/dist/chunks/dev-CR1p7gCm.js.map +1 -0
  55. package/dist/chunks/dialog-CVqSVk3T.js +283 -0
  56. package/dist/chunks/dialog-CVqSVk3T.js.map +1 -0
  57. package/dist/chunks/empty-DIbBpytW.js +38 -0
  58. package/dist/chunks/empty-DIbBpytW.js.map +1 -0
  59. package/dist/chunks/field-d8V94bvZ.js +119 -0
  60. package/dist/chunks/field-d8V94bvZ.js.map +1 -0
  61. package/dist/chunks/field-press-DwzBFafd.js +10 -0
  62. package/dist/chunks/field-press-DwzBFafd.js.map +1 -0
  63. package/dist/chunks/i18n-0RW0IAf3.js +10 -0
  64. package/dist/chunks/i18n-0RW0IAf3.js.map +1 -0
  65. package/dist/chunks/icon-Bha63LaN.js +90 -0
  66. package/dist/chunks/icon-Bha63LaN.js.map +1 -0
  67. package/dist/chunks/icon-CeNQtobn.js +47 -0
  68. package/dist/chunks/icon-CeNQtobn.js.map +1 -0
  69. package/dist/chunks/icon-button-Bw67oKtx.js +50 -0
  70. package/dist/chunks/icon-button-Bw67oKtx.js.map +1 -0
  71. package/dist/chunks/identity-DQinp-Ep.js +342 -0
  72. package/dist/chunks/identity-DQinp-Ep.js.map +1 -0
  73. package/dist/chunks/input-Biakz6GB.js +114 -0
  74. package/dist/chunks/input-Biakz6GB.js.map +1 -0
  75. package/dist/chunks/input-group-DQqEPFj_.js +87 -0
  76. package/dist/chunks/input-group-DQqEPFj_.js.map +1 -0
  77. package/dist/chunks/inset-BLMdxX4I.js +18 -0
  78. package/dist/chunks/inset-BLMdxX4I.js.map +1 -0
  79. package/dist/chunks/iso-field-CznqNVrH.js +31 -0
  80. package/dist/chunks/iso-field-CznqNVrH.js.map +1 -0
  81. package/dist/chunks/json-view-B6KHIWzh.js +174 -0
  82. package/dist/chunks/json-view-B6KHIWzh.js.map +1 -0
  83. package/dist/chunks/kbd-CBcBDvqU.js +132 -0
  84. package/dist/chunks/kbd-CBcBDvqU.js.map +1 -0
  85. package/dist/chunks/labelled-D5udSPUI.js +16 -0
  86. package/dist/chunks/labelled-D5udSPUI.js.map +1 -0
  87. package/dist/chunks/link-provider---9JdxTg.js +27 -0
  88. package/dist/chunks/link-provider---9JdxTg.js.map +1 -0
  89. package/dist/chunks/link-tTapNTpM.js +47 -0
  90. package/dist/chunks/link-tTapNTpM.js.map +1 -0
  91. package/dist/chunks/list-CN8pO8lv.js +475 -0
  92. package/dist/chunks/list-CN8pO8lv.js.map +1 -0
  93. package/dist/chunks/loader-CUehxvSZ.js +57 -0
  94. package/dist/chunks/loader-CUehxvSZ.js.map +1 -0
  95. package/dist/chunks/logo-VmXYhIJL.js +149 -0
  96. package/dist/chunks/logo-VmXYhIJL.js.map +1 -0
  97. package/dist/chunks/markdown-C-iJsYnd.js +313 -0
  98. package/dist/chunks/markdown-C-iJsYnd.js.map +1 -0
  99. package/dist/chunks/menu-OURWt_hD.js +447 -0
  100. package/dist/chunks/menu-OURWt_hD.js.map +1 -0
  101. package/dist/chunks/message-BxTkh1oA.js +49 -0
  102. package/dist/chunks/message-BxTkh1oA.js.map +1 -0
  103. package/dist/chunks/meter-DWhyzFGQ.js +84 -0
  104. package/dist/chunks/meter-DWhyzFGQ.js.map +1 -0
  105. package/dist/chunks/page-header-BIRswR73.js +41 -0
  106. package/dist/chunks/page-header-BIRswR73.js.map +1 -0
  107. package/dist/chunks/pagination-DYdLm18-.js +85 -0
  108. package/dist/chunks/pagination-DYdLm18-.js.map +1 -0
  109. package/dist/chunks/popover-BE7VO-a4.js +50 -0
  110. package/dist/chunks/popover-BE7VO-a4.js.map +1 -0
  111. package/dist/chunks/popover-root-D3q89WNF.js +26 -0
  112. package/dist/chunks/popover-root-D3q89WNF.js.map +1 -0
  113. package/dist/chunks/portal-context-BBbzDKmY.js +33 -0
  114. package/dist/chunks/portal-context-BBbzDKmY.js.map +1 -0
  115. package/dist/chunks/radio-CUxbLCvD.js +110 -0
  116. package/dist/chunks/radio-CUxbLCvD.js.map +1 -0
  117. package/dist/chunks/range-popup-AbRzgHtY.js +111 -0
  118. package/dist/chunks/range-popup-AbRzgHtY.js.map +1 -0
  119. package/dist/chunks/restore-focus-Cap1Q-R3.js +19 -0
  120. package/dist/chunks/restore-focus-Cap1Q-R3.js.map +1 -0
  121. package/dist/chunks/rights-CXo7zEf6.js +279 -0
  122. package/dist/chunks/rights-CXo7zEf6.js.map +1 -0
  123. package/dist/chunks/safe-href-G5DBNVwm.js +13 -0
  124. package/dist/chunks/safe-href-G5DBNVwm.js.map +1 -0
  125. package/dist/chunks/scroll-parent-WXvzQcUo.js +14 -0
  126. package/dist/chunks/scroll-parent-WXvzQcUo.js.map +1 -0
  127. package/dist/chunks/section-XStLtXKa.js +87 -0
  128. package/dist/chunks/section-XStLtXKa.js.map +1 -0
  129. package/dist/chunks/segmented-CDTx2n29.js +113 -0
  130. package/dist/chunks/segmented-CDTx2n29.js.map +1 -0
  131. package/dist/chunks/select-Ca3HGsN1.js +223 -0
  132. package/dist/chunks/select-Ca3HGsN1.js.map +1 -0
  133. package/dist/chunks/separator-D5AzVFTS.js +45 -0
  134. package/dist/chunks/separator-D5AzVFTS.js.map +1 -0
  135. package/dist/chunks/sidebar-C4fL_KMm.js +599 -0
  136. package/dist/chunks/sidebar-C4fL_KMm.js.map +1 -0
  137. package/dist/chunks/sidebar-menu-sd9vCpDy.js +33 -0
  138. package/dist/chunks/sidebar-menu-sd9vCpDy.js.map +1 -0
  139. package/dist/chunks/skeleton-kfuqdl1a.js +36 -0
  140. package/dist/chunks/skeleton-kfuqdl1a.js.map +1 -0
  141. package/dist/chunks/slider-DbhjJ3ML.js +57 -0
  142. package/dist/chunks/slider-DbhjJ3ML.js.map +1 -0
  143. package/dist/chunks/status-dot-CBoQpyL4.js +25 -0
  144. package/dist/chunks/status-dot-CBoQpyL4.js.map +1 -0
  145. package/dist/chunks/styles-Btvg2DCf.js +21 -0
  146. package/dist/chunks/styles-Btvg2DCf.js.map +1 -0
  147. package/dist/chunks/swap-text-BhPI8DOf.js +28 -0
  148. package/dist/chunks/swap-text-BhPI8DOf.js.map +1 -0
  149. package/dist/chunks/switch-CztLhA8F.js +59 -0
  150. package/dist/chunks/switch-CztLhA8F.js.map +1 -0
  151. package/dist/chunks/table-DYKa86af.js +67 -0
  152. package/dist/chunks/table-DYKa86af.js.map +1 -0
  153. package/dist/chunks/tag-BsmQ1xPj.js +87 -0
  154. package/dist/chunks/tag-BsmQ1xPj.js.map +1 -0
  155. package/dist/chunks/text-BPglS3vq.js +63 -0
  156. package/dist/chunks/text-BPglS3vq.js.map +1 -0
  157. package/dist/chunks/textarea-Bvk7N2bh.js +156 -0
  158. package/dist/chunks/textarea-Bvk7N2bh.js.map +1 -0
  159. package/dist/chunks/theme-provider-mgUaQK7L.js +69 -0
  160. package/dist/chunks/theme-provider-mgUaQK7L.js.map +1 -0
  161. package/dist/chunks/tone-CWpsHPb6.js +11 -0
  162. package/dist/chunks/tone-CWpsHPb6.js.map +1 -0
  163. package/dist/chunks/toolbar-Dw3uxpsE.js +36 -0
  164. package/dist/chunks/toolbar-Dw3uxpsE.js.map +1 -0
  165. package/dist/chunks/tooltip-CDu00nzg.js +124 -0
  166. package/dist/chunks/tooltip-CDu00nzg.js.map +1 -0
  167. package/dist/chunks/tooltip-root-DWhtAtFb.js +60 -0
  168. package/dist/chunks/tooltip-root-DWhtAtFb.js.map +1 -0
  169. package/dist/chunks/use-controllable-B5Fd12Bx.js +13 -0
  170. package/dist/chunks/use-controllable-B5Fd12Bx.js.map +1 -0
  171. package/dist/chunks/use-copy-Dm2ncvMX.js +24 -0
  172. package/dist/chunks/use-copy-Dm2ncvMX.js.map +1 -0
  173. package/dist/chunks/use-layout-width-DZaLOQMT.js +27 -0
  174. package/dist/chunks/use-layout-width-DZaLOQMT.js.map +1 -0
  175. package/dist/chunks/use-scroll-margin-DWcfIXac.js +25 -0
  176. package/dist/chunks/use-scroll-margin-DWcfIXac.js.map +1 -0
  177. package/dist/chunks/use-truncated-DmQoePvG.js +25 -0
  178. package/dist/chunks/use-truncated-DmQoePvG.js.map +1 -0
  179. package/dist/chunks/utils-CdH72WEp.js +8 -0
  180. package/dist/chunks/utils-CdH72WEp.js.map +1 -0
  181. package/dist/chunks/virtual-rows-BgMdVelU.js +37 -0
  182. package/dist/chunks/virtual-rows-BgMdVelU.js.map +1 -0
  183. package/dist/chunks/when-idle-Cy3pinqO.js +12 -0
  184. package/dist/chunks/when-idle-Cy3pinqO.js.map +1 -0
  185. package/dist/chunks/zh-CN-cPjO1OOo.js +384 -0
  186. package/dist/chunks/zh-CN-cPjO1OOo.js.map +1 -0
  187. package/dist/components/app-frame.js +2 -0
  188. package/dist/components/avatar.js +2 -0
  189. package/dist/components/badge.js +2 -0
  190. package/dist/components/banner.js +2 -0
  191. package/dist/components/button-group.js +69 -0
  192. package/dist/components/button-group.js.map +1 -0
  193. package/dist/components/button.js +2 -0
  194. package/dist/components/calendar.js +2 -0
  195. package/dist/components/charts/bar.js +231 -0
  196. package/dist/components/charts/bar.js.map +1 -0
  197. package/dist/components/charts/donut.js +179 -0
  198. package/dist/components/charts/donut.js.map +1 -0
  199. package/dist/components/charts/gauge.js +70 -0
  200. package/dist/components/charts/gauge.js.map +1 -0
  201. package/dist/components/charts/heatmap.js +83 -0
  202. package/dist/components/charts/heatmap.js.map +1 -0
  203. package/dist/components/charts/sankey.js +110 -0
  204. package/dist/components/charts/sankey.js.map +1 -0
  205. package/dist/components/charts/sparkline.js +72 -0
  206. package/dist/components/charts/sparkline.js.map +1 -0
  207. package/dist/components/charts/timeseries.js +253 -0
  208. package/dist/components/charts/timeseries.js.map +1 -0
  209. package/dist/components/charts.js +10 -0
  210. package/dist/components/checkbox.js +2 -0
  211. package/dist/components/code-block.js +4 -0
  212. package/dist/components/code.js +2 -0
  213. package/dist/components/collapsible.js +2 -0
  214. package/dist/components/combobox.js +2 -0
  215. package/dist/components/command-palette.js +216 -0
  216. package/dist/components/command-palette.js.map +1 -0
  217. package/dist/components/copy-button.js +2 -0
  218. package/dist/components/data-table.js +399 -0
  219. package/dist/components/data-table.js.map +1 -0
  220. package/dist/components/date-picker.js +327 -0
  221. package/dist/components/date-picker.js.map +1 -0
  222. package/dist/components/dialog.js +178 -0
  223. package/dist/components/dialog.js.map +1 -0
  224. package/dist/components/display-options.js +112 -0
  225. package/dist/components/display-options.js.map +1 -0
  226. package/dist/components/empty.js +2 -0
  227. package/dist/components/field.js +2 -0
  228. package/dist/components/filter-chip.js +120 -0
  229. package/dist/components/filter-chip.js.map +1 -0
  230. package/dist/components/filter-row.js +35 -0
  231. package/dist/components/filter-row.js.map +1 -0
  232. package/dist/components/flow.js +111 -0
  233. package/dist/components/flow.js.map +1 -0
  234. package/dist/components/heading.js +28 -0
  235. package/dist/components/heading.js.map +1 -0
  236. package/dist/components/icon-button.js +2 -0
  237. package/dist/components/icon.js +4 -0
  238. package/dist/components/input.js +181 -0
  239. package/dist/components/input.js.map +1 -0
  240. package/dist/components/kaeso/conversation.js +204 -0
  241. package/dist/components/kaeso/conversation.js.map +1 -0
  242. package/dist/components/kaeso/identity.js +2 -0
  243. package/dist/components/kaeso/moments.js +122 -0
  244. package/dist/components/kaeso/moments.js.map +1 -0
  245. package/dist/components/kaeso/rights.js +2 -0
  246. package/dist/components/kaeso/usage.js +101 -0
  247. package/dist/components/kaeso/usage.js.map +1 -0
  248. package/dist/components/kaeso.js +186 -0
  249. package/dist/components/kaeso.js.map +1 -0
  250. package/dist/components/kbd.js +2 -0
  251. package/dist/components/key-value.js +73 -0
  252. package/dist/components/key-value.js.map +1 -0
  253. package/dist/components/label.js +26 -0
  254. package/dist/components/label.js.map +1 -0
  255. package/dist/components/layout.js +72 -0
  256. package/dist/components/layout.js.map +1 -0
  257. package/dist/components/link.js +2 -0
  258. package/dist/components/list.js +2 -0
  259. package/dist/components/loader.js +38 -0
  260. package/dist/components/loader.js.map +1 -0
  261. package/dist/components/logo.js +2 -0
  262. package/dist/components/markdown.js +4 -0
  263. package/dist/components/menu.js +4 -0
  264. package/dist/components/meter.js +2 -0
  265. package/dist/components/page-header.js +2 -0
  266. package/dist/components/pagination.js +2 -0
  267. package/dist/components/playground.js +813 -0
  268. package/dist/components/playground.js.map +1 -0
  269. package/dist/components/popover.js +53 -0
  270. package/dist/components/popover.js.map +1 -0
  271. package/dist/components/portal.js +15 -0
  272. package/dist/components/portal.js.map +1 -0
  273. package/dist/components/qr-code.js +38 -0
  274. package/dist/components/qr-code.js.map +1 -0
  275. package/dist/components/radio.js +2 -0
  276. package/dist/components/scroll-area.js +35 -0
  277. package/dist/components/scroll-area.js.map +1 -0
  278. package/dist/components/section.js +2 -0
  279. package/dist/components/segmented.js +2 -0
  280. package/dist/components/select.js +2 -0
  281. package/dist/components/separator.js +2 -0
  282. package/dist/components/settings.js +99 -0
  283. package/dist/components/settings.js.map +1 -0
  284. package/dist/components/sheet.js +94 -0
  285. package/dist/components/sheet.js.map +1 -0
  286. package/dist/components/sidebar.js +2 -0
  287. package/dist/components/skeleton.js +2 -0
  288. package/dist/components/slider.js +2 -0
  289. package/dist/components/stat.js +195 -0
  290. package/dist/components/stat.js.map +1 -0
  291. package/dist/components/status-dot.js +2 -0
  292. package/dist/components/surface.js +26 -0
  293. package/dist/components/surface.js.map +1 -0
  294. package/dist/components/swap-text.js +2 -0
  295. package/dist/components/switch.js +2 -0
  296. package/dist/components/table.js +2 -0
  297. package/dist/components/tabs.js +96 -0
  298. package/dist/components/tabs.js.map +1 -0
  299. package/dist/components/tag.js +2 -0
  300. package/dist/components/text.js +2 -0
  301. package/dist/components/theme-menu.js +50 -0
  302. package/dist/components/theme-menu.js.map +1 -0
  303. package/dist/components/timeline.js +58 -0
  304. package/dist/components/timeline.js.map +1 -0
  305. package/dist/components/toast.js +214 -0
  306. package/dist/components/toast.js.map +1 -0
  307. package/dist/components/toc.js +48 -0
  308. package/dist/components/toc.js.map +1 -0
  309. package/dist/components/toolbar.js +2 -0
  310. package/dist/components/tooltip.js +18 -0
  311. package/dist/components/tooltip.js.map +1 -0
  312. package/dist/components/visually-hidden.js +17 -0
  313. package/dist/components/visually-hidden.js.map +1 -0
  314. package/dist/fonts/LICENSE-GeistMono.txt +93 -0
  315. package/dist/fonts/LICENSE-Inter.txt +93 -0
  316. package/dist/fonts/geist-mono-latin-ext-wght-normal.woff2 +0 -0
  317. package/dist/fonts/geist-mono-latin-wght-normal.woff2 +0 -0
  318. package/dist/fonts/inter-latin-ext-opsz-normal.woff2 +0 -0
  319. package/dist/fonts/inter-latin-opsz-normal.woff2 +0 -0
  320. package/dist/fonts.css +40 -0
  321. package/dist/format.js +178 -0
  322. package/dist/format.js.map +1 -0
  323. package/dist/i18n-locales.js +23 -0
  324. package/dist/i18n-locales.js.map +1 -0
  325. package/dist/i18n-provider.js +30 -0
  326. package/dist/i18n-provider.js.map +1 -0
  327. package/dist/i18n.js +7 -0
  328. package/dist/index.js +153 -0
  329. package/dist/kaeso.css +1099 -0
  330. package/dist/styles.css +2 -0
  331. package/dist/tailwind.css +10 -0
  332. package/dist/theme.js +2 -0
  333. package/dist/types/blocks/delete-resource/delete-resource.d.ts +32 -0
  334. package/dist/types/blocks/delete-resource/docs.d.ts +17 -0
  335. package/dist/types/blocks/delete-resource/index.d.ts +1 -0
  336. package/dist/types/blocks/pages/docs.d.ts +42 -0
  337. package/dist/types/blocks/pages/index.d.ts +1 -0
  338. package/dist/types/blocks/pages/pages.d.ts +65 -0
  339. package/dist/types/blocks/resource-list/docs.d.ts +15 -0
  340. package/dist/types/blocks/resource-list/index.d.ts +1 -0
  341. package/dist/types/blocks/resource-list/resource-list.d.ts +36 -0
  342. package/dist/types/component-docs.d.ts +7 -0
  343. package/dist/types/components/app-frame/app-frame.d.ts +79 -0
  344. package/dist/types/components/app-frame/docs.d.ts +23 -0
  345. package/dist/types/components/app-frame/index.d.ts +1 -0
  346. package/dist/types/components/avatar/avatar.d.ts +60 -0
  347. package/dist/types/components/avatar/docs.d.ts +21 -0
  348. package/dist/types/components/avatar/index.d.ts +1 -0
  349. package/dist/types/components/badge/badge.d.ts +41 -0
  350. package/dist/types/components/badge/docs.d.ts +9 -0
  351. package/dist/types/components/badge/index.d.ts +1 -0
  352. package/dist/types/components/banner/banner.d.ts +51 -0
  353. package/dist/types/components/banner/docs.d.ts +14 -0
  354. package/dist/types/components/banner/index.d.ts +1 -0
  355. package/dist/types/components/button/button.d.ts +116 -0
  356. package/dist/types/components/button/docs.d.ts +23 -0
  357. package/dist/types/components/button/index.d.ts +1 -0
  358. package/dist/types/components/button-group/button-group.d.ts +55 -0
  359. package/dist/types/components/button-group/docs.d.ts +11 -0
  360. package/dist/types/components/button-group/index.d.ts +1 -0
  361. package/dist/types/components/calendar/calendar.d.ts +32 -0
  362. package/dist/types/components/calendar/docs.d.ts +16 -0
  363. package/dist/types/components/calendar/index.d.ts +1 -0
  364. package/dist/types/components/charts/bar.d.ts +39 -0
  365. package/dist/types/components/charts/core.d.ts +167 -0
  366. package/dist/types/components/charts/docs.d.ts +174 -0
  367. package/dist/types/components/charts/donut.d.ts +67 -0
  368. package/dist/types/components/charts/gauge.d.ts +20 -0
  369. package/dist/types/components/charts/heatmap.d.ts +24 -0
  370. package/dist/types/components/charts/index.d.ts +8 -0
  371. package/dist/types/components/charts/sankey.d.ts +29 -0
  372. package/dist/types/components/charts/sparkline.d.ts +18 -0
  373. package/dist/types/components/charts/timeseries.d.ts +47 -0
  374. package/dist/types/components/checkbox/checkbox.d.ts +53 -0
  375. package/dist/types/components/checkbox/docs.d.ts +58 -0
  376. package/dist/types/components/checkbox/index.d.ts +1 -0
  377. package/dist/types/components/code/code.d.ts +24 -0
  378. package/dist/types/components/code/docs.d.ts +8 -0
  379. package/dist/types/components/code/index.d.ts +1 -0
  380. package/dist/types/components/code-block/code-block.d.ts +37 -0
  381. package/dist/types/components/code-block/docs.d.ts +41 -0
  382. package/dist/types/components/code-block/highlighter.d.ts +23 -0
  383. package/dist/types/components/code-block/index.d.ts +4 -0
  384. package/dist/types/components/code-block/json-view.d.ts +23 -0
  385. package/dist/types/components/code-block/kaeso-theme.d.ts +66 -0
  386. package/dist/types/components/collapsible/collapsible.d.ts +39 -0
  387. package/dist/types/components/collapsible/docs.d.ts +21 -0
  388. package/dist/types/components/collapsible/index.d.ts +1 -0
  389. package/dist/types/components/combobox/combobox.d.ts +86 -0
  390. package/dist/types/components/combobox/docs.d.ts +62 -0
  391. package/dist/types/components/combobox/index.d.ts +1 -0
  392. package/dist/types/components/command-palette/command-palette.d.ts +44 -0
  393. package/dist/types/components/command-palette/docs.d.ts +17 -0
  394. package/dist/types/components/command-palette/index.d.ts +1 -0
  395. package/dist/types/components/copy-button/copy-button.d.ts +85 -0
  396. package/dist/types/components/copy-button/docs.d.ts +30 -0
  397. package/dist/types/components/copy-button/index.d.ts +1 -0
  398. package/dist/types/components/data-table/columns.d.ts +47 -0
  399. package/dist/types/components/data-table/data-table.d.ts +80 -0
  400. package/dist/types/components/data-table/docs.d.ts +32 -0
  401. package/dist/types/components/data-table/index.d.ts +3 -0
  402. package/dist/types/components/date-picker/date-picker.d.ts +55 -0
  403. package/dist/types/components/date-picker/date-popup.d.ts +9 -0
  404. package/dist/types/components/date-picker/docs.d.ts +73 -0
  405. package/dist/types/components/date-picker/index.d.ts +2 -0
  406. package/dist/types/components/date-picker/iso-field.d.ts +5 -0
  407. package/dist/types/components/date-picker/range-popup.d.ts +13 -0
  408. package/dist/types/components/date-picker/time-input.d.ts +39 -0
  409. package/dist/types/components/dialog/dialog.d.ts +118 -0
  410. package/dist/types/components/dialog/docs.d.ts +70 -0
  411. package/dist/types/components/dialog/focus.d.ts +2 -0
  412. package/dist/types/components/dialog/index.d.ts +2 -0
  413. package/dist/types/components/dialog/step-dialog.d.ts +26 -0
  414. package/dist/types/components/display-options/display-options.d.ts +55 -0
  415. package/dist/types/components/display-options/docs.d.ts +14 -0
  416. package/dist/types/components/display-options/index.d.ts +1 -0
  417. package/dist/types/components/empty/docs.d.ts +12 -0
  418. package/dist/types/components/empty/empty.d.ts +29 -0
  419. package/dist/types/components/empty/index.d.ts +1 -0
  420. package/dist/types/components/field/docs.d.ts +20 -0
  421. package/dist/types/components/field/field.d.ts +78 -0
  422. package/dist/types/components/field/index.d.ts +1 -0
  423. package/dist/types/components/filter-chip/docs.d.ts +19 -0
  424. package/dist/types/components/filter-chip/filter-chip.d.ts +37 -0
  425. package/dist/types/components/filter-chip/index.d.ts +1 -0
  426. package/dist/types/components/filter-row/docs.d.ts +11 -0
  427. package/dist/types/components/filter-row/filter-row.d.ts +23 -0
  428. package/dist/types/components/filter-row/index.d.ts +1 -0
  429. package/dist/types/components/flow/docs.d.ts +12 -0
  430. package/dist/types/components/flow/flow.d.ts +34 -0
  431. package/dist/types/components/flow/index.d.ts +1 -0
  432. package/dist/types/components/heading/docs.d.ts +10 -0
  433. package/dist/types/components/heading/heading.d.ts +30 -0
  434. package/dist/types/components/heading/index.d.ts +1 -0
  435. package/dist/types/components/icon/docs.d.ts +10 -0
  436. package/dist/types/components/icon/icon.d.ts +37 -0
  437. package/dist/types/components/icon/index.d.ts +2 -0
  438. package/dist/types/components/icon-button/docs.d.ts +17 -0
  439. package/dist/types/components/icon-button/icon-button.d.ts +75 -0
  440. package/dist/types/components/icon-button/index.d.ts +1 -0
  441. package/dist/types/components/input/decimal.d.ts +11 -0
  442. package/dist/types/components/input/docs.d.ts +149 -0
  443. package/dist/types/components/input/index.d.ts +8 -0
  444. package/dist/types/components/input/input-group.d.ts +55 -0
  445. package/dist/types/components/input/input.d.ts +45 -0
  446. package/dist/types/components/input/number-input.d.ts +28 -0
  447. package/dist/types/components/input/otp-input.d.ts +27 -0
  448. package/dist/types/components/input/sensitive-input.d.ts +21 -0
  449. package/dist/types/components/input/tag-input.d.ts +27 -0
  450. package/dist/types/components/input/textarea.d.ts +25 -0
  451. package/dist/types/components/kaeso/conversation.d.ts +58 -0
  452. package/dist/types/components/kaeso/docs.d.ts +139 -0
  453. package/dist/types/components/kaeso/effective-access.d.ts +21 -0
  454. package/dist/types/components/kaeso/identity.d.ts +70 -0
  455. package/dist/types/components/kaeso/index.d.ts +8 -0
  456. package/dist/types/components/kaeso/moments.d.ts +30 -0
  457. package/dist/types/components/kaeso/provider-marks.d.ts +1 -0
  458. package/dist/types/components/kaeso/rights-logic.d.ts +13 -0
  459. package/dist/types/components/kaeso/rights.d.ts +69 -0
  460. package/dist/types/components/kaeso/role-picker.d.ts +38 -0
  461. package/dist/types/components/kaeso/usage.d.ts +35 -0
  462. package/dist/types/components/kbd/docs.d.ts +16 -0
  463. package/dist/types/components/kbd/index.d.ts +1 -0
  464. package/dist/types/components/kbd/kbd.d.ts +31 -0
  465. package/dist/types/components/key-value/docs.d.ts +10 -0
  466. package/dist/types/components/key-value/index.d.ts +1 -0
  467. package/dist/types/components/key-value/key-value.d.ts +50 -0
  468. package/dist/types/components/label/docs.d.ts +10 -0
  469. package/dist/types/components/label/index.d.ts +1 -0
  470. package/dist/types/components/label/label.d.ts +22 -0
  471. package/dist/types/components/layout/docs.d.ts +30 -0
  472. package/dist/types/components/layout/index.d.ts +1 -0
  473. package/dist/types/components/layout/layout.d.ts +100 -0
  474. package/dist/types/components/link/docs.d.ts +11 -0
  475. package/dist/types/components/link/index.d.ts +1 -0
  476. package/dist/types/components/link/link.d.ts +27 -0
  477. package/dist/types/components/list/docs.d.ts +75 -0
  478. package/dist/types/components/list/index.d.ts +1 -0
  479. package/dist/types/components/list/list.d.ts +119 -0
  480. package/dist/types/components/list/row-checkbox.d.ts +5 -0
  481. package/dist/types/components/list/virtual-rows.d.ts +10 -0
  482. package/dist/types/components/loader/docs.d.ts +21 -0
  483. package/dist/types/components/loader/index.d.ts +2 -0
  484. package/dist/types/components/loader/loader.d.ts +35 -0
  485. package/dist/types/components/loader/status.d.ts +55 -0
  486. package/dist/types/components/logo/docs.d.ts +10 -0
  487. package/dist/types/components/logo/index.d.ts +1 -0
  488. package/dist/types/components/logo/logo.d.ts +59 -0
  489. package/dist/types/components/logo/paths.d.ts +16 -0
  490. package/dist/types/components/markdown/docs.d.ts +15 -0
  491. package/dist/types/components/markdown/index.d.ts +1 -0
  492. package/dist/types/components/markdown/markdown.d.ts +54 -0
  493. package/dist/types/components/menu/docs.d.ts +19 -0
  494. package/dist/types/components/menu/index.d.ts +2 -0
  495. package/dist/types/components/menu/menu.d.ts +213 -0
  496. package/dist/types/components/menu/styles.d.ts +7 -0
  497. package/dist/types/components/meter/docs.d.ts +23 -0
  498. package/dist/types/components/meter/index.d.ts +1 -0
  499. package/dist/types/components/meter/meter.d.ts +51 -0
  500. package/dist/types/components/page-header/docs.d.ts +12 -0
  501. package/dist/types/components/page-header/index.d.ts +1 -0
  502. package/dist/types/components/page-header/page-header.d.ts +22 -0
  503. package/dist/types/components/pagination/docs.d.ts +17 -0
  504. package/dist/types/components/pagination/index.d.ts +1 -0
  505. package/dist/types/components/pagination/pagination.d.ts +33 -0
  506. package/dist/types/components/playground/compare-grid.d.ts +41 -0
  507. package/dist/types/components/playground/composer.d.ts +40 -0
  508. package/dist/types/components/playground/docs.d.ts +141 -0
  509. package/dist/types/components/playground/index.d.ts +7 -0
  510. package/dist/types/components/playground/model-picker.d.ts +37 -0
  511. package/dist/types/components/playground/parameter-panel.d.ts +52 -0
  512. package/dist/types/components/playground/prompt-suggestions.d.ts +23 -0
  513. package/dist/types/components/playground/response-metrics.d.ts +30 -0
  514. package/dist/types/components/playground/response-view.d.ts +55 -0
  515. package/dist/types/components/popover/docs.d.ts +21 -0
  516. package/dist/types/components/popover/hover-card.d.ts +24 -0
  517. package/dist/types/components/popover/index.d.ts +2 -0
  518. package/dist/types/components/popover/popover-root.d.ts +24 -0
  519. package/dist/types/components/popover/popover.d.ts +40 -0
  520. package/dist/types/components/portal/docs.d.ts +9 -0
  521. package/dist/types/components/portal/index.d.ts +1 -0
  522. package/dist/types/components/portal/portal.d.ts +11 -0
  523. package/dist/types/components/qr-code/docs.d.ts +10 -0
  524. package/dist/types/components/qr-code/index.d.ts +1 -0
  525. package/dist/types/components/qr-code/qr-code.d.ts +22 -0
  526. package/dist/types/components/radio/docs.d.ts +42 -0
  527. package/dist/types/components/radio/index.d.ts +1 -0
  528. package/dist/types/components/radio/labelled.d.ts +13 -0
  529. package/dist/types/components/radio/radio.d.ts +51 -0
  530. package/dist/types/components/scroll-area/docs.d.ts +11 -0
  531. package/dist/types/components/scroll-area/index.d.ts +1 -0
  532. package/dist/types/components/scroll-area/scroll-area.d.ts +28 -0
  533. package/dist/types/components/section/docs.d.ts +28 -0
  534. package/dist/types/components/section/index.d.ts +1 -0
  535. package/dist/types/components/section/section.d.ts +37 -0
  536. package/dist/types/components/segmented/docs.d.ts +15 -0
  537. package/dist/types/components/segmented/index.d.ts +1 -0
  538. package/dist/types/components/segmented/segmented.d.ts +37 -0
  539. package/dist/types/components/select/docs.d.ts +32 -0
  540. package/dist/types/components/select/index.d.ts +1 -0
  541. package/dist/types/components/select/select.d.ts +82 -0
  542. package/dist/types/components/separator/docs.d.ts +10 -0
  543. package/dist/types/components/separator/index.d.ts +1 -0
  544. package/dist/types/components/separator/separator.d.ts +33 -0
  545. package/dist/types/components/settings/docs.d.ts +32 -0
  546. package/dist/types/components/settings/index.d.ts +1 -0
  547. package/dist/types/components/settings/settings.d.ts +45 -0
  548. package/dist/types/components/sheet/docs.d.ts +20 -0
  549. package/dist/types/components/sheet/index.d.ts +1 -0
  550. package/dist/types/components/sheet/sheet.d.ts +51 -0
  551. package/dist/types/components/sidebar/docs.d.ts +20 -0
  552. package/dist/types/components/sidebar/index.d.ts +1 -0
  553. package/dist/types/components/sidebar/sidebar-menu.d.ts +16 -0
  554. package/dist/types/components/sidebar/sidebar.d.ts +178 -0
  555. package/dist/types/components/skeleton/docs.d.ts +14 -0
  556. package/dist/types/components/skeleton/index.d.ts +1 -0
  557. package/dist/types/components/skeleton/skeleton.d.ts +31 -0
  558. package/dist/types/components/slider/docs.d.ts +20 -0
  559. package/dist/types/components/slider/index.d.ts +1 -0
  560. package/dist/types/components/slider/slider.d.ts +29 -0
  561. package/dist/types/components/stat/docs.d.ts +35 -0
  562. package/dist/types/components/stat/index.d.ts +1 -0
  563. package/dist/types/components/stat/stat.d.ts +68 -0
  564. package/dist/types/components/status-dot/docs.d.ts +18 -0
  565. package/dist/types/components/status-dot/index.d.ts +1 -0
  566. package/dist/types/components/status-dot/status-dot.d.ts +36 -0
  567. package/dist/types/components/surface/docs.d.ts +8 -0
  568. package/dist/types/components/surface/index.d.ts +1 -0
  569. package/dist/types/components/surface/surface.d.ts +44 -0
  570. package/dist/types/components/swap-text/docs.d.ts +10 -0
  571. package/dist/types/components/swap-text/index.d.ts +1 -0
  572. package/dist/types/components/swap-text/swap-text.d.ts +22 -0
  573. package/dist/types/components/switch/docs.d.ts +21 -0
  574. package/dist/types/components/switch/index.d.ts +1 -0
  575. package/dist/types/components/switch/switch.d.ts +39 -0
  576. package/dist/types/components/table/docs.d.ts +6 -0
  577. package/dist/types/components/table/index.d.ts +1 -0
  578. package/dist/types/components/table/table.d.ts +30 -0
  579. package/dist/types/components/tabs/docs.d.ts +22 -0
  580. package/dist/types/components/tabs/index.d.ts +1 -0
  581. package/dist/types/components/tabs/tabs.d.ts +61 -0
  582. package/dist/types/components/tag/docs.d.ts +30 -0
  583. package/dist/types/components/tag/index.d.ts +1 -0
  584. package/dist/types/components/tag/tag.d.ts +63 -0
  585. package/dist/types/components/text/docs.d.ts +15 -0
  586. package/dist/types/components/text/index.d.ts +1 -0
  587. package/dist/types/components/text/text.d.ts +111 -0
  588. package/dist/types/components/theme-menu/docs.d.ts +9 -0
  589. package/dist/types/components/theme-menu/index.d.ts +1 -0
  590. package/dist/types/components/theme-menu/theme-menu.d.ts +22 -0
  591. package/dist/types/components/timeline/docs.d.ts +8 -0
  592. package/dist/types/components/timeline/index.d.ts +1 -0
  593. package/dist/types/components/timeline/timeline.d.ts +41 -0
  594. package/dist/types/components/toast/docs.d.ts +26 -0
  595. package/dist/types/components/toast/index.d.ts +1 -0
  596. package/dist/types/components/toast/toast.d.ts +91 -0
  597. package/dist/types/components/toc/docs.d.ts +10 -0
  598. package/dist/types/components/toc/index.d.ts +1 -0
  599. package/dist/types/components/toc/toc.d.ts +27 -0
  600. package/dist/types/components/toolbar/docs.d.ts +9 -0
  601. package/dist/types/components/toolbar/index.d.ts +1 -0
  602. package/dist/types/components/toolbar/toolbar.d.ts +28 -0
  603. package/dist/types/components/tooltip/docs.d.ts +33 -0
  604. package/dist/types/components/tooltip/index.d.ts +2 -0
  605. package/dist/types/components/tooltip/tooltip-provider.d.ts +8 -0
  606. package/dist/types/components/tooltip/tooltip-root.d.ts +9 -0
  607. package/dist/types/components/tooltip/tooltip.d.ts +60 -0
  608. package/dist/types/components/tooltip/trigger-props.d.ts +23 -0
  609. package/dist/types/components/visually-hidden/docs.d.ts +6 -0
  610. package/dist/types/components/visually-hidden/index.d.ts +1 -0
  611. package/dist/types/components/visually-hidden/visually-hidden.d.ts +4 -0
  612. package/dist/types/format/index.d.ts +26 -0
  613. package/dist/types/hooks/scroll-parent.d.ts +1 -0
  614. package/dist/types/hooks/use-copy.d.ts +4 -0
  615. package/dist/types/hooks/use-indicator.d.ts +9 -0
  616. package/dist/types/hooks/use-layout-width.d.ts +3 -0
  617. package/dist/types/hooks/use-scroll-margin.d.ts +2 -0
  618. package/dist/types/hooks/use-stored-state.d.ts +1 -0
  619. package/dist/types/hooks/use-truncated.d.ts +2 -0
  620. package/dist/types/i18n/context.d.ts +11 -0
  621. package/dist/types/i18n/index.d.ts +5 -0
  622. package/dist/types/i18n/locale-names.d.ts +2 -0
  623. package/dist/types/i18n/locale-tags.d.ts +4 -0
  624. package/dist/types/i18n/locales/de.d.ts +2 -0
  625. package/dist/types/i18n/locales/en.d.ts +2 -0
  626. package/dist/types/i18n/locales/zh-CN.d.ts +2 -0
  627. package/dist/types/i18n/message.d.ts +2 -0
  628. package/dist/types/i18n/provider.d.ts +10 -0
  629. package/dist/types/icons/groups.d.ts +8 -0
  630. package/dist/types/icons/vocabulary.d.ts +413 -0
  631. package/dist/types/index.d.ts +79 -0
  632. package/dist/types/theme/index.d.ts +1 -0
  633. package/dist/types/theme/theme-provider.d.ts +22 -0
  634. package/dist/types/utils/arrow-focus.d.ts +2 -0
  635. package/dist/types/utils/cn.d.ts +370 -0
  636. package/dist/types/utils/dev.d.ts +4 -0
  637. package/dist/types/utils/field-press.d.ts +2 -0
  638. package/dist/types/utils/index.d.ts +8 -0
  639. package/dist/types/utils/inset.d.ts +6 -0
  640. package/dist/types/utils/lazy-module.d.ts +8 -0
  641. package/dist/types/utils/link-provider.d.ts +15 -0
  642. package/dist/types/utils/portal-context.d.ts +10 -0
  643. package/dist/types/utils/restore-focus.d.ts +4 -0
  644. package/dist/types/utils/safe-href.d.ts +1 -0
  645. package/dist/types/utils/tone.d.ts +2 -0
  646. package/dist/types/utils/use-controllable.d.ts +1 -0
  647. package/dist/types/utils/variants.d.ts +5 -0
  648. package/dist/types/utils/when-idle.d.ts +1 -0
  649. package/dist/utils.js +9 -0
  650. package/foundations/accessibility.md +41 -0
  651. package/foundations/color.md +40 -0
  652. package/foundations/elevation.md +23 -0
  653. package/foundations/icons.md +14 -0
  654. package/foundations/motion.md +39 -0
  655. package/foundations/psychology.md +36 -0
  656. package/foundations/shape.md +41 -0
  657. package/foundations/tokens.md +24 -0
  658. package/foundations/typography.md +35 -0
  659. package/foundations/writing.md +39 -0
  660. package/package.json +144 -0
@@ -0,0 +1,813 @@
1
+ "use client";
2
+ import { t as e } from "../chunks/cn-CidVUKMm.js";
3
+ import { t } from "../chunks/use-controllable-B5Fd12Bx.js";
4
+ import { i as n } from "../chunks/context-BELWW79w.js";
5
+ import { formatDuration as r, formatNumber as i, formatUSD as a } from "../format.js";
6
+ import { t as o } from "../chunks/icon-CeNQtobn.js";
7
+ import { t as s } from "../chunks/use-truncated-DmQoePvG.js";
8
+ import { n as c } from "../chunks/button-BHKAE6ui.js";
9
+ import { t as l } from "../chunks/icon-button-Bw67oKtx.js";
10
+ import { o as u, r as d } from "../chunks/textarea-Bvk7N2bh.js";
11
+ import { r as f } from "../chunks/slider-DbhjJ3ML.js";
12
+ import { r as p } from "../chunks/segmented-CDTx2n29.js";
13
+ import { n as m, r as h } from "../chunks/select-Ca3HGsN1.js";
14
+ import { i as g } from "../chunks/popover-BE7VO-a4.js";
15
+ import { i as _, l as v } from "../chunks/identity-DQinp-Ep.js";
16
+ import { r as y } from "../chunks/markdown-C-iJsYnd.js";
17
+ import { Children as b, createContext as x, forwardRef as S, isValidElement as C, useCallback as w, useContext as T, useEffect as E, useId as D, useLayoutEffect as O, useRef as k, useState as A, useSyncExternalStore as j } from "react";
18
+ import { Fragment as M, jsx as N, jsxs as P } from "react/jsx-runtime";
19
+ import { Add01Icon as F, ArrowLeft01Icon as I, ArrowRight01Icon as L, Cancel01Icon as R, SlidersHorizontalIcon as z } from "@hugeicons/core-free-icons";
20
+ import { Collapsible as B } from "@base-ui/react/collapsible";
21
+ //#region src/components/playground/composer.tsx
22
+ var V = { size: {
23
+ md: { classes: "rounded-frame" },
24
+ sm: { classes: "rounded-frame" }
25
+ } }, H = { size: "md" }, U = "(pointer: coarse)";
26
+ function W(e) {
27
+ if (typeof window > "u" || !window.matchMedia) return () => {};
28
+ let t = window.matchMedia(U);
29
+ return t.addEventListener?.("change", e), () => t.removeEventListener?.("change", e);
30
+ }
31
+ var G = () => typeof window < "u" && !!window.matchMedia?.(U).matches, ee = () => j(W, G, () => !1), K = /* @__PURE__ */ S(function({ value: r, defaultValue: i = "", onValueChange: a, onSubmit: o, onStop: s, submitOn: l = "enter", streaming: u = !1, loading: d = !1, disabled: f = !1, clearOnSubmit: p = !0, placeholder: m, "aria-label": h, maxRows: g = 10, size: _ = "md", actions: v, submitLabel: y, stopLabel: b, autoFocus: x, name: S, "data-force": C, className: T }, E) {
32
+ let D = n(), A = m ?? D("composer.placeholder", "Write a prompt"), j = h ?? D("composer.prompt", "Prompt"), M = y ?? D("composer.send", "Send"), F = b ?? D("composer.stop", "Stop"), [I, L] = t(r, i, a), R = k(null), z = _ === "sm" ? 1 : 2, B = w(() => {
33
+ let e = R.current;
34
+ e && (e.style.height = "auto", e.style.height = `${Math.min(Math.max(e.scrollHeight, z * 20 + 16), g * 20 + 16)}px`);
35
+ }, [g, z]);
36
+ O(B, [B, I]);
37
+ let H = I.trim() === "", U = !f && !u && !d && !H, W = () => {
38
+ U && (o?.(I), p && r === void 0 && L(""));
39
+ }, G = ee(), K = l === "enter" && !G, q = (e) => {
40
+ e.key === "Enter" && (e.nativeEvent.isComposing || e.keyCode === 229 || (e.metaKey || e.ctrlKey || K && !e.shiftKey && !e.altKey) && (e.preventDefault(), W()));
41
+ };
42
+ return /* @__PURE__ */ P("form", {
43
+ onSubmit: (e) => {
44
+ e.preventDefault(), W();
45
+ },
46
+ onMouseDown: (e) => {
47
+ e.target === e.currentTarget && !f && (e.preventDefault(), R.current?.focus());
48
+ },
49
+ ...C ? { "data-force": C } : {},
50
+ ...f ? { "data-disabled": "" } : {},
51
+ className: e("flex min-w-0 cursor-text flex-col material-composer transition-control", V.size[_].classes, f && "cursor-not-allowed", T),
52
+ children: [/* @__PURE__ */ N("textarea", {
53
+ ref: (e) => {
54
+ R.current = e, typeof E == "function" ? E(e) : E && (E.current = e);
55
+ },
56
+ rows: z,
57
+ value: I,
58
+ onChange: (e) => L(e.target.value),
59
+ onKeyDown: q,
60
+ disabled: f,
61
+ placeholder: A,
62
+ "aria-label": j,
63
+ "aria-keyshortcuts": K ? "Enter Meta+Enter Control+Enter" : "Meta+Enter Control+Enter",
64
+ ...K ? { enterKeyHint: "send" } : {},
65
+ autoFocus: x,
66
+ ...S ? { name: S } : {},
67
+ className: "block w-full min-w-0 resize-none bg-transparent px-16 pt-12 pb-4 text-body text-fg outline-none scrollbar-quiet placeholder:text-fg-tertiary disabled:cursor-not-allowed disabled:text-fg-disabled"
68
+ }), /* @__PURE__ */ P("div", {
69
+ className: "flex min-w-0 items-center gap-8 p-8 pt-4",
70
+ children: [/* @__PURE__ */ N("div", {
71
+ className: "flex min-w-0 flex-1 items-center gap-4",
72
+ children: v
73
+ }), u ? /* @__PURE__ */ N(c, {
74
+ type: "button",
75
+ size: "sm",
76
+ variant: "secondary",
77
+ reserveLabels: [M, F],
78
+ onClick: () => s?.(),
79
+ disabled: f,
80
+ children: F
81
+ }) : /* @__PURE__ */ N(c, {
82
+ type: "submit",
83
+ size: "sm",
84
+ variant: "primary",
85
+ reserveLabels: [M, F],
86
+ loading: d,
87
+ disabled: !U && !d,
88
+ children: M
89
+ })]
90
+ })]
91
+ });
92
+ });
93
+ process.env.NODE_ENV !== "production" && (K.displayName = "Composer");
94
+ //#endregion
95
+ //#region src/components/playground/compare-grid.tsx
96
+ var q = { divider: {
97
+ hairline: { classes: "hairline-l" },
98
+ none: { classes: "" }
99
+ } }, te = { divider: "hairline" }, J = /* @__PURE__ */ x({
100
+ index: 0,
101
+ count: 1,
102
+ divider: "hairline",
103
+ add: null
104
+ }), Y = /* @__PURE__ */ S(function({ children: t, "aria-label": r, onAdd: i, addLabel: a, max: o = 4, active: s, onActiveChange: c, divider: u = "hairline", className: d }, f) {
105
+ let p = n(), m = b.toArray(t).filter(C), h = m.length, g = k(null), [_, v] = A(0), y = Math.min(s ?? _, Math.max(0, h - 1)), x = k(null), S = k(c);
106
+ O(() => {
107
+ S.current = c;
108
+ });
109
+ let T = w((e) => {
110
+ let t = g.current?.children[e], n = g.current;
111
+ if (!t || !n) return;
112
+ x.current = n.scrollLeft === t.offsetLeft ? null : e;
113
+ let r = typeof matchMedia == "function" && matchMedia("(prefers-reduced-motion: reduce)").matches;
114
+ n.scrollTo({
115
+ left: t.offsetLeft,
116
+ behavior: r ? "auto" : "smooth"
117
+ });
118
+ }, []), D = (e) => {
119
+ let t = Math.max(0, Math.min(h - 1, e));
120
+ v(t), c?.(t), T(t);
121
+ };
122
+ E(() => {
123
+ s !== void 0 && T(s);
124
+ }, [s, T]);
125
+ let j = k(h);
126
+ O(() => {
127
+ h > j.current && (v(h - 1), S.current?.(h - 1), T(h - 1)), j.current = h;
128
+ }, [h, T]);
129
+ let M = w(() => {
130
+ let e = g.current;
131
+ if (!e) return;
132
+ let t = e.scrollWidth - e.clientWidth - e.scrollLeft;
133
+ e.style.setProperty("--k-fade-start", e.scrollLeft > 1 ? "24px" : "0px"), e.style.setProperty("--k-fade-end", t > 1 ? "24px" : "0px");
134
+ }, []);
135
+ O(() => {
136
+ let e = g.current;
137
+ if (!e || typeof ResizeObserver > "u") return;
138
+ M();
139
+ let t = new ResizeObserver(M);
140
+ return t.observe(e), () => t.disconnect();
141
+ }, [M, h]);
142
+ let R = () => {
143
+ M();
144
+ let e = g.current, t = e?.children[0];
145
+ if (!e || !t || !t.offsetWidth) return;
146
+ let n = Math.max(0, Math.min(h - 1, Math.round(e.scrollLeft / t.offsetWidth)));
147
+ if (x.current !== null) {
148
+ if (n !== x.current) return;
149
+ x.current = null;
150
+ }
151
+ n !== y && (v(n), c?.(n));
152
+ }, z = () => {
153
+ x.current = null;
154
+ }, B = h >= o, V = i ? /* @__PURE__ */ N(l, {
155
+ icon: F,
156
+ "aria-label": a ?? p("compareGrid.addModel", "Add model"),
157
+ size: "sm",
158
+ onClick: i,
159
+ disabled: B,
160
+ ...B ? { disabledReason: p("compareGrid.compareUpTo", "Compare up to {max} at once", { max: o }) } : {}
161
+ }) : null, H = m[y]?.props.label ?? "";
162
+ return /* @__PURE__ */ P("div", {
163
+ ref: f,
164
+ role: "group",
165
+ "aria-label": r,
166
+ className: e("flex h-full min-h-0 min-w-0 flex-col", d),
167
+ children: [h > 1 || i ? /* @__PURE__ */ P("div", {
168
+ className: "flex h-44 shrink-0 items-center gap-4 px-8 hairline-b md:hidden",
169
+ children: [
170
+ /* @__PURE__ */ N(l, {
171
+ icon: I,
172
+ "aria-label": p("compareGrid.previousColumn", "Previous column"),
173
+ size: "sm",
174
+ disabled: y === 0,
175
+ onClick: () => D(y - 1)
176
+ }),
177
+ /* @__PURE__ */ P("span", {
178
+ "aria-live": "polite",
179
+ className: "min-w-0 flex-1 truncate text-center text-small text-fg-secondary tabular",
180
+ children: [/* @__PURE__ */ N("span", {
181
+ className: "sr-only",
182
+ children: p("compareGrid.columnName", "{label}, ", { label: H })
183
+ }), p("compareGrid.position", "{index} of {count}", {
184
+ index: y + 1,
185
+ count: h
186
+ })]
187
+ }),
188
+ /* @__PURE__ */ N(l, {
189
+ icon: L,
190
+ "aria-label": p("compareGrid.nextColumn", "Next column"),
191
+ size: "sm",
192
+ disabled: y >= h - 1,
193
+ onClick: () => D(y + 1)
194
+ }),
195
+ V
196
+ ]
197
+ }) : null, /* @__PURE__ */ N("div", {
198
+ ref: g,
199
+ onScroll: R,
200
+ onPointerDown: z,
201
+ onWheel: z,
202
+ onTouchStart: z,
203
+ onKeyDown: z,
204
+ className: "relative min-h-0 min-w-0 flex-1 compare-grid",
205
+ children: m.map((e, t) => /* @__PURE__ */ N(J.Provider, {
206
+ value: {
207
+ index: t,
208
+ count: h,
209
+ divider: u,
210
+ add: t === h - 1 ? V : null
211
+ },
212
+ children: e
213
+ }, e.key ?? t))
214
+ })]
215
+ });
216
+ });
217
+ process.env.NODE_ENV !== "production" && (Y.displayName = "CompareGrid");
218
+ function ne(e) {
219
+ let t = k(null), n = k(null), r = k(!0);
220
+ return E(() => {
221
+ let i = t.current, a = n.current;
222
+ if (!e || !i || !a || typeof ResizeObserver > "u") return;
223
+ let o = i.scrollTop, s = () => {
224
+ i.style.setProperty("--scroll-area-overflow-y-start", `${Math.max(0, i.scrollTop)}px`), i.style.setProperty("--scroll-area-overflow-y-end", `${Math.max(0, i.scrollHeight - i.clientHeight - i.scrollTop)}px`);
225
+ }, c = () => {
226
+ s();
227
+ let e = i.scrollHeight - i.scrollTop - i.clientHeight <= 24;
228
+ r.current = i.scrollTop < o - 1 ? e : r.current || e, o = i.scrollTop;
229
+ }, l = new ResizeObserver(() => {
230
+ r.current && (i.scrollTop = i.scrollHeight, o = i.scrollTop), s();
231
+ });
232
+ return i.addEventListener("scroll", c, { passive: !0 }), l.observe(a), l.observe(i), () => {
233
+ i.removeEventListener("scroll", c), l.disconnect();
234
+ };
235
+ }, [e]), {
236
+ body: t,
237
+ content: n
238
+ };
239
+ }
240
+ var re = /* @__PURE__ */ S(function({ label: t, header: r, actions: i, children: a, footer: o, onRemove: s, removeLabel: c, stickToEnd: u = !0, className: d }, f) {
241
+ let p = n(), { index: m, count: h, divider: g, add: _ } = T(J), { body: v, content: y } = ne(u);
242
+ return /* @__PURE__ */ P("section", {
243
+ ref: f,
244
+ "aria-label": t,
245
+ className: e("row-span-3 grid min-h-0 min-w-0 snap-start snap-always grid-rows-subgrid", m > 0 && q.divider[g].classes, d),
246
+ children: [
247
+ /* @__PURE__ */ P("header", {
248
+ className: "flex h-52 min-w-0 items-center gap-4 pr-10 pl-8 hairline-b",
249
+ children: [
250
+ /* @__PURE__ */ N("div", {
251
+ className: "flex min-w-0 flex-1 items-center",
252
+ children: r
253
+ }),
254
+ i,
255
+ s && h > 1 && /* @__PURE__ */ N(l, {
256
+ icon: R,
257
+ "aria-label": c ?? p("compareGrid.remove", "Remove {label}", { label: t }),
258
+ size: "sm",
259
+ onClick: s
260
+ }),
261
+ _ && /* @__PURE__ */ N("span", {
262
+ className: "hidden md:contents",
263
+ children: _
264
+ })
265
+ ]
266
+ }),
267
+ /* @__PURE__ */ N("div", {
268
+ ref: v,
269
+ tabIndex: 0,
270
+ "aria-label": p("compareGrid.thread", "{label} thread", { label: t }),
271
+ role: "region",
272
+ className: "relative min-h-0 overflow-y-auto overscroll-contain scrollbar-quiet scroll-fade-y focus-ring-inset",
273
+ children: /* @__PURE__ */ N("div", {
274
+ ref: y,
275
+ className: "flex min-h-full flex-col px-16 pt-16 pb-24",
276
+ children: a
277
+ })
278
+ }),
279
+ o != null && /* @__PURE__ */ N("footer", {
280
+ className: "flex min-h-44 min-w-0 items-center px-16 pt-8 pb-12",
281
+ children: o
282
+ })
283
+ ]
284
+ });
285
+ });
286
+ process.env.NODE_ENV !== "production" && (re.displayName = "CompareGrid.Column");
287
+ var ie = /* @__PURE__ */ Object.assign(Y, { Column: re }), ae = { status: {
288
+ pending: { classes: "" },
289
+ streaming: { classes: "" },
290
+ done: { classes: "" },
291
+ stopped: { classes: "" },
292
+ error: { classes: "" }
293
+ } }, oe = { status: "done" };
294
+ function se(e) {
295
+ let t = e.trim().split("\n");
296
+ for (let e = t.length - 1; e >= 0; e--) {
297
+ let n = (t[e] ?? "").replace(/[*_`#>]+/g, "").trim();
298
+ if (n) return n;
299
+ }
300
+ return "";
301
+ }
302
+ function ce({ text: t, live: i, duration: a, open: s, defaultOpen: c, onOpenChange: l }) {
303
+ let u = n(), d = i ? se(t) : "", f = i || a === void 0 ? u("responseView.thinking", "Thinking") : u("responseView.thoughtFor", "Thought for {duration}", { duration: r(a) });
304
+ return /* @__PURE__ */ P(B.Root, {
305
+ ...s === void 0 ? {} : { open: s },
306
+ ...c === void 0 ? {} : { defaultOpen: c },
307
+ ...l ? { onOpenChange: (e) => l(e) } : {},
308
+ className: "flex min-w-0 flex-col",
309
+ children: [/* @__PURE__ */ P(B.Trigger, {
310
+ className: "group/think -mx-8 flex h-32 min-w-0 cursor-pointer items-center gap-6 rounded-pill px-8 text-left text-small text-fg-secondary transition-control hover:bg-fill-1 hover:text-fg focus-ring-inset",
311
+ children: [
312
+ /* @__PURE__ */ N("span", {
313
+ className: e("shrink-0 font-medium", i && "animate-pulse-quiet reduced:animate-none"),
314
+ children: f
315
+ }),
316
+ /* @__PURE__ */ N(o, {
317
+ icon: L,
318
+ size: "xs",
319
+ className: "shrink-0 text-fg-tertiary transition-transform duration-180 ease-overlay group-data-panel-open/think:rotate-90"
320
+ }),
321
+ /* @__PURE__ */ N("span", {
322
+ "aria-hidden": !0,
323
+ className: "min-w-0 flex-1 truncate text-fg-tertiary group-data-panel-open/think:invisible",
324
+ children: d
325
+ })
326
+ ]
327
+ }), /* @__PURE__ */ N(B.Panel, {
328
+ className: "collapse-motion",
329
+ children: /* @__PURE__ */ P("div", {
330
+ className: "flex gap-12 pt-4 pb-8",
331
+ children: [/* @__PURE__ */ N("span", {
332
+ "aria-hidden": !0,
333
+ className: "w-1 shrink-0 rounded-pill bg-line"
334
+ }), /* @__PURE__ */ N(y, {
335
+ text: t,
336
+ size: "small",
337
+ tone: "secondary",
338
+ streaming: i,
339
+ collapseAfter: 0,
340
+ wrapCode: !0,
341
+ className: "min-w-0 flex-1"
342
+ })]
343
+ })
344
+ })]
345
+ });
346
+ }
347
+ var le = /* @__PURE__ */ S(function({ text: t = "", reasoning: r, status: i = "done", reasoningDuration: a, reasoningOpen: o, defaultReasoningOpen: s, onReasoningOpenChange: l, onRetry: u, footer: d, "aria-label": f, className: p }, m) {
348
+ let h = n(), g = f ?? h("responseView.response", "Response"), _ = D(), v = i === "pending" || i === "streaming", b = t.trim() !== "", x = !!r && r.trim() !== "", S = v && x && !b;
349
+ return /* @__PURE__ */ P("article", {
350
+ ref: m,
351
+ "aria-label": g,
352
+ "aria-busy": v || void 0,
353
+ "aria-describedby": _,
354
+ className: e("flex min-w-0 flex-col gap-8", p),
355
+ children: [
356
+ x && /* @__PURE__ */ N(ce, {
357
+ text: r,
358
+ live: S,
359
+ duration: a,
360
+ open: o,
361
+ defaultOpen: s,
362
+ onOpenChange: l
363
+ }),
364
+ b ? /* @__PURE__ */ N(y, {
365
+ text: t,
366
+ size: "lg",
367
+ streaming: v,
368
+ collapseAfter: 0,
369
+ wrapCode: !0
370
+ }) : v && !x ? /* @__PURE__ */ N("div", {
371
+ "aria-hidden": !0,
372
+ className: "h-22"
373
+ }) : null,
374
+ i === "stopped" && /* @__PURE__ */ P("div", {
375
+ className: "flex min-h-24 flex-wrap items-center gap-x-12 gap-y-4",
376
+ children: [/* @__PURE__ */ N("span", {
377
+ className: "text-small text-fg-tertiary",
378
+ children: b ? h("responseView.stopped", "Stopped") : h("responseView.stoppedBeforeResponse", "Stopped before a response")
379
+ }), u && /* @__PURE__ */ N(c, {
380
+ size: "xs",
381
+ variant: "ghost",
382
+ onClick: u,
383
+ children: h("responseView.retry", "Retry")
384
+ })]
385
+ }),
386
+ i === "error" && /* @__PURE__ */ P("div", {
387
+ className: "flex min-h-24 flex-wrap items-center gap-x-12 gap-y-4",
388
+ children: [/* @__PURE__ */ N("span", {
389
+ className: "text-small text-fg-secondary",
390
+ children: b ? h("responseView.stoppedEarly", "The response stopped early") : h("responseView.noResponse", "No response")
391
+ }), u && /* @__PURE__ */ N(c, {
392
+ size: "xs",
393
+ variant: "secondary",
394
+ onClick: u,
395
+ children: h("responseView.retry", "Retry")
396
+ })]
397
+ }),
398
+ i === "done" && !b && /* @__PURE__ */ N("span", {
399
+ className: "text-small text-fg-tertiary",
400
+ children: h("responseView.noText", "The model returned no text")
401
+ }),
402
+ d,
403
+ /* @__PURE__ */ N("span", {
404
+ id: _,
405
+ className: "sr-only",
406
+ children: i === "pending" ? h("responseView.waiting", "Waiting for the response") : i === "streaming" ? h("responseView.responding", "Responding") : ""
407
+ })
408
+ ]
409
+ });
410
+ });
411
+ process.env.NODE_ENV !== "production" && (le.displayName = "ResponseView");
412
+ var ue = {
413
+ 2: "line-clamp-2",
414
+ 3: "line-clamp-3",
415
+ 4: "line-clamp-4",
416
+ 6: "line-clamp-6"
417
+ }, de = /* @__PURE__ */ S(function({ children: t, maxLines: r = 4, "aria-label": i, className: a }, o) {
418
+ let l = n(), u = i ?? l("userMessage.prompt", "Prompt"), d = l("userMessage.showAll", "Show all"), f = l("userMessage.showLess", "Show less"), [p, m] = A(!1), h = k(null), g = s(h, r > 0 && !p);
419
+ return /* @__PURE__ */ P("div", {
420
+ ref: o,
421
+ role: "group",
422
+ "aria-label": u,
423
+ className: e("flex min-w-0 flex-col items-start gap-2", a),
424
+ children: [/* @__PURE__ */ N("p", {
425
+ ref: h,
426
+ className: e("max-w-prose min-w-0 text-body font-medium whitespace-pre-wrap wrap-break-word text-fg-secondary", r !== 0 && !p && ue[r]),
427
+ children: t
428
+ }), (g || p) && /* @__PURE__ */ N(c, {
429
+ size: "xs",
430
+ variant: "link",
431
+ reserveLabels: [d, f],
432
+ onClick: () => m((e) => !e),
433
+ className: "text-fg-tertiary",
434
+ children: p ? f : d
435
+ })]
436
+ });
437
+ });
438
+ process.env.NODE_ENV !== "production" && (de.displayName = "UserMessage");
439
+ var fe = /* @__PURE__ */ S(function({ children: t, className: n }, r) {
440
+ return /* @__PURE__ */ N("div", {
441
+ ref: r,
442
+ className: e("flex min-w-0 flex-col gap-32", n),
443
+ children: t
444
+ });
445
+ });
446
+ process.env.NODE_ENV !== "production" && (fe.displayName = "Thread");
447
+ //#endregion
448
+ //#region src/components/playground/response-metrics.tsx
449
+ var pe = { size: {
450
+ sm: { classes: "text-caption gap-x-12 gap-y-2" },
451
+ md: { classes: "text-small gap-x-16 gap-y-4" }
452
+ } }, me = { size: "sm" };
453
+ function X(e) {
454
+ return !Number.isFinite(e) || e < 0 ? "—" : r(e, { precise: !0 });
455
+ }
456
+ function he(e) {
457
+ let [t, n] = A(() => Date.now());
458
+ return E(() => {
459
+ if (e === void 0) return;
460
+ n(Date.now());
461
+ let t = setInterval(() => n(Date.now()), 100);
462
+ return () => clearInterval(t);
463
+ }, [e]), e === void 0 ? void 0 : Math.max(0, t - e);
464
+ }
465
+ function Z(e) {
466
+ return typeof e == "number" && Number.isFinite(e);
467
+ }
468
+ function Q({ label: t, width: n, children: r, value: i }) {
469
+ return /* @__PURE__ */ P("div", {
470
+ className: "flex items-baseline gap-4 whitespace-nowrap",
471
+ children: [/* @__PURE__ */ N("dt", {
472
+ className: "text-fg-tertiary",
473
+ children: t
474
+ }), /* @__PURE__ */ N("dd", {
475
+ className: e("text-fg-secondary tabular", n),
476
+ ...i ? { "aria-label": i } : {},
477
+ children: r
478
+ })]
479
+ });
480
+ }
481
+ var ge = /* @__PURE__ */ S(function({ timeToFirstToken: t, duration: r, inputTokens: o, outputTokens: s, reasoningTokens: c, reasoning: l, live: u = !1, startedAt: d, cost: f, size: p = "sm", className: m }, h) {
482
+ let g = n(), _ = he(u && d !== void 0 && !Z(r) ? d : void 0), v = Z(o) || Z(s), y = f != null && f !== "", b = e("flex min-w-0 flex-wrap items-baseline", pe.size[p].classes, m);
483
+ if (!u && !v && !y && !Z(t) && !Z(r) && !Z(c)) return /* @__PURE__ */ N("dl", {
484
+ ref: h,
485
+ "aria-label": g("responseMetrics.metrics", "Metrics"),
486
+ className: e(b, p === "sm" ? "min-h-16" : "min-h-18")
487
+ });
488
+ let x = (e) => u || e, S = /* @__PURE__ */ P("span", {
489
+ className: "text-fg-tertiary",
490
+ children: [/* @__PURE__ */ N("span", {
491
+ "aria-hidden": !0,
492
+ children: "—"
493
+ }), /* @__PURE__ */ N("span", {
494
+ className: "sr-only",
495
+ children: g("responseMetrics.notYetKnown", "not yet known")
496
+ })]
497
+ });
498
+ return /* @__PURE__ */ P("dl", {
499
+ ref: h,
500
+ "aria-label": g("responseMetrics.metrics", "Metrics"),
501
+ className: b,
502
+ children: [
503
+ x(Z(t)) && /* @__PURE__ */ N(Q, {
504
+ label: g("responseMetrics.firstToken", "First token"),
505
+ width: "min-w-40",
506
+ children: Z(t) ? X(t) : S
507
+ }),
508
+ x(Z(r)) && /* @__PURE__ */ N(Q, {
509
+ label: g("responseMetrics.total", "Total"),
510
+ width: "min-w-40",
511
+ children: Z(r) ? X(r) : _ === void 0 ? S : /* @__PURE__ */ N("span", {
512
+ className: "text-fg-tertiary",
513
+ children: X(_)
514
+ })
515
+ }),
516
+ x(v) && /* @__PURE__ */ N(Q, {
517
+ label: g("responseMetrics.tokens", "Tokens"),
518
+ width: "min-w-48",
519
+ value: v ? g("responseMetrics.tokensInOut", "{input} in, {output} out", {
520
+ input: Z(o) ? i(o) : g("responseMetrics.unknown", "unknown"),
521
+ output: Z(s) ? i(s) : g("responseMetrics.unknown", "unknown")
522
+ }) : void 0,
523
+ children: v ? /* @__PURE__ */ P(M, { children: [
524
+ Z(o) ? i(o) : S,
525
+ " → ",
526
+ Z(s) ? i(s) : S
527
+ ] }) : S
528
+ }),
529
+ (Z(c) || u && l) && /* @__PURE__ */ N(Q, {
530
+ label: g("responseMetrics.reasoning", "Reasoning"),
531
+ width: "min-w-24",
532
+ children: Z(c) ? i(c) : S
533
+ }),
534
+ x(y) && /* @__PURE__ */ N(Q, {
535
+ label: g("responseMetrics.cost", "Cost"),
536
+ width: "min-w-40",
537
+ children: y ? a(f) : S
538
+ })
539
+ ]
540
+ });
541
+ });
542
+ process.env.NODE_ENV !== "production" && (ge.displayName = "ResponseMetrics");
543
+ //#endregion
544
+ //#region src/components/playground/parameter-panel.tsx
545
+ var _e = { layout: {
546
+ popover: { classes: "w-full gap-20" },
547
+ panel: { classes: "w-full gap-24" }
548
+ } }, ve = { layout: "popover" };
549
+ function ye(e) {
550
+ return [
551
+ {
552
+ value: "none",
553
+ label: e("parameterPanel.effortNone", "None")
554
+ },
555
+ {
556
+ value: "minimal",
557
+ label: e("parameterPanel.effortMinimal", "Minimal")
558
+ },
559
+ {
560
+ value: "low",
561
+ label: e("parameterPanel.effortLow", "Low")
562
+ },
563
+ {
564
+ value: "medium",
565
+ label: e("parameterPanel.effortMedium", "Medium")
566
+ },
567
+ {
568
+ value: "high",
569
+ label: e("parameterPanel.effortHigh", "High")
570
+ },
571
+ {
572
+ value: "xhigh",
573
+ label: e("parameterPanel.effortExtraHigh", "Extra high")
574
+ },
575
+ {
576
+ value: "max",
577
+ label: e("parameterPanel.effortMax", "Max")
578
+ }
579
+ ];
580
+ }
581
+ function be({ label: t, value: r, unset: a, min: o, max: s, step: c, digits: l, disabled: u, onChange: d }) {
582
+ let p = D(), m = n(), h = i(r, {
583
+ minimumFractionDigits: l,
584
+ maximumFractionDigits: l
585
+ });
586
+ return /* @__PURE__ */ P("div", {
587
+ className: "flex flex-col gap-8",
588
+ children: [/* @__PURE__ */ P("div", {
589
+ className: "flex items-baseline justify-between gap-12",
590
+ children: [/* @__PURE__ */ N("span", {
591
+ id: p,
592
+ className: e("text-body font-medium", u ? "text-fg-disabled" : "text-fg"),
593
+ children: t
594
+ }), /* @__PURE__ */ N("span", {
595
+ className: e("text-small tabular", a ? "text-fg-tertiary" : "text-fg-secondary"),
596
+ children: a ? m("parameterPanel.valueDefault", "{value} default", { value: h }) : h
597
+ })]
598
+ }), /* @__PURE__ */ N("div", {
599
+ className: "px-8",
600
+ children: /* @__PURE__ */ N(f, {
601
+ "aria-label": t,
602
+ min: o,
603
+ max: s,
604
+ step: c,
605
+ value: r,
606
+ disabled: u,
607
+ formatValue: (e) => i(e, {
608
+ minimumFractionDigits: l,
609
+ maximumFractionDigits: l
610
+ }),
611
+ onValueChange: (e) => d(Array.isArray(e) ? e[0] ?? o : e)
612
+ })
613
+ })]
614
+ });
615
+ }
616
+ var $ = /* @__PURE__ */ S(function({ value: t, onValueChange: r, defaults: i, instructions: a = !0, sampling: o = !0, reasoning: s = !1, maxOutputTokensLimit: l, disabled: f = !1, layout: m = "popover", className: g }, _) {
617
+ let v = n(), y = (e) => r({
618
+ ...t,
619
+ ...e
620
+ }), b = ye(v), x = s === !0 ? b : Array.isArray(s) ? b.filter((e) => s.includes(e.value)) : [], S = t.temperature !== void 0 || t.topP !== void 0 || t.maxOutputTokens !== void 0 || t.reasoningEffort !== void 0 || t.reasoningSummary !== void 0;
621
+ return /* @__PURE__ */ P("div", {
622
+ ref: _,
623
+ className: e("flex min-w-0 flex-col", _e.layout[m].classes, g),
624
+ children: [
625
+ a && /* @__PURE__ */ N(d, {
626
+ label: v("parameterPanel.systemInstructions", "System instructions"),
627
+ rows: 3,
628
+ maxRows: 8,
629
+ placeholder: v("parameterPanel.instructionsPlaceholder", "You are a helpful assistant."),
630
+ value: t.instructions ?? "",
631
+ disabled: f,
632
+ onChange: (e) => y({ instructions: e.target.value === "" ? void 0 : e.target.value })
633
+ }),
634
+ o && /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N(be, {
635
+ label: v("parameterPanel.temperature", "Temperature"),
636
+ value: t.temperature ?? i?.temperature ?? 1,
637
+ unset: t.temperature === void 0,
638
+ min: 0,
639
+ max: 2,
640
+ step: .05,
641
+ digits: 2,
642
+ disabled: f,
643
+ onChange: (e) => y({ temperature: e })
644
+ }), /* @__PURE__ */ N(be, {
645
+ label: v("parameterPanel.topP", "Top P"),
646
+ value: t.topP ?? i?.topP ?? 1,
647
+ unset: t.topP === void 0,
648
+ min: 0,
649
+ max: 1,
650
+ step: .01,
651
+ digits: 2,
652
+ disabled: f,
653
+ onChange: (e) => y({ topP: e })
654
+ })] }),
655
+ /* @__PURE__ */ N(u, {
656
+ label: v("parameterPanel.maxOutputTokens", "Max output tokens"),
657
+ size: "sm",
658
+ placeholder: v("parameterPanel.modelDefault", "Model default"),
659
+ align: "start",
660
+ min: "1",
661
+ ...l ? { max: String(l) } : {},
662
+ step: "256",
663
+ value: t.maxOutputTokens === void 0 ? "" : String(t.maxOutputTokens),
664
+ disabled: f,
665
+ onValueChange: (e) => {
666
+ let t = Number(e);
667
+ y({ maxOutputTokens: e.trim() === "" || !Number.isFinite(t) || t <= 0 ? void 0 : Math.round(t) });
668
+ }
669
+ }),
670
+ x.length > 0 && /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N(h, {
671
+ label: v("parameterPanel.reasoningEffort", "Reasoning effort"),
672
+ size: "sm",
673
+ fullWidth: !0,
674
+ disabled: f,
675
+ value: t.reasoningEffort ?? "default",
676
+ options: [{
677
+ value: "default",
678
+ label: v("parameterPanel.modelDefault", "Model default")
679
+ }, ...x],
680
+ onValueChange: (e) => y({ reasoningEffort: e === "default" ? void 0 : e })
681
+ }), /* @__PURE__ */ P("div", {
682
+ className: "flex flex-col gap-8",
683
+ children: [/* @__PURE__ */ N("span", {
684
+ className: e("text-body font-medium", f ? "text-fg-disabled" : "text-fg"),
685
+ children: v("parameterPanel.reasoningSummary", "Reasoning summary")
686
+ }), /* @__PURE__ */ N(p, {
687
+ "aria-label": v("parameterPanel.reasoningSummary", "Reasoning summary"),
688
+ size: "sm",
689
+ fullWidth: !0,
690
+ disabled: f,
691
+ value: t.reasoningSummary ?? "auto",
692
+ options: [
693
+ {
694
+ value: "auto",
695
+ label: v("parameterPanel.summaryAuto", "Auto")
696
+ },
697
+ {
698
+ value: "concise",
699
+ label: v("parameterPanel.summaryConcise", "Concise")
700
+ },
701
+ {
702
+ value: "detailed",
703
+ label: v("parameterPanel.summaryDetailed", "Detailed")
704
+ },
705
+ {
706
+ value: "off",
707
+ label: v("parameterPanel.summaryOff", "Off")
708
+ }
709
+ ],
710
+ onValueChange: (e) => y({ reasoningSummary: e === "auto" ? void 0 : e })
711
+ })]
712
+ })] }),
713
+ /* @__PURE__ */ N("div", {
714
+ className: "flex justify-end",
715
+ children: /* @__PURE__ */ N(c, {
716
+ size: "sm",
717
+ variant: "ghost",
718
+ disabled: f || !S,
719
+ onClick: () => r(t.instructions === void 0 ? {} : { instructions: t.instructions }),
720
+ children: v("parameterPanel.resetToDefaults", "Reset to defaults")
721
+ })
722
+ })
723
+ ]
724
+ });
725
+ });
726
+ process.env.NODE_ENV !== "production" && ($.displayName = "ParameterPanel");
727
+ function xe({ trigger: e, title: t, open: r, defaultOpen: i, onOpenChange: a, side: o = "bottom", align: s = "end", ...c }) {
728
+ let u = n(), d = t ?? u("parameterPopover.parameters", "Parameters");
729
+ return /* @__PURE__ */ P(g, {
730
+ trapFocus: !0,
731
+ ...r === void 0 ? {} : { open: r },
732
+ ...i === void 0 ? {} : { defaultOpen: i },
733
+ ...a ? { onOpenChange: a } : {},
734
+ children: [/* @__PURE__ */ N(g.Trigger, { children: e ?? /* @__PURE__ */ N(l, {
735
+ icon: z,
736
+ "aria-label": d,
737
+ size: "sm"
738
+ }) }), /* @__PURE__ */ N(g.Content, {
739
+ title: d,
740
+ side: o,
741
+ align: s,
742
+ className: "w-320 max-w-(--available-width)",
743
+ children: /* @__PURE__ */ N($, { ...c })
744
+ })]
745
+ });
746
+ }
747
+ process.env.NODE_ENV !== "production" && (xe.displayName = "ParameterPopover");
748
+ //#endregion
749
+ //#region src/components/playground/model-picker.tsx
750
+ var Se = {
751
+ ghost: "header",
752
+ default: "default"
753
+ }, Ce = { appearance: {
754
+ ghost: { classes: m.appearance.header.classes },
755
+ default: { classes: m.appearance.default.classes }
756
+ } }, we = { appearance: "ghost" }, Te = /* @__PURE__ */ S(function({ options: t, value: r, defaultValue: i, onValueChange: a, groupByProvider: o, placeholder: s, "aria-label": c, appearance: l = "ghost", size: u = "sm", disabled: d, "data-force": f, className: p }, m) {
757
+ let g = n(), y = o ?? new Set(t.map((e) => e.provider)).size > 1, b = y ? [...t].sort((e, t) => v(e.provider).localeCompare(v(t.provider))) : t;
758
+ return /* @__PURE__ */ N(h, {
759
+ ref: m,
760
+ "aria-label": c ?? g("modelPicker.model", "Model"),
761
+ appearance: Se[l],
762
+ size: u,
763
+ placeholder: s ?? g("modelPicker.choose", "Choose a model"),
764
+ ...r === void 0 ? {} : { value: r },
765
+ ...i === void 0 ? {} : { defaultValue: i },
766
+ ...a ? { onValueChange: a } : {},
767
+ ...d === void 0 ? {} : { disabled: d },
768
+ ...f ? { "data-force": f } : {},
769
+ className: e("max-w-full", p),
770
+ options: b.map((e) => ({
771
+ value: e.value,
772
+ textValue: e.name ?? e.model ?? e.value,
773
+ label: /* @__PURE__ */ N(_, {
774
+ provider: e.provider,
775
+ model: e.model ?? e.value,
776
+ ...e.name ? { name: e.name } : {}
777
+ }),
778
+ ...y ? { group: v(e.provider) } : {},
779
+ ...e.disabled ? { disabled: !0 } : {}
780
+ }))
781
+ });
782
+ });
783
+ process.env.NODE_ENV !== "production" && (Te.displayName = "ModelPicker");
784
+ //#endregion
785
+ //#region src/components/playground/prompt-suggestions.tsx
786
+ var Ee = { align: {
787
+ start: { classes: "items-stretch" },
788
+ center: { classes: "items-center text-center" }
789
+ } }, De = { align: "start" }, Oe = /* @__PURE__ */ S(function({ suggestions: t, onSelect: r, "aria-label": i, align: a = "start", className: o }, s) {
790
+ let c = n(), l = i ?? c("promptSuggestions.examplePrompts", "Example prompts");
791
+ return /* @__PURE__ */ N("ul", {
792
+ ref: s,
793
+ "aria-label": l,
794
+ className: e("flex min-w-0 flex-col gap-2", Ee.align[a].classes, o),
795
+ children: t.slice(0, 3).map((t) => /* @__PURE__ */ N("li", {
796
+ className: e("flex min-w-0", a === "center" && "justify-center"),
797
+ children: /* @__PURE__ */ N("button", {
798
+ type: "button",
799
+ onClick: () => r(t),
800
+ className: e("flex h-36 max-w-full min-w-0 cursor-pointer items-center rounded-item px-16 text-body text-fg-secondary transition-control hover:bg-fill-1 hover:text-fg focus-ring-inset", a === "start" && "flex-1"),
801
+ children: /* @__PURE__ */ N("span", {
802
+ className: "min-w-0 truncate",
803
+ children: t
804
+ })
805
+ })
806
+ }, t))
807
+ });
808
+ });
809
+ process.env.NODE_ENV !== "production" && (Oe.displayName = "PromptSuggestions");
810
+ //#endregion
811
+ export { ie as CompareGrid, K as Composer, te as KAESO_COMPARE_GRID_DEFAULT_VARIANTS, q as KAESO_COMPARE_GRID_VARIANTS, H as KAESO_COMPOSER_DEFAULT_VARIANTS, V as KAESO_COMPOSER_VARIANTS, we as KAESO_MODEL_PICKER_DEFAULT_VARIANTS, Ce as KAESO_MODEL_PICKER_VARIANTS, ve as KAESO_PARAMETER_PANEL_DEFAULT_VARIANTS, _e as KAESO_PARAMETER_PANEL_VARIANTS, De as KAESO_PROMPT_SUGGESTIONS_DEFAULT_VARIANTS, Ee as KAESO_PROMPT_SUGGESTIONS_VARIANTS, me as KAESO_RESPONSE_METRICS_DEFAULT_VARIANTS, pe as KAESO_RESPONSE_METRICS_VARIANTS, oe as KAESO_RESPONSE_VIEW_DEFAULT_VARIANTS, ae as KAESO_RESPONSE_VIEW_VARIANTS, Te as ModelPicker, $ as ParameterPanel, xe as ParameterPopover, Oe as PromptSuggestions, ge as ResponseMetrics, le as ResponseView, fe as Thread, de as UserMessage, X as formatLatency };
812
+
813
+ //# sourceMappingURL=playground.js.map