@logicplanes/kaeso-ui 0.4.4 → 0.4.5

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 (482) hide show
  1. package/ai/component-guides.md +250 -98
  2. package/ai/component-registry.json +264 -236
  3. package/ai/component-registry.md +222 -218
  4. package/ai/icons.md +1 -1
  5. package/ai/tokens.md +18 -14
  6. package/dist/blocks/delete-resource.js +3 -3
  7. package/dist/blocks/delete-resource.js.map +1 -1
  8. package/dist/blocks/pages.js +47 -42
  9. package/dist/blocks/pages.js.map +1 -1
  10. package/dist/blocks/resource-list.js +68 -55
  11. package/dist/blocks/resource-list.js.map +1 -1
  12. package/dist/chunks/agent-avatar-DHieggHK.js +188 -0
  13. package/dist/chunks/agent-avatar-DHieggHK.js.map +1 -0
  14. package/dist/chunks/app-frame-DysOel2X.js +232 -0
  15. package/dist/chunks/app-frame-DysOel2X.js.map +1 -0
  16. package/dist/chunks/arrow-focus-B0KdRFX8.js +20 -0
  17. package/dist/chunks/arrow-focus-B0KdRFX8.js.map +1 -0
  18. package/dist/chunks/avatar-CYNMK7uY.js +110 -0
  19. package/dist/chunks/avatar-CYNMK7uY.js.map +1 -0
  20. package/dist/chunks/badge-C0GC3B9X.js +27 -0
  21. package/dist/chunks/badge-C0GC3B9X.js.map +1 -0
  22. package/dist/chunks/banner-B3DGLTBu.js +88 -0
  23. package/dist/chunks/banner-B3DGLTBu.js.map +1 -0
  24. package/dist/chunks/button-IblhXUyZ.js +202 -0
  25. package/dist/chunks/button-IblhXUyZ.js.map +1 -0
  26. package/dist/chunks/{calendar-BWaf2MXc.js → calendar-Dc6_dl0f.js} +4 -4
  27. package/dist/chunks/calendar-Dc6_dl0f.js.map +1 -0
  28. package/dist/chunks/checkbox-9tbimmF3.js +141 -0
  29. package/dist/chunks/checkbox-9tbimmF3.js.map +1 -0
  30. package/dist/chunks/{cn-Dj6sRgkF.js → cn-BjnOAUrA.js} +45 -4
  31. package/dist/chunks/cn-BjnOAUrA.js.map +1 -0
  32. package/dist/chunks/code-block-64e-Cy1S.js +346 -0
  33. package/dist/chunks/code-block-64e-Cy1S.js.map +1 -0
  34. package/dist/chunks/{code-block-DdNPHEzI.js → code-block-KIvuE8jg.js} +122 -114
  35. package/dist/chunks/code-block-KIvuE8jg.js.map +1 -0
  36. package/dist/chunks/{code-tqj0uhBL.js → code-xqjww4Pv.js} +5 -6
  37. package/dist/chunks/code-xqjww4Pv.js.map +1 -0
  38. package/dist/chunks/combobox-DkcjkWc6.js +352 -0
  39. package/dist/chunks/combobox-DkcjkWc6.js.map +1 -0
  40. package/dist/chunks/command-list-CypqsC4T.js +456 -0
  41. package/dist/chunks/command-list-CypqsC4T.js.map +1 -0
  42. package/dist/chunks/{copy-button-FJvPJn72.js → copy-button-CwU8t_9_.js} +22 -15
  43. package/dist/chunks/copy-button-CwU8t_9_.js.map +1 -0
  44. package/dist/chunks/core-CmK-8ObW.js +505 -0
  45. package/dist/chunks/core-CmK-8ObW.js.map +1 -0
  46. package/dist/chunks/data-table-CqY8_6IS.js +581 -0
  47. package/dist/chunks/data-table-CqY8_6IS.js.map +1 -0
  48. package/dist/chunks/date-popup-DAnjptFt.js +58 -0
  49. package/dist/chunks/date-popup-DAnjptFt.js.map +1 -0
  50. package/dist/chunks/{de-D_0mmG-k.js → de-CqC4aSIV.js} +74 -40
  51. package/dist/chunks/de-CqC4aSIV.js.map +1 -0
  52. package/dist/chunks/{dialog-Cg9A_6SF.js → dialog-2zb6ClNR.js} +156 -134
  53. package/dist/chunks/dialog-2zb6ClNR.js.map +1 -0
  54. package/dist/chunks/disclosure-BtYRTDO3.js +22 -0
  55. package/dist/chunks/disclosure-BtYRTDO3.js.map +1 -0
  56. package/dist/chunks/domain-obd_w9xk.js +28 -0
  57. package/dist/chunks/domain-obd_w9xk.js.map +1 -0
  58. package/dist/chunks/{empty-DvhyMXQq.js → empty-BpiUgGzm.js} +2 -2
  59. package/dist/chunks/{empty-DvhyMXQq.js.map → empty-BpiUgGzm.js.map} +1 -1
  60. package/dist/chunks/{field-TviMvYa2.js → field-D7m-yl-D.js} +37 -34
  61. package/dist/chunks/field-D7m-yl-D.js.map +1 -0
  62. package/dist/chunks/{icon-D7ja-_Yk.js → icon-CBzOwqrX.js} +7 -6
  63. package/dist/chunks/{icon-D7ja-_Yk.js.map → icon-CBzOwqrX.js.map} +1 -1
  64. package/dist/chunks/{icon-button-CrdF_eMG.js → icon-button-Dfwpvmav.js} +7 -6
  65. package/dist/chunks/icon-button-Dfwpvmav.js.map +1 -0
  66. package/dist/chunks/{identity-BmhQ6BQ-.js → identity-3Foi5F8w.js} +7 -7
  67. package/dist/chunks/{identity-BmhQ6BQ-.js.map → identity-3Foi5F8w.js.map} +1 -1
  68. package/dist/chunks/{input-2VJuj_M4.js → input-Bo5-UZg2.js} +15 -9
  69. package/dist/chunks/input-Bo5-UZg2.js.map +1 -0
  70. package/dist/chunks/{input-group-DQ_4DoXg.js → input-group-jPcK9T_a.js} +42 -29
  71. package/dist/chunks/input-group-jPcK9T_a.js.map +1 -0
  72. package/dist/chunks/iso-field-DoqHBg8n.js +52 -0
  73. package/dist/chunks/iso-field-DoqHBg8n.js.map +1 -0
  74. package/dist/chunks/json-view-DZ2nL2Ir.js +253 -0
  75. package/dist/chunks/json-view-DZ2nL2Ir.js.map +1 -0
  76. package/dist/chunks/{kbd-BF1vKXJf.js → kbd-8A0ML_up.js} +30 -28
  77. package/dist/chunks/kbd-8A0ML_up.js.map +1 -0
  78. package/dist/chunks/label-DW24Aj0Z.js +26 -0
  79. package/dist/chunks/label-DW24Aj0Z.js.map +1 -0
  80. package/dist/chunks/{link-KWI7PevW.js → link-CMjkcLQK.js} +14 -14
  81. package/dist/chunks/link-CMjkcLQK.js.map +1 -0
  82. package/dist/chunks/list-B4G-sWwV.js +540 -0
  83. package/dist/chunks/list-B4G-sWwV.js.map +1 -0
  84. package/dist/chunks/{loader-DCfPndXa.js → loader-zo8CCIGJ.js} +2 -2
  85. package/dist/chunks/{loader-DCfPndXa.js.map → loader-zo8CCIGJ.js.map} +1 -1
  86. package/dist/chunks/markdown-C565aBR7.js +338 -0
  87. package/dist/chunks/markdown-C565aBR7.js.map +1 -0
  88. package/dist/chunks/menu-Clvv6ftq.js +485 -0
  89. package/dist/chunks/menu-Clvv6ftq.js.map +1 -0
  90. package/dist/chunks/merge-refs-BN1FyQt9.js +20 -0
  91. package/dist/chunks/merge-refs-BN1FyQt9.js.map +1 -0
  92. package/dist/chunks/meter-CASMHlxl.js +100 -0
  93. package/dist/chunks/meter-CASMHlxl.js.map +1 -0
  94. package/dist/chunks/nav-sheet-Dt6JSvzX.js +67 -0
  95. package/dist/chunks/nav-sheet-Dt6JSvzX.js.map +1 -0
  96. package/dist/chunks/{nav-wordmark-_pjheAsZ.js → nav-wordmark-J4pB_vjr.js} +4 -8
  97. package/dist/chunks/nav-wordmark-J4pB_vjr.js.map +1 -0
  98. package/dist/chunks/page-header-kS5tdmvb.js +45 -0
  99. package/dist/chunks/page-header-kS5tdmvb.js.map +1 -0
  100. package/dist/chunks/pagination-D7fAm8qg.js +147 -0
  101. package/dist/chunks/pagination-D7fAm8qg.js.map +1 -0
  102. package/dist/chunks/picker-popover-1FHb1LQG.js +119 -0
  103. package/dist/chunks/picker-popover-1FHb1LQG.js.map +1 -0
  104. package/dist/chunks/popover-Bl5QYqnh.js +51 -0
  105. package/dist/chunks/popover-Bl5QYqnh.js.map +1 -0
  106. package/dist/chunks/{portal-context-BBbzDKmY.js → portal-context-CTatR2Z8.js} +14 -4
  107. package/dist/chunks/portal-context-CTatR2Z8.js.map +1 -0
  108. package/dist/chunks/{radio-CDDFpdtL.js → radio-C6GtzF_t.js} +38 -23
  109. package/dist/chunks/radio-C6GtzF_t.js.map +1 -0
  110. package/dist/chunks/range-popup-lGiZsG3s.js +160 -0
  111. package/dist/chunks/range-popup-lGiZsG3s.js.map +1 -0
  112. package/dist/chunks/reasoning-frame-C3HdQRRS.js +51 -0
  113. package/dist/chunks/reasoning-frame-C3HdQRRS.js.map +1 -0
  114. package/dist/chunks/release-art-ChiT4T2S.js +582 -0
  115. package/dist/chunks/release-art-ChiT4T2S.js.map +1 -0
  116. package/dist/chunks/rights-B68ocZuq.js +312 -0
  117. package/dist/chunks/rights-B68ocZuq.js.map +1 -0
  118. package/dist/chunks/{scroll-area-D8MD7Vpo.js → scroll-area-_Ljh4-bG.js} +11 -6
  119. package/dist/chunks/scroll-area-_Ljh4-bG.js.map +1 -0
  120. package/dist/chunks/section-CFBYhsUi.js +77 -0
  121. package/dist/chunks/section-CFBYhsUi.js.map +1 -0
  122. package/dist/chunks/section-header-DU1Q4Tdf.js +28 -0
  123. package/dist/chunks/section-header-DU1Q4Tdf.js.map +1 -0
  124. package/dist/chunks/segmented-D9i1avik.js +119 -0
  125. package/dist/chunks/segmented-D9i1avik.js.map +1 -0
  126. package/dist/chunks/select-BqjmQOqx.js +222 -0
  127. package/dist/chunks/select-BqjmQOqx.js.map +1 -0
  128. package/dist/chunks/{separator-D7TzNHmX.js → separator-BNWf6BBj.js} +13 -8
  129. package/dist/chunks/separator-BNWf6BBj.js.map +1 -0
  130. package/dist/chunks/sidebar-Dq7oGOje.js +664 -0
  131. package/dist/chunks/sidebar-Dq7oGOje.js.map +1 -0
  132. package/dist/chunks/{sidebar-menu-BN3jkTlK.js → sidebar-menu-QSSNu1jJ.js} +2 -2
  133. package/dist/chunks/{sidebar-menu-BN3jkTlK.js.map → sidebar-menu-QSSNu1jJ.js.map} +1 -1
  134. package/dist/chunks/{skeleton-Dcz57Zyp.js → skeleton-D-qk3mes.js} +3 -3
  135. package/dist/chunks/skeleton-D-qk3mes.js.map +1 -0
  136. package/dist/chunks/slider-CcE8GtuV.js +58 -0
  137. package/dist/chunks/slider-CcE8GtuV.js.map +1 -0
  138. package/dist/chunks/{status-dot-QJTF0Yv4.js → status-dot-CP6runiC.js} +4 -4
  139. package/dist/chunks/{status-dot-QJTF0Yv4.js.map → status-dot-CP6runiC.js.map} +1 -1
  140. package/dist/chunks/{styles-CVJU9t9v.js → styles-hkFkoBbi.js} +2 -2
  141. package/dist/chunks/{styles-CVJU9t9v.js.map → styles-hkFkoBbi.js.map} +1 -1
  142. package/dist/chunks/{swap-text-Dr0Irxz6.js → swap-text-SlUjrTlG.js} +3 -3
  143. package/dist/chunks/swap-text-SlUjrTlG.js.map +1 -0
  144. package/dist/chunks/switch-ngywMQdl.js +76 -0
  145. package/dist/chunks/switch-ngywMQdl.js.map +1 -0
  146. package/dist/chunks/table-CTK5E0J7.js +102 -0
  147. package/dist/chunks/table-CTK5E0J7.js.map +1 -0
  148. package/dist/chunks/tag-BGr6lTSV.js +100 -0
  149. package/dist/chunks/tag-BGr6lTSV.js.map +1 -0
  150. package/dist/chunks/{text-CIXH8rmT.js → text-DkKdTVUf.js} +9 -9
  151. package/dist/chunks/text-DkKdTVUf.js.map +1 -0
  152. package/dist/chunks/{textarea--4FRL3Pb.js → textarea-CO0HP6fK.js} +47 -36
  153. package/dist/chunks/textarea-CO0HP6fK.js.map +1 -0
  154. package/dist/chunks/timeseries-Ck-q0wWn.js +381 -0
  155. package/dist/chunks/timeseries-Ck-q0wWn.js.map +1 -0
  156. package/dist/chunks/toolbar-u0Gm7Q7-.js +61 -0
  157. package/dist/chunks/toolbar-u0Gm7Q7-.js.map +1 -0
  158. package/dist/chunks/tooltip-Tkm-urbi.js +202 -0
  159. package/dist/chunks/tooltip-Tkm-urbi.js.map +1 -0
  160. package/dist/chunks/tooltip-root-BC_RNNiP.js +70 -0
  161. package/dist/chunks/tooltip-root-BC_RNNiP.js.map +1 -0
  162. package/dist/chunks/truncated-d1afmUJT.js +33 -0
  163. package/dist/chunks/truncated-d1afmUJT.js.map +1 -0
  164. package/dist/chunks/use-coarse-pointer-Ml5oE6oX.js +28 -0
  165. package/dist/chunks/use-coarse-pointer-Ml5oE6oX.js.map +1 -0
  166. package/dist/chunks/use-hydrating-COtYVRo4.js +8 -0
  167. package/dist/chunks/use-hydrating-COtYVRo4.js.map +1 -0
  168. package/dist/chunks/use-scroll-fade-uc8mWSDX.js +30 -0
  169. package/dist/chunks/use-scroll-fade-uc8mWSDX.js.map +1 -0
  170. package/dist/chunks/{zh-CN-Bm6UPIbW.js → zh-CN-BlpsT6d_.js} +73 -39
  171. package/dist/chunks/zh-CN-BlpsT6d_.js.map +1 -0
  172. package/dist/components/agent-avatar.js +1 -1
  173. package/dist/components/app-frame.js +2 -2
  174. package/dist/components/avatar.js +1 -1
  175. package/dist/components/badge.js +1 -1
  176. package/dist/components/banner.js +1 -1
  177. package/dist/components/button-group.js +22 -22
  178. package/dist/components/button-group.js.map +1 -1
  179. package/dist/components/button.js +1 -1
  180. package/dist/components/calendar.js +1 -1
  181. package/dist/components/charts/bar.js +235 -160
  182. package/dist/components/charts/bar.js.map +1 -1
  183. package/dist/components/charts/donut.js +144 -99
  184. package/dist/components/charts/donut.js.map +1 -1
  185. package/dist/components/charts/gauge.js +61 -49
  186. package/dist/components/charts/gauge.js.map +1 -1
  187. package/dist/components/charts/heatmap.js +179 -70
  188. package/dist/components/charts/heatmap.js.map +1 -1
  189. package/dist/components/charts/sankey.js +144 -77
  190. package/dist/components/charts/sankey.js.map +1 -1
  191. package/dist/components/charts/sparkline.js +54 -38
  192. package/dist/components/charts/sparkline.js.map +1 -1
  193. package/dist/components/charts/timeseries.js +1 -1
  194. package/dist/components/charts.js +2 -2
  195. package/dist/components/checkbox.js +1 -1
  196. package/dist/components/code-block.js +3 -3
  197. package/dist/components/code.js +1 -1
  198. package/dist/components/collapsible.js +77 -1
  199. package/dist/components/collapsible.js.map +1 -0
  200. package/dist/components/combobox.js +1 -1
  201. package/dist/components/command-list.js +2 -2
  202. package/dist/components/command-palette.js +89 -66
  203. package/dist/components/command-palette.js.map +1 -1
  204. package/dist/components/copy-button.js +1 -1
  205. package/dist/components/data-table.js +1 -459
  206. package/dist/components/date-picker.js +162 -151
  207. package/dist/components/date-picker.js.map +1 -1
  208. package/dist/components/dialog.js +74 -63
  209. package/dist/components/dialog.js.map +1 -1
  210. package/dist/components/display-options.js +76 -64
  211. package/dist/components/display-options.js.map +1 -1
  212. package/dist/components/empty.js +1 -1
  213. package/dist/components/field.js +1 -1
  214. package/dist/components/figure.js +2 -2
  215. package/dist/components/filter-chip.js +36 -27
  216. package/dist/components/filter-chip.js.map +1 -1
  217. package/dist/components/filter-row.js +4 -4
  218. package/dist/components/filter-row.js.map +1 -1
  219. package/dist/components/flow.js +94 -63
  220. package/dist/components/flow.js.map +1 -1
  221. package/dist/components/heading.js +1 -1
  222. package/dist/components/icon-button.js +1 -1
  223. package/dist/components/icon.js +1 -1
  224. package/dist/components/input.js +176 -98
  225. package/dist/components/input.js.map +1 -1
  226. package/dist/components/kaeso/conversation.js +51 -46
  227. package/dist/components/kaeso/conversation.js.map +1 -1
  228. package/dist/components/kaeso/identity.js +1 -1
  229. package/dist/components/kaeso/moments.js +23 -20
  230. package/dist/components/kaeso/moments.js.map +1 -1
  231. package/dist/components/kaeso/rights.js +1 -1
  232. package/dist/components/kaeso/usage.js +90 -74
  233. package/dist/components/kaeso/usage.js.map +1 -1
  234. package/dist/components/kaeso.js +200 -187
  235. package/dist/components/kaeso.js.map +1 -1
  236. package/dist/components/kbd.js +1 -1
  237. package/dist/components/key-value.js +32 -47
  238. package/dist/components/key-value.js.map +1 -1
  239. package/dist/components/label.js +1 -25
  240. package/dist/components/layout.js +2 -2
  241. package/dist/components/layout.js.map +1 -1
  242. package/dist/components/link.js +1 -1
  243. package/dist/components/list.js +1 -1
  244. package/dist/components/loader.js +11 -10
  245. package/dist/components/loader.js.map +1 -1
  246. package/dist/components/logo.js +2 -2
  247. package/dist/components/markdown.js +1 -1
  248. package/dist/components/menu.js +2 -2
  249. package/dist/components/meter.js +1 -1
  250. package/dist/components/page-header.js +1 -1
  251. package/dist/components/pagination.js +1 -1
  252. package/dist/components/playground.js +644 -529
  253. package/dist/components/playground.js.map +1 -1
  254. package/dist/components/popover.js +4 -4
  255. package/dist/components/popover.js.map +1 -1
  256. package/dist/components/portal.js +1 -1
  257. package/dist/components/qr-code.js +2 -2
  258. package/dist/components/qr-code.js.map +1 -1
  259. package/dist/components/radio.js +1 -1
  260. package/dist/components/release-art.js +1 -1
  261. package/dist/components/scroll-area.js +1 -1
  262. package/dist/components/section.js +1 -1
  263. package/dist/components/segmented.js +1 -1
  264. package/dist/components/select.js +1 -1
  265. package/dist/components/separator.js +1 -1
  266. package/dist/components/settings.js +39 -46
  267. package/dist/components/settings.js.map +1 -1
  268. package/dist/components/sheet.js +10 -9
  269. package/dist/components/sheet.js.map +1 -1
  270. package/dist/components/sidebar.js +1 -1
  271. package/dist/components/skeleton.js +1 -1
  272. package/dist/components/slider.js +1 -1
  273. package/dist/components/stat.js +98 -84
  274. package/dist/components/stat.js.map +1 -1
  275. package/dist/components/status-dot.js +1 -1
  276. package/dist/components/surface.js +1 -1
  277. package/dist/components/swap-text.js +1 -1
  278. package/dist/components/switch.js +1 -1
  279. package/dist/components/table.js +1 -1
  280. package/dist/components/tabs.js +73 -55
  281. package/dist/components/tabs.js.map +1 -1
  282. package/dist/components/tag.js +1 -1
  283. package/dist/components/text.js +1 -1
  284. package/dist/components/theme-image.js +1 -1
  285. package/dist/components/theme-menu.js +5 -2
  286. package/dist/components/theme-menu.js.map +1 -1
  287. package/dist/components/theme-select.js +1 -1
  288. package/dist/components/thumbnail.js +35 -24
  289. package/dist/components/thumbnail.js.map +1 -1
  290. package/dist/components/timeline.js +51 -35
  291. package/dist/components/timeline.js.map +1 -1
  292. package/dist/components/toast.js +76 -66
  293. package/dist/components/toast.js.map +1 -1
  294. package/dist/components/toc.js +14 -8
  295. package/dist/components/toc.js.map +1 -1
  296. package/dist/components/toolbar.js +1 -1
  297. package/dist/components/tooltip.js +1 -1
  298. package/dist/components/visually-hidden.js +1 -1
  299. package/dist/i18n-provider.js +1 -1
  300. package/dist/index.js +100 -100
  301. package/dist/kaeso.css +605 -67
  302. package/dist/styles.css +1 -1
  303. package/dist/tailwind.css +1 -1
  304. package/dist/types/blocks/delete-resource/delete-resource.d.ts +2 -2
  305. package/dist/types/components/agent-avatar/agent-avatar.d.ts +24 -19
  306. package/dist/types/components/badge/badge.d.ts +3 -3
  307. package/dist/types/components/banner/banner.d.ts +3 -3
  308. package/dist/types/components/button/button.d.ts +2 -2
  309. package/dist/types/components/button-group/button-group.d.ts +1 -1
  310. package/dist/types/components/charts/domain.d.ts +11 -0
  311. package/dist/types/components/charts/marks.d.ts +1 -0
  312. package/dist/types/components/code/code.d.ts +3 -3
  313. package/dist/types/components/code-block/json-view.d.ts +2 -1
  314. package/dist/types/components/code-block/numbers.d.ts +1 -0
  315. package/dist/types/components/collapsible/collapsible.d.ts +2 -2
  316. package/dist/types/components/collapsible/disclosure.d.ts +2 -0
  317. package/dist/types/components/data-table/data-table.d.ts +6 -5
  318. package/dist/types/components/data-table/docs.d.ts +1 -0
  319. package/dist/types/components/data-table/time-columns.d.ts +1 -0
  320. package/dist/types/components/date-picker/focus-day.d.ts +1 -0
  321. package/dist/types/components/date-picker/iso-field.d.ts +8 -1
  322. package/dist/types/components/dialog/dialog.d.ts +7 -7
  323. package/dist/types/components/field/field.d.ts +1 -1
  324. package/dist/types/components/flow/flow.d.ts +1 -1
  325. package/dist/types/components/icon-button/icon-button.d.ts +1 -1
  326. package/dist/types/components/input/input-group.d.ts +2 -0
  327. package/dist/types/components/input/number-input.d.ts +4 -4
  328. package/dist/types/components/input/otp-input.d.ts +3 -3
  329. package/dist/types/components/kaeso/client-button.d.ts +2 -1
  330. package/dist/types/components/kaeso/provider-picker.d.ts +1 -0
  331. package/dist/types/components/kaeso/rights.d.ts +1 -1
  332. package/dist/types/components/kaeso/role-picker.d.ts +1 -0
  333. package/dist/types/components/key-value/key-value.d.ts +2 -2
  334. package/dist/types/components/layout/layout.d.ts +2 -2
  335. package/dist/types/components/link/link.d.ts +4 -4
  336. package/dist/types/components/list/list.d.ts +2 -2
  337. package/dist/types/components/menu/menu.d.ts +2 -1
  338. package/dist/types/components/menu/styles.d.ts +3 -3
  339. package/dist/types/components/meter/meter.d.ts +3 -3
  340. package/dist/types/components/page-header/page-header.d.ts +1 -1
  341. package/dist/types/components/pagination/pagination.d.ts +2 -2
  342. package/dist/types/components/playground/prompt-suggestions.d.ts +1 -0
  343. package/dist/types/components/playground/reasoning-frame.d.ts +14 -0
  344. package/dist/types/components/playground/reasoning.d.ts +1 -0
  345. package/dist/types/components/popover/popover.d.ts +1 -1
  346. package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
  347. package/dist/types/components/section/section-header.d.ts +6 -0
  348. package/dist/types/components/segmented/segmented.d.ts +1 -0
  349. package/dist/types/components/select/select.d.ts +1 -1
  350. package/dist/types/components/sheet/sheet.d.ts +3 -3
  351. package/dist/types/components/sidebar/sidebar.d.ts +1 -0
  352. package/dist/types/components/slider/slider.d.ts +2 -2
  353. package/dist/types/components/stat/stat.d.ts +1 -1
  354. package/dist/types/components/tabs/tabs.d.ts +6 -4
  355. package/dist/types/components/text/truncated.d.ts +7 -0
  356. package/dist/types/components/timeline/timeline.d.ts +5 -5
  357. package/dist/types/components/toc/toc.d.ts +1 -1
  358. package/dist/types/components/toolbar/toolbar.d.ts +1 -1
  359. package/dist/types/components/tooltip/tooltip.d.ts +2 -2
  360. package/dist/types/components/tooltip/trigger-props.d.ts +1 -0
  361. package/dist/types/hooks/use-coarse-pointer.d.ts +1 -0
  362. package/dist/types/hooks/use-hydrating.d.ts +1 -0
  363. package/dist/types/utils/arrow-focus.d.ts +4 -1
  364. package/dist/types/utils/cn.d.ts +33 -0
  365. package/dist/types/utils/portal-context.d.ts +7 -1
  366. package/dist/utils.js +2 -2
  367. package/foundations/accessibility.md +3 -2
  368. package/foundations/color.md +5 -1
  369. package/foundations/elevation.md +1 -0
  370. package/foundations/motion.md +1 -1
  371. package/foundations/shape.md +2 -2
  372. package/foundations/typography.md +12 -12
  373. package/package.json +2 -2
  374. package/dist/chunks/agent-avatar-0pdBTWkR.js +0 -171
  375. package/dist/chunks/agent-avatar-0pdBTWkR.js.map +0 -1
  376. package/dist/chunks/app-frame-DogGRmsu.js +0 -221
  377. package/dist/chunks/app-frame-DogGRmsu.js.map +0 -1
  378. package/dist/chunks/arrow-focus-BcySmwwU.js +0 -11
  379. package/dist/chunks/arrow-focus-BcySmwwU.js.map +0 -1
  380. package/dist/chunks/avatar-CWbdwbJv.js +0 -83
  381. package/dist/chunks/avatar-CWbdwbJv.js.map +0 -1
  382. package/dist/chunks/badge-C2KtxCLB.js +0 -26
  383. package/dist/chunks/badge-C2KtxCLB.js.map +0 -1
  384. package/dist/chunks/banner-BA2ALw9M.js +0 -85
  385. package/dist/chunks/banner-BA2ALw9M.js.map +0 -1
  386. package/dist/chunks/button-CzuxqawA.js +0 -164
  387. package/dist/chunks/button-CzuxqawA.js.map +0 -1
  388. package/dist/chunks/calendar-BWaf2MXc.js.map +0 -1
  389. package/dist/chunks/checkbox-CQjwCPkc.js +0 -126
  390. package/dist/chunks/checkbox-CQjwCPkc.js.map +0 -1
  391. package/dist/chunks/cn-Dj6sRgkF.js.map +0 -1
  392. package/dist/chunks/code-block-BZIe_B9l.js +0 -334
  393. package/dist/chunks/code-block-BZIe_B9l.js.map +0 -1
  394. package/dist/chunks/code-block-DdNPHEzI.js.map +0 -1
  395. package/dist/chunks/code-tqj0uhBL.js.map +0 -1
  396. package/dist/chunks/collapsible-CKrCX_T9.js +0 -87
  397. package/dist/chunks/collapsible-CKrCX_T9.js.map +0 -1
  398. package/dist/chunks/combobox-DjDI7SUC.js +0 -319
  399. package/dist/chunks/combobox-DjDI7SUC.js.map +0 -1
  400. package/dist/chunks/command-list-C2Y7V_lt.js +0 -418
  401. package/dist/chunks/command-list-C2Y7V_lt.js.map +0 -1
  402. package/dist/chunks/copy-button-FJvPJn72.js.map +0 -1
  403. package/dist/chunks/core-BYns5ytV.js +0 -472
  404. package/dist/chunks/core-BYns5ytV.js.map +0 -1
  405. package/dist/chunks/date-popup-CPA_zt6o.js +0 -35
  406. package/dist/chunks/date-popup-CPA_zt6o.js.map +0 -1
  407. package/dist/chunks/de-D_0mmG-k.js.map +0 -1
  408. package/dist/chunks/dialog-Cg9A_6SF.js.map +0 -1
  409. package/dist/chunks/field-TviMvYa2.js.map +0 -1
  410. package/dist/chunks/hidden-description-B2zSmLcn.js +0 -23
  411. package/dist/chunks/hidden-description-B2zSmLcn.js.map +0 -1
  412. package/dist/chunks/icon-button-CrdF_eMG.js.map +0 -1
  413. package/dist/chunks/input-2VJuj_M4.js.map +0 -1
  414. package/dist/chunks/input-group-DQ_4DoXg.js.map +0 -1
  415. package/dist/chunks/iso-field-B2rTwiBo.js +0 -33
  416. package/dist/chunks/iso-field-B2rTwiBo.js.map +0 -1
  417. package/dist/chunks/json-view-Dqd2TDkc.js +0 -175
  418. package/dist/chunks/json-view-Dqd2TDkc.js.map +0 -1
  419. package/dist/chunks/kbd-BF1vKXJf.js.map +0 -1
  420. package/dist/chunks/link-KWI7PevW.js.map +0 -1
  421. package/dist/chunks/list-M1csq-d4.js +0 -494
  422. package/dist/chunks/list-M1csq-d4.js.map +0 -1
  423. package/dist/chunks/markdown-BupwFOae.js +0 -313
  424. package/dist/chunks/markdown-BupwFOae.js.map +0 -1
  425. package/dist/chunks/menu-DEmBfdPm.js +0 -450
  426. package/dist/chunks/menu-DEmBfdPm.js.map +0 -1
  427. package/dist/chunks/meter-Bj4N3Xuh.js +0 -84
  428. package/dist/chunks/meter-Bj4N3Xuh.js.map +0 -1
  429. package/dist/chunks/nav-sheet-CzgIwgAm.js +0 -60
  430. package/dist/chunks/nav-sheet-CzgIwgAm.js.map +0 -1
  431. package/dist/chunks/nav-wordmark-_pjheAsZ.js.map +0 -1
  432. package/dist/chunks/page-header-DL2y2iZp.js +0 -41
  433. package/dist/chunks/page-header-DL2y2iZp.js.map +0 -1
  434. package/dist/chunks/pagination-Cn_qF4cg.js +0 -86
  435. package/dist/chunks/pagination-Cn_qF4cg.js.map +0 -1
  436. package/dist/chunks/picker-popover-BxyU1U9F.js +0 -106
  437. package/dist/chunks/picker-popover-BxyU1U9F.js.map +0 -1
  438. package/dist/chunks/popover-DNN4S47w.js +0 -50
  439. package/dist/chunks/popover-DNN4S47w.js.map +0 -1
  440. package/dist/chunks/portal-context-BBbzDKmY.js.map +0 -1
  441. package/dist/chunks/radio-CDDFpdtL.js.map +0 -1
  442. package/dist/chunks/range-popup-CRyWYUB1.js +0 -128
  443. package/dist/chunks/range-popup-CRyWYUB1.js.map +0 -1
  444. package/dist/chunks/release-art-ZwfFQImt.js +0 -561
  445. package/dist/chunks/release-art-ZwfFQImt.js.map +0 -1
  446. package/dist/chunks/rights-Cyp0Pzp-.js +0 -279
  447. package/dist/chunks/rights-Cyp0Pzp-.js.map +0 -1
  448. package/dist/chunks/scroll-area-D8MD7Vpo.js.map +0 -1
  449. package/dist/chunks/scroll-parent-WXvzQcUo.js +0 -14
  450. package/dist/chunks/scroll-parent-WXvzQcUo.js.map +0 -1
  451. package/dist/chunks/section-Ce1efbsP.js +0 -87
  452. package/dist/chunks/section-Ce1efbsP.js.map +0 -1
  453. package/dist/chunks/segmented-CErcoxwi.js +0 -114
  454. package/dist/chunks/segmented-CErcoxwi.js.map +0 -1
  455. package/dist/chunks/select-x4XVsdCI.js +0 -210
  456. package/dist/chunks/select-x4XVsdCI.js.map +0 -1
  457. package/dist/chunks/separator-D7TzNHmX.js.map +0 -1
  458. package/dist/chunks/sidebar-3r1ZRXlN.js +0 -621
  459. package/dist/chunks/sidebar-3r1ZRXlN.js.map +0 -1
  460. package/dist/chunks/skeleton-Dcz57Zyp.js.map +0 -1
  461. package/dist/chunks/slider-Ci83PGtj.js +0 -57
  462. package/dist/chunks/slider-Ci83PGtj.js.map +0 -1
  463. package/dist/chunks/swap-text-Dr0Irxz6.js.map +0 -1
  464. package/dist/chunks/switch-BNMq_kGt.js +0 -59
  465. package/dist/chunks/switch-BNMq_kGt.js.map +0 -1
  466. package/dist/chunks/table-BeOSKl_3.js +0 -84
  467. package/dist/chunks/table-BeOSKl_3.js.map +0 -1
  468. package/dist/chunks/tag-D_M1s2qS.js +0 -87
  469. package/dist/chunks/tag-D_M1s2qS.js.map +0 -1
  470. package/dist/chunks/text-CIXH8rmT.js.map +0 -1
  471. package/dist/chunks/textarea--4FRL3Pb.js.map +0 -1
  472. package/dist/chunks/timeseries-D1xjRXfk.js +0 -339
  473. package/dist/chunks/timeseries-D1xjRXfk.js.map +0 -1
  474. package/dist/chunks/toolbar-WA_oZgu-.js +0 -37
  475. package/dist/chunks/toolbar-WA_oZgu-.js.map +0 -1
  476. package/dist/chunks/tooltip-OcwO0VUT.js +0 -154
  477. package/dist/chunks/tooltip-OcwO0VUT.js.map +0 -1
  478. package/dist/chunks/tooltip-root-DzahJDVj.js +0 -60
  479. package/dist/chunks/tooltip-root-DzahJDVj.js.map +0 -1
  480. package/dist/chunks/zh-CN-Bm6UPIbW.js.map +0 -1
  481. package/dist/components/data-table.js.map +0 -1
  482. package/dist/components/label.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table-CqY8_6IS.js","names":["_Fragment","__icon_ArrowDown01Icon","__icon_ArrowUp01Icon","cn","useInset","useGutterPadded","useRaised","Icon","Tooltip","observeResize","Text","Button","CheckboxBox","ContextMenu","Skeleton","Pagination","Empty","TruncatedText","StatusDot","useScrollFadeX","Avatar","scrollParent","useCoarsePointer","STATUS_TONE_TEXT","useScrollMargin","Fragment$1","TIME_COLUMNS","KAESO_DATA_TABLE_VARIANTS","KAESO_DATA_TABLE_DEFAULT_VARIANTS","ROW_H","DATA_TABLE_GROW_MIN","fitColumns","width","byPriority","columns","a","b","used","reserve","keep","c","kept","full","least","growMin","last","contentWidth","style","el","nameColumn","labelled","rowName","column","text","row","raw","FOCUSABLE","TEXT_ENTRY","cellWidgets","w","headTargets","head","target","th","rowTone","on","raised","DataTableInner","userColumns","sortingProp","ariaLabel","forceRow","inset","padded","t","useUiText","sortingInner","setSortingInner","useState","selectionInner","setSelectionInner","focusRow","setFocusRow","zone","setZone","headStop","setHeadStop","anchor","useRef","sorting","rowSelection","selection","useMemo","selectable","table","name","useReactTable","next","u","onSortingChange","onSelectionChange","getCoreRowModel","getSortedRowModel","manualSorting","canSelectRow","getRowId","r","root","body","leaf","fitInput","fitKey","hiddenFor","fit","hiddenForRef","hiddenKey","setHiddenKey","useLayoutEffect","mode","hiddenIds","tight","overflow","hidden","onHiddenRef","onHiddenColumnsChange","cols","trackMin","gridStyle","pinEnd","rows","virtual","virtualizeAbove","rowHeight","density","getScrollElement","scrollMargin","virtualizer","useVirtualizer","cellPad","i","onRaised","stickyCol","stickyFirstColumn","header","focusable","onRowClick","bodyZone","stop","focusAt","line","now","focusHead","targets","rovingHead","own","tabindex","observer","quiet","resizeBy","columnId","min","max","old","step","onHeadKeyDown","at","to","page","selectRange","found","from","start","onRowKeyDown","widgets","first","renderRow","cells","active","activeRowId","freshRowIds","meta","cell","content","flexRender","tone","rowMenu","h","sortable","resizable","dir","label","ArrowDown01Icon","ArrowUp01Icon","ref","className","loading","hg","error","onRetry","empty","v","hasMore","loadingMore","DataTableBase","DataTable","time","make","get","ctx","sortingFn","Tokens","exact","formatNumber","value","formatTokens","RelativeTime","formatDate","formatRelative","col","formatUSD","options","id","formatDuration"],"sources":["../../src/components/data-table/time-columns.ts","../../src/components/data-table/data-table.tsx","../../src/components/data-table/columns.tsx"],"sourcesContent":["export const TIME_COLUMNS = new WeakSet<object>();\n","import type * as React from \"react\";\nimport { forwardRef, useLayoutEffect, useMemo, useRef, useState, type CSSProperties, type KeyboardEvent, type ReactNode } from \"react\";\nimport {\n flexRender,\n getCoreRowModel,\n getSortedRowModel,\n useReactTable,\n type ColumnDef,\n type Row,\n type RowSelectionState,\n type SortingState,\n} from \"@tanstack/react-table\";\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\nimport { cn } from \"../../utils/cn.js\";\nimport { observeResize } from \"../../utils/observe-resize.js\";\nimport { useGutterPadded, useInset, useRaised } from \"../../utils/inset.js\";\nimport { ArrowDown01Icon as __icon_ArrowDown01Icon, ArrowUp01Icon as __icon_ArrowUp01Icon } from \"@hugeicons/core-free-icons\";\nimport { Icon } from \"../icon/icon.js\";\nimport { CheckboxBox } from \"../checkbox/checkbox.js\";\nimport { Skeleton } from \"../skeleton/skeleton.js\";\nimport { Empty } from \"../empty/empty.js\";\nimport { Button } from \"../button/button.js\";\nimport { Pagination } from \"../pagination/pagination.js\";\nimport { ContextMenu } from \"../menu/menu.js\";\nimport { Text } from \"../text/text.js\";\nimport { TruncatedText } from \"../text/truncated.js\";\nimport { STATUS_TONE_TEXT, type StatusTone } from \"../../utils/tone.js\";\nimport { scrollParent } from \"../../hooks/scroll-parent.js\";\nimport { useScrollMargin } from \"../../hooks/use-scroll-margin.js\";\nimport { useUiText } from \"../../i18n/context.js\";\nimport { useScrollFadeX } from \"../../hooks/use-scroll-fade.js\";\nimport { useCoarsePointer } from \"../../hooks/use-coarse-pointer.js\";\nimport { TIME_COLUMNS } from \"./time-columns.js\";\n\nexport const KAESO_DATA_TABLE_VARIANTS = {\n density: {\n compact: { classes: \"h-36 coarse:h-44\" },\n default: { classes: \"h-40 coarse:h-44\" },\n comfortable: { classes: \"h-48\" },\n },\n} as const;\nexport const KAESO_DATA_TABLE_DEFAULT_VARIANTS = { density: \"default\" } as const;\n\ndeclare module \"@tanstack/react-table\" {\n interface ColumnMeta<TData, TValue> {\n align?: \"start\" | \"end\" | undefined;\n priority?: number | undefined;\n grow?: boolean | undefined;\n minWidth?: number | undefined;\n mono?: boolean | undefined;\n text?: ((row: TData) => string) | undefined;\n tone?: ((row: TData) => StatusTone | undefined) | undefined;\n }\n}\n\nexport interface DataTableProps<T> {\n data: T[];\n columns: ColumnDef<T, any>[];\n getRowId?: ((row: T) => string) | undefined;\n density?: keyof typeof KAESO_DATA_TABLE_VARIANTS.density | undefined;\n onRowClick?: ((row: T) => void) | undefined;\n rowMenu?: ((row: T) => ReactNode) | undefined;\n selectable?: boolean | undefined;\n canSelectRow?: ((row: T) => boolean) | undefined;\n selection?: RowSelectionState | undefined;\n onSelectionChange?: ((selection: RowSelectionState) => void) | undefined;\n sorting?: SortingState | undefined;\n onSortingChange?: ((sorting: SortingState) => void) | undefined;\n manualSorting?: boolean | undefined;\n loading?: boolean | undefined;\n error?: ReactNode | undefined;\n onRetry?: (() => void) | undefined;\n empty?: ReactNode | undefined;\n hasMore?: boolean | undefined;\n loadingMore?: boolean | undefined;\n onLoadMore?: (() => void) | undefined;\n stickyFirstColumn?: boolean | undefined;\n virtualizeAbove?: number | undefined;\n \"aria-label\": string;\n className?: string | undefined;\n activeRowId?: string | undefined;\n freshRowIds?: ReadonlySet<string> | undefined;\n onHiddenColumnsChange?: ((ids: string[]) => void) | undefined;\n \"data-force-row\"?: string | undefined;\n}\n\nconst ROW_H = { compact: 36, default: 40, comfortable: 48 } as const;\n\nexport const DATA_TABLE_GROW_MIN = 136;\n\ntype FitColumn = { id: string; size: number; priority: number; grow: boolean; minWidth: number | undefined; fixed?: boolean | undefined };\n\nexport function fitColumns(columns: FitColumn[], width: number, reserve = 48): { hidden: string[]; tight: boolean; overflow: boolean } {\n if (!width) return { hidden: [], tight: false, overflow: false };\n const byPriority = [...columns].sort((a, b) => a.priority - b.priority);\n let used = reserve;\n const keep = new Set<string>();\n for (const c of byPriority) {\n used += c.size;\n if (used <= width || c.priority <= 1 || c.fixed) keep.add(c.id);\n }\n const kept = columns.filter((c) => keep.has(c.id));\n const full = kept.reduce((a, c) => a + c.size, reserve);\n let least = kept.reduce((a, c) => a + (c.grow ? growMin(c) : c.size), 0);\n if (least > width && kept.some((c) => c.grow)) {\n const last = kept[kept.length - 1];\n for (const c of [...kept].reverse()) {\n if (least <= width) break;\n if (c.grow || c.fixed || c === last) continue;\n keep.delete(c.id);\n least -= c.size;\n }\n }\n return { hidden: columns.filter((c) => !keep.has(c.id)).map((c) => c.id), tight: full > width, overflow: least > width };\n}\n\nfunction contentWidth(el: HTMLElement): number {\n const style = getComputedStyle(el);\n return el.getBoundingClientRect().width - (parseFloat(style.paddingLeft) || 0) - (parseFloat(style.paddingRight) || 0);\n}\n\nfunction nameColumn<T>(columns: ColumnDef<T, any>[]): ColumnDef<T, any> | undefined {\n const labelled = columns.filter((c) => c.id && c.meta?.text && c.meta.align !== \"end\");\n return labelled.find((c) => !TIME_COLUMNS.has(c)) ?? labelled[0] ?? columns[0];\n}\n\nfunction rowName<T>(column: ColumnDef<T, any> | undefined, row: Row<T>): string | undefined {\n if (!column?.id) return undefined;\n const text = column.meta?.text?.(row.original);\n if (text) return text;\n const raw = row.getValue(column.id);\n return typeof raw === \"string\" && raw ? raw : undefined;\n}\n\nconst FOCUSABLE = \"a[href], button, input, select, textarea, [tabindex], [contenteditable=true]\";\nconst TEXT_ENTRY = \"input:not([type=checkbox]):not([type=radio]), textarea, select, [contenteditable=true]\";\n\nfunction cellWidgets(row: HTMLElement): HTMLElement[] {\n return [...row.querySelectorAll<HTMLElement>(FOCUSABLE)].filter(\n (w) => !w.closest(\"[role=checkbox], [aria-hidden=true], [hidden]\") && !w.matches(\":disabled, input[type=checkbox]\"),\n );\n}\n\nfunction headTargets(head: HTMLElement | null): HTMLElement[] {\n if (!head) return [];\n return [...head.querySelectorAll<HTMLElement>(\"[role=columnheader]\")].flatMap((th) => {\n const target = th.querySelector<HTMLElement>(\"[role=checkbox], button\") ?? th.querySelector<HTMLElement>(\"[role=separator]\");\n return target ? [target] : [];\n });\n}\n\nfunction rowTone(raised: boolean, on: boolean) {\n if (on)\n return cn(\n \"controls-on-fill\",\n raised ? \"bg-raised-pressed hover:raised-selected-hover active:raised-selected-hover\" : \"bg-fill-2 hover:bg-fill-3 active:bg-fill-3\",\n );\n return raised ? \"hover:bg-raised-hover active:bg-raised-pressed hover:controls-on-fill\" : \"hover:bg-fill-1 active:bg-fill-2 hover:controls-on-fill\";\n}\n\nconst growMin = (c: { size: number; minWidth: number | undefined }) => Math.min(c.size, c.minWidth ?? DATA_TABLE_GROW_MIN);\n\nfunction DataTableInner<T>(\n {\n data,\n columns: userColumns,\n getRowId,\n density = \"default\",\n onRowClick,\n rowMenu,\n selectable,\n canSelectRow,\n selection,\n onSelectionChange,\n sorting: sortingProp,\n onSortingChange,\n manualSorting,\n loading,\n error,\n onRetry,\n empty,\n hasMore,\n loadingMore,\n onLoadMore,\n stickyFirstColumn,\n virtualizeAbove = 100,\n className,\n activeRowId,\n freshRowIds,\n onHiddenColumnsChange,\n \"aria-label\": ariaLabel,\n \"data-force-row\": forceRow,\n }: DataTableProps<T>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const inset = useInset();\n const raised = useRaised();\n const padded = useGutterPadded();\n const t = useUiText();\n const [sortingInner, setSortingInner] = useState<SortingState>([]);\n const [selectionInner, setSelectionInner] = useState<RowSelectionState>({});\n const [focusRow, setFocusRow] = useState(0);\n const [zone, setZone] = useState<\"head\" | \"body\">(\"body\");\n const [headStop, setHeadStop] = useState(0);\n const anchor = useRef<{ id: string; base: RowSelectionState } | null>(null);\n const sorting = sortingProp ?? sortingInner;\n const rowSelection = selection ?? selectionInner;\n const columns = useMemo<ColumnDef<T, any>[]>(() => {\n if (!selectable) return userColumns;\n return [\n {\n id: \"__select\",\n size: 44,\n enableSorting: false,\n enableResizing: false,\n meta: { priority: 1 },\n header: ({ table }) => (\n <CheckboxBox\n aria-label={t(\"dataTable.selectAllRows\", \"Select all rows\")}\n checked={table.getIsAllRowsSelected()}\n indeterminate={table.getIsSomeRowsSelected() && !table.getIsAllRowsSelected()}\n onCheckedChange={(c) => table.toggleAllRowsSelected(c)}\n />\n ),\n cell: ({ row }) => {\n const name = rowName(nameColumn(userColumns), row);\n return (\n <CheckboxBox\n aria-label={name ? t(\"dataTable.selectNamed\", \"Select {name}\", { name }) : t(\"dataTable.selectRow\", \"Select row\")}\n checked={row.getIsSelected()}\n disabled={!row.getCanSelect()}\n onCheckedChange={(c) => row.toggleSelected(c)}\n />\n );\n },\n },\n ...userColumns,\n ];\n }, [userColumns, selectable, t]);\n\n const table = useReactTable({\n data,\n columns,\n state: { sorting, rowSelection },\n onSortingChange: (u) => {\n const next = typeof u === \"function\" ? u(sorting) : u;\n anchor.current = null;\n if (!sortingProp) setSortingInner(next);\n onSortingChange?.(next);\n },\n onRowSelectionChange: (u) => {\n const next = typeof u === \"function\" ? u(rowSelection) : u;\n if (!selection) setSelectionInner(next);\n onSelectionChange?.(next);\n },\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n manualSorting: !!manualSorting,\n enableRowSelection: selectable ? (canSelectRow ? (row) => canSelectRow(row.original) : true) : false,\n columnResizeMode: \"onChange\",\n ...(getRowId ? { getRowId: (r: T) => getRowId(r) } : {}),\n defaultColumn: { size: 140, minSize: 64, maxSize: 640 },\n });\n\n const root = useRef<HTMLDivElement | null>(null);\n const head = useRef<HTMLDivElement | null>(null);\n const body = useRef<HTMLDivElement | null>(null);\n const leaf = table.getVisibleLeafColumns();\n const fitInput = leaf.map((c) => ({\n id: c.id,\n size: c.getSize(),\n priority: c.columnDef.meta?.priority ?? 2,\n grow: !!c.columnDef.meta?.grow,\n minWidth: c.columnDef.meta?.minWidth,\n fixed: c.id === \"__select\",\n }));\n const fitKey = JSON.stringify(fitInput);\n const hiddenFor = (width: number) => {\n const fit = fitColumns(fitInput, width, inset ? 48 : 0);\n return `${fit.tight ? \"!\" : \"\"}${fit.overflow ? \">\" : \"\"}|${fit.hidden.join(\" \")}`;\n };\n const hiddenForRef = useRef(hiddenFor);\n hiddenForRef.current = hiddenFor;\n const [hiddenKey, setHiddenKey] = useState(\"|\");\n useLayoutEffect(() => {\n const el = root.current;\n if (!el) return;\n return observeResize([el], ([e]) => setHiddenKey(hiddenForRef.current(Math.round(e?.contentRect.width ?? 0))));\n }, []);\n useLayoutEffect(() => {\n if (root.current) setHiddenKey(hiddenForRef.current(Math.round(contentWidth(root.current))));\n }, [fitKey]);\n const [mode = \"\", hiddenIds = \"\"] = hiddenKey.split(\"|\");\n const tight = mode.includes(\"!\");\n const overflow = mode.includes(\">\");\n const hidden = useMemo(() => new Set(hiddenIds.split(\" \").filter(Boolean)), [hiddenIds]);\n const onHiddenRef = useRef(onHiddenColumnsChange);\n onHiddenRef.current = onHiddenColumnsChange;\n useLayoutEffect(() => {\n onHiddenRef.current?.([...hidden]);\n }, [hidden]);\n const cols = leaf.filter((c) => !hidden.has(c.id));\n const trackMin = (c: (typeof cols)[number]) =>\n c.columnDef.meta?.grow ? (tight ? growMin({ size: c.getSize(), minWidth: c.columnDef.meta.minWidth }) : c.getSize()) : c.getSize();\n const template = cols.map((c) => (c.columnDef.meta?.grow ? `minmax(${trackMin(c)}px, 1fr)` : `${c.getSize()}px`)).join(\" \");\n const gridStyle: CSSProperties = { gridTemplateColumns: template, minWidth: cols.reduce((a, c) => a + trackMin(c), 0) };\n const pinEnd = overflow && cols.length > 1 && !cols[cols.length - 1]?.columnDef.meta?.grow;\n\n const rows = table.getRowModel().rows;\n const virtual = rows.length > virtualizeAbove;\n const rowHeight = Math.max(ROW_H[density], useCoarsePointer() ? 44 : 0);\n const getScrollElement = () => scrollParent(root.current);\n const scrollMargin = useScrollMargin(body, getScrollElement, rows.length, virtual);\n const virtualizer = useVirtualizer({\n count: rows.length,\n getScrollElement,\n estimateSize: () => rowHeight,\n overscan: 16,\n enabled: virtual,\n scrollMargin,\n });\n\n const cellPad = (i: number) => cn(\"flex min-w-0 items-center px-12\", inset && i === 0 && \"pl-20\", inset && i === cols.length - 1 && \"pr-20\");\n const onRaised = inset || raised;\n const stickyCol = (i: number, header = false, on = false) =>\n ((stickyFirstColumn && i === 0) || (pinEnd && i === cols.length - 1)) &&\n cn(\n \"sticky z-10\",\n header\n ? onRaised\n ? \"bg-raised\"\n : \"bg-panel\"\n : on\n ? \"bg-inherit\"\n : onRaised\n ? \"bg-raised group-hover/tr:bg-raised-hover group-active/tr:bg-raised-pressed\"\n : \"bg-panel group-hover/tr:bg-fill-1 group-active/tr:bg-fill-2\",\n i === 0 ? \"left-0\" : \"right-0\",\n !inset && !header && (i === 0 ? \"rounded-l-item\" : \"rounded-r-item\"),\n );\n\n const focusable = !!onRowClick || !!selectable;\n const bodyZone = focusable && rows.length > 0 && zone === \"body\";\n const stop = Math.min(focusRow, Math.max(rows.length - 1, 0));\n const focusAt = (i: number) => {\n const next = Math.max(0, Math.min(rows.length - 1, i));\n setZone(\"body\");\n setFocusRow(next);\n if (virtual) virtualizer.scrollToIndex(next, { align: \"auto\" });\n const line = () => body.current?.querySelector<HTMLElement>(`[data-row-index=\"${next}\"]`);\n const now = line();\n if (now) now.focus();\n else requestAnimationFrame(() => line()?.focus());\n };\n const focusHead = (i: number) => {\n const targets = headTargets(head.current);\n const target = targets[Math.max(0, Math.min(targets.length - 1, i))];\n if (!target) return false;\n setZone(\"head\");\n setHeadStop(targets.indexOf(target));\n target.focus();\n return true;\n };\n const rovingHead = useRef(() => {});\n rovingHead.current = () => {\n const targets = headTargets(head.current);\n const own = Math.min(headStop, targets.length - 1);\n for (const el of head.current?.querySelectorAll<HTMLElement>(FOCUSABLE) ?? []) {\n const tabindex = targets.indexOf(el) === own && !bodyZone ? \"0\" : \"-1\";\n if (el.getAttribute(\"tabindex\") !== tabindex) el.setAttribute(\"tabindex\", tabindex);\n }\n };\n useLayoutEffect(() => rovingHead.current());\n useLayoutEffect(() => {\n const el = head.current;\n if (!el) return;\n const observer = new MutationObserver(() => rovingHead.current());\n observer.observe(el, { subtree: true, childList: true, attributes: true, attributeFilter: [\"tabindex\"] });\n return () => observer.disconnect();\n }, []);\n useLayoutEffect(() => {\n const el = body.current;\n if (!el || !focusable) return;\n const quiet = () => {\n for (const line of el.querySelectorAll<HTMLElement>(\"[data-row-index]\"))\n for (const w of line.querySelectorAll<HTMLElement>(FOCUSABLE)) if (w.getAttribute(\"tabindex\") !== \"-1\") w.setAttribute(\"tabindex\", \"-1\");\n };\n quiet();\n const observer = new MutationObserver(quiet);\n observer.observe(el, { subtree: true, childList: true, attributes: true, attributeFilter: [\"tabindex\"] });\n return () => observer.disconnect();\n }, [focusable]);\n useScrollFadeX(body, \"[role=row]\");\n\n const resizeBy = (columnId: string | undefined, step: number) => {\n const column = columnId ? table.getColumn(columnId) : undefined;\n if (!column?.getCanResize()) return false;\n const min = column.columnDef.minSize ?? 64;\n const max = column.columnDef.maxSize ?? 640;\n table.setColumnSizing((old) => ({ ...old, [column.id]: Math.max(min, Math.min(max, column.getSize() + step)) }));\n return true;\n };\n const onHeadKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.altKey || e.metaKey || e.ctrlKey) return;\n const targets = headTargets(head.current);\n const at = targets.indexOf(e.target as HTMLElement);\n if (at < 0) return;\n const step = { ArrowLeft: -16, ArrowRight: 16 }[e.key];\n if (e.shiftKey) {\n if (step !== undefined && resizeBy((e.target as HTMLElement).closest<HTMLElement>(\"[role=columnheader]\")?.dataset.col, step)) e.preventDefault();\n return;\n }\n const to = { ArrowLeft: at - 1, ArrowRight: at + 1, Home: 0, End: targets.length - 1 }[e.key];\n if (to !== undefined) {\n e.preventDefault();\n if (to >= 0 && to < targets.length) focusHead(to);\n } else if (e.key === \"ArrowDown\" && focusable && rows.length) {\n e.preventDefault();\n focusAt(stop);\n }\n };\n\n const page = () => Math.max(1, Math.floor((getScrollElement()?.clientHeight ?? 400) / rowHeight) - 1);\n const selectRange = (from: number, to: number) => {\n const found = anchor.current ? rows.findIndex((r) => r.id === anchor.current?.id) : -1;\n if (found < 0) anchor.current = { id: rows[from]!.id, base: rowSelection };\n const start = found < 0 ? from : found;\n const next = { ...anchor.current?.base };\n for (const r of rows.slice(Math.min(start, to), Math.max(start, to) + 1)) if (r.getCanSelect()) next[r.id] = true;\n table.setRowSelection(next);\n };\n const onRowKeyDown = (e: KeyboardEvent<HTMLDivElement>, row: Row<T>, i: number) => {\n const line = e.currentTarget;\n const target = e.target as HTMLElement;\n if (target !== line) {\n if (e.altKey || e.metaKey || e.ctrlKey || target.closest(TEXT_ENTRY)) return;\n const widgets = cellWidgets(line);\n const at = widgets.indexOf(target);\n if (at < 0) return;\n // A tooltip trigger prevents Escape's default even while its tooltip is closed; only an open popup keeps the key.\n if (e.key === \"Escape\" && !target.closest(\"[data-popup-open], [aria-expanded=true]\")) {\n e.preventDefault();\n line.focus();\n } else if (e.defaultPrevented) {\n return;\n } else if (e.key === \"ArrowRight\" && widgets[at + 1]) {\n e.preventDefault();\n widgets[at + 1]?.focus();\n } else if (e.key === \"ArrowLeft\") {\n e.preventDefault();\n (widgets[at - 1] ?? line).focus();\n }\n return;\n }\n if (e.altKey) return;\n if (e.metaKey || e.ctrlKey) {\n if (e.key.toLowerCase() === \"a\" && selectable && !e.shiftKey) {\n e.preventDefault();\n anchor.current = null;\n table.toggleAllRowsSelected(true);\n }\n return;\n }\n const to = { ArrowDown: i + 1, ArrowUp: i - 1, Home: 0, End: rows.length - 1, PageDown: i + page(), PageUp: i - page() }[e.key];\n if (to !== undefined) {\n e.preventDefault();\n if (e.key === \"ArrowUp\" && !e.shiftKey && to < 0 && focusHead(headStop)) return;\n const next = Math.max(0, Math.min(rows.length - 1, to));\n if (e.shiftKey && selectable) selectRange(i, next);\n else anchor.current = null;\n focusAt(next);\n } else if (e.shiftKey) {\n return;\n } else if (e.key === \"ArrowRight\") {\n const first = cellWidgets(line)[0];\n if (!first) return;\n e.preventDefault();\n first.focus();\n } else if (e.key === \"Enter\") {\n e.preventDefault();\n onRowClick?.(row.original);\n } else if ((e.key === \" \" || e.key === \"x\") && selectable) {\n e.preventDefault();\n anchor.current = null;\n if (row.getCanSelect()) row.toggleSelected();\n } else if (e.key === \"Escape\" && selectable && Object.keys(rowSelection).length) {\n e.preventDefault();\n anchor.current = null;\n table.toggleAllRowsSelected(false);\n }\n };\n\n const renderRow = (row: Row<T>, i: number, style?: CSSProperties) => {\n const cells = row.getVisibleCells().filter((c) => !hidden.has(c.column.id));\n const active = row.id === activeRowId;\n const on = active || (!!selectable && row.getIsSelected());\n const el = (\n <div\n role=\"row\"\n aria-rowindex={i + 2}\n aria-selected={selectable ? row.getIsSelected() : undefined}\n aria-current={active || undefined}\n data-active={active || undefined}\n data-fresh={freshRowIds?.has(row.id) || undefined}\n data-row-index={i}\n {...(forceRow && i === 0 ? { \"data-force\": forceRow } : {})}\n tabIndex={focusable ? (bodyZone && i === stop ? 0 : -1) : undefined}\n onFocus={(e) => {\n if (e.target !== e.currentTarget) return;\n setZone(\"body\");\n if (i !== focusRow) setFocusRow(i);\n }}\n onClick={(e) => {\n anchor.current = null;\n if ((e.target as HTMLElement).closest(\"button, a, [role=checkbox]\")) return;\n onRowClick?.(row.original);\n }}\n onKeyDown={(e) => onRowKeyDown(e, row, i)}\n style={{ ...gridStyle, ...style }}\n className={cn(\n \"group/tr grid w-full text-body text-fg transition-control focus-ring-inset\",\n !inset && \"rounded-item\",\n KAESO_DATA_TABLE_VARIANTS.density[density].classes,\n onRowClick && \"cursor-pointer\",\n rowTone(onRaised, on),\n \"data-fresh:animate-row-fresh\",\n \"forced-colors:data-active:outline-2 forced-colors:data-active:-outline-offset-2 forced-colors:data-active:outline-solid\",\n )}\n >\n {cells.map((cell, i) => {\n const meta = cell.column.columnDef.meta;\n const content = flexRender(cell.column.columnDef.cell, cell.getContext());\n const raw = cell.getValue();\n const text = meta?.text ? meta.text(row.original) : typeof raw === \"string\" ? raw : undefined;\n const tone = meta?.tone?.(row.original);\n return (\n <div\n key={cell.id}\n role=\"cell\"\n className={cn(\n cellPad(i),\n meta?.align === \"end\" && \"justify-end text-right tabular\",\n meta?.mono && \"mono text-small\",\n tone && STATUS_TONE_TEXT[tone],\n stickyCol(i, false, on),\n )}\n >\n {text !== undefined && typeof content !== \"object\" ? (\n <Text truncate tone={tone ?? \"default\"} className={cn(\"min-w-0\", meta?.mono && \"text-small\")} mono={!!meta?.mono}>\n {text}\n </Text>\n ) : cell.column.id === \"__select\" ? (\n <span className=\"flex\">{content}</span>\n ) : (\n <TruncatedText className={cn(\"min-w-0 cell-fit\", meta?.grow && \"flex-1\")}>{content}</TruncatedText>\n )}\n </div>\n );\n })}\n </div>\n );\n if (!rowMenu) return <div key={row.id}>{el}</div>;\n return (\n <ContextMenu key={row.id}>\n <ContextMenu.Trigger>{el}</ContextMenu.Trigger>\n <ContextMenu.Content>{rowMenu(row.original)}</ContextMenu.Content>\n </ContextMenu>\n );\n };\n\n const header = (h: ReturnType<typeof table.getHeaderGroups>[number][\"headers\"][number], i: number) => {\n const meta = h.column.columnDef.meta;\n const sortable = h.column.getCanSort();\n const resizable = h.column.getCanResize();\n const dir = h.column.getIsSorted();\n const label = flexRender(h.column.columnDef.header, h.getContext());\n const content = (\n <>\n {sortable ? (\n <button\n type=\"button\"\n onClick={h.column.getToggleSortingHandler()}\n className={cn(\n \"relative -mx-6 inline-flex h-28 min-w-0 cursor-pointer items-center gap-4 rounded-pill px-6 text-caption font-medium transition-control focus-ring tap-target\",\n onRaised ? \"hover:bg-raised-hover active:bg-raised-pressed\" : \"hover:bg-fill-1 active:bg-fill-2\",\n \"hover:text-fg\",\n dir ? \"text-fg\" : \"text-fg-secondary\",\n meta?.align === \"end\" && \"flex-row-reverse\",\n )}\n >\n <TruncatedText>{label}</TruncatedText>\n <Icon\n icon={dir === \"desc\" ? __icon_ArrowDown01Icon : __icon_ArrowUp01Icon}\n size=\"xs\"\n className={cn(\"shrink-0 transition-control\", dir ? \"opacity-100\" : \"opacity-0 group-hover/th:opacity-60\")}\n />\n </button>\n ) : (\n <TruncatedText className=\"text-caption font-medium text-fg-secondary\">{label}</TruncatedText>\n )}\n {resizable && (\n <div\n role=\"separator\"\n aria-orientation=\"vertical\"\n aria-label={t(\"dataTable.resizeColumn\", \"Resize column\")}\n aria-valuenow={h.column.getSize()}\n aria-valuemin={h.column.columnDef.minSize ?? 64}\n aria-valuemax={h.column.columnDef.maxSize ?? 640}\n tabIndex={-1}\n onMouseDown={h.getResizeHandler()}\n onTouchStart={h.getResizeHandler()}\n onDoubleClick={() => h.column.resetSize()}\n className=\"absolute inset-y-0 -right-8 z-10 w-16 cursor-col-resize after:absolute after:inset-y-8 after:right-8 after:w-1 after:bg-transparent after:transition-control group-hover/th:after:bg-line-strong coarse:after:bg-line focus-ring-inset\"\n />\n )}\n </>\n );\n return (\n <div\n key={h.id}\n role=\"columnheader\"\n data-col={h.column.id}\n aria-sort={dir === \"asc\" ? \"ascending\" : dir === \"desc\" ? \"descending\" : sortable ? \"none\" : undefined}\n className={cn(\"group/th relative\", cellPad(i), meta?.align === \"end\" && \"justify-end\", stickyCol(i, true), stickyCol(i, true) && \"hairline-b-strong\")}\n >\n {resizable ? (\n <ContextMenu>\n <ContextMenu.Trigger className={cn(\"flex min-w-0 flex-1 items-center self-stretch\", meta?.align === \"end\" && \"justify-end\")}>\n {content}\n </ContextMenu.Trigger>\n <ContextMenu.Content>\n <ContextMenu.Item onClick={() => resizeBy(h.column.id, 32)}>{t(\"dataTable.widenColumn\", \"Widen column\")}</ContextMenu.Item>\n <ContextMenu.Item onClick={() => resizeBy(h.column.id, -32)}>{t(\"dataTable.narrowColumn\", \"Narrow column\")}</ContextMenu.Item>\n <ContextMenu.Item onClick={() => h.column.resetSize()}>{t(\"dataTable.resetWidth\", \"Reset width\")}</ContextMenu.Item>\n </ContextMenu.Content>\n </ContextMenu>\n ) : (\n content\n )}\n </div>\n );\n };\n\n return (\n <div\n ref={(e) => {\n root.current = e;\n if (typeof ref === \"function\") ref(e);\n else if (ref) (ref as { current: HTMLDivElement | null }).current = e;\n }}\n className={cn(\"relative w-full min-w-0\", !inset && !padded && \"px-24\", className)}\n >\n <div\n role=\"table\"\n aria-label={ariaLabel}\n aria-rowcount={rows.length + 1}\n aria-busy={loading || undefined}\n className={cn(\"w-full overflow-clip\", inset && \"rounded-group bg-raised shadow-xs\")}\n >\n <div\n ref={head}\n role=\"rowgroup\"\n className={cn(\"sticky top-0 z-20 overflow-hidden\", onRaised ? \"bg-raised\" : \"bg-panel\")}\n onKeyDown={onHeadKeyDown}\n onFocus={(e) => {\n const at = headTargets(head.current).indexOf(e.target as HTMLElement);\n if (at < 0) return;\n anchor.current = null;\n setZone(\"head\");\n setHeadStop(at);\n }}\n onScroll={(e) => {\n if (body.current && body.current.scrollLeft !== e.currentTarget.scrollLeft) body.current.scrollLeft = e.currentTarget.scrollLeft;\n }}\n >\n {table.getHeaderGroups().map((hg) => (\n <div key={hg.id} role=\"row\" aria-rowindex={1} className=\"grid h-36 hairline-b-strong\" style={gridStyle}>\n {hg.headers.filter((h) => !hidden.has(h.column.id)).map(header)}\n </div>\n ))}\n </div>\n <div\n ref={body}\n role=\"rowgroup\"\n className=\"overflow-x-auto scrollbar-quiet scroll-fade-x\"\n onScroll={(e) => {\n if (head.current && head.current.scrollLeft !== e.currentTarget.scrollLeft) head.current.scrollLeft = e.currentTarget.scrollLeft;\n }}\n >\n {error ? (\n <div role=\"row\">\n <div role=\"cell\" aria-colspan={cols.length} className=\"block\">\n <div role=\"alert\">\n <Empty\n size=\"compact\"\n title={t(\"dataTable.loadFailed\", \"Couldn't load these rows\")}\n {...(onRetry ? {} : { description: t(\"dataTable.reloadToRetry\", \"Reload the page to try again.\") })}\n actions={\n onRetry && (\n <Button size=\"sm\" onClick={onRetry}>\n {t(\"dataTable.tryAgain\", \"Try again\")}\n </Button>\n )\n }\n />\n </div>\n </div>\n </div>\n ) : loading && rows.length === 0 ? (\n Array.from({ length: 8 }, (_, r) => (\n <div key={r} role=\"row\" className={cn(\"grid\", KAESO_DATA_TABLE_VARIANTS.density[density].classes)} style={gridStyle}>\n {cols.map((c, i) => (\n <div key={c.id} role=\"cell\" className={cn(cellPad(i), c.columnDef.meta?.align === \"end\" && \"justify-end\")}>\n <Skeleton shape=\"line\" style={{ width: `${40 + ((r * 7 + i * 13) % 45)}%` }} />\n </div>\n ))}\n </div>\n ))\n ) : rows.length === 0 ? (\n <div role=\"row\">\n <div role=\"cell\" aria-colspan={cols.length} className=\"block\">\n {empty ?? <Empty size=\"compact\" title={t(\"dataTable.noRows\", \"No rows\")} />}\n </div>\n </div>\n ) : virtual ? (\n <div className=\"relative\" style={{ height: virtualizer.getTotalSize() }}>\n {virtualizer.getVirtualItems().map((v) =>\n renderRow(rows[v.index]!, v.index, {\n position: \"absolute\",\n top: 0,\n left: 0,\n transform: `translateY(${Math.round(v.start - scrollMargin)}px)`,\n }),\n )}\n </div>\n ) : (\n rows.map((r, i) => renderRow(r, i))\n )}\n </div>\n </div>\n <Pagination variant=\"load-more\" hasMore={!!hasMore} loading={loadingMore} onLoadMore={onLoadMore} />\n </div>\n );\n}\n\nconst DataTableBase = /* @__PURE__ */ forwardRef(DataTableInner);\nif (process.env.NODE_ENV !== \"production\") DataTableBase.displayName = \"DataTable\";\nexport const DataTable = DataTableBase as unknown as <T>(\n p: DataTableProps<T> & { ref?: React.Ref<HTMLDivElement> | undefined },\n) => ReturnType<typeof DataTableInner>;\n","import type { ColumnDef } from \"@tanstack/react-table\";\nimport type { ReactNode } from \"react\";\nimport { formatDate, formatDuration, formatRelative, formatTokens, formatUSD, formatNumber } from \"../../format/index.js\";\nimport { StatusDot, type StatusDotProps } from \"../status-dot/status-dot.js\";\nimport { Avatar } from \"../avatar/avatar.js\";\nimport { Tooltip } from \"../tooltip/tooltip.js\";\nimport { TruncatedText } from \"../text/truncated.js\";\nimport type { StatusTone } from \"../../utils/tone.js\";\nimport { useUiText } from \"../../i18n/context.js\";\nimport { TIME_COLUMNS } from \"./time-columns.js\";\n\nfunction time<C extends object>(column: C): C {\n TIME_COLUMNS.add(column);\n return column;\n}\n\ntype Base<T = never> = {\n id: string;\n header: ReactNode;\n size?: number | undefined;\n priority?: number | undefined;\n grow?: boolean | undefined;\n minWidth?: number | undefined;\n tone?: ((row: T) => StatusTone | undefined) | undefined;\n};\ntype Accessor<T, V> = (row: T) => V;\n\nfunction make<T, V>(\n b: Base<T>,\n get: Accessor<T, V>,\n cell: (v: V, row: T) => ReactNode,\n meta: object = {},\n sortingFn?: ColumnDef<T, V>[\"sortingFn\"],\n): ColumnDef<T, V> {\n return {\n id: b.id,\n header: () => b.header,\n accessorFn: get,\n cell: (ctx) => cell(ctx.getValue() as V, ctx.row.original),\n ...(b.size ? { size: b.size } : {}),\n ...(sortingFn ? { sortingFn } : {}),\n meta: {\n ...(b.priority !== undefined ? { priority: b.priority } : {}),\n ...(b.grow ? { grow: true } : {}),\n ...(b.minWidth !== undefined ? { minWidth: b.minWidth } : {}),\n ...(b.tone ? { tone: b.tone } : {}),\n ...meta,\n },\n };\n}\n\nfunction Tokens({ value }: { value: number }) {\n const t = useUiText();\n const exact = t(\"dataTable.tokenCount\", \"{count} tokens\", { count: formatNumber(value) });\n return (\n <Tooltip content={exact}>\n <span>\n <span aria-hidden>{formatTokens(value)}</span>\n <span className=\"sr-only\">{exact}</span>\n </span>\n </Tooltip>\n );\n}\n\nfunction RelativeTime({ value, now }: { value: string | Date; now: Date | number }) {\n const exact = formatDate(value, { time: true, seconds: true });\n return (\n <Tooltip content={`${exact} · ${formatDate(value, { time: true, utc: true })}`} shape=\"multiline\">\n <span className=\"text-fg-secondary\">\n <time dateTime={new Date(value).toISOString()}>{formatRelative(value, now)}</time>\n <span className=\"sr-only\"> {exact}</span>\n </span>\n </Tooltip>\n );\n}\n\nexport const col = {\n text: <T,>(b: Base<T>, get: Accessor<T, string>) => make(b, get, (v) => v, { text: (r: T) => get(r) }),\n mono: <T,>(b: Base<T>, get: Accessor<T, string>) => make(b, get, (v) => v, { mono: true, text: (r: T) => get(r) }),\n number: <T,>(b: Base<T>, get: Accessor<T, number>) => make(b, get, (v) => formatNumber(v), { align: \"end\" }),\n money: <T,>(b: Base<T>, get: Accessor<T, string>, options: { decimals?: number | undefined } = {}) =>\n make(\n b,\n get,\n (v) => formatUSD(v, options.decimals === undefined ? {} : { decimals: options.decimals }),\n { align: \"end\", mono: false },\n (a, c, id) => Number(a.getValue(id)) - Number(c.getValue(id)),\n ),\n tokens: <T,>(b: Base<T>, get: Accessor<T, number>) => make(b, get, (v) => <Tokens value={v} />, { align: \"end\" }),\n duration: <T,>(b: Base<T>, get: Accessor<T, number>) => make(b, get, (v) => formatDuration(v), { align: \"end\" }),\n date: <T,>(b: Base<T>, get: Accessor<T, string | Date>) =>\n time(\n make(\n b,\n get,\n (v) => <time dateTime={new Date(v).toISOString()}>{formatDate(v, { time: true })}</time>,\n { text: (r: T) => formatDate(get(r), { time: true }) },\n \"datetime\",\n ),\n ),\n relative: <T,>(b: Base<T>, get: Accessor<T, string | Date>, options: { now?: Date | number | undefined } = {}) =>\n time(\n make(\n b,\n get,\n (v) => <RelativeTime value={v} now={options.now ?? Date.now()} />,\n { text: (r: T) => formatDate(get(r), { time: true }) },\n (a, c, id) => new Date(a.getValue(id) as string).getTime() - new Date(c.getValue(id) as string).getTime(),\n ),\n ),\n status: <T,>(b: Base<T>, get: Accessor<T, { tone: NonNullable<StatusDotProps[\"tone\"]>; label: string }>) =>\n make(b, get, (v) => <StatusDot tone={v.tone}>{v.label}</StatusDot>, { text: undefined }),\n avatar: <T,>(b: Base<T>, get: Accessor<T, { name: string; src?: string | undefined }>) =>\n make(\n b,\n get,\n (v) => (\n <span className=\"inline-flex min-w-0 items-center gap-8\">\n <Avatar name={v.name} {...(v.src ? { src: v.src } : {})} size={24} decorative />\n <TruncatedText>{v.name}</TruncatedText>\n </span>\n ),\n { text: (r: T) => get(r).name },\n ),\n custom: <T, V>(\n b: Base<T>,\n get: Accessor<T, V>,\n cell: (v: V, row: T) => ReactNode,\n meta: { align?: \"start\" | \"end\" | undefined; mono?: boolean | undefined } = {},\n ) => make(b, get, cell, meta),\n};\n"],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ "use client";
2
+ import { i as e } from "./context-BELWW79w.js";
3
+ import { i as t } from "./popover-Bl5QYqnh.js";
4
+ import { t as n } from "./calendar-Dc6_dl0f.js";
5
+ import { n as r, r as i, t as a } from "./iso-field-DoqHBg8n.js";
6
+ import { useCallback as o, useId as s, useState as c } from "react";
7
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
8
+ //#region src/components/date-picker/focus-day.ts
9
+ function d() {
10
+ return o((e) => {
11
+ if (!e) return;
12
+ let t = requestAnimationFrame(() => e.querySelector("[role=\"grid\"] button[tabindex=\"0\"]")?.focus({ preventScroll: !0 }));
13
+ return () => cancelAnimationFrame(t);
14
+ }, []);
15
+ }
16
+ //#endregion
17
+ //#region src/components/date-picker/date-popup.tsx
18
+ function f({ date: o, onDateChange: f, onClose: p, weekStartsOn: m, disabledDays: h }) {
19
+ let g = e(), _ = d(), v = s(), [y, b] = c(null);
20
+ return /* @__PURE__ */ u(t.Content, {
21
+ padding: "form",
22
+ "aria-label": g("datePicker.chooseDate", "Choose a date"),
23
+ children: [
24
+ /* @__PURE__ */ l(n, {
25
+ ref: _,
26
+ mode: "single",
27
+ selected: o ?? void 0,
28
+ ...o ? { defaultMonth: o } : {},
29
+ onSelect: (e) => {
30
+ f(e ?? null), e && p();
31
+ },
32
+ weekStartsOn: m,
33
+ disabled: h
34
+ }),
35
+ /* @__PURE__ */ l("div", {
36
+ className: "mt-12 flex gap-8",
37
+ children: /* @__PURE__ */ l(r, {
38
+ label: g("datePicker.date", "Date"),
39
+ value: o ?? void 0,
40
+ invalid: y !== null,
41
+ errorId: v,
42
+ onProblem: b,
43
+ onCommit: (e) => !h?.(e) && (f(e), !0)
44
+ })
45
+ }),
46
+ /* @__PURE__ */ l("p", {
47
+ id: v,
48
+ role: "alert",
49
+ className: a,
50
+ children: i(g, y)
51
+ })
52
+ ]
53
+ });
54
+ }
55
+ //#endregion
56
+ export { f as DatePopup };
57
+
58
+ //# sourceMappingURL=date-popup-DAnjptFt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-popup-DAnjptFt.js","names":["useUiText","Popover","Calendar","IsoField","isoProblemText","ISO_PROBLEM","useFocusDay","useCallback","root","frame","DatePopup","t","calendar","errorId","useId","problem","setProblem","useState","date","onDateChange","d","onClose","disabledDays"],"sources":["../../src/components/date-picker/focus-day.ts","../../src/components/date-picker/date-popup.tsx"],"sourcesContent":["import { useCallback } from \"react\";\n\nexport function useFocusDay() {\n return useCallback((root: HTMLDivElement | null) => {\n if (!root) return;\n // Base UI focuses the popup itself when it opens; the grid's day takes focus on the next frame, after that.\n const frame = requestAnimationFrame(() => root.querySelector<HTMLButtonElement>('[role=\"grid\"] button[tabindex=\"0\"]')?.focus({ preventScroll: true }));\n return () => cancelAnimationFrame(frame);\n }, []);\n}\n","import { Calendar, type CalendarProps } from \"../calendar/calendar.js\";\nimport { Popover } from \"../popover/popover.js\";\nimport { useId, useState } from \"react\";\nimport { ISO_PROBLEM, IsoField, isoProblemText, type IsoProblem } from \"./iso-field.js\";\nimport { useUiText } from \"../../i18n/context.js\";\nimport { useFocusDay } from \"./focus-day.js\";\n\nexport interface DatePopupProps {\n date: Date | null;\n onDateChange: (date: Date | null) => void;\n onClose: () => void;\n weekStartsOn: CalendarProps[\"weekStartsOn\"];\n disabledDays: ((date: Date) => boolean) | undefined;\n}\n\nexport function DatePopup({ date, onDateChange, onClose, weekStartsOn, disabledDays }: DatePopupProps) {\n const t = useUiText();\n const calendar = useFocusDay();\n const errorId = useId();\n const [problem, setProblem] = useState<IsoProblem>(null);\n return (\n <Popover.Content padding=\"form\" aria-label={t(\"datePicker.chooseDate\", \"Choose a date\")}>\n <Calendar\n ref={calendar}\n mode=\"single\"\n selected={date ?? undefined}\n {...(date ? { defaultMonth: date } : {})}\n onSelect={(d) => {\n onDateChange((d as Date | undefined) ?? null);\n if (d) onClose();\n }}\n weekStartsOn={weekStartsOn}\n disabled={disabledDays}\n />\n <div className=\"mt-12 flex gap-8\">\n <IsoField\n label={t(\"datePicker.date\", \"Date\")}\n value={date ?? undefined}\n invalid={problem !== null}\n errorId={errorId}\n onProblem={setProblem}\n onCommit={(d) => {\n if (disabledDays?.(d)) return false;\n onDateChange(d);\n return true;\n }}\n />\n </div>\n <p id={errorId} role=\"alert\" className={ISO_PROBLEM}>\n {isoProblemText(t, problem)}\n </p>\n </Popover.Content>\n );\n}\n"],"mappings":";;;;;;;;AAEA,SAAgBM,IAAc;CAC5B,OAAOC,GAAa,MAAgC;EAClD,IAAI,CAACC,GAAM;EAEX,IAAMC,IAAQ,4BAA4BD,EAAK,cAAiC,wCAAoC,CAAC,EAAE,MAAM,EAAE,eAAe,GAAK,CAAC,CAAC;EACrJ,aAAa,qBAAqBC,CAAK;CACzC,GAAG,CAAC,CAAC;AACP;;;ACMA,SAAgBC,EAAU,EAAE,SAAM,iBAAc,YAAS,iBAAc,mBAAgC;CACrG,IAAMC,IAAIX,EAAU,GACdY,IAAWN,EAAY,GACvBO,IAAUC,EAAM,GAChB,CAACC,GAASC,KAAcC,EAAqB,IAAI;CACvD,OACE,kBAAChB,EAAQ,SAAT;EAAiB,SAAQ;EAAO,cAAYU,EAAE,yBAAyB,eAAe;EAAtF,UAAA;GACE,kBAACT,GAAD;IACE,KAAKU;IACL,MAAK;IACL,UAAUM,KAAQ,KAAA;IAClB,GAAKA,IAAO,EAAE,cAAcA,EAAK,IAAI,CAAC;IACtC,WAAW,MAAM;KAEf,AADAC,EAAcC,KAA0B,IAAI,GACxCA,KAAGC,EAAQ;IACjB;IACc;IACd,UAAUC;GACX,CAAA;GACD,kBAAC,OAAD;IAAK,WAAU;IACb,UAAA,kBAACnB,GAAD;KACE,OAAOQ,EAAE,mBAAmB,MAAM;KAClC,OAAOO,KAAQ,KAAA;KACf,SAASH,MAAY;KACZ;KACT,WAAWC;KACX,WAAW,MACT,CAAIM,IAAeF,CAAC,MACpBD,EAAaC,CAAC,GACP;IAEV,CAAA;GACE,CAAA;GACL,kBAAC,KAAD;IAAG,IAAIP;IAAS,MAAK;IAAQ,WAAWR;IACrC,UAAAD,EAAeO,GAAGI,CAAO;GACzB,CAAA;EACY;;AAErB"}
@@ -16,13 +16,16 @@ var e = {
16
16
  "calendar.previousMonth": "Zum vorherigen Monat",
17
17
  "calendar.selected": "{date}, ausgewählt",
18
18
  "calendar.today": "Heute, {date}",
19
+ "chart.allHidden": "Alle Reihen sind ausgeblendet. Zum Einblenden eine in der Legende auswählen.",
19
20
  "chart.listSeparator": ", ",
20
21
  "chart.liveLine": "{heading}: {values}",
21
22
  "chart.liveValue": "{label} {value}",
22
23
  "chart.partial": "{heading}, unvollständig",
23
24
  "chart.soFar": "{heading}, bisher",
24
25
  "chartFrame.loadFailed": "Diagramm konnte nicht geladen werden",
26
+ "chartFrame.loadFailedReload": "Diagramm konnte nicht geladen werden. Seite neu laden, um es erneut zu versuchen.",
25
27
  "chartFrame.noData": "Keine Daten für diesen Zeitraum",
28
+ "chartFrame.tableLabel": "{label}, Tabelle",
26
29
  "chartFrame.tryAgain": "Erneut versuchen",
27
30
  "chartFrame.viewAsChart": "Diagramm anzeigen",
28
31
  "chartFrame.viewAsTable": "Tabelle anzeigen",
@@ -37,14 +40,17 @@ var e = {
37
40
  "combobox.loading": "Wird geladen…",
38
41
  "combobox.loadingResults": "Ergebnisse werden geladen",
39
42
  "combobox.more": "{count, plural, one {# weiterer Eintrag; tippen, um einzugrenzen} other {# weitere Einträge; tippen, um einzugrenzen}}",
43
+ "combobox.noMatch": "Keine Treffer für „{query}“",
40
44
  "combobox.noResults": "Keine Ergebnisse",
41
45
  "combobox.remove": "{label} entfernen",
42
46
  "combobox.showOptions": "Optionen anzeigen",
43
47
  "commandList.loading": "Wird geladen…",
44
48
  "commandList.noResults": "Keine Ergebnisse",
49
+ "commandList.noResultsFor": "Keine Ergebnisse für „{query}“",
50
+ "commandList.results": "{count, plural, one {# Ergebnis} other {# Ergebnisse}}",
45
51
  "commandList.search": "Suchen",
52
+ "commandPalette.backFrom": "{page}, zurück",
46
53
  "commandPalette.label": "Befehlspalette",
47
- "commandPalette.noResults": "Keine Ergebnisse",
48
54
  "commandPalette.placeholder": "Suchen oder Befehl ausführen",
49
55
  "commandPalette.results": "Ergebnisse",
50
56
  "commandPalette.toClose": "zum Schließen",
@@ -52,8 +58,8 @@ var e = {
52
58
  "commandPalette.toNavigate": "zum Navigieren",
53
59
  "commandPalette.toOpen": "zum Öffnen",
54
60
  "compareGrid.addModel": "Modell hinzufügen",
55
- "compareGrid.columnName": "{label}, ",
56
61
  "compareGrid.compareUpTo": "Bis zu {max} gleichzeitig vergleichen",
62
+ "compareGrid.namedPosition": "{label}, {index} von {count}",
57
63
  "compareGrid.nextColumn": "Nächste Spalte",
58
64
  "compareGrid.position": "{index} von {count}",
59
65
  "compareGrid.previousColumn": "Vorherige Spalte",
@@ -63,10 +69,12 @@ var e = {
63
69
  "composer.prompt": "Prompt",
64
70
  "composer.send": "Senden",
65
71
  "composer.stop": "Stoppen",
72
+ "composer.stopToSend": "Eine Antwort kommt gerade an; stoppen Sie sie, um diesen Prompt zu senden.",
66
73
  "conversationView.assistant": "Assistent",
67
74
  "conversationView.called": "**{name}** aufgerufen",
68
75
  "conversationView.developer": "Entwickler",
69
76
  "conversationView.document": "Dokument",
77
+ "conversationView.empty": "Diese Anfrage enthält keine Nachrichten.",
70
78
  "conversationView.encrypted": "Der Anbieter hat dieses Reasoning verschlüsselt zurückgegeben.",
71
79
  "conversationView.error": "Fehler",
72
80
  "conversationView.image": "Bild",
@@ -82,14 +90,17 @@ var e = {
82
90
  "copyButton.copied": "Kopiert",
83
91
  "copyButton.copy": "Kopieren",
84
92
  "dataTable.loadFailed": "Zeilen konnten nicht geladen werden",
85
- "dataTable.noMatches": "Nichts passt zu diesen Filtern.",
93
+ "dataTable.narrowColumn": "Spalte verschmälern",
86
94
  "dataTable.noRows": "Keine Zeilen",
95
+ "dataTable.reloadToRetry": "Seite neu laden und erneut versuchen.",
96
+ "dataTable.resetWidth": "Breite zurücksetzen",
87
97
  "dataTable.resizeColumn": "Spaltenbreite ändern",
88
98
  "dataTable.selectAllRows": "Alle Zeilen auswählen",
89
99
  "dataTable.selectNamed": "{name} auswählen",
90
100
  "dataTable.selectRow": "Zeile auswählen",
91
101
  "dataTable.tokenCount": "{count} Token",
92
102
  "dataTable.tryAgain": "Erneut versuchen",
103
+ "dataTable.widenColumn": "Spalte verbreitern",
93
104
  "datePicker.apply": "Anwenden",
94
105
  "datePicker.chooseDate": "Datum auswählen",
95
106
  "datePicker.chooseRange": "Zeitraum auswählen",
@@ -101,15 +112,16 @@ var e = {
101
112
  "datePicker.last30Days": "Letzte 30 Tage",
102
113
  "datePicker.last7Days": "Letzte 7 Tage",
103
114
  "datePicker.lastMonth": "Letzter Monat",
104
- "datePicker.pickDate": "Datum wählen",
105
- "datePicker.pickRange": "Zeitraum wählen",
106
115
  "datePicker.presets": "Vorgaben",
107
116
  "datePicker.startDate": "Startdatum",
117
+ "datePicker.startFirst": "Zuerst ein Startdatum auswählen.",
108
118
  "datePicker.thisMonth": "Dieser Monat",
119
+ "datePicker.typeIso": "Datum im Format JJJJ-MM-TT eingeben.",
120
+ "datePicker.unavailableDate": "Dieses Datum ist nicht wählbar. Ein anderes Datum auswählen.",
109
121
  "deleteResource.confirm": "{kind} {verb}",
110
122
  "deleteResource.deleteConfirm": "{kind} löschen",
111
- "deleteResource.deleteTitle": "{kind} löschen?",
112
- "deleteResource.title": "{kind} {verb}?",
123
+ "deleteResource.deleteTitle": "„{name}“ löschen?",
124
+ "deleteResource.title": "„{name}“ {verb}?",
113
125
  "dialog.back": "Zurück",
114
126
  "dialog.close": "Schließen",
115
127
  "diffView.added": "Hinzugefügt",
@@ -137,12 +149,10 @@ var e = {
137
149
  "effectiveAccess.grantedOfTotal": "{granted} von {total}",
138
150
  "effectiveAccess.listSeparator": ", ",
139
151
  "effectiveAccess.noRights": "Keine Rechte",
140
- "effectiveAccess.noRightsIn": "Keine Rechte in",
141
- "environmentSnippet.apiKey": "API-Schlüssel",
152
+ "environmentSnippet.apiKeyVariable": "Variable für den API-Schlüssel",
142
153
  "environmentSnippet.baseUrl": "Basis-URL",
143
154
  "environmentSnippet.copyBaseUrl": "Basis-URL kopieren",
144
155
  "environmentSnippet.copyVariableName": "Variablennamen kopieren",
145
- "field.optional": "Optional",
146
156
  "filterChip.filter": "Filter",
147
157
  "filterChip.filterNamed": "Filter: {property}",
148
158
  "filterChip.noMatches": "Keine passenden Werte",
@@ -168,14 +178,15 @@ var e = {
168
178
  "format.seconds": "{s} s",
169
179
  "format.thousands": "{value}\xA0Tsd.",
170
180
  "format.yesterday": "gestern",
181
+ "gauge.near": "Nahe am Limit",
182
+ "gauge.noData": "Keine Daten",
183
+ "gauge.over": "Über dem Limit",
171
184
  "heatmap.cell": "{row} {column}: {value}",
185
+ "heatmap.cellHeading": "{row} {column}",
172
186
  "heatmap.less": "Weniger",
173
187
  "heatmap.more": "Mehr",
174
- "jsonView.collapse": "Einklappen",
175
- "jsonView.collapsePath": "{path} einklappen",
188
+ "heatmap.rows": "Zeile",
176
189
  "jsonView.copyPath": "Pfad {path} kopieren",
177
- "jsonView.expand": "Ausklappen",
178
- "jsonView.expandPath": "{path} ausklappen",
179
190
  "jsonView.items": "{count, plural, one {{n} Element} other {{n} Elemente}}",
180
191
  "jsonView.keys": "{count, plural, one {{n} Schlüssel} other {{n} Schlüssel}}",
181
192
  "jsonView.label": "JSON",
@@ -205,9 +216,12 @@ var e = {
205
216
  "keyDisplay.inferenceAndPlatform": "Inferenz + Plattform",
206
217
  "keyDisplay.platform": "Plattform",
207
218
  "label.optional": "Optional",
208
- "limitMeter.hard": "Hart",
219
+ "limitMeter.hard": "Hartes Limit",
209
220
  "limitMeter.label": "{kind, select, requests {Anfragelimit} tokens {Token-Limit} other {Ausgabenlimit}}",
210
- "limitMeter.soft": "Weich",
221
+ "limitMeter.overHard": "Limit überschritten, Anfragen werden abgelehnt",
222
+ "limitMeter.overSoft": "Limit überschritten, nur Warnungen",
223
+ "limitMeter.scopedLabel": "{scope}, {limit}",
224
+ "limitMeter.soft": "Weiches Limit",
211
225
  "link.opensInNewTab": " (öffnet in einem neuen Tab)",
212
226
  "list.add": "Hinzufügen",
213
227
  "list.clearSelection": "Auswahl aufheben",
@@ -216,6 +230,10 @@ var e = {
216
230
  "list.selection": "Auswahl",
217
231
  "loader.loading": "Wird geladen",
218
232
  "markdown.showAllCharacters": "Alle {count} Zeichen anzeigen",
233
+ "markdown.taskDone": "Erledigt",
234
+ "markdown.taskOpen": "Offen",
235
+ "meter.nearLimit": "nahe am Limit",
236
+ "meter.overLimit": "über dem Limit",
219
237
  "modelLabel.capabilities": "Fähigkeiten: {list}",
220
238
  "modelLabel.imageInput": "Bildeingabe",
221
239
  "modelLabel.listSeparator": ", ",
@@ -226,16 +244,16 @@ var e = {
226
244
  "modelPicker.choose": "Modell wählen",
227
245
  "modelPicker.chooseSome": "Modelle wählen",
228
246
  "modelPicker.everyProvider": "Alle Anbieter",
229
- "modelPicker.firstAndMore": "{first} +{count}",
230
247
  "modelPicker.model": "Modell",
231
248
  "modelPicker.noMatch": "Kein Modell passt",
232
249
  "modelPicker.provider": "Anbieter",
233
250
  "modelPicker.recent": "Zuletzt verwendet",
234
251
  "modelPicker.search": "Modelle suchen",
235
- "modelPicker.showDeprecated": "Veraltete",
252
+ "modelPicker.showDeprecated": "Veraltete anzeigen",
236
253
  "numberInput.decrease": "Verringern",
237
254
  "numberInput.increase": "Erhöhen",
238
255
  "otpInput.label": "Bestätigungscode",
256
+ "pagination.allShown": "Alle Zeilen angezeigt",
239
257
  "pagination.label": "Seitennavigation",
240
258
  "pagination.loadMore": "Mehr laden",
241
259
  "pagination.next": "Nächste Seite",
@@ -247,9 +265,10 @@ var e = {
247
265
  "parameterPanel.effortMax": "Maximal",
248
266
  "parameterPanel.effortMedium": "Mittel",
249
267
  "parameterPanel.effortMinimal": "Minimal",
250
- "parameterPanel.effortNone": "Ohne",
268
+ "parameterPanel.effortNone": "Keiner",
251
269
  "parameterPanel.instructionsPlaceholder": "Sie sind ein hilfreicher Assistent.",
252
270
  "parameterPanel.maxOutputTokens": "Max. Ausgabe-Token",
271
+ "parameterPanel.maxOutputTokensLimit": "Bis zu {max} bei diesem Modell",
253
272
  "parameterPanel.modelDefault": "Modell-Standard",
254
273
  "parameterPanel.reasoningEffort": "Reasoning-Aufwand",
255
274
  "parameterPanel.reasoningSummary": "Reasoning-Zusammenfassung",
@@ -262,6 +281,7 @@ var e = {
262
281
  "parameterPanel.temperature": "Temperatur",
263
282
  "parameterPanel.topP": "Top P",
264
283
  "parameterPanel.valueDefault": "{value} (Standard)",
284
+ "parameterPopover.close": "Parameter schließen",
265
285
  "parameterPopover.parameters": "Parameter",
266
286
  "pickerPopover.close": "Schließen",
267
287
  "promptSuggestions.examplePrompts": "Beispiel-Prompts",
@@ -273,23 +293,30 @@ var e = {
273
293
  "providerPicker.other": "Weitere Anbieter",
274
294
  "providerPicker.providers": "Anbieter",
275
295
  "providerPicker.search": "Anbieter suchen",
276
- "requestTimeline.label": "Zeit bis zum ersten Byte: {ttfb} von insgesamt {total}",
277
296
  "requestTimeline.firstByte": "Erstes Byte",
297
+ "requestTimeline.label": "Zeit bis zum ersten Byte: {ttfb} von insgesamt {total}",
278
298
  "requestTimeline.totalTime": "Gesamt",
299
+ "resourceList.clearSearch": "Suche leeren",
279
300
  "resourceList.filters": "Filter",
280
301
  "resourceList.noMatches": "Keine Treffer",
281
- "resourceList.nothingHereYet": "Noch nichts vorhanden",
302
+ "resourceList.noneYet": "Noch keine {label}",
303
+ "resourceList.results": "{count, plural, =0 {Keine Treffer} one {# Treffer} other {# Treffer}}",
282
304
  "resourceList.search": "Suchen",
283
305
  "resourceList.tryShorterSearch": "Kürzeren Suchbegriff versuchen.",
284
306
  "responseMetrics.cost": "Kosten",
285
307
  "responseMetrics.firstToken": "Erstes Token",
286
308
  "responseMetrics.metrics": "Kennzahlen",
309
+ "responseMetrics.notReported": "nicht gemeldet",
287
310
  "responseMetrics.notYetKnown": "noch unbekannt",
288
311
  "responseMetrics.reasoning": "Reasoning",
289
312
  "responseMetrics.tokens": "Token",
290
313
  "responseMetrics.tokensValue": "{input} Eingabe · {output} Ausgabe",
291
314
  "responseMetrics.total": "Gesamt",
292
315
  "responseView.contentFilter": "Vom Inhaltsfilter des Anbieters gestoppt",
316
+ "responseView.endedDone": "{label} abgeschlossen",
317
+ "responseView.endedIncomplete": "{label}: {reason}",
318
+ "responseView.endedStopped": "{label} gestoppt",
319
+ "responseView.failedPartway": "Die Antwort ist unterwegs abgebrochen",
293
320
  "responseView.incomplete": "Das Modell hat die Antwort vorzeitig beendet",
294
321
  "responseView.noResponse": "Keine Antwort",
295
322
  "responseView.noText": "Das Modell hat keinen Text zurückgegeben",
@@ -299,7 +326,6 @@ var e = {
299
326
  "responseView.retry": "Erneut versuchen",
300
327
  "responseView.stopped": "Gestoppt",
301
328
  "responseView.stoppedBeforeResponse": "Vor einer Antwort gestoppt",
302
- "responseView.stoppedEarly": "Die Antwort brach vorzeitig ab",
303
329
  "responseView.thinking": "Denkt nach",
304
330
  "responseView.thoughtFor": "{duration} nachgedacht",
305
331
  "responseView.waiting": "Warten auf die Antwort",
@@ -326,26 +352,27 @@ var e = {
326
352
  "rolePicker.role": "Rolle",
327
353
  "sankey.from": "Von",
328
354
  "sankey.link": "{source} → {target}: {value}",
355
+ "sankey.node": "{node}: {value}",
329
356
  "sankey.requests": "Anfragen",
330
357
  "sankey.to": "Nach",
331
358
  "searchInput.clear": "Suche leeren",
332
359
  "searchInput.placeholder": "Suchen",
333
- "secretReveal.copied": "Kopiert",
360
+ "secretReveal.copied": "Schlüssel kopiert",
334
361
  "secretReveal.copyKey": "Schlüssel kopieren",
335
- "secretReveal.secret": "Secret",
336
- "secretReveal.secretFor": "Secret für {name}",
362
+ "secretReveal.key": "Schlüssel",
363
+ "secretReveal.keyFor": "Schlüssel für {name}",
337
364
  "secretReveal.shownOnce": "Nur einmal sichtbar. Jetzt sicher speichern.",
338
- "select.firstAndMore": "{first} +{count}",
339
- "select.placeholder": "Auswählen",
365
+ "select.more": "+{count}",
366
+ "select.placeholder": "Nicht festgelegt",
340
367
  "sensitiveInput.capsLock": "Feststelltaste ist aktiviert.",
341
- "sensitiveInput.hide": "Ausblenden",
368
+ "sensitiveInput.capsLockShort": "Feststelltaste",
369
+ "sensitiveInput.hideKey": "Schlüssel ausblenden",
342
370
  "sensitiveInput.hidePassword": "Passwort ausblenden",
343
- "sensitiveInput.show": "Anzeigen",
371
+ "sensitiveInput.showKey": "Schlüssel anzeigen",
344
372
  "sensitiveInput.showPassword": "Passwort anzeigen",
345
373
  "shareBar.listSeparator": ", ",
346
- "shareBar.segment": "{label}: {value}",
347
- "shareBar.share": "{label} {share}",
348
374
  "shareBar.summary": "{label}: {shares}",
375
+ "shareBar.valueShare": "{label} {value} ({share})",
349
376
  "sheet.close": "Schließen",
350
377
  "sidebar.backToApp": "Zurück zur App",
351
378
  "sidebar.clickToCollapse": "**Klicken** zum Einklappen",
@@ -353,16 +380,20 @@ var e = {
353
380
  "sidebar.collapse": "Seitenleiste einklappen",
354
381
  "sidebar.dragToResize": "**Ziehen** zum Ändern der Breite",
355
382
  "sidebar.expand": "Seitenleiste ausklappen",
383
+ "sidebar.iconsOnly": "Nur Symbole",
356
384
  "sidebar.keepOpen": "Seitenleiste offen lassen",
357
- "sidebar.main": "Hauptmenü",
358
- "sidebar.resizeOrCollapse": "Breite der Seitenleiste ändern; klicken zum Einklappen",
385
+ "sidebar.loading": "Navigation wird geladen",
386
+ "sidebar.main": "Hauptnavigation",
387
+ "sidebar.resizeOrCollapse": "Breite der Seitenleiste ändern; Eingabetaste klappt sie ein",
359
388
  "sidebar.switchOrOpenSettings": "Wechseln oder Einstellungen öffnen",
360
- "sidebar.switchPlace": "Wechseln",
389
+ "sidebar.switchPlace": "Projekt wechseln",
361
390
  "slider.rangeEnd": "Bereichsende: {value}",
362
391
  "slider.rangeStart": "Bereichsanfang: {value}",
392
+ "statTile.better": "besser",
363
393
  "statTile.percent": "{value} %",
364
394
  "statTile.trend": "Verlauf",
365
395
  "statTile.trendPerDay": "{label} pro Tag",
396
+ "statTile.worse": "schlechter",
366
397
  "statusCode.badGateway": "Bad Gateway",
367
398
  "statusCode.badRequest": "Ungültige Anfrage",
368
399
  "statusCode.clientClosed": "Client getrennt",
@@ -387,10 +418,14 @@ var e = {
387
418
  "stepDialog.continue": "Weiter",
388
419
  "stepDialog.stepAnnouncement": "Schritt {current} von {total}: {title}",
389
420
  "stepDialog.stepOf": "Schritt {current} von {total}",
421
+ "table.scrolls": "Tabelle, seitlich scrollbar",
390
422
  "tableOfContents.title": "Auf dieser Seite",
423
+ "tag.invalid": "Nicht zulässig",
391
424
  "tag.remove": "Entfernen",
392
425
  "tag.removeNamed": "{label} entfernen",
393
426
  "tagInput.remove": "{tag} entfernen",
427
+ "tagInput.removed": "{tag} entfernt",
428
+ "tagInput.selected": "{tag} ausgewählt. Zum Entfernen die Rücktaste drücken.",
394
429
  "themeMenu.dark": "Dunkel",
395
430
  "themeMenu.light": "Hell",
396
431
  "themeMenu.system": "System",
@@ -398,6 +433,10 @@ var e = {
398
433
  "timeInput.hours": "Stunden",
399
434
  "timeInput.minutes": "Minuten",
400
435
  "timeInput.time": "Uhrzeit",
436
+ "timeline.danger": "Kritisch",
437
+ "timeline.info": "Info",
438
+ "timeline.success": "Erfolg",
439
+ "timeline.warning": "Warnung",
401
440
  "timeseriesChart.time": "Zeit",
402
441
  "toast.dismiss": "Ausblenden",
403
442
  "toast.notifications": "Benachrichtigungen",
@@ -406,13 +445,8 @@ var e = {
406
445
  "tokenKind.input": "Eingabe",
407
446
  "tokenKind.output": "Ausgabe",
408
447
  "tokenKind.reasoning": "Reasoning",
409
- "usageBreakdown.cacheRead": "Cache-Lesen",
410
- "usageBreakdown.cacheWrite": "Cache-Schreiben",
411
- "usageBreakdown.input": "Eingabe",
412
448
  "usageBreakdown.kindCount": "{kind} {count}",
413
449
  "usageBreakdown.listSeparator": ", ",
414
- "usageBreakdown.output": "Ausgabe",
415
- "usageBreakdown.reasoning": "Reasoning",
416
450
  "usageBreakdown.tokenCount": "{count} Token",
417
451
  "usageBreakdown.tokens": "Token: {list}",
418
452
  "userMessage.prompt": "Prompt",
@@ -422,4 +456,4 @@ var e = {
422
456
  //#endregion
423
457
  export { e as default };
424
458
 
425
- //# sourceMappingURL=de-D_0mmG-k.js.map
459
+ //# sourceMappingURL=de-CqC4aSIV.js.map