@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,101 @@
1
+ "use client";
2
+ import { t as e } from "../../chunks/cn-CidVUKMm.js";
3
+ import { i as t } from "../../chunks/context-BELWW79w.js";
4
+ import { formatNumber as n, formatTokens as r } from "../../format.js";
5
+ import { t as i } from "../../chunks/icon-CeNQtobn.js";
6
+ import { a } from "../../chunks/meter-DWhyzFGQ.js";
7
+ import { t as o } from "../../chunks/badge-Dkyhs0_j.js";
8
+ import { C as s, c, l } from "../../chunks/core-Bgefcs3z.js";
9
+ import { forwardRef as u } from "react";
10
+ import { jsx as d, jsxs as f } from "react/jsx-runtime";
11
+ import { Layers01Icon as p, LeftToRightListBulletIcon as m, Wallet01Icon as h } from "@hugeicons/core-free-icons";
12
+ //#region src/components/kaeso/usage.tsx
13
+ var g = { limit: {
14
+ hard: { classes: "" },
15
+ soft: { classes: "" }
16
+ } }, _ = { limit: "hard" }, v = l;
17
+ function y(e) {
18
+ return {
19
+ input: e("usageBreakdown.input", "Input"),
20
+ output: e("usageBreakdown.output", "Output"),
21
+ cacheRead: e("usageBreakdown.cacheRead", "Cache read"),
22
+ cacheWrite: e("usageBreakdown.cacheWrite", "Cache write"),
23
+ reasoning: e("usageBreakdown.reasoning", "Reasoning")
24
+ };
25
+ }
26
+ var b = /* @__PURE__ */ u(function({ tokens: i, className: a }, o) {
27
+ let l = t(), u = y(l), p = v.filter((e) => (i[e] ?? 0) > 0), m = p.reduce((e, t) => e + (i[t] ?? 0), 0) || 1;
28
+ return /* @__PURE__ */ f("div", {
29
+ ref: o,
30
+ className: e("flex flex-col gap-12", a),
31
+ children: [/* @__PURE__ */ d("div", {
32
+ role: "img",
33
+ "aria-label": l("usageBreakdown.tokens", "Tokens: {list}", { list: p.map((e) => l("usageBreakdown.kindCount", "{kind} {count}", {
34
+ kind: u[e],
35
+ count: n(i[e] ?? 0)
36
+ })).join(l("usageBreakdown.listSeparator", ", ")) }),
37
+ className: "flex h-8 w-full gap-2 overflow-hidden rounded-pill",
38
+ children: p.map((e) => /* @__PURE__ */ d("span", {
39
+ className: "h-full min-w-2 first:rounded-l-pill last:rounded-r-pill width-motion",
40
+ style: {
41
+ width: `${(i[e] ?? 0) / m * 100}%`,
42
+ background: s(e)
43
+ }
44
+ }, e))
45
+ }), /* @__PURE__ */ d("dl", {
46
+ className: "flex flex-wrap gap-x-24 gap-y-8",
47
+ children: v.map((e) => /* @__PURE__ */ f("div", {
48
+ className: "flex flex-col gap-2",
49
+ children: [/* @__PURE__ */ f("dt", {
50
+ className: "flex items-center gap-8 text-small text-fg-secondary",
51
+ children: [/* @__PURE__ */ d(c, { color: s(e) }), u[e]]
52
+ }), /* @__PURE__ */ d("dd", {
53
+ className: "pl-18 text-body font-medium text-fg tabular",
54
+ title: l("usageBreakdown.tokenCount", "{count} tokens", { count: n(i[e] ?? 0) }),
55
+ children: r(i[e] ?? 0)
56
+ })]
57
+ }, e))
58
+ })]
59
+ });
60
+ });
61
+ process.env.NODE_ENV !== "production" && (b.displayName = "UsageBreakdown");
62
+ var x = {
63
+ requests: m,
64
+ tokens: p,
65
+ spend: h
66
+ }, S = /* @__PURE__ */ u(function({ kind: e, scope: n, window: r, used: s, limit: c, valueLabel: l, hard: u = !0, alerts: p = [.8], resets: m, className: h }, g) {
67
+ let _ = t();
68
+ return /* @__PURE__ */ d(a, {
69
+ ref: g,
70
+ className: h,
71
+ value: c > 0 ? s / c : 0,
72
+ thresholds: p,
73
+ leading: /* @__PURE__ */ d(i, {
74
+ icon: x[e],
75
+ size: "sm",
76
+ className: "text-fg-secondary"
77
+ }),
78
+ label: n,
79
+ trailing: /* @__PURE__ */ d(o, {
80
+ tone: u ? "neutral" : "outline",
81
+ children: u ? _("limitMeter.hard", "Hard") : _("limitMeter.soft", "Soft")
82
+ }),
83
+ caption: /* @__PURE__ */ f("span", {
84
+ className: "flex flex-wrap items-baseline justify-between gap-x-12 gap-y-2",
85
+ children: [/* @__PURE__ */ f("span", { children: [
86
+ /* @__PURE__ */ d("span", {
87
+ className: "font-medium text-fg-secondary tabular",
88
+ children: l
89
+ }),
90
+ " · ",
91
+ r
92
+ ] }), m && /* @__PURE__ */ d("span", { children: m })]
93
+ }),
94
+ "aria-label": _("limitMeter.label", "{kind, select, requests {requests limit} tokens {tokens limit} other {spend limit}}", { kind: e })
95
+ });
96
+ });
97
+ process.env.NODE_ENV !== "production" && (S.displayName = "LimitMeter");
98
+ //#endregion
99
+ export { _ as KAESO_USAGE_DEFAULT_VARIANTS, g as KAESO_USAGE_VARIANTS, S as LimitMeter, b as UsageBreakdown };
100
+
101
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","names":["__icon_LeftToRightListBulletIcon","__icon_Layers01Icon","__icon_Wallet01Icon","cn","useUiText","Icon","Badge","tokenKindColor","KAESO_USAGE_VARIANTS","KAESO_USAGE_DEFAULT_VARIANTS","ORDER","TOKEN_KIND_ORDER","kindLabels","t","UsageBreakdown","label","kinds","tokens","k","total","a","className","formatNumber","Swatch","formatTokens","KIND_ICON","LeftToRightListBulletIcon","Layers01Icon","Wallet01Icon","LimitMeter","win","Meter","limit","used","alerts","kind","scope","hard","valueLabel","resets"],"sources":["../../../src/components/kaeso/usage.tsx"],"sourcesContent":["import { forwardRef, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { LeftToRightListBulletIcon as __icon_LeftToRightListBulletIcon, Layers01Icon as __icon_Layers01Icon, Wallet01Icon as __icon_Wallet01Icon } from \"@hugeicons/core-free-icons\";\nimport { formatNumber, formatTokens } from \"../../format/index.js\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { Badge } from \"../badge/badge.js\";\nimport { Meter } from \"../meter/meter.js\";\nimport { Swatch, TOKEN_KIND_ORDER, tokenKindColor, type TokenKind } from \"../charts/core.js\";\nimport { useUiText, type UiText } from \"../../i18n/context.js\";\n\nexport const KAESO_USAGE_VARIANTS = {\n limit: {\n hard: { classes: \"\" },\n soft: { classes: \"\" },\n },\n} as const;\nexport const KAESO_USAGE_DEFAULT_VARIANTS = { limit: \"hard\" } as const;\n\nconst ORDER = TOKEN_KIND_ORDER;\n\nfunction kindLabels(t: UiText): Record<TokenKind, string> {\n return {\n input: t(\"usageBreakdown.input\", \"Input\"),\n output: t(\"usageBreakdown.output\", \"Output\"),\n cacheRead: t(\"usageBreakdown.cacheRead\", \"Cache read\"),\n cacheWrite: t(\"usageBreakdown.cacheWrite\", \"Cache write\"),\n reasoning: t(\"usageBreakdown.reasoning\", \"Reasoning\"),\n };\n}\n\nexport const UsageBreakdown = /* @__PURE__ */ forwardRef<HTMLDivElement, { tokens: Partial<Record<TokenKind, number>>; className?: string | undefined }>(\n function UsageBreakdown({ tokens, className }, ref) {\n const t = useUiText();\n const label = kindLabels(t);\n const kinds = ORDER.filter((k) => (tokens[k] ?? 0) > 0);\n const total = kinds.reduce((a, k) => a + (tokens[k] ?? 0), 0) || 1;\n return (\n <div ref={ref} className={cn(\"flex flex-col gap-12\", className)}>\n <div\n role=\"img\"\n aria-label={t(\"usageBreakdown.tokens\", \"Tokens: {list}\", {\n list: kinds\n .map((k) => t(\"usageBreakdown.kindCount\", \"{kind} {count}\", { kind: label[k], count: formatNumber(tokens[k] ?? 0) }))\n .join(t(\"usageBreakdown.listSeparator\", \", \")),\n })}\n className=\"flex h-8 w-full gap-2 overflow-hidden rounded-pill\"\n >\n {kinds.map((k) => (\n <span\n key={k}\n className=\"h-full min-w-2 first:rounded-l-pill last:rounded-r-pill width-motion\"\n style={{ width: `${((tokens[k] ?? 0) / total) * 100}%`, background: tokenKindColor(k) }}\n />\n ))}\n </div>\n <dl className=\"flex flex-wrap gap-x-24 gap-y-8\">\n {ORDER.map((k) => (\n <div key={k} className=\"flex flex-col gap-2\">\n <dt className=\"flex items-center gap-8 text-small text-fg-secondary\">\n <Swatch color={tokenKindColor(k)} />\n {label[k]}\n </dt>\n <dd\n className=\"pl-18 text-body font-medium text-fg tabular\"\n title={t(\"usageBreakdown.tokenCount\", \"{count} tokens\", { count: formatNumber(tokens[k] ?? 0) })}\n >\n {formatTokens(tokens[k] ?? 0)}\n </dd>\n </div>\n ))}\n </dl>\n </div>\n );\n },\n);\nif (process.env.NODE_ENV !== \"production\") UsageBreakdown.displayName = \"UsageBreakdown\";\n\nexport type LimitKind = \"requests\" | \"tokens\" | \"spend\";\nconst KIND_ICON: Record<LimitKind, IconData> = { requests: __icon_LeftToRightListBulletIcon, tokens: __icon_Layers01Icon, spend: __icon_Wallet01Icon };\n\nexport interface LimitMeterProps {\n kind: LimitKind;\n scope: ReactNode;\n window: ReactNode;\n used: number;\n limit: number;\n valueLabel: ReactNode;\n hard?: boolean | undefined;\n alerts?: number[] | undefined;\n resets?: ReactNode | undefined;\n className?: string | undefined;\n}\n\nexport const LimitMeter = /* @__PURE__ */ forwardRef<HTMLDivElement, LimitMeterProps>(function LimitMeter(\n { kind, scope, window: win, used, limit, valueLabel, hard = true, alerts = [0.8], resets, className },\n ref,\n) {\n const t = useUiText();\n return (\n <Meter\n ref={ref}\n className={className}\n value={limit > 0 ? used / limit : 0}\n thresholds={alerts}\n leading={<Icon icon={KIND_ICON[kind]} size=\"sm\" className=\"text-fg-secondary\" />}\n label={scope}\n trailing={<Badge tone={hard ? \"neutral\" : \"outline\"}>{hard ? t(\"limitMeter.hard\", \"Hard\") : t(\"limitMeter.soft\", \"Soft\")}</Badge>}\n caption={\n <span className=\"flex flex-wrap items-baseline justify-between gap-x-12 gap-y-2\">\n <span>\n <span className=\"font-medium text-fg-secondary tabular\">{valueLabel}</span> · {win}\n </span>\n {resets && <span>{resets}</span>}\n </span>\n }\n aria-label={t(\"limitMeter.label\", \"{kind, select, requests {requests limit} tokens {tokens limit} other {spend limit}}\", { kind })}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") LimitMeter.displayName = \"LimitMeter\";\n"],"mappings":"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"}
@@ -0,0 +1,186 @@
1
+ "use client";
2
+ import { t as e } from "../chunks/cn-CidVUKMm.js";
3
+ import { i as t } from "../chunks/context-BELWW79w.js";
4
+ import { r as n } from "../chunks/tooltip-CDu00nzg.js";
5
+ import { a as r } from "../chunks/radio-CUxbLCvD.js";
6
+ import { r as i } from "../chunks/select-Ca3HGsN1.js";
7
+ import { t as a } from "../chunks/badge-Dkyhs0_j.js";
8
+ import { a as o, c as s, i as c, l, n as u, o as d, r as f, s as p, t as m } from "../chunks/identity-DQinp-Ep.js";
9
+ import { EnvironmentSnippet as h, KAESO_MOMENTS_DEFAULT_VARIANTS as g, KAESO_MOMENTS_VARIANTS as _, SecretReveal as v, sdkSnippets as y } from "./kaeso/moments.js";
10
+ import { KAESO_USAGE_DEFAULT_VARIANTS as b, KAESO_USAGE_VARIANTS as x, LimitMeter as S, UsageBreakdown as C } from "./kaeso/usage.js";
11
+ import { ConversationView as w, KAESO_CONVERSATION_DEFAULT_VARIANTS as T, KAESO_CONVERSATION_VARIANTS as E } from "./kaeso/conversation.js";
12
+ import { a as D, i as O, n as k, r as A, t as j } from "../chunks/rights-CXo7zEf6.js";
13
+ import { Fragment as M, forwardRef as N, useId as P } from "react";
14
+ import { jsx as F, jsxs as I } from "react/jsx-runtime";
15
+ import { RadioGroup as L } from "@base-ui/react/radio-group";
16
+ //#region src/components/kaeso/role-picker.tsx
17
+ var R = { appearance: {
18
+ list: { classes: "flex flex-col gap-16" },
19
+ select: { classes: "" }
20
+ } }, z = { appearance: "list" }, B = /* @__PURE__ */ N(function({ roles: a, value: o, onValueChange: s, appearance: c = "list", disabled: l, name: u, label: d, "aria-label": f, fullWidth: p, size: m = "md", className: h }, g) {
21
+ let _ = t(), v = P(), y = _("rolePicker.builtInRoles", "Built-in roles"), b = _("rolePicker.customRoles", "Custom roles"), x = a.some((e) => e.custom);
22
+ if (c === "select") return /* @__PURE__ */ F("div", {
23
+ ref: g,
24
+ className: e("min-w-0", p && "w-full", h),
25
+ children: /* @__PURE__ */ F(i, {
26
+ ...d ? { label: d } : {},
27
+ ...f ? { "aria-label": f } : {},
28
+ ...u ? { name: u } : {},
29
+ ...l === void 0 ? {} : { disabled: l },
30
+ ...p ? { fullWidth: p } : {},
31
+ size: m,
32
+ value: o ?? null,
33
+ ...s ? { onValueChange: s } : {},
34
+ options: [...a.filter((e) => !e.custom), ...a.filter((e) => e.custom)].map((e) => ({
35
+ value: e.value,
36
+ label: e.label,
37
+ textValue: e.label,
38
+ description: e.disabled && e.disabledReason ? e.disabledReason : e.description,
39
+ ...x ? { group: e.custom ? b : y } : {},
40
+ ...e.disabled ? { disabled: !0 } : {}
41
+ }))
42
+ })
43
+ });
44
+ let S = x ? [{
45
+ caption: y,
46
+ items: a.filter((e) => !e.custom)
47
+ }, {
48
+ caption: b,
49
+ items: a.filter((e) => e.custom)
50
+ }] : [{
51
+ caption: void 0,
52
+ items: a
53
+ }];
54
+ return /* @__PURE__ */ F(L, {
55
+ ref: g,
56
+ ...o == null ? {} : { value: o },
57
+ ...s ? { onValueChange: (e) => s(String(e)) } : {},
58
+ ...l === void 0 ? {} : { disabled: l },
59
+ ...u ? { name: u } : {},
60
+ "aria-label": f ?? d ?? _("rolePicker.role", "Role"),
61
+ className: e(R.appearance.list.classes, h),
62
+ children: S.filter((e) => e.items.length > 0).map((t, i) => /* @__PURE__ */ F(M, { children: /* @__PURE__ */ I("div", {
63
+ className: "flex flex-col gap-8",
64
+ children: [t.caption && /* @__PURE__ */ F("span", {
65
+ className: "px-4 text-caption font-medium text-fg-secondary",
66
+ children: t.caption
67
+ }), /* @__PURE__ */ F("div", {
68
+ className: "flex flex-col overflow-hidden rounded-group bg-raised shadow-xs",
69
+ children: t.items.map((t, a) => {
70
+ let o = `${v}-${i}-${a}`, s = l || t.disabled, c = /* @__PURE__ */ I("label", {
71
+ htmlFor: o,
72
+ className: e("flex min-h-56 cursor-pointer items-center gap-16 px-16 py-12 transition-control hover:bg-fill-1 not-first:hairline-t", s && "cursor-not-allowed hover:bg-transparent"),
73
+ children: [/* @__PURE__ */ I("span", {
74
+ className: "flex min-w-0 flex-1 flex-col gap-2",
75
+ children: [
76
+ /* @__PURE__ */ I("span", {
77
+ className: "flex min-w-0 items-baseline gap-8",
78
+ children: [/* @__PURE__ */ F("span", {
79
+ id: `${o}-name`,
80
+ className: e("min-w-0 wrap-break-word text-body font-medium", s ? "text-fg-disabled" : "text-fg"),
81
+ children: t.label
82
+ }), t.hint && /* @__PURE__ */ F("span", {
83
+ className: "ml-auto shrink-0 text-small text-fg-tertiary tabular",
84
+ children: t.hint
85
+ })]
86
+ }),
87
+ t.description && /* @__PURE__ */ F("span", {
88
+ id: `${o}-desc`,
89
+ className: e("text-small text-pretty", s ? "text-fg-tertiary" : "text-fg-secondary"),
90
+ children: t.description
91
+ }),
92
+ t.disabled && t.disabledReason && /* @__PURE__ */ F("span", {
93
+ className: "text-caption text-fg-tertiary",
94
+ children: t.disabledReason
95
+ })
96
+ ]
97
+ }), /* @__PURE__ */ F(r, {
98
+ id: o,
99
+ value: t.value,
100
+ ...t.disabled ? { disabled: !0 } : {},
101
+ "aria-labelledby": `${o}-name`,
102
+ ...t.description ? { "aria-describedby": `${o}-desc` } : {}
103
+ })]
104
+ });
105
+ return t.disabled && t.disabledReason ? /* @__PURE__ */ F(n, {
106
+ content: t.disabledReason,
107
+ children: c
108
+ }, t.value) : /* @__PURE__ */ F(M, { children: c }, t.value);
109
+ })
110
+ })]
111
+ }) }, t.caption ?? "all"))
112
+ });
113
+ });
114
+ process.env.NODE_ENV !== "production" && (B.displayName = "RolePicker");
115
+ //#endregion
116
+ //#region src/components/kaeso/effective-access.tsx
117
+ var V = { layout: { rows: { classes: "flex flex-col @auth:grid @auth:grid-cols-term @auth:gap-x-16" } } }, H = { layout: "rows" }, U = /* @__PURE__ */ N(function({ groups: r, sources: i, action: o, "aria-label": s, className: c }, l) {
118
+ let u = t(), d = r.filter((e) => !e.rights.some((e) => e.granted));
119
+ return /* @__PURE__ */ I("div", {
120
+ ref: l,
121
+ role: "group",
122
+ "aria-label": s ?? u("effectiveAccess.access", "Access"),
123
+ className: e("@container flex min-w-0 flex-col gap-12", c),
124
+ children: [
125
+ !!i?.length && /* @__PURE__ */ I("span", {
126
+ className: "flex flex-wrap items-center gap-4",
127
+ children: [/* @__PURE__ */ F("span", {
128
+ className: "mr-4 text-small text-fg-secondary",
129
+ children: u("effectiveAccess.from", "From")
130
+ }), i.map((e) => e.detail ? /* @__PURE__ */ F(n, {
131
+ content: e.detail,
132
+ children: /* @__PURE__ */ F(a, {
133
+ tabIndex: 0,
134
+ className: "focus-ring",
135
+ children: e.label
136
+ })
137
+ }, e.label) : /* @__PURE__ */ F(a, { children: e.label }, e.label))]
138
+ }),
139
+ /* @__PURE__ */ I("dl", {
140
+ className: V.layout.rows.classes,
141
+ children: [r.filter((e) => e.rights.some((e) => e.granted)).map((e) => {
142
+ let t = e.rights.filter((e) => e.granted), n = t.length === e.rights.length ? u("effectiveAccess.everyRight", "Every right") : t.map((e) => e.label ?? e.code).join(u("effectiveAccess.listSeparator", ", "));
143
+ return /* @__PURE__ */ F(W, {
144
+ term: e.label,
145
+ count: u("effectiveAccess.grantedOfTotal", "{granted} of {total}", {
146
+ granted: t.length,
147
+ total: e.rights.length
148
+ }),
149
+ children: n
150
+ }, e.label);
151
+ }), d.length > 0 && /* @__PURE__ */ F(W, {
152
+ term: d.length === r.length ? u("effectiveAccess.noRights", "No rights") : u("effectiveAccess.noneIn", "None in"),
153
+ quiet: !0,
154
+ children: d.map((e) => e.label).join(u("effectiveAccess.listSeparator", ", "))
155
+ })]
156
+ }),
157
+ o && /* @__PURE__ */ F("div", {
158
+ className: "flex",
159
+ children: o
160
+ })
161
+ ]
162
+ });
163
+ });
164
+ process.env.NODE_ENV !== "production" && (U.displayName = "EffectiveAccess");
165
+ function W({ term: t, count: n, quiet: r, children: i }) {
166
+ return /* @__PURE__ */ I("div", {
167
+ className: "flex min-h-40 flex-col gap-2 py-8 not-first:hairline-t @auth:col-span-2 @auth:grid @auth:grid-cols-subgrid @auth:items-baseline @auth:gap-16",
168
+ children: [/* @__PURE__ */ F("dt", {
169
+ className: e("shrink-0 text-small font-medium @auth:min-w-140", r ? "text-fg-secondary" : "text-fg"),
170
+ children: t
171
+ }), /* @__PURE__ */ I("dd", {
172
+ className: "flex min-w-0 flex-1 items-baseline gap-12",
173
+ children: [/* @__PURE__ */ F("span", {
174
+ className: e("min-w-0 flex-1 text-small text-pretty", r ? "text-fg-tertiary" : "text-fg-secondary"),
175
+ children: i
176
+ }), n && /* @__PURE__ */ F("span", {
177
+ className: "shrink-0 text-small text-fg-tertiary tabular",
178
+ children: n
179
+ })]
180
+ })]
181
+ });
182
+ }
183
+ //#endregion
184
+ export { w as ConversationView, U as EffectiveAccess, h as EnvironmentSnippet, T as KAESO_CONVERSATION_DEFAULT_VARIANTS, E as KAESO_CONVERSATION_VARIANTS, H as KAESO_EFFECTIVE_ACCESS_DEFAULT_VARIANTS, V as KAESO_EFFECTIVE_ACCESS_VARIANTS, m as KAESO_IDENTITY_DEFAULT_VARIANTS, u as KAESO_IDENTITY_VARIANTS, g as KAESO_MOMENTS_DEFAULT_VARIANTS, _ as KAESO_MOMENTS_VARIANTS, j as KAESO_RIGHTS_MATRIX_DEFAULT_VARIANTS, k as KAESO_RIGHTS_MATRIX_VARIANTS, z as KAESO_ROLE_PICKER_DEFAULT_VARIANTS, R as KAESO_ROLE_PICKER_VARIANTS, b as KAESO_USAGE_DEFAULT_VARIANTS, x as KAESO_USAGE_VARIANTS, f as KeyDisplay, S as LimitMeter, c as ModelLabel, o as ProviderBadge, d as ProviderCard, p as RequestTimeline, A as RightsMatrix, B as RolePicker, v as SecretReveal, s as StatusCode, C as UsageBreakdown, O as groupCascade, l as providerName, D as rightsCascade, y as sdkSnippets };
185
+
186
+ //# sourceMappingURL=kaeso.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kaeso.js","names":["BaseRadioGroup","cn","useUiText","Tooltip","RadioCircle","Select","Badge","ProviderBadge","StatusCode","ModelLabel","KAESO_IDENTITY_VARIANTS","ProviderCard","KeyDisplay","RequestTimeline","KAESO_IDENTITY_DEFAULT_VARIANTS","rightsCascade","groupCascade","KAESO_RIGHTS_MATRIX_VARIANTS","RightsMatrix","KAESO_RIGHTS_MATRIX_DEFAULT_VARIANTS","KAESO_ROLE_PICKER_VARIANTS","KAESO_ROLE_PICKER_DEFAULT_VARIANTS","RolePicker","ariaLabel","t","baseId","useId","builtIn","custom","hasCustom","roles","r","appearance","fullWidth","className","label","name","disabled","value","onValueChange","sections","RadioGroup","v","s","Fragment","id","si","i","off","row","KAESO_EFFECTIVE_ACCESS_VARIANTS","KAESO_EFFECTIVE_ACCESS_DEFAULT_VARIANTS","EffectiveAccess","empty","groups","g","sources","granted","words","Row","action","quiet","term","count","ConversationView","EnvironmentSnippet","KAESO_CONVERSATION_DEFAULT_VARIANTS","KAESO_CONVERSATION_VARIANTS","KAESO_MOMENTS_DEFAULT_VARIANTS","KAESO_MOMENTS_VARIANTS","KAESO_USAGE_DEFAULT_VARIANTS","KAESO_USAGE_VARIANTS","LimitMeter","SecretReveal","UsageBreakdown","providerName","sdkSnippets"],"sources":["../../src/components/kaeso/role-picker.tsx","../../src/components/kaeso/effective-access.tsx"],"sourcesContent":["import { forwardRef, Fragment, useId } from \"react\";\nimport { RadioGroup as BaseRadioGroup } from \"@base-ui/react/radio-group\";\nimport { cn } from \"../../utils/cn.js\";\nimport { RadioCircle } from \"../radio/radio.js\";\nimport { Select } from \"../select/select.js\";\nimport { Tooltip } from \"../tooltip/tooltip.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_ROLE_PICKER_VARIANTS = {\n appearance: {\n list: {\n classes: \"flex flex-col gap-16\",\n },\n select: { classes: \"\" },\n },\n} as const;\nexport const KAESO_ROLE_PICKER_DEFAULT_VARIANTS = { appearance: \"list\" } as const;\n\nexport interface RoleOption {\n value: string;\n label: string;\n description?: string | undefined;\n custom?: boolean | undefined;\n hint?: string | undefined;\n disabled?: boolean | undefined;\n disabledReason?: string | undefined;\n}\n\nexport interface RolePickerProps {\n roles: RoleOption[];\n value?: string | null | undefined;\n onValueChange?: ((value: string) => void) | undefined;\n appearance?: keyof typeof KAESO_ROLE_PICKER_VARIANTS.appearance | undefined;\n disabled?: boolean | undefined;\n name?: string | undefined;\n label?: string | undefined;\n \"aria-label\"?: string | undefined;\n fullWidth?: boolean | undefined;\n size?: \"sm\" | \"md\" | undefined;\n className?: string | undefined;\n}\n\nexport const RolePicker = /* @__PURE__ */ forwardRef<HTMLDivElement, RolePickerProps>(function RolePicker(\n { roles, value, onValueChange, appearance = \"list\", disabled, name, label, \"aria-label\": ariaLabel, fullWidth, size = \"md\", className },\n ref,\n) {\n const t = useUiText();\n const baseId = useId();\n const builtIn = t(\"rolePicker.builtInRoles\", \"Built-in roles\");\n const custom = t(\"rolePicker.customRoles\", \"Custom roles\");\n const hasCustom = roles.some((r) => r.custom);\n if (appearance === \"select\") {\n return (\n <div ref={ref} className={cn(\"min-w-0\", fullWidth && \"w-full\", className)}>\n <Select\n {...(label ? { label } : {})}\n {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}\n {...(name ? { name } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(fullWidth ? { fullWidth } : {})}\n size={size}\n value={value ?? null}\n {...(onValueChange ? { onValueChange } : {})}\n options={[...roles.filter((r) => !r.custom), ...roles.filter((r) => r.custom)].map((r) => ({\n value: r.value,\n label: r.label,\n textValue: r.label,\n description: r.disabled && r.disabledReason ? r.disabledReason : r.description,\n ...(hasCustom ? { group: r.custom ? custom : builtIn } : {}),\n ...(r.disabled ? { disabled: true } : {}),\n }))}\n />\n </div>\n );\n }\n const sections = hasCustom\n ? [\n { caption: builtIn, items: roles.filter((r) => !r.custom) },\n { caption: custom, items: roles.filter((r) => r.custom) },\n ]\n : [{ caption: undefined, items: roles }];\n return (\n <BaseRadioGroup\n ref={ref}\n {...(value != null ? { value } : {})}\n {...(onValueChange ? { onValueChange: (v: unknown) => onValueChange(String(v)) } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(name ? { name } : {})}\n aria-label={ariaLabel ?? label ?? t(\"rolePicker.role\", \"Role\")}\n className={cn(KAESO_ROLE_PICKER_VARIANTS.appearance.list.classes, className)}\n >\n {sections\n .filter((s) => s.items.length > 0)\n .map((s, si) => (\n <Fragment key={s.caption ?? \"all\"}>\n <div className=\"flex flex-col gap-8\">\n {s.caption && <span className=\"px-4 text-caption font-medium text-fg-secondary\">{s.caption}</span>}\n <div className=\"flex flex-col overflow-hidden rounded-group bg-raised shadow-xs\">\n {s.items.map((r, i) => {\n const id = `${baseId}-${si}-${i}`;\n const off = disabled || r.disabled;\n const row = (\n <label\n htmlFor={id}\n className={cn(\n \"flex min-h-56 cursor-pointer items-center gap-16 px-16 py-12 transition-control hover:bg-fill-1 not-first:hairline-t\",\n off && \"cursor-not-allowed hover:bg-transparent\",\n )}\n >\n <span className=\"flex min-w-0 flex-1 flex-col gap-2\">\n <span className=\"flex min-w-0 items-baseline gap-8\">\n <span id={`${id}-name`} className={cn(\"min-w-0 wrap-break-word text-body font-medium\", off ? \"text-fg-disabled\" : \"text-fg\")}>\n {r.label}\n </span>\n {r.hint && <span className=\"ml-auto shrink-0 text-small text-fg-tertiary tabular\">{r.hint}</span>}\n </span>\n {r.description && (\n <span id={`${id}-desc`} className={cn(\"text-small text-pretty\", off ? \"text-fg-tertiary\" : \"text-fg-secondary\")}>\n {r.description}\n </span>\n )}\n {r.disabled && r.disabledReason && <span className=\"text-caption text-fg-tertiary\">{r.disabledReason}</span>}\n </span>\n <RadioCircle\n id={id}\n value={r.value}\n {...(r.disabled ? { disabled: true } : {})}\n aria-labelledby={`${id}-name`}\n {...(r.description ? { \"aria-describedby\": `${id}-desc` } : {})}\n />\n </label>\n );\n return r.disabled && r.disabledReason ? (\n <Tooltip key={r.value} content={r.disabledReason}>\n {row}\n </Tooltip>\n ) : (\n <Fragment key={r.value}>{row}</Fragment>\n );\n })}\n </div>\n </div>\n </Fragment>\n ))}\n </BaseRadioGroup>\n );\n});\nif (process.env.NODE_ENV !== \"production\") RolePicker.displayName = \"RolePicker\";\n","import { forwardRef, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { Badge } from \"../badge/badge.js\";\nimport { Tooltip } from \"../tooltip/tooltip.js\";\nimport type { RightSource, RightsGroup } from \"./rights.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_EFFECTIVE_ACCESS_VARIANTS = {\n layout: {\n rows: {\n classes: \"flex flex-col @auth:grid @auth:grid-cols-term @auth:gap-x-16\",\n },\n },\n} as const;\nexport const KAESO_EFFECTIVE_ACCESS_DEFAULT_VARIANTS = { layout: \"rows\" } as const;\n\nexport interface EffectiveAccessProps {\n groups: RightsGroup[];\n sources?: RightSource[] | undefined;\n action?: ReactNode | undefined;\n \"aria-label\"?: string | undefined;\n className?: string | undefined;\n}\n\nexport const EffectiveAccess = /* @__PURE__ */ forwardRef<HTMLDivElement, EffectiveAccessProps>(function EffectiveAccess(\n { groups, sources, action, \"aria-label\": ariaLabel, className },\n ref,\n) {\n const t = useUiText();\n const empty = groups.filter((g) => !g.rights.some((r) => r.granted));\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-label={ariaLabel ?? t(\"effectiveAccess.access\", \"Access\")}\n className={cn(\"@container flex min-w-0 flex-col gap-12\", className)}\n >\n {!!sources?.length && (\n <span className=\"flex flex-wrap items-center gap-4\">\n <span className=\"mr-4 text-small text-fg-secondary\">{t(\"effectiveAccess.from\", \"From\")}</span>\n {sources.map((s) =>\n s.detail ? (\n <Tooltip key={s.label} content={s.detail}>\n <Badge tabIndex={0} className=\"focus-ring\">\n {s.label}\n </Badge>\n </Tooltip>\n ) : (\n <Badge key={s.label}>{s.label}</Badge>\n ),\n )}\n </span>\n )}\n <dl className={KAESO_EFFECTIVE_ACCESS_VARIANTS.layout.rows.classes}>\n {groups\n .filter((g) => g.rights.some((r) => r.granted))\n .map((g) => {\n const granted = g.rights.filter((r) => r.granted);\n const words =\n granted.length === g.rights.length\n ? t(\"effectiveAccess.everyRight\", \"Every right\")\n : granted.map((r) => r.label ?? r.code).join(t(\"effectiveAccess.listSeparator\", \", \"));\n return (\n <Row\n key={g.label}\n term={g.label}\n count={t(\"effectiveAccess.grantedOfTotal\", \"{granted} of {total}\", { granted: granted.length, total: g.rights.length })}\n >\n {words}\n </Row>\n );\n })}\n {empty.length > 0 && (\n <Row term={empty.length === groups.length ? t(\"effectiveAccess.noRights\", \"No rights\") : t(\"effectiveAccess.noneIn\", \"None in\")} quiet>\n {empty.map((g) => g.label).join(t(\"effectiveAccess.listSeparator\", \", \"))}\n </Row>\n )}\n </dl>\n {action && <div className=\"flex\">{action}</div>}\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") EffectiveAccess.displayName = \"EffectiveAccess\";\n\nfunction Row({ term, count, quiet, children }: { term: string; count?: string | undefined; quiet?: boolean | undefined; children: ReactNode }) {\n return (\n <div className=\"flex min-h-40 flex-col gap-2 py-8 not-first:hairline-t @auth:col-span-2 @auth:grid @auth:grid-cols-subgrid @auth:items-baseline @auth:gap-16\">\n <dt className={cn(\"shrink-0 text-small font-medium @auth:min-w-140\", quiet ? \"text-fg-secondary\" : \"text-fg\")}>{term}</dt>\n <dd className=\"flex min-w-0 flex-1 items-baseline gap-12\">\n <span className={cn(\"min-w-0 flex-1 text-small text-pretty\", quiet ? \"text-fg-tertiary\" : \"text-fg-secondary\")}>{children}</span>\n {count && <span className=\"shrink-0 text-small text-fg-tertiary tabular\">{count}</span>}\n </dd>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ export { t as KAESO_KBD_DEFAULT_VARIANTS, n as KAESO_KBD_VARIANTS, r as Kbd, i as KbdSequence, a as keyLabel } from "../chunks/kbd-CBcBDvqU.js";
@@ -0,0 +1,73 @@
1
+ "use client";
2
+ import { t as e } from "../chunks/cn-CidVUKMm.js";
3
+ import { r as t } from "../chunks/tooltip-CDu00nzg.js";
4
+ import { t as n } from "../chunks/use-truncated-DmQoePvG.js";
5
+ import { n as r } from "../chunks/copy-button-mAzHjYXq.js";
6
+ import { forwardRef as i, useRef as a } from "react";
7
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
+ //#region src/components/key-value/key-value.tsx
9
+ var c = {
10
+ layout: {
11
+ columns: { classes: "grid grid-cols-kv gap-x-24" },
12
+ stacked: { classes: "flex flex-col" },
13
+ grid: { classes: "grid gap-x-32" }
14
+ },
15
+ columns: {
16
+ 2: { classes: "grid-cols-1 @kv:grid-cols-2" },
17
+ 3: { classes: "grid-cols-2 @kv:grid-cols-3" },
18
+ 4: { classes: "grid-cols-2 @kv:grid-cols-4" }
19
+ }
20
+ }, l = {
21
+ layout: "columns",
22
+ columns: 2
23
+ };
24
+ function u({ children: e }) {
25
+ let r = a(null), i = n(r), s = /* @__PURE__ */ o("span", {
26
+ ref: r,
27
+ className: "block min-w-0 truncate",
28
+ ...i ? { tabIndex: 0 } : {},
29
+ children: e
30
+ });
31
+ return i ? /* @__PURE__ */ o(t, {
32
+ content: e,
33
+ shape: "multiline",
34
+ children: s
35
+ }) : s;
36
+ }
37
+ var d = /* @__PURE__ */ i(function({ items: t, layout: n = "columns", columns: i = 2, className: a }, l) {
38
+ let d = n === "grid", f = /* @__PURE__ */ o("dl", {
39
+ ref: l,
40
+ className: e(c.layout[n].classes, d && c.columns[i].classes, a),
41
+ children: t.map((t, i) => /* @__PURE__ */ s("div", {
42
+ className: e(n === "columns" ? "contents" : "flex min-w-0 flex-col gap-2 py-8", d && t.span === "row" && "col-span-full"),
43
+ children: [/* @__PURE__ */ o("dt", {
44
+ className: e("text-small text-fg-secondary", n === "columns" && "flex min-h-36 items-center", n === "columns" && t.wrap && "items-start pt-8", d && "truncate"),
45
+ children: t.label
46
+ }), /* @__PURE__ */ s("dd", {
47
+ className: e("group/kv flex min-w-0 items-center gap-4 text-body text-fg", d ? "min-h-24" : "min-h-36", t.mono && "mono text-small", t.wrap && (d ? "items-start" : "items-start py-8")),
48
+ children: [t.wrap ? /* @__PURE__ */ o("span", {
49
+ className: "min-w-0 break-words",
50
+ children: t.value
51
+ }) : typeof t.value == "string" ? /* @__PURE__ */ o(u, { children: t.value }) : /* @__PURE__ */ o("span", {
52
+ className: "min-w-0 truncate",
53
+ children: t.value
54
+ }), t.copy && /* @__PURE__ */ o("span", {
55
+ className: "shrink-0 opacity-0 transition-control group-hover/kv:opacity-100 coarse:opacity-100 focus-within:opacity-100",
56
+ children: /* @__PURE__ */ o(r, {
57
+ value: t.copy,
58
+ size: "xs"
59
+ })
60
+ })]
61
+ })]
62
+ }, i))
63
+ });
64
+ return d ? /* @__PURE__ */ o("div", {
65
+ className: "@container min-w-0",
66
+ children: f
67
+ }) : f;
68
+ });
69
+ process.env.NODE_ENV !== "production" && (d.displayName = "KeyValue");
70
+ //#endregion
71
+ export { l as KAESO_KEY_VALUE_DEFAULT_VARIANTS, c as KAESO_KEY_VALUE_VARIANTS, d as KeyValue };
72
+
73
+ //# sourceMappingURL=key-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-value.js","names":["cn","Tooltip","useTruncated","CopyButton","KAESO_KEY_VALUE_VARIANTS","KAESO_KEY_VALUE_DEFAULT_VARIANTS","Cut","ref","useRef","cut","el","children","KeyValue","grid","layout","list","columns","className","items","it"],"sources":["../../src/components/key-value/key-value.tsx"],"sourcesContent":["import { forwardRef, useRef, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useTruncated } from \"../../hooks/use-truncated.js\";\nimport { CopyButton } from \"../copy-button/copy-button.js\";\nimport { Tooltip } from \"../tooltip/tooltip.js\";\n\nexport const KAESO_KEY_VALUE_VARIANTS = {\n layout: {\n columns: { classes: \"grid grid-cols-kv gap-x-24\" },\n stacked: { classes: \"flex flex-col\" },\n grid: { classes: \"grid gap-x-32\" },\n },\n columns: {\n 2: { classes: \"grid-cols-1 @kv:grid-cols-2\" },\n 3: { classes: \"grid-cols-2 @kv:grid-cols-3\" },\n 4: { classes: \"grid-cols-2 @kv:grid-cols-4\" },\n },\n} as const;\nexport const KAESO_KEY_VALUE_DEFAULT_VARIANTS = { layout: \"columns\", columns: 2 } as const;\n\nexport interface KeyValueItem {\n label: ReactNode;\n value: ReactNode;\n copy?: string | undefined;\n mono?: boolean | undefined;\n wrap?: boolean | undefined;\n span?: \"row\" | undefined;\n}\n\nexport interface KeyValueProps {\n items: KeyValueItem[];\n layout?: keyof typeof KAESO_KEY_VALUE_VARIANTS.layout | undefined;\n columns?: keyof typeof KAESO_KEY_VALUE_VARIANTS.columns | undefined;\n className?: string | undefined;\n}\n\nfunction Cut({ children }: { children: string }) {\n const ref = useRef<HTMLSpanElement>(null);\n const cut = useTruncated(ref);\n const el = (\n <span ref={ref} className=\"block min-w-0 truncate\" {...(cut ? { tabIndex: 0 } : {})}>\n {children}\n </span>\n );\n return cut ? (\n <Tooltip content={children} shape=\"multiline\">\n {el}\n </Tooltip>\n ) : (\n el\n );\n}\n\nexport const KeyValue = /* @__PURE__ */ forwardRef<HTMLDListElement, KeyValueProps>(function KeyValue({ items, layout = \"columns\", columns = 2, className }, ref) {\n const grid = layout === \"grid\";\n const list = (\n <dl ref={ref} className={cn(KAESO_KEY_VALUE_VARIANTS.layout[layout].classes, grid && KAESO_KEY_VALUE_VARIANTS.columns[columns].classes, className)}>\n {items.map((it, i) => (\n <div key={i} className={cn(layout === \"columns\" ? \"contents\" : \"flex min-w-0 flex-col gap-2 py-8\", grid && it.span === \"row\" && \"col-span-full\")}>\n <dt\n className={cn(\n \"text-small text-fg-secondary\",\n layout === \"columns\" && \"flex min-h-36 items-center\",\n layout === \"columns\" && it.wrap && \"items-start pt-8\",\n grid && \"truncate\",\n )}\n >\n {it.label}\n </dt>\n <dd\n className={cn(\n \"group/kv flex min-w-0 items-center gap-4 text-body text-fg\",\n grid ? \"min-h-24\" : \"min-h-36\",\n it.mono && \"mono text-small\",\n it.wrap && (grid ? \"items-start\" : \"items-start py-8\"),\n )}\n >\n {it.wrap ? (\n <span className=\"min-w-0 break-words\">{it.value}</span>\n ) : typeof it.value === \"string\" ? (\n <Cut>{it.value}</Cut>\n ) : (\n <span className=\"min-w-0 truncate\">{it.value}</span>\n )}\n {it.copy && (\n <span className=\"shrink-0 opacity-0 transition-control group-hover/kv:opacity-100 coarse:opacity-100 focus-within:opacity-100\">\n <CopyButton value={it.copy} size=\"xs\" />\n </span>\n )}\n </dd>\n </div>\n ))}\n </dl>\n );\n return grid ? <div className=\"@container min-w-0\">{list}</div> : list;\n});\nif (process.env.NODE_ENV !== \"production\") KeyValue.displayName = \"KeyValue\";\n"],"mappings":";;;;;;;;AAMA,IAAaI,IAA2B;CACtC,QAAQ;EACN,SAAS,EAAE,SAAS,6BAA6B;EACjD,SAAS,EAAE,SAAS,gBAAgB;EACpC,MAAM,EAAE,SAAS,gBAAgB;CACnC;CACA,SAAS;EACP,GAAG,EAAE,SAAS,8BAA8B;EAC5C,GAAG,EAAE,SAAS,8BAA8B;EAC5C,GAAG,EAAE,SAAS,8BAA8B;CAC9C;AACF,GACaC,IAAmC;CAAE,QAAQ;CAAW,SAAS;AAAE;AAkBhF,SAASC,EAAI,EAAE,eAAkC;CAC/C,IAAMC,IAAMC,EAAwB,IAAI,GAClCC,IAAMP,EAAaK,CAAG,GACtBG,IACJ,kBAAC,QAAD;EAAW;EAAK,WAAU;EAAyB,GAAKD,IAAM,EAAE,UAAU,EAAE,IAAI,CAAC;EAC9E;CACG,CAAA;CAER,OAAOA,IACL,kBAACR,GAAD;EAAS,SAASU;EAAU,OAAM;EAC/B,UAAAD;CACM,CAAA,IAETA;AAEJ;AAEA,IAAaE,IAA2B,kBAA4C,SAAkB,EAAE,UAAO,YAAS,WAAW,aAAU,GAAG,gBAAa,GAAK;CAChK,IAAMC,IAAOC,MAAW,QAClBC,IACJ,kBAAC,MAAD;EAAS;EAAK,WAAWf,EAAGI,EAAyB,OAAOU,EAAO,CAAC,SAASD,KAAQT,EAAyB,QAAQY,EAAQ,CAAC,SAASC,CAAS;EAC9I,UAAAC,EAAM,KAAK,GAAI,MACd,kBAAC,OAAD;GAAa,WAAWlB,EAAGc,MAAW,YAAY,aAAa,oCAAoCD,KAAQM,EAAG,SAAS,SAAS,eAAe;GAA/I,UAAA,CACE,kBAAC,MAAD;IACE,WAAWnB,EACT,gCACAc,MAAW,aAAa,8BACxBA,MAAW,aAAaK,EAAG,QAAQ,oBACnCN,KAAQ,UACV;IAEC,UAAAM,EAAG;GACF,CAAA,GACJ,kBAAC,MAAD;IACE,WAAWnB,EACT,8DACAa,IAAO,aAAa,YACpBM,EAAG,QAAQ,mBACXA,EAAG,SAASN,IAAO,gBAAgB,mBACrC;IANF,UAAA,CAQGM,EAAG,OACF,kBAAC,QAAD;KAAM,WAAU;KAAuB,UAAAA,EAAG;IAAY,CAAA,IACpD,OAAOA,EAAG,SAAU,WACtB,kBAACb,GAAD,EAAA,UAAMa,EAAG,MAAW,CAAA,IAEpB,kBAAC,QAAD;KAAM,WAAU;KAAoB,UAAAA,EAAG;IAAY,CAAA,GAEpDA,EAAG,QACF,kBAAC,QAAD;KAAM,WAAU;KACd,UAAA,kBAAChB,GAAD;MAAY,OAAOgB,EAAG;MAAM,MAAK;KAAM,CAAA;IACnC,CAAA,CAEN;GACD,CAAA,CAAA;EAhCK,GAAA,CAgCL,CACN;CACC,CAAA;CAEN,OAAON,IAAO,kBAAC,OAAD;EAAK,WAAU;EAAsB,UAAAE;CAAU,CAAA,IAAIA;AACnE,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAS,cAAc"}
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import { t as e } from "../chunks/cn-CidVUKMm.js";
3
+ import { i as t } from "../chunks/context-BELWW79w.js";
4
+ import { forwardRef as n } from "react";
5
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
6
+ //#region src/components/label/label.tsx
7
+ var a = { size: {
8
+ md: { classes: "text-body font-medium" },
9
+ sm: { classes: "text-small font-medium" }
10
+ } }, o = { size: "md" }, s = /* @__PURE__ */ n(function({ size: n = "md", optional: o, className: s, children: c, ...l }, u) {
11
+ let d = t();
12
+ return /* @__PURE__ */ i("label", {
13
+ ref: u,
14
+ className: e("inline-flex items-baseline gap-6 text-fg", a.size[n].classes, s),
15
+ ...l,
16
+ children: [c, o && /* @__PURE__ */ r("span", {
17
+ className: "text-small font-regular text-fg-tertiary",
18
+ children: d("label.optional", "Optional")
19
+ })]
20
+ });
21
+ });
22
+ process.env.NODE_ENV !== "production" && (s.displayName = "Label");
23
+ //#endregion
24
+ export { o as KAESO_LABEL_DEFAULT_VARIANTS, a as KAESO_LABEL_VARIANTS, s as Label };
25
+
26
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","names":["cn","useUiText","KAESO_LABEL_VARIANTS","KAESO_LABEL_DEFAULT_VARIANTS","Label","props","t","size","className","children","optional"],"sources":["../../src/components/label/label.tsx"],"sourcesContent":["import { forwardRef, type LabelHTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_LABEL_VARIANTS = {\n size: {\n md: { classes: \"text-body font-medium\" },\n sm: { classes: \"text-small font-medium\" },\n },\n} as const;\nexport const KAESO_LABEL_DEFAULT_VARIANTS = { size: \"md\" } as const;\n\nexport interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {\n size?: keyof typeof KAESO_LABEL_VARIANTS.size | undefined;\n optional?: boolean | undefined;\n children: ReactNode;\n}\n\nexport const Label = /* @__PURE__ */ forwardRef<HTMLLabelElement, LabelProps>(function Label({ size = \"md\", optional, className, children, ...props }, ref) {\n const t = useUiText();\n return (\n <label ref={ref} className={cn(\"inline-flex items-baseline gap-6 text-fg\", KAESO_LABEL_VARIANTS.size[size].classes, className)} {...props}>\n {children}\n {optional && <span className=\"text-small font-regular text-fg-tertiary\">{t(\"label.optional\", \"Optional\")}</span>}\n </label>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Label.displayName = \"Label\";\n"],"mappings":";;;;;;AAIA,IAAaE,IAAuB,EAClC,MAAM;CACJ,IAAI,EAAE,SAAS,wBAAwB;CACvC,IAAI,EAAE,SAAS,yBAAyB;AAC1C,EACF,GACaC,IAA+B,EAAE,MAAM,KAAK,GAQ5CC,IAAwB,kBAAyC,SAAe,EAAE,UAAO,MAAM,aAAU,cAAW,aAAU,GAAGC,KAAS,GAAK;CAC1J,IAAMC,IAAIL,EAAU;CACpB,OACE,kBAAC,SAAD;EAAY;EAAK,WAAWD,EAAG,4CAA4CE,EAAqB,KAAKK,EAAK,CAAC,SAASC,CAAS;EAAG,GAAIH;EAApI,UAAA,CACGI,GACAC,KAAY,kBAAC,QAAD;GAAM,WAAU;GAA4C,UAAAJ,EAAE,kBAAkB,UAAU;EAAQ,CAAA,CAC1G;;AAEX,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAM,cAAc"}
@@ -0,0 +1,72 @@
1
+ "use client";
2
+ import { t as e } from "../chunks/cn-CidVUKMm.js";
3
+ import { forwardRef as t } from "react";
4
+ import { jsx as n } from "react/jsx-runtime";
5
+ //#region src/components/layout/layout.tsx
6
+ var r = {
7
+ 0: "gap-0",
8
+ 2: "gap-2",
9
+ 4: "gap-4",
10
+ 6: "gap-6",
11
+ 8: "gap-8",
12
+ 12: "gap-12",
13
+ 16: "gap-16",
14
+ 20: "gap-20",
15
+ 24: "gap-24",
16
+ 32: "gap-32",
17
+ 40: "gap-40",
18
+ 48: "gap-48",
19
+ 64: "gap-64"
20
+ }, i = {
21
+ align: {
22
+ start: { classes: "items-start" },
23
+ center: { classes: "items-center" },
24
+ end: { classes: "items-end" },
25
+ baseline: { classes: "items-baseline" },
26
+ stretch: { classes: "items-stretch" }
27
+ },
28
+ justify: {
29
+ start: { classes: "justify-start" },
30
+ center: { classes: "justify-center" },
31
+ end: { classes: "justify-end" },
32
+ between: { classes: "justify-between" }
33
+ },
34
+ columns: {
35
+ 1: { classes: "grid-cols-1" },
36
+ 2: { classes: "grid-cols-1 md:grid-cols-2" },
37
+ 3: { classes: "grid-cols-1 md:grid-cols-3" },
38
+ 4: { classes: "grid-cols-2 lg:grid-cols-4" },
39
+ 6: { classes: "grid-cols-3 lg:grid-cols-6" }
40
+ }
41
+ }, a = {
42
+ align: "stretch",
43
+ justify: "start",
44
+ columns: 2
45
+ }, o = /* @__PURE__ */ t(function({ gap: t = 12, align: a, justify: o, as: s, className: c, ...l }, u) {
46
+ return /* @__PURE__ */ n(s ?? "div", {
47
+ ref: u,
48
+ className: e("flex flex-col", r[t], a && i.align[a].classes, o && i.justify[o].classes, c),
49
+ ...l
50
+ });
51
+ });
52
+ process.env.NODE_ENV !== "production" && (o.displayName = "Stack");
53
+ var s = /* @__PURE__ */ t(function({ gap: t = 8, align: a = "center", justify: o, wrap: s = !0, as: c, className: l, ...u }, d) {
54
+ return /* @__PURE__ */ n(c ?? "div", {
55
+ ref: d,
56
+ className: e("flex", s && "flex-wrap", r[t], i.align[a].classes, o && i.justify[o].classes, l),
57
+ ...u
58
+ });
59
+ });
60
+ process.env.NODE_ENV !== "production" && (s.displayName = "Inline");
61
+ var c = /* @__PURE__ */ t(function({ gap: t = 16, columns: a = 2, align: o, as: s, className: c, ...l }, u) {
62
+ return /* @__PURE__ */ n(s ?? "div", {
63
+ ref: u,
64
+ className: e("grid", r[t], i.columns[a].classes, o && i.align[o].classes, c),
65
+ ...l
66
+ });
67
+ });
68
+ process.env.NODE_ENV !== "production" && (c.displayName = "Grid");
69
+ //#endregion
70
+ export { c as Grid, s as Inline, a as KAESO_LAYOUT_DEFAULT_VARIANTS, i as KAESO_LAYOUT_VARIANTS, o as Stack };
71
+
72
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","names":["cn","GAP","KAESO_LAYOUT_VARIANTS","KAESO_LAYOUT_DEFAULT_VARIANTS","Stack","props","as","gap","align","justify","className","Inline","wrap","Grid","columns"],"sources":["../../src/components/layout/layout.tsx"],"sourcesContent":["import { forwardRef, type ElementType, type HTMLAttributes } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\n\nconst GAP = {\n 0: \"gap-0\",\n 2: \"gap-2\",\n 4: \"gap-4\",\n 6: \"gap-6\",\n 8: \"gap-8\",\n 12: \"gap-12\",\n 16: \"gap-16\",\n 20: \"gap-20\",\n 24: \"gap-24\",\n 32: \"gap-32\",\n 40: \"gap-40\",\n 48: \"gap-48\",\n 64: \"gap-64\",\n} as const;\nexport type Gap = keyof typeof GAP;\n\nexport const KAESO_LAYOUT_VARIANTS = {\n align: {\n start: { classes: \"items-start\" },\n center: { classes: \"items-center\" },\n end: { classes: \"items-end\" },\n baseline: { classes: \"items-baseline\" },\n stretch: { classes: \"items-stretch\" },\n },\n justify: {\n start: { classes: \"justify-start\" },\n center: { classes: \"justify-center\" },\n end: { classes: \"justify-end\" },\n between: { classes: \"justify-between\" },\n },\n columns: {\n 1: { classes: \"grid-cols-1\" },\n 2: { classes: \"grid-cols-1 md:grid-cols-2\" },\n 3: { classes: \"grid-cols-1 md:grid-cols-3\" },\n 4: { classes: \"grid-cols-2 lg:grid-cols-4\" },\n 6: { classes: \"grid-cols-3 lg:grid-cols-6\" },\n },\n} as const;\nexport const KAESO_LAYOUT_DEFAULT_VARIANTS = { align: \"stretch\", justify: \"start\", columns: 2 } as const;\n\ninterface BaseProps extends HTMLAttributes<HTMLElement> {\n gap?: Gap | undefined;\n align?: keyof typeof KAESO_LAYOUT_VARIANTS.align | undefined;\n justify?: keyof typeof KAESO_LAYOUT_VARIANTS.justify | undefined;\n as?: ElementType | undefined;\n}\n\nexport const Stack = /* @__PURE__ */ forwardRef<HTMLElement, BaseProps>(function Stack({ gap = 12, align, justify, as, className, ...props }, ref) {\n const C = (as ?? \"div\") as ElementType;\n return (\n <C\n ref={ref}\n className={cn(\n \"flex flex-col\",\n GAP[gap],\n align && KAESO_LAYOUT_VARIANTS.align[align].classes,\n justify && KAESO_LAYOUT_VARIANTS.justify[justify].classes,\n className,\n )}\n {...props}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") Stack.displayName = \"Stack\";\n\nexport const Inline = /* @__PURE__ */ forwardRef<HTMLElement, BaseProps & { wrap?: boolean | undefined }>(function Inline(\n { gap = 8, align = \"center\", justify, wrap = true, as, className, ...props },\n ref,\n) {\n const C = (as ?? \"div\") as ElementType;\n return (\n <C\n ref={ref}\n className={cn(\n \"flex\",\n wrap && \"flex-wrap\",\n GAP[gap],\n KAESO_LAYOUT_VARIANTS.align[align].classes,\n justify && KAESO_LAYOUT_VARIANTS.justify[justify].classes,\n className,\n )}\n {...props}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") Inline.displayName = \"Inline\";\n\nexport const Grid = /* @__PURE__ */ forwardRef<HTMLElement, Omit<BaseProps, \"justify\"> & { columns?: keyof typeof KAESO_LAYOUT_VARIANTS.columns | undefined }>(function Grid(\n { gap = 16, columns = 2, align, as, className, ...props },\n ref,\n) {\n const C = (as ?? \"div\") as ElementType;\n return (\n <C\n ref={ref}\n className={cn(\"grid\", GAP[gap], KAESO_LAYOUT_VARIANTS.columns[columns].classes, align && KAESO_LAYOUT_VARIANTS.align[align].classes, className)}\n {...props}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") Grid.displayName = \"Grid\";\n"],"mappings":";;;;;AAGA,IAAMC,IAAM;CACV,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN,GAGaC,IAAwB;CACnC,OAAO;EACL,OAAO,EAAE,SAAS,cAAc;EAChC,QAAQ,EAAE,SAAS,eAAe;EAClC,KAAK,EAAE,SAAS,YAAY;EAC5B,UAAU,EAAE,SAAS,iBAAiB;EACtC,SAAS,EAAE,SAAS,gBAAgB;CACtC;CACA,SAAS;EACP,OAAO,EAAE,SAAS,gBAAgB;EAClC,QAAQ,EAAE,SAAS,iBAAiB;EACpC,KAAK,EAAE,SAAS,cAAc;EAC9B,SAAS,EAAE,SAAS,kBAAkB;CACxC;CACA,SAAS;EACP,GAAG,EAAE,SAAS,cAAc;EAC5B,GAAG,EAAE,SAAS,6BAA6B;EAC3C,GAAG,EAAE,SAAS,6BAA6B;EAC3C,GAAG,EAAE,SAAS,6BAA6B;EAC3C,GAAG,EAAE,SAAS,6BAA6B;CAC7C;AACF,GACaC,IAAgC;CAAE,OAAO;CAAW,SAAS;CAAS,SAAS;AAAE,GASjFC,IAAwB,kBAAmC,SAAe,EAAE,SAAM,IAAI,UAAO,YAAS,OAAI,cAAW,GAAGC,KAAS,GAAK;CAEjJ,OACE,kBAFSC,KAAM,OAEf;EACO;EACL,WAAWN,EACT,iBACAC,EAAIM,IACJC,KAASN,EAAsB,MAAMM,EAAM,CAAC,SAC5CC,KAAWP,EAAsB,QAAQO,EAAQ,CAAC,SAClDC,CACF;EACA,GAAIL;CACL,CAAA;AAEL,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAM,cAAc;AAE/D,IAAaM,IAAyB,kBAAoE,SACxG,EAAE,SAAM,GAAG,WAAQ,UAAU,YAAS,UAAO,IAAM,OAAI,cAAW,GAAGN,KACrE,GACA;CAEA,OACE,kBAFSC,KAAM,OAEf;EACO;EACL,WAAWN,EACT,QACAY,KAAQ,aACRX,EAAIM,IACJL,EAAsB,MAAMM,EAAM,CAAC,SACnCC,KAAWP,EAAsB,QAAQO,EAAQ,CAAC,SAClDC,CACF;EACA,GAAIL;CACL,CAAA;AAEL,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAO,cAAc;AAEhE,IAAaQ,IAAuB,kBAA2H,SAC7J,EAAE,SAAM,IAAI,aAAU,GAAG,UAAO,OAAI,cAAW,GAAGR,KAClD,GACA;CAEA,OACE,kBAFSC,KAAM,OAEf;EACO;EACL,WAAWN,EAAG,QAAQC,EAAIM,IAAML,EAAsB,QAAQY,EAAQ,CAAC,SAASN,KAASN,EAAsB,MAAMM,EAAM,CAAC,SAASE,CAAS;EAC9I,GAAIL;CACL,CAAA;AAEL,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAK,cAAc"}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ export { t as KAESO_LINK_DEFAULT_VARIANTS, n as KAESO_LINK_VARIANTS, r as Link } from "../chunks/link-tTapNTpM.js";
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ export { t as GroupHeader, n as KAESO_LIST_DEFAULT_VARIANTS, r as KAESO_LIST_VARIANTS, i as List, a as ListRow, o as SelectionAction, s as SelectionBar } from "../chunks/list-CN8pO8lv.js";
@@ -0,0 +1,38 @@
1
+ "use client";
2
+ import { t as e } from "../chunks/cn-CidVUKMm.js";
3
+ import { i as t } from "../chunks/context-BELWW79w.js";
4
+ import { i as n, n as r, r as i, t as a } from "../chunks/loader-CUehxvSZ.js";
5
+ import { forwardRef as o } from "react";
6
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
7
+ //#region src/components/loader/status.tsx
8
+ var l = {
9
+ size: r.size,
10
+ tone: {
11
+ secondary: { classes: "text-fg-secondary" },
12
+ tertiary: { classes: "text-fg-tertiary" },
13
+ current: { classes: "" }
14
+ }
15
+ }, u = {
16
+ size: "sm",
17
+ tone: "secondary"
18
+ }, d = /* @__PURE__ */ o(function({ size: r = "sm", tone: a, label: o, hideLabel: u, loading: d = !0, delay: f, minDuration: p, className: m, ...h }, g) {
19
+ let _ = t(), v = n(d, f === !0 ? void 0 : f || 0, p ?? (f ? void 0 : 0));
20
+ return /* @__PURE__ */ s("span", {
21
+ ref: g,
22
+ role: "status",
23
+ className: e("inline-flex items-center gap-8 text-body", l.tone[a ?? "secondary"].classes, m),
24
+ ...h,
25
+ children: /* @__PURE__ */ c("span", {
26
+ className: v ? "contents" : "contents invisible",
27
+ children: [/* @__PURE__ */ s(i, { size: r }), /* @__PURE__ */ s("span", {
28
+ className: e(!o || u ? "sr-only" : void 0),
29
+ children: o ?? _("loader.loading", "Loading")
30
+ })]
31
+ })
32
+ });
33
+ });
34
+ process.env.NODE_ENV !== "production" && (d.displayName = "Loader");
35
+ //#endregion
36
+ export { u as KAESO_LOADER_DEFAULT_VARIANTS, l as KAESO_LOADER_VARIANTS, a as KAESO_SPINNER_DEFAULT_VARIANTS, r as KAESO_SPINNER_VARIANTS, d as Loader, i as Spinner, n as useDelayedLoading };
37
+
38
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","names":["cn","useUiText","useDelayedLoading","KAESO_SPINNER_VARIANTS","Spinner","KAESO_SPINNER_DEFAULT_VARIANTS","KAESO_LOADER_VARIANTS","KAESO_LOADER_DEFAULT_VARIANTS","Loader","props","t","shown","loading","delay","minDuration","tone","className","label","hideLabel"],"sources":["../../src/components/loader/status.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { KAESO_SPINNER_VARIANTS, Spinner, useDelayedLoading } from \"./loader.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_LOADER_VARIANTS = {\n size: KAESO_SPINNER_VARIANTS.size,\n tone: {\n secondary: { classes: \"text-fg-secondary\" },\n tertiary: { classes: \"text-fg-tertiary\" },\n current: { classes: \"\" },\n },\n} as const;\nexport const KAESO_LOADER_DEFAULT_VARIANTS = { size: \"sm\", tone: \"secondary\" } as const;\n\nexport type LoaderSize = keyof typeof KAESO_LOADER_VARIANTS.size;\nexport type LoaderTone = keyof typeof KAESO_LOADER_VARIANTS.tone;\n\nexport interface LoaderProps extends HTMLAttributes<HTMLSpanElement> {\n size?: LoaderSize | undefined;\n tone?: LoaderTone | undefined;\n label?: string | undefined;\n hideLabel?: boolean | undefined;\n loading?: boolean | undefined;\n delay?: boolean | number | undefined;\n minDuration?: number | undefined;\n}\n\nexport const Loader = /* @__PURE__ */ forwardRef<HTMLSpanElement, LoaderProps>(function Loader(\n { size = \"sm\", tone, label, hideLabel, loading = true, delay, minDuration, className, ...props },\n ref,\n) {\n const t = useUiText();\n const shown = useDelayedLoading(loading, delay === true ? undefined : delay || 0, minDuration ?? (delay ? undefined : 0));\n return (\n <span\n ref={ref}\n role=\"status\"\n className={cn(\"inline-flex items-center gap-8 text-body\", KAESO_LOADER_VARIANTS.tone[tone ?? \"secondary\"].classes, className)}\n {...props}\n >\n <span className={shown ? \"contents\" : \"contents invisible\"}>\n <Spinner size={size} />\n <span className={cn(!label || hideLabel ? \"sr-only\" : undefined)}>{label ?? t(\"loader.loading\", \"Loading\")}</span>\n </span>\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Loader.displayName = \"Loader\";\n"],"mappings":";;;;;;;AAKA,IAAaM,IAAwB;CACnC,MAAMH,EAAuB;CAC7B,MAAM;EACJ,WAAW,EAAE,SAAS,oBAAoB;EAC1C,UAAU,EAAE,SAAS,mBAAmB;EACxC,SAAS,EAAE,SAAS,GAAG;CACzB;AACF,GACaI,IAAgC;CAAE,MAAM;CAAM,MAAM;AAAY,GAehEC,IAAyB,kBAAyC,SAC7E,EAAE,UAAO,MAAM,SAAM,UAAO,cAAW,aAAU,IAAM,UAAO,gBAAa,cAAW,GAAGC,KACzF,GACA;CACA,IAAMC,IAAIT,EAAU,GACdU,IAAQT,EAAkBU,GAASC,MAAU,KAAO,KAAA,IAAYA,KAAS,GAAGC,MAAgBD,IAAQ,KAAA,IAAY,EAAE;CACxH,OACE,kBAAC,QAAD;EACO;EACL,MAAK;EACL,WAAWb,EAAG,4CAA4CM,EAAsB,KAAKS,KAAQ,YAAY,CAAC,SAASC,CAAS;EAC5H,GAAIP;EAEJ,UAAA,kBAAC,QAAD;GAAM,WAAWE,IAAQ,aAAa;GAAtC,UAAA,CACE,kBAACP,GAAD,EAAe,QAAO,CAAA,GACtB,kBAAC,QAAD;IAAM,WAAWJ,EAAG,CAACiB,KAASC,IAAY,YAAY,KAAA,CAAS;IAAI,UAAAD,KAASP,EAAE,kBAAkB,SAAS;GAAQ,CAAA,CAC7G;;CACF,CAAA;AAEV,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAO,cAAc"}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ export { t as KAESO_LOGO_DEFAULT_VARIANTS, n as KAESO_LOGO_VARIANTS, r as Logo } from "../chunks/logo-VmXYhIJL.js";
@@ -0,0 +1,4 @@
1
+ "use client";
2
+ import { t as e } from "../chunks/safe-href-G5DBNVwm.js";
3
+ import { a as t, i as n, n as r, r as i, s as a, t as o } from "../chunks/markdown-C-iJsYnd.js";
4
+ export { o as KAESO_MARKDOWN_DEFAULT_VARIANTS, r as KAESO_MARKDOWN_VARIANTS, i as Markdown, n as lexMarkdown, t as markdownCodeLang, a as previewMarkdown, e as safeHref };