@logicplanes/kaeso-ui 0.4.3 → 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 (490) hide show
  1. package/ai/component-guides.md +279 -98
  2. package/ai/component-registry.json +352 -236
  3. package/ai/component-registry.md +241 -219
  4. package/ai/icons.md +2 -2
  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-KIvuE8jg.js +352 -0
  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-CPXJh9cq.js → de-CqC4aSIV.js} +81 -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-CPJWE2N-.js +95 -0
  65. package/dist/chunks/{icon-DVooQfk4.js.map → icon-CPJWE2N-.js.map} +1 -1
  66. package/dist/chunks/{icon-button-CrdF_eMG.js → icon-button-Dfwpvmav.js} +7 -6
  67. package/dist/chunks/icon-button-Dfwpvmav.js.map +1 -0
  68. package/dist/chunks/{identity-BmhQ6BQ-.js → identity-3Foi5F8w.js} +7 -7
  69. package/dist/chunks/{identity-BmhQ6BQ-.js.map → identity-3Foi5F8w.js.map} +1 -1
  70. package/dist/chunks/{input-2VJuj_M4.js → input-Bo5-UZg2.js} +15 -9
  71. package/dist/chunks/input-Bo5-UZg2.js.map +1 -0
  72. package/dist/chunks/{input-group-DQ_4DoXg.js → input-group-jPcK9T_a.js} +42 -29
  73. package/dist/chunks/input-group-jPcK9T_a.js.map +1 -0
  74. package/dist/chunks/iso-field-DoqHBg8n.js +52 -0
  75. package/dist/chunks/iso-field-DoqHBg8n.js.map +1 -0
  76. package/dist/chunks/json-view-DZ2nL2Ir.js +253 -0
  77. package/dist/chunks/json-view-DZ2nL2Ir.js.map +1 -0
  78. package/dist/chunks/{kbd-BF1vKXJf.js → kbd-8A0ML_up.js} +30 -28
  79. package/dist/chunks/kbd-8A0ML_up.js.map +1 -0
  80. package/dist/chunks/label-DW24Aj0Z.js +26 -0
  81. package/dist/chunks/label-DW24Aj0Z.js.map +1 -0
  82. package/dist/chunks/{link-KWI7PevW.js → link-CMjkcLQK.js} +14 -14
  83. package/dist/chunks/link-CMjkcLQK.js.map +1 -0
  84. package/dist/chunks/list-B4G-sWwV.js +540 -0
  85. package/dist/chunks/list-B4G-sWwV.js.map +1 -0
  86. package/dist/chunks/{loader-DCfPndXa.js → loader-zo8CCIGJ.js} +2 -2
  87. package/dist/chunks/{loader-DCfPndXa.js.map → loader-zo8CCIGJ.js.map} +1 -1
  88. package/dist/chunks/markdown-C565aBR7.js +338 -0
  89. package/dist/chunks/markdown-C565aBR7.js.map +1 -0
  90. package/dist/chunks/menu-Clvv6ftq.js +485 -0
  91. package/dist/chunks/menu-Clvv6ftq.js.map +1 -0
  92. package/dist/chunks/merge-refs-BN1FyQt9.js +20 -0
  93. package/dist/chunks/merge-refs-BN1FyQt9.js.map +1 -0
  94. package/dist/chunks/meter-CASMHlxl.js +100 -0
  95. package/dist/chunks/meter-CASMHlxl.js.map +1 -0
  96. package/dist/chunks/nav-sheet-Dt6JSvzX.js +67 -0
  97. package/dist/chunks/nav-sheet-Dt6JSvzX.js.map +1 -0
  98. package/dist/chunks/{nav-wordmark-_pjheAsZ.js → nav-wordmark-J4pB_vjr.js} +4 -8
  99. package/dist/chunks/nav-wordmark-J4pB_vjr.js.map +1 -0
  100. package/dist/chunks/page-header-kS5tdmvb.js +45 -0
  101. package/dist/chunks/page-header-kS5tdmvb.js.map +1 -0
  102. package/dist/chunks/pagination-D7fAm8qg.js +147 -0
  103. package/dist/chunks/pagination-D7fAm8qg.js.map +1 -0
  104. package/dist/chunks/picker-popover-1FHb1LQG.js +119 -0
  105. package/dist/chunks/picker-popover-1FHb1LQG.js.map +1 -0
  106. package/dist/chunks/popover-Bl5QYqnh.js +51 -0
  107. package/dist/chunks/popover-Bl5QYqnh.js.map +1 -0
  108. package/dist/chunks/{portal-context-BBbzDKmY.js → portal-context-CTatR2Z8.js} +14 -4
  109. package/dist/chunks/portal-context-CTatR2Z8.js.map +1 -0
  110. package/dist/chunks/{radio-CDDFpdtL.js → radio-C6GtzF_t.js} +38 -23
  111. package/dist/chunks/radio-C6GtzF_t.js.map +1 -0
  112. package/dist/chunks/range-popup-lGiZsG3s.js +160 -0
  113. package/dist/chunks/range-popup-lGiZsG3s.js.map +1 -0
  114. package/dist/chunks/reasoning-frame-C3HdQRRS.js +51 -0
  115. package/dist/chunks/reasoning-frame-C3HdQRRS.js.map +1 -0
  116. package/dist/chunks/release-art-ChiT4T2S.js +582 -0
  117. package/dist/chunks/release-art-ChiT4T2S.js.map +1 -0
  118. package/dist/chunks/rights-B68ocZuq.js +312 -0
  119. package/dist/chunks/rights-B68ocZuq.js.map +1 -0
  120. package/dist/chunks/{scroll-area-D8MD7Vpo.js → scroll-area-_Ljh4-bG.js} +11 -6
  121. package/dist/chunks/scroll-area-_Ljh4-bG.js.map +1 -0
  122. package/dist/chunks/section-CFBYhsUi.js +77 -0
  123. package/dist/chunks/section-CFBYhsUi.js.map +1 -0
  124. package/dist/chunks/section-header-DU1Q4Tdf.js +28 -0
  125. package/dist/chunks/section-header-DU1Q4Tdf.js.map +1 -0
  126. package/dist/chunks/segmented-D9i1avik.js +119 -0
  127. package/dist/chunks/segmented-D9i1avik.js.map +1 -0
  128. package/dist/chunks/select-BqjmQOqx.js +222 -0
  129. package/dist/chunks/select-BqjmQOqx.js.map +1 -0
  130. package/dist/chunks/{separator-D7TzNHmX.js → separator-BNWf6BBj.js} +13 -8
  131. package/dist/chunks/separator-BNWf6BBj.js.map +1 -0
  132. package/dist/chunks/sidebar-Dq7oGOje.js +664 -0
  133. package/dist/chunks/sidebar-Dq7oGOje.js.map +1 -0
  134. package/dist/chunks/{sidebar-menu-BN3jkTlK.js → sidebar-menu-QSSNu1jJ.js} +2 -2
  135. package/dist/chunks/{sidebar-menu-BN3jkTlK.js.map → sidebar-menu-QSSNu1jJ.js.map} +1 -1
  136. package/dist/chunks/{skeleton-Dcz57Zyp.js → skeleton-D-qk3mes.js} +3 -3
  137. package/dist/chunks/skeleton-D-qk3mes.js.map +1 -0
  138. package/dist/chunks/slider-CcE8GtuV.js +58 -0
  139. package/dist/chunks/slider-CcE8GtuV.js.map +1 -0
  140. package/dist/chunks/{status-dot-QJTF0Yv4.js → status-dot-CP6runiC.js} +4 -4
  141. package/dist/chunks/{status-dot-QJTF0Yv4.js.map → status-dot-CP6runiC.js.map} +1 -1
  142. package/dist/chunks/{styles-CVJU9t9v.js → styles-hkFkoBbi.js} +2 -2
  143. package/dist/chunks/{styles-CVJU9t9v.js.map → styles-hkFkoBbi.js.map} +1 -1
  144. package/dist/chunks/{swap-text-Dr0Irxz6.js → swap-text-SlUjrTlG.js} +3 -3
  145. package/dist/chunks/swap-text-SlUjrTlG.js.map +1 -0
  146. package/dist/chunks/switch-ngywMQdl.js +76 -0
  147. package/dist/chunks/switch-ngywMQdl.js.map +1 -0
  148. package/dist/chunks/table-CTK5E0J7.js +102 -0
  149. package/dist/chunks/table-CTK5E0J7.js.map +1 -0
  150. package/dist/chunks/tag-BGr6lTSV.js +100 -0
  151. package/dist/chunks/tag-BGr6lTSV.js.map +1 -0
  152. package/dist/chunks/{text-CIXH8rmT.js → text-DkKdTVUf.js} +9 -9
  153. package/dist/chunks/text-DkKdTVUf.js.map +1 -0
  154. package/dist/chunks/{textarea--4FRL3Pb.js → textarea-CO0HP6fK.js} +47 -36
  155. package/dist/chunks/textarea-CO0HP6fK.js.map +1 -0
  156. package/dist/chunks/timeseries-Ck-q0wWn.js +381 -0
  157. package/dist/chunks/timeseries-Ck-q0wWn.js.map +1 -0
  158. package/dist/chunks/toolbar-u0Gm7Q7-.js +61 -0
  159. package/dist/chunks/toolbar-u0Gm7Q7-.js.map +1 -0
  160. package/dist/chunks/tooltip-Tkm-urbi.js +202 -0
  161. package/dist/chunks/tooltip-Tkm-urbi.js.map +1 -0
  162. package/dist/chunks/tooltip-root-BC_RNNiP.js +70 -0
  163. package/dist/chunks/tooltip-root-BC_RNNiP.js.map +1 -0
  164. package/dist/chunks/truncated-d1afmUJT.js +33 -0
  165. package/dist/chunks/truncated-d1afmUJT.js.map +1 -0
  166. package/dist/chunks/use-coarse-pointer-Ml5oE6oX.js +28 -0
  167. package/dist/chunks/use-coarse-pointer-Ml5oE6oX.js.map +1 -0
  168. package/dist/chunks/use-hydrating-COtYVRo4.js +8 -0
  169. package/dist/chunks/use-hydrating-COtYVRo4.js.map +1 -0
  170. package/dist/chunks/use-scroll-fade-uc8mWSDX.js +30 -0
  171. package/dist/chunks/use-scroll-fade-uc8mWSDX.js.map +1 -0
  172. package/dist/chunks/{zh-CN-29X4CDLE.js → zh-CN-BlpsT6d_.js} +80 -39
  173. package/dist/chunks/zh-CN-BlpsT6d_.js.map +1 -0
  174. package/dist/components/agent-avatar.js +1 -1
  175. package/dist/components/app-frame.js +2 -2
  176. package/dist/components/avatar.js +1 -1
  177. package/dist/components/badge.js +1 -1
  178. package/dist/components/banner.js +1 -1
  179. package/dist/components/button-group.js +22 -22
  180. package/dist/components/button-group.js.map +1 -1
  181. package/dist/components/button.js +1 -1
  182. package/dist/components/calendar.js +1 -1
  183. package/dist/components/charts/bar.js +235 -160
  184. package/dist/components/charts/bar.js.map +1 -1
  185. package/dist/components/charts/donut.js +144 -99
  186. package/dist/components/charts/donut.js.map +1 -1
  187. package/dist/components/charts/gauge.js +61 -49
  188. package/dist/components/charts/gauge.js.map +1 -1
  189. package/dist/components/charts/heatmap.js +179 -70
  190. package/dist/components/charts/heatmap.js.map +1 -1
  191. package/dist/components/charts/sankey.js +144 -77
  192. package/dist/components/charts/sankey.js.map +1 -1
  193. package/dist/components/charts/sparkline.js +54 -38
  194. package/dist/components/charts/sparkline.js.map +1 -1
  195. package/dist/components/charts/timeseries.js +1 -1
  196. package/dist/components/charts.js +2 -2
  197. package/dist/components/checkbox.js +1 -1
  198. package/dist/components/code-block.js +4 -3
  199. package/dist/components/code.js +1 -1
  200. package/dist/components/collapsible.js +77 -1
  201. package/dist/components/collapsible.js.map +1 -0
  202. package/dist/components/combobox.js +1 -1
  203. package/dist/components/command-list.js +2 -2
  204. package/dist/components/command-palette.js +89 -66
  205. package/dist/components/command-palette.js.map +1 -1
  206. package/dist/components/copy-button.js +1 -1
  207. package/dist/components/data-table.js +1 -459
  208. package/dist/components/date-picker.js +162 -151
  209. package/dist/components/date-picker.js.map +1 -1
  210. package/dist/components/dialog.js +74 -63
  211. package/dist/components/dialog.js.map +1 -1
  212. package/dist/components/display-options.js +76 -64
  213. package/dist/components/display-options.js.map +1 -1
  214. package/dist/components/empty.js +1 -1
  215. package/dist/components/field.js +1 -1
  216. package/dist/components/figure.js +2 -2
  217. package/dist/components/filter-chip.js +36 -27
  218. package/dist/components/filter-chip.js.map +1 -1
  219. package/dist/components/filter-row.js +4 -4
  220. package/dist/components/filter-row.js.map +1 -1
  221. package/dist/components/flow.js +94 -63
  222. package/dist/components/flow.js.map +1 -1
  223. package/dist/components/heading.js +1 -1
  224. package/dist/components/icon-button.js +1 -1
  225. package/dist/components/icon.js +2 -2
  226. package/dist/components/input.js +176 -98
  227. package/dist/components/input.js.map +1 -1
  228. package/dist/components/kaeso/conversation.js +51 -46
  229. package/dist/components/kaeso/conversation.js.map +1 -1
  230. package/dist/components/kaeso/identity.js +1 -1
  231. package/dist/components/kaeso/moments.js +23 -20
  232. package/dist/components/kaeso/moments.js.map +1 -1
  233. package/dist/components/kaeso/rights.js +1 -1
  234. package/dist/components/kaeso/usage.js +90 -74
  235. package/dist/components/kaeso/usage.js.map +1 -1
  236. package/dist/components/kaeso.js +200 -187
  237. package/dist/components/kaeso.js.map +1 -1
  238. package/dist/components/kbd.js +1 -1
  239. package/dist/components/key-value.js +32 -47
  240. package/dist/components/key-value.js.map +1 -1
  241. package/dist/components/label.js +1 -25
  242. package/dist/components/layout.js +2 -2
  243. package/dist/components/layout.js.map +1 -1
  244. package/dist/components/link.js +1 -1
  245. package/dist/components/list.js +1 -1
  246. package/dist/components/loader.js +11 -10
  247. package/dist/components/loader.js.map +1 -1
  248. package/dist/components/logo.js +2 -2
  249. package/dist/components/markdown.js +1 -1
  250. package/dist/components/menu.js +2 -2
  251. package/dist/components/meter.js +1 -1
  252. package/dist/components/page-header.js +1 -1
  253. package/dist/components/pagination.js +1 -1
  254. package/dist/components/playground.js +644 -529
  255. package/dist/components/playground.js.map +1 -1
  256. package/dist/components/popover.js +4 -4
  257. package/dist/components/popover.js.map +1 -1
  258. package/dist/components/portal.js +1 -1
  259. package/dist/components/qr-code.js +2 -2
  260. package/dist/components/qr-code.js.map +1 -1
  261. package/dist/components/radio.js +1 -1
  262. package/dist/components/release-art.js +1 -1
  263. package/dist/components/scroll-area.js +1 -1
  264. package/dist/components/section.js +1 -1
  265. package/dist/components/segmented.js +1 -1
  266. package/dist/components/select.js +1 -1
  267. package/dist/components/separator.js +1 -1
  268. package/dist/components/settings.js +39 -46
  269. package/dist/components/settings.js.map +1 -1
  270. package/dist/components/sheet.js +10 -9
  271. package/dist/components/sheet.js.map +1 -1
  272. package/dist/components/sidebar.js +1 -1
  273. package/dist/components/skeleton.js +1 -1
  274. package/dist/components/slider.js +1 -1
  275. package/dist/components/stat.js +98 -84
  276. package/dist/components/stat.js.map +1 -1
  277. package/dist/components/status-dot.js +1 -1
  278. package/dist/components/surface.js +1 -1
  279. package/dist/components/swap-text.js +1 -1
  280. package/dist/components/switch.js +1 -1
  281. package/dist/components/table.js +1 -1
  282. package/dist/components/tabs.js +73 -55
  283. package/dist/components/tabs.js.map +1 -1
  284. package/dist/components/tag.js +1 -1
  285. package/dist/components/text.js +1 -1
  286. package/dist/components/theme-image.js +1 -1
  287. package/dist/components/theme-menu.js +5 -2
  288. package/dist/components/theme-menu.js.map +1 -1
  289. package/dist/components/theme-select.js +1 -1
  290. package/dist/components/thumbnail.js +35 -24
  291. package/dist/components/thumbnail.js.map +1 -1
  292. package/dist/components/timeline.js +51 -35
  293. package/dist/components/timeline.js.map +1 -1
  294. package/dist/components/toast.js +76 -66
  295. package/dist/components/toast.js.map +1 -1
  296. package/dist/components/toc.js +14 -8
  297. package/dist/components/toc.js.map +1 -1
  298. package/dist/components/toolbar.js +1 -1
  299. package/dist/components/tooltip.js +1 -1
  300. package/dist/components/visually-hidden.js +1 -1
  301. package/dist/i18n-provider.js +1 -1
  302. package/dist/index.js +101 -101
  303. package/dist/kaeso.css +605 -67
  304. package/dist/styles.css +1 -1
  305. package/dist/tailwind.css +1 -1
  306. package/dist/types/blocks/delete-resource/delete-resource.d.ts +2 -2
  307. package/dist/types/components/agent-avatar/agent-avatar.d.ts +24 -19
  308. package/dist/types/components/badge/badge.d.ts +3 -3
  309. package/dist/types/components/banner/banner.d.ts +3 -3
  310. package/dist/types/components/button/button.d.ts +2 -2
  311. package/dist/types/components/button-group/button-group.d.ts +1 -1
  312. package/dist/types/components/charts/domain.d.ts +11 -0
  313. package/dist/types/components/charts/marks.d.ts +1 -0
  314. package/dist/types/components/code/code.d.ts +3 -3
  315. package/dist/types/components/code-block/diff-view.d.ts +30 -0
  316. package/dist/types/components/code-block/diff.d.ts +26 -0
  317. package/dist/types/components/code-block/docs.d.ts +14 -0
  318. package/dist/types/components/code-block/index.d.ts +1 -0
  319. package/dist/types/components/code-block/json-view.d.ts +2 -1
  320. package/dist/types/components/code-block/numbers.d.ts +1 -0
  321. package/dist/types/components/collapsible/collapsible.d.ts +2 -2
  322. package/dist/types/components/collapsible/disclosure.d.ts +2 -0
  323. package/dist/types/components/data-table/data-table.d.ts +6 -5
  324. package/dist/types/components/data-table/docs.d.ts +1 -0
  325. package/dist/types/components/data-table/time-columns.d.ts +1 -0
  326. package/dist/types/components/date-picker/focus-day.d.ts +1 -0
  327. package/dist/types/components/date-picker/iso-field.d.ts +8 -1
  328. package/dist/types/components/dialog/dialog.d.ts +7 -7
  329. package/dist/types/components/field/field.d.ts +1 -1
  330. package/dist/types/components/flow/flow.d.ts +1 -1
  331. package/dist/types/components/icon-button/icon-button.d.ts +1 -1
  332. package/dist/types/components/input/input-group.d.ts +2 -0
  333. package/dist/types/components/input/number-input.d.ts +4 -4
  334. package/dist/types/components/input/otp-input.d.ts +3 -3
  335. package/dist/types/components/kaeso/client-button.d.ts +2 -1
  336. package/dist/types/components/kaeso/provider-picker.d.ts +1 -0
  337. package/dist/types/components/kaeso/rights.d.ts +1 -1
  338. package/dist/types/components/kaeso/role-picker.d.ts +1 -0
  339. package/dist/types/components/key-value/key-value.d.ts +2 -2
  340. package/dist/types/components/layout/layout.d.ts +2 -2
  341. package/dist/types/components/link/link.d.ts +4 -4
  342. package/dist/types/components/list/list.d.ts +2 -2
  343. package/dist/types/components/menu/menu.d.ts +2 -1
  344. package/dist/types/components/menu/styles.d.ts +3 -3
  345. package/dist/types/components/meter/meter.d.ts +3 -3
  346. package/dist/types/components/page-header/page-header.d.ts +1 -1
  347. package/dist/types/components/pagination/pagination.d.ts +2 -2
  348. package/dist/types/components/playground/prompt-suggestions.d.ts +1 -0
  349. package/dist/types/components/playground/reasoning-frame.d.ts +14 -0
  350. package/dist/types/components/playground/reasoning.d.ts +1 -0
  351. package/dist/types/components/popover/popover.d.ts +1 -1
  352. package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
  353. package/dist/types/components/section/section-header.d.ts +6 -0
  354. package/dist/types/components/segmented/segmented.d.ts +1 -0
  355. package/dist/types/components/select/select.d.ts +1 -1
  356. package/dist/types/components/sheet/sheet.d.ts +3 -3
  357. package/dist/types/components/sidebar/sidebar.d.ts +1 -0
  358. package/dist/types/components/slider/slider.d.ts +2 -2
  359. package/dist/types/components/stat/stat.d.ts +1 -1
  360. package/dist/types/components/tabs/tabs.d.ts +6 -4
  361. package/dist/types/components/text/truncated.d.ts +7 -0
  362. package/dist/types/components/timeline/timeline.d.ts +5 -5
  363. package/dist/types/components/toc/toc.d.ts +1 -1
  364. package/dist/types/components/toolbar/toolbar.d.ts +1 -1
  365. package/dist/types/components/tooltip/tooltip.d.ts +2 -2
  366. package/dist/types/components/tooltip/trigger-props.d.ts +1 -0
  367. package/dist/types/hooks/use-coarse-pointer.d.ts +1 -0
  368. package/dist/types/hooks/use-hydrating.d.ts +1 -0
  369. package/dist/types/icons/groups.d.ts +1 -1
  370. package/dist/types/icons/vocabulary.d.ts +5 -0
  371. package/dist/types/utils/arrow-focus.d.ts +4 -1
  372. package/dist/types/utils/cn.d.ts +33 -0
  373. package/dist/types/utils/portal-context.d.ts +7 -1
  374. package/dist/utils.js +2 -2
  375. package/foundations/accessibility.md +3 -2
  376. package/foundations/color.md +5 -1
  377. package/foundations/elevation.md +1 -0
  378. package/foundations/motion.md +1 -1
  379. package/foundations/shape.md +2 -2
  380. package/foundations/typography.md +12 -12
  381. package/package.json +2 -2
  382. package/dist/chunks/agent-avatar-0pdBTWkR.js +0 -171
  383. package/dist/chunks/agent-avatar-0pdBTWkR.js.map +0 -1
  384. package/dist/chunks/app-frame-DogGRmsu.js +0 -221
  385. package/dist/chunks/app-frame-DogGRmsu.js.map +0 -1
  386. package/dist/chunks/arrow-focus-BcySmwwU.js +0 -11
  387. package/dist/chunks/arrow-focus-BcySmwwU.js.map +0 -1
  388. package/dist/chunks/avatar-CWbdwbJv.js +0 -83
  389. package/dist/chunks/avatar-CWbdwbJv.js.map +0 -1
  390. package/dist/chunks/badge-C2KtxCLB.js +0 -26
  391. package/dist/chunks/badge-C2KtxCLB.js.map +0 -1
  392. package/dist/chunks/banner-BA2ALw9M.js +0 -85
  393. package/dist/chunks/banner-BA2ALw9M.js.map +0 -1
  394. package/dist/chunks/button-CzuxqawA.js +0 -164
  395. package/dist/chunks/button-CzuxqawA.js.map +0 -1
  396. package/dist/chunks/calendar-BWaf2MXc.js.map +0 -1
  397. package/dist/chunks/checkbox-CQjwCPkc.js +0 -126
  398. package/dist/chunks/checkbox-CQjwCPkc.js.map +0 -1
  399. package/dist/chunks/cn-Dj6sRgkF.js.map +0 -1
  400. package/dist/chunks/code-block-D5A-CGXG.js +0 -330
  401. package/dist/chunks/code-block-D5A-CGXG.js.map +0 -1
  402. package/dist/chunks/code-tqj0uhBL.js.map +0 -1
  403. package/dist/chunks/collapsible-CKrCX_T9.js +0 -87
  404. package/dist/chunks/collapsible-CKrCX_T9.js.map +0 -1
  405. package/dist/chunks/combobox-DjDI7SUC.js +0 -319
  406. package/dist/chunks/combobox-DjDI7SUC.js.map +0 -1
  407. package/dist/chunks/command-list-C2Y7V_lt.js +0 -418
  408. package/dist/chunks/command-list-C2Y7V_lt.js.map +0 -1
  409. package/dist/chunks/copy-button-FJvPJn72.js.map +0 -1
  410. package/dist/chunks/core-BYns5ytV.js +0 -472
  411. package/dist/chunks/core-BYns5ytV.js.map +0 -1
  412. package/dist/chunks/date-popup-CPA_zt6o.js +0 -35
  413. package/dist/chunks/date-popup-CPA_zt6o.js.map +0 -1
  414. package/dist/chunks/de-CPXJh9cq.js.map +0 -1
  415. package/dist/chunks/dialog-Cg9A_6SF.js.map +0 -1
  416. package/dist/chunks/field-TviMvYa2.js.map +0 -1
  417. package/dist/chunks/hidden-description-B2zSmLcn.js +0 -23
  418. package/dist/chunks/hidden-description-B2zSmLcn.js.map +0 -1
  419. package/dist/chunks/icon-DVooQfk4.js +0 -94
  420. package/dist/chunks/icon-button-CrdF_eMG.js.map +0 -1
  421. package/dist/chunks/input-2VJuj_M4.js.map +0 -1
  422. package/dist/chunks/input-group-DQ_4DoXg.js.map +0 -1
  423. package/dist/chunks/iso-field-B2rTwiBo.js +0 -33
  424. package/dist/chunks/iso-field-B2rTwiBo.js.map +0 -1
  425. package/dist/chunks/json-view-Dqd2TDkc.js +0 -175
  426. package/dist/chunks/json-view-Dqd2TDkc.js.map +0 -1
  427. package/dist/chunks/kbd-BF1vKXJf.js.map +0 -1
  428. package/dist/chunks/link-KWI7PevW.js.map +0 -1
  429. package/dist/chunks/list-M1csq-d4.js +0 -494
  430. package/dist/chunks/list-M1csq-d4.js.map +0 -1
  431. package/dist/chunks/markdown-DULktoTK.js +0 -313
  432. package/dist/chunks/markdown-DULktoTK.js.map +0 -1
  433. package/dist/chunks/menu-DEmBfdPm.js +0 -450
  434. package/dist/chunks/menu-DEmBfdPm.js.map +0 -1
  435. package/dist/chunks/meter-Bj4N3Xuh.js +0 -84
  436. package/dist/chunks/meter-Bj4N3Xuh.js.map +0 -1
  437. package/dist/chunks/nav-sheet-CzgIwgAm.js +0 -60
  438. package/dist/chunks/nav-sheet-CzgIwgAm.js.map +0 -1
  439. package/dist/chunks/nav-wordmark-_pjheAsZ.js.map +0 -1
  440. package/dist/chunks/page-header-DL2y2iZp.js +0 -41
  441. package/dist/chunks/page-header-DL2y2iZp.js.map +0 -1
  442. package/dist/chunks/pagination-Cn_qF4cg.js +0 -86
  443. package/dist/chunks/pagination-Cn_qF4cg.js.map +0 -1
  444. package/dist/chunks/picker-popover-BxyU1U9F.js +0 -106
  445. package/dist/chunks/picker-popover-BxyU1U9F.js.map +0 -1
  446. package/dist/chunks/popover-DNN4S47w.js +0 -50
  447. package/dist/chunks/popover-DNN4S47w.js.map +0 -1
  448. package/dist/chunks/portal-context-BBbzDKmY.js.map +0 -1
  449. package/dist/chunks/radio-CDDFpdtL.js.map +0 -1
  450. package/dist/chunks/range-popup-CRyWYUB1.js +0 -128
  451. package/dist/chunks/range-popup-CRyWYUB1.js.map +0 -1
  452. package/dist/chunks/release-art-ZwfFQImt.js +0 -561
  453. package/dist/chunks/release-art-ZwfFQImt.js.map +0 -1
  454. package/dist/chunks/rights-Cyp0Pzp-.js +0 -279
  455. package/dist/chunks/rights-Cyp0Pzp-.js.map +0 -1
  456. package/dist/chunks/scroll-area-D8MD7Vpo.js.map +0 -1
  457. package/dist/chunks/scroll-parent-WXvzQcUo.js +0 -14
  458. package/dist/chunks/scroll-parent-WXvzQcUo.js.map +0 -1
  459. package/dist/chunks/section-Ce1efbsP.js +0 -87
  460. package/dist/chunks/section-Ce1efbsP.js.map +0 -1
  461. package/dist/chunks/segmented-CErcoxwi.js +0 -114
  462. package/dist/chunks/segmented-CErcoxwi.js.map +0 -1
  463. package/dist/chunks/select-x4XVsdCI.js +0 -210
  464. package/dist/chunks/select-x4XVsdCI.js.map +0 -1
  465. package/dist/chunks/separator-D7TzNHmX.js.map +0 -1
  466. package/dist/chunks/sidebar-3r1ZRXlN.js +0 -621
  467. package/dist/chunks/sidebar-3r1ZRXlN.js.map +0 -1
  468. package/dist/chunks/skeleton-Dcz57Zyp.js.map +0 -1
  469. package/dist/chunks/slider-Ci83PGtj.js +0 -57
  470. package/dist/chunks/slider-Ci83PGtj.js.map +0 -1
  471. package/dist/chunks/swap-text-Dr0Irxz6.js.map +0 -1
  472. package/dist/chunks/switch-BNMq_kGt.js +0 -59
  473. package/dist/chunks/switch-BNMq_kGt.js.map +0 -1
  474. package/dist/chunks/table-BeOSKl_3.js +0 -84
  475. package/dist/chunks/table-BeOSKl_3.js.map +0 -1
  476. package/dist/chunks/tag-D_M1s2qS.js +0 -87
  477. package/dist/chunks/tag-D_M1s2qS.js.map +0 -1
  478. package/dist/chunks/text-CIXH8rmT.js.map +0 -1
  479. package/dist/chunks/textarea--4FRL3Pb.js.map +0 -1
  480. package/dist/chunks/timeseries-D1xjRXfk.js +0 -339
  481. package/dist/chunks/timeseries-D1xjRXfk.js.map +0 -1
  482. package/dist/chunks/toolbar-WA_oZgu-.js +0 -37
  483. package/dist/chunks/toolbar-WA_oZgu-.js.map +0 -1
  484. package/dist/chunks/tooltip-OcwO0VUT.js +0 -154
  485. package/dist/chunks/tooltip-OcwO0VUT.js.map +0 -1
  486. package/dist/chunks/tooltip-root-DzahJDVj.js +0 -60
  487. package/dist/chunks/tooltip-root-DzahJDVj.js.map +0 -1
  488. package/dist/chunks/zh-CN-29X4CDLE.js.map +0 -1
  489. package/dist/components/data-table.js.map +0 -1
  490. package/dist/components/label.js.map +0 -1
@@ -1,60 +0,0 @@
1
- "use client";
2
- import { t as e } from "./cn-Dj6sRgkF.js";
3
- import { n as t, r as n } from "./portal-context-BBbzDKmY.js";
4
- import { i as r } from "./kbd-BF1vKXJf.js";
5
- import { n as i, t as a } from "./tooltip-OcwO0VUT.js";
6
- import { forwardRef as o, useLayoutEffect as s } from "react";
7
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
8
- import { Tooltip as u } from "@base-ui/react/tooltip";
9
- import { mergeProps as d } from "@base-ui/react/merge-props";
10
- //#region src/components/tooltip/tooltip-root.tsx
11
- var f = "z-70 flex items-center gap-8 bg-tooltip text-small font-medium text-fg shadow-raised popup-motion";
12
- function p({ content: e, shortcut: i, triggerProps: o, side: s = a.side, shape: d = a.shape, open: f, defaultOpen: p, onOpenChange: h, disabled: _, delay: v, sideOffset: y = 8 }) {
13
- return /* @__PURE__ */ l(u.Root, {
14
- ...f === void 0 ? {} : { open: f },
15
- ...p === void 0 ? {} : { defaultOpen: p },
16
- ...h ? { onOpenChange: (e) => h(e) } : {},
17
- ..._ === void 0 ? {} : { disabled: _ },
18
- children: [/* @__PURE__ */ c(u.Trigger, {
19
- render: (e) => /* @__PURE__ */ c(m, {
20
- store: o,
21
- props: e
22
- }),
23
- ...v === void 0 ? {} : { delay: v }
24
- }), /* @__PURE__ */ c(u.Portal, {
25
- container: n(),
26
- children: /* @__PURE__ */ c(u.Positioner, {
27
- positionMethod: "fixed",
28
- collisionBoundary: t(),
29
- side: s,
30
- sideOffset: y,
31
- collisionPadding: 8,
32
- children: /* @__PURE__ */ l(g, {
33
- shape: d,
34
- children: [/* @__PURE__ */ c("span", { children: e }), i && /* @__PURE__ */ c(r, { keys: i })]
35
- })
36
- })
37
- })]
38
- });
39
- }
40
- process.env.NODE_ENV !== "production" && (p.displayName = "Tooltip.Root");
41
- function m({ store: e, props: t }) {
42
- return s(() => e.set(t)), s(() => () => e.set(null), [e]), null;
43
- }
44
- process.env.NODE_ENV !== "production" && (m.displayName = "Tooltip.HandOver");
45
- function h(e, t) {
46
- let { ref: n, ...r } = e;
47
- return d(r, t);
48
- }
49
- var g = /* @__PURE__ */ o(function({ shape: t, children: n, className: r }, a) {
50
- return /* @__PURE__ */ c(u.Popup, {
51
- ref: a,
52
- className: e(f, i.shape[t].classes, r),
53
- children: n
54
- });
55
- });
56
- process.env.NODE_ENV !== "production" && (g.displayName = "Tooltip.Popup");
57
- //#endregion
58
- export { p as TooltipRoot, h as mergeTriggerProps };
59
-
60
- //# sourceMappingURL=tooltip-root-DzahJDVj.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tooltip-root-DzahJDVj.js","names":["BaseTooltip","cn","pageBoundary","usePortalContainer","KbdSequence","KAESO_TOOLTIP_VARIANTS","KAESO_TOOLTIP_DEFAULT_VARIANTS","popupClasses","TooltipRoot","Tooltip","open","defaultOpen","onOpenChange","o","disabled","HandOver","triggerProps","delay","TooltipPopup","content","shortcut","useLayoutEffect","store","props","mergeTriggerProps","_ref","given","mergeProps","own","shape","className"],"sources":["../../src/components/tooltip/tooltip-root.tsx"],"sourcesContent":["import { forwardRef, useLayoutEffect, type ReactNode } from \"react\";\nimport { Tooltip as BaseTooltip } from \"@base-ui/react/tooltip\";\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { pageBoundary, usePortalContainer } from \"../../utils/portal-context.js\";\nimport { cn } from \"../../utils/cn.js\";\nimport { KbdSequence } from \"../kbd/kbd.js\";\nimport { KAESO_TOOLTIP_DEFAULT_VARIANTS, KAESO_TOOLTIP_VARIANTS, type TooltipProps } from \"./tooltip.js\";\nimport type { TriggerProps, TriggerPropsStore } from \"./trigger-props.js\";\n\nconst popupClasses = \"z-70 flex items-center gap-8 bg-tooltip text-small font-medium text-fg shadow-raised popup-motion\";\n\nexport function TooltipRoot({\n content,\n shortcut,\n triggerProps,\n side = KAESO_TOOLTIP_DEFAULT_VARIANTS.side,\n shape = KAESO_TOOLTIP_DEFAULT_VARIANTS.shape,\n open,\n defaultOpen,\n onOpenChange,\n disabled,\n delay,\n sideOffset = 8,\n}: TooltipProps & { triggerProps: TriggerPropsStore }) {\n return (\n <BaseTooltip.Root\n {...(open !== undefined ? { open } : {})}\n {...(defaultOpen !== undefined ? { defaultOpen } : {})}\n {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n >\n <BaseTooltip.Trigger render={(props) => <HandOver store={triggerProps} props={props} />} {...(delay !== undefined ? { delay } : {})} />\n <BaseTooltip.Portal container={usePortalContainer()}>\n <BaseTooltip.Positioner positionMethod=\"fixed\" collisionBoundary={pageBoundary()} side={side} sideOffset={sideOffset} collisionPadding={8}>\n <TooltipPopup shape={shape}>\n <span>{content}</span>\n {shortcut && <KbdSequence keys={shortcut} />}\n </TooltipPopup>\n </BaseTooltip.Positioner>\n </BaseTooltip.Portal>\n </BaseTooltip.Root>\n );\n}\nif (process.env.NODE_ENV !== \"production\") TooltipRoot.displayName = \"Tooltip.Root\";\n\nfunction HandOver({ store, props }: { store: TriggerPropsStore; props: TriggerProps }) {\n useLayoutEffect(() => store.set(props));\n useLayoutEffect(() => () => store.set(null), [store]);\n return null;\n}\nif (process.env.NODE_ENV !== \"production\") HandOver.displayName = \"Tooltip.HandOver\";\n\nexport function mergeTriggerProps(given: TriggerProps, own: object): object {\n const { ref: _ref, ...props } = given;\n return mergeProps<\"button\">(props, own);\n}\n\nconst TooltipPopup = /* @__PURE__ */ forwardRef<HTMLDivElement, { shape: keyof typeof KAESO_TOOLTIP_VARIANTS.shape; children: ReactNode; className?: string | undefined }>(\n function TooltipPopup({ shape, children, className }, ref) {\n return (\n <BaseTooltip.Popup ref={ref} className={cn(popupClasses, KAESO_TOOLTIP_VARIANTS.shape[shape].classes, className)}>\n {children}\n </BaseTooltip.Popup>\n );\n },\n);\nif (process.env.NODE_ENV !== \"production\") TooltipPopup.displayName = \"Tooltip.Popup\";\n"],"mappings":";;;;;;;;;;AASA,IAAMO,IAAe;AAErB,SAAgBC,EAAY,EAC1B,YACA,aACA,iBACA,UAAOF,EAA+B,MACtC,WAAQA,EAA+B,OACvC,SACA,gBACA,iBACA,aACA,UACA,gBAAa,KACwC;CACrD,OACE,kBAACN,EAAY,MAAb;EACE,GAAKU,MAAS,KAAA,IAAuB,CAAC,IAAZ,EAAE,QAAK;EACjC,GAAKC,MAAgB,KAAA,IAA8B,CAAC,IAAnB,EAAE,eAAY;EAC/C,GAAKC,IAAe,EAAE,eAAe,MAAeA,EAAaC,CAAC,EAAE,IAAI,CAAC;EACzE,GAAKC,MAAa,KAAA,IAA2B,CAAC,IAAhB,EAAE,YAAS;EAJ3C,UAAA,CAME,kBAACd,EAAY,SAAb;GAAqB,SAAS,MAAU,kBAACe,GAAD;IAAU,OAAOC;IAAqB;GAAQ,CAAA;GAAG,GAAKC,MAAU,KAAA,IAAwB,CAAC,IAAb,EAAE,SAAM;EAAU,CAAA,GACtI,kBAACjB,EAAY,QAAb;GAAoB,WAAWG,EAAmB;GAChD,UAAA,kBAACH,EAAY,YAAb;IAAwB,gBAAe;IAAQ,mBAAmBE,EAAa;IAAS;IAAkB;IAAY,kBAAkB;IACtI,UAAA,kBAACgB,GAAD;KAAqB;KAArB,UAAA,CACE,kBAAC,QAAD,EAAA,UAAOC,EAAc,CAAA,GACpBC,KAAY,kBAAChB,GAAD,EAAa,MAAMgB,EAAW,CAAA,CAC/B;;GACQ,CAAA;EACN,CAAA,CACJ;;AAEtB;AACA,QAAA,IAAA,aAA6B,iBAAc,EAAY,cAAc;AAErE,SAASL,EAAS,EAAE,UAAO,YAA4D;CAGrF,OAFAM,QAAsBC,EAAM,IAAIC,CAAK,CAAC,GACtCF,cAA4BC,EAAM,IAAI,IAAI,GAAG,CAACA,CAAK,CAAC,GAC7C;AACT;AACA,QAAA,IAAA,aAA6B,iBAAc,EAAS,cAAc;AAElE,SAAgBE,EAAkB,GAAqB,GAAqB;CAC1E,IAAM,EAAE,KAAKC,GAAM,GAAGF,MAAUG;CAChC,OAAOC,EAAqBJ,GAAOK,CAAG;AACxC;AAEA,IAAMV,IAA+B,kBACnC,SAAsB,EAAE,UAAO,aAAU,gBAAa,GAAK;CACzD,OACE,kBAAClB,EAAY,OAAb;EAAwB;EAAK,WAAWC,EAAGM,GAAcF,EAAuB,MAAMwB,EAAM,CAAC,SAASC,CAAS;EAC5G;CACgB,CAAA;AAEvB,CACF;AACA,QAAA,IAAA,aAA6B,iBAAc,EAAa,cAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"zh-CN-29X4CDLE.js","names":["zhCN"],"sources":["../../src/i18n/locales/zh-CN.ts"],"sourcesContent":["const zhCN: Readonly<Record<string, string>> = {\n \"agentAttribution.label\": \"{name} 通过 {agent}({model})\",\n \"agentAvatar.unknownModel\": \"未知\",\n \"alertDialog.cancel\": \"取消\",\n \"alertDialog.typeToConfirm\": \"输入 {text} 以确认\",\n \"appFrame.expandSidebar\": \"展开侧边栏\",\n \"appFrame.navigation\": \"导航\",\n \"appFrame.openNavigation\": \"打开导航\",\n \"appFrame.skipToContent\": \"跳到主要内容\",\n \"avatarGroup.listSeparator\": \"、\",\n \"banner.dismiss\": \"关闭\",\n \"barChart.category\": \"类别\",\n \"calendar.navigation\": \"导航栏\",\n \"calendar.nextMonth\": \"转到下个月\",\n \"calendar.previousMonth\": \"转到上个月\",\n \"calendar.selected\": \"{date},已选择\",\n \"calendar.today\": \"今天,{date}\",\n \"chart.listSeparator\": \",\",\n \"chart.liveLine\": \"{heading}:{values}\",\n \"chart.liveValue\": \"{label} {value}\",\n \"chart.partial\": \"{heading},不完整\",\n \"chart.soFar\": \"{heading},截至目前\",\n \"chartFrame.loadFailed\": \"无法加载此图表\",\n \"chartFrame.noData\": \"此时间段无数据\",\n \"chartFrame.tryAgain\": \"重试\",\n \"chartFrame.viewAsChart\": \"以图表查看\",\n \"chartFrame.viewAsTable\": \"以表格查看\",\n \"chartLegend.label\": \"图例\",\n \"codeBlock.code\": \"代码\",\n \"codeBlock.copy\": \"复制代码\",\n \"codeBlock.language\": \"语言\",\n \"codeBlock.showAllLines\": \"显示全部 {count} 行\",\n \"codeBlock.showLess\": \"收起\",\n \"codeBlock.titledCode\": \"代码:{title}\",\n \"combobox.add\": \"添加“{label}”\",\n \"combobox.loading\": \"加载中…\",\n \"combobox.loadingResults\": \"正在加载结果\",\n \"combobox.more\": \"还有 {count} 项;输入以缩小范围\",\n \"combobox.noResults\": \"无结果\",\n \"combobox.remove\": \"移除 {label}\",\n \"combobox.showOptions\": \"显示选项\",\n \"commandList.loading\": \"加载中…\",\n \"commandList.noResults\": \"无结果\",\n \"commandList.search\": \"搜索\",\n \"commandPalette.label\": \"命令面板\",\n \"commandPalette.noResults\": \"无结果\",\n \"commandPalette.placeholder\": \"搜索或运行命令\",\n \"commandPalette.results\": \"结果\",\n \"commandPalette.toClose\": \"关闭\",\n \"commandPalette.toGoBack\": \"返回\",\n \"commandPalette.toNavigate\": \"导航\",\n \"commandPalette.toOpen\": \"打开\",\n \"compareGrid.addModel\": \"添加模型\",\n \"compareGrid.columnName\": \"{label},\",\n \"compareGrid.compareUpTo\": \"最多同时比较 {max} 个\",\n \"compareGrid.nextColumn\": \"下一列\",\n \"compareGrid.position\": \"{index}/{count}\",\n \"compareGrid.previousColumn\": \"上一列\",\n \"compareGrid.remove\": \"移除 {label}\",\n \"compareGrid.thread\": \"{label} 对话\",\n \"composer.placeholder\": \"输入提示词\",\n \"composer.prompt\": \"提示词\",\n \"composer.send\": \"发送\",\n \"composer.stop\": \"停止\",\n \"conversationView.assistant\": \"助手\",\n \"conversationView.called\": \"调用了 **{name}**\",\n \"conversationView.developer\": \"开发者\",\n \"conversationView.document\": \"文档\",\n \"conversationView.encrypted\": \"服务商以加密形式返回了此推理。\",\n \"conversationView.error\": \"错误\",\n \"conversationView.image\": \"图片\",\n \"conversationView.imageFrom\": \"来自 {host} 的图片\",\n \"conversationView.imageInput\": \"图片输入\",\n \"conversationView.reasoning\": \"推理\",\n \"conversationView.redacted\": \"已被服务商隐去\",\n \"conversationView.refused\": \"模型拒绝了请求。\",\n \"conversationView.result\": \"结果\",\n \"conversationView.system\": \"系统\",\n \"conversationView.tool\": \"工具\",\n \"conversationView.user\": \"用户\",\n \"copyButton.copied\": \"已复制\",\n \"copyButton.copy\": \"复制\",\n \"dataTable.loadFailed\": \"无法加载这些行\",\n \"dataTable.noMatches\": \"没有符合这些筛选条件的结果。\",\n \"dataTable.noRows\": \"暂无数据\",\n \"dataTable.resizeColumn\": \"调整列宽\",\n \"dataTable.selectAllRows\": \"选择所有行\",\n \"dataTable.selectNamed\": \"选择 {name}\",\n \"dataTable.selectRow\": \"选择行\",\n \"dataTable.tokenCount\": \"{count} 个 Token\",\n \"dataTable.tryAgain\": \"重试\",\n \"datePicker.apply\": \"应用\",\n \"datePicker.chooseDate\": \"选择日期\",\n \"datePicker.chooseRange\": \"选择日期范围\",\n \"datePicker.custom\": \"自定义\",\n \"datePicker.date\": \"日期\",\n \"datePicker.endDate\": \"结束日期\",\n \"datePicker.isoPlaceholder\": \"YYYY-MM-DD\",\n \"datePicker.last24Hours\": \"最近 24 小时\",\n \"datePicker.last30Days\": \"最近 30 天\",\n \"datePicker.last7Days\": \"最近 7 天\",\n \"datePicker.lastMonth\": \"上个月\",\n \"datePicker.pickDate\": \"选择日期\",\n \"datePicker.pickRange\": \"选择时间范围\",\n \"datePicker.presets\": \"预设\",\n \"datePicker.startDate\": \"开始日期\",\n \"datePicker.thisMonth\": \"本月\",\n \"deleteResource.confirm\": \"{verb}{kind}\",\n \"deleteResource.deleteConfirm\": \"删除{kind}\",\n \"deleteResource.deleteTitle\": \"删除此{kind}?\",\n \"deleteResource.title\": \"{verb}此{kind}?\",\n \"dialog.back\": \"返回\",\n \"dialog.close\": \"关闭\",\n \"displayOptions.displayOptions\": \"显示选项\",\n \"displayOptions.doesNotFit\": \"当前宽度放不下\",\n \"displayOptions.hiddenProperties\": \"{count, plural, other {当前宽度放不下{properties}。}}\",\n \"displayOptions.properties\": \"显示属性\",\n \"displayOptions.view\": \"视图\",\n \"donut.legend\": \"图例\",\n \"donut.other\": \"其他\",\n \"donut.share\": \"占比\",\n \"donut.slice\": \"扇区\",\n \"donut.total\": \"总计\",\n \"donut.underOnePercent\": \"<1%\",\n \"donut.value\": \"数值\",\n \"effectiveAccess.access\": \"访问权限\",\n \"effectiveAccess.everyRight\": \"全部权限\",\n \"effectiveAccess.from\": \"来自\",\n \"effectiveAccess.grantedOfTotal\": \"{granted}/{total}\",\n \"effectiveAccess.listSeparator\": \"、\",\n \"effectiveAccess.noRights\": \"无权限\",\n \"effectiveAccess.noRightsIn\": \"以下类别无权限\",\n \"environmentSnippet.apiKey\": \"API 密钥\",\n \"environmentSnippet.baseUrl\": \"基础 URL\",\n \"environmentSnippet.copyBaseUrl\": \"复制基础 URL\",\n \"environmentSnippet.copyVariableName\": \"复制变量名\",\n \"field.optional\": \"可选\",\n \"filterChip.filter\": \"筛选\",\n \"filterChip.filterNamed\": \"筛选:{property}\",\n \"filterChip.noMatches\": \"没有匹配的值\",\n \"filterChip.remove\": \"移除筛选\",\n \"filterChip.removeNamed\": \"移除{property}筛选\",\n \"filterChip.search\": \"搜索\",\n \"filterChip.searchNamedValues\": \"搜索{property}的值\",\n \"filterChip.searchValues\": \"搜索值\",\n \"filterRow.filters\": \"筛选\",\n \"flow.connection\": \"从 {from} 到 {to}\",\n \"flow.label\": \"流程图\",\n \"format.daysAgo\": \"{count} 天前\",\n \"format.hoursAgo\": \"{count} 小时前\",\n \"format.hoursMinutes\": \"{h} 小时 {min} 分\",\n \"format.inDays\": \"{count} 天后\",\n \"format.inHours\": \"{count} 小时后\",\n \"format.inMinutes\": \"{count} 分钟后\",\n \"format.justNow\": \"刚刚\",\n \"format.milliseconds\": \"{ms} ms\",\n \"format.minutes\": \"{min} 分钟\",\n \"format.minutesAgo\": \"{count} 分钟前\",\n \"format.minutesSeconds\": \"{min} 分 {s} 秒\",\n \"format.seconds\": \"{s} 秒\",\n \"format.thousands\": \"{value}千\",\n \"format.yesterday\": \"昨天\",\n \"heatmap.cell\": \"{row} {column}:{value}\",\n \"heatmap.less\": \"少\",\n \"heatmap.more\": \"多\",\n \"jsonView.collapse\": \"收起\",\n \"jsonView.collapsePath\": \"收起 {path}\",\n \"jsonView.copyPath\": \"复制路径:{path}\",\n \"jsonView.expand\": \"展开\",\n \"jsonView.expandPath\": \"展开 {path}\",\n \"jsonView.items\": \"{count, plural, other {{n} 项}}\",\n \"jsonView.keys\": \"{count, plural, other {{n} 个键}}\",\n \"jsonView.label\": \"JSON\",\n \"jsonView.pathCopied\": \"已复制路径\",\n \"kbd.backspace\": \"Backspace\",\n \"kbd.backspaceName\": \"退格键\",\n \"kbd.commandName\": \"Command 键\",\n \"kbd.controlName\": \"Control 键\",\n \"kbd.ctrl\": \"Ctrl\",\n \"kbd.downName\": \"下箭头\",\n \"kbd.enterName\": \"回车键\",\n \"kbd.escapeName\": \"Esc 键\",\n \"kbd.leftName\": \"左箭头\",\n \"kbd.optionName\": \"Option 键\",\n \"kbd.rightName\": \"右箭头\",\n \"kbd.shift\": \"Shift\",\n \"kbd.shiftName\": \"Shift 键\",\n \"kbd.tabName\": \"Tab 键\",\n \"kbd.then\": \"然后\",\n \"kbd.upName\": \"上箭头\",\n \"keyDisplay.active\": \"有效\",\n \"keyDisplay.archived\": \"已归档\",\n \"keyDisplay.copyRedactedKey\": \"复制脱敏密钥\",\n \"keyDisplay.disabled\": \"已停用\",\n \"keyDisplay.expired\": \"已过期\",\n \"keyDisplay.inference\": \"模型调用\",\n \"keyDisplay.inferenceAndPlatform\": \"模型调用 + 平台\",\n \"keyDisplay.platform\": \"平台\",\n \"label.optional\": \"可选\",\n \"limitMeter.hard\": \"硬性\",\n \"limitMeter.label\": \"{kind, select, requests {请求限额} tokens {Token 限额} other {支出限额}}\",\n \"limitMeter.soft\": \"软性\",\n \"link.opensInNewTab\": \"(在新标签页中打开)\",\n \"list.add\": \"添加\",\n \"list.clearSelection\": \"清除选择\",\n \"list.selectItem\": \"选择 {name}\",\n \"list.selected\": \"已选择 {count} 项\",\n \"list.selection\": \"所选项\",\n \"loader.loading\": \"加载中\",\n \"markdown.showAllCharacters\": \"显示全部 {count} 个字符\",\n \"modelLabel.capabilities\": \"能力:{list}\",\n \"modelLabel.imageInput\": \"图片输入\",\n \"modelLabel.listSeparator\": \"、\",\n \"modelLabel.pdfInput\": \"PDF 输入\",\n \"modelLabel.reasoning\": \"推理\",\n \"modelLabel.structuredOutput\": \"结构化输出\",\n \"modelLabel.toolCalling\": \"工具调用\",\n \"modelPicker.choose\": \"选择模型\",\n \"modelPicker.chooseSome\": \"选择模型\",\n \"modelPicker.everyProvider\": \"所有服务商\",\n \"modelPicker.firstAndMore\": \"{first} +{count}\",\n \"modelPicker.model\": \"模型\",\n \"modelPicker.noMatch\": \"没有匹配的模型\",\n \"modelPicker.provider\": \"服务商\",\n \"modelPicker.recent\": \"最近使用\",\n \"modelPicker.search\": \"搜索模型\",\n \"modelPicker.showDeprecated\": \"已弃用\",\n \"numberInput.decrease\": \"减少\",\n \"numberInput.increase\": \"增加\",\n \"otpInput.label\": \"验证码\",\n \"pagination.label\": \"分页\",\n \"pagination.loadMore\": \"加载更多\",\n \"pagination.next\": \"下一页\",\n \"pagination.page\": \"第 {page} 页\",\n \"pagination.previous\": \"上一页\",\n \"parameterPanel.effortExtraHigh\": \"极高\",\n \"parameterPanel.effortHigh\": \"高\",\n \"parameterPanel.effortLow\": \"低\",\n \"parameterPanel.effortMax\": \"最大\",\n \"parameterPanel.effortMedium\": \"中\",\n \"parameterPanel.effortMinimal\": \"最低\",\n \"parameterPanel.effortNone\": \"无\",\n \"parameterPanel.instructionsPlaceholder\": \"你是一个乐于助人的助手。\",\n \"parameterPanel.maxOutputTokens\": \"最大输出 Token 数\",\n \"parameterPanel.modelDefault\": \"模型默认值\",\n \"parameterPanel.reasoningEffort\": \"推理强度\",\n \"parameterPanel.reasoningSummary\": \"推理摘要\",\n \"parameterPanel.resetToDefaults\": \"恢复默认值\",\n \"parameterPanel.summaryAuto\": \"自动\",\n \"parameterPanel.summaryConcise\": \"简洁\",\n \"parameterPanel.summaryDetailed\": \"详细\",\n \"parameterPanel.summaryOff\": \"关闭\",\n \"parameterPanel.systemInstructions\": \"系统指令\",\n \"parameterPanel.temperature\": \"温度\",\n \"parameterPanel.topP\": \"Top P\",\n \"parameterPanel.valueDefault\": \"{value}(默认)\",\n \"parameterPopover.parameters\": \"参数\",\n \"pickerPopover.close\": \"关闭\",\n \"promptSuggestions.examplePrompts\": \"示例提示词\",\n \"providerCard.connected\": \"已连接\",\n \"providerCard.notConnected\": \"未连接\",\n \"providerPicker.choose\": \"选择服务商\",\n \"providerPicker.connected\": \"已连接\",\n \"providerPicker.noMatch\": \"没有匹配的服务商\",\n \"providerPicker.other\": \"其他服务商\",\n \"providerPicker.providers\": \"服务商\",\n \"providerPicker.search\": \"搜索服务商\",\n \"requestTimeline.label\": \"首字节时间 {ttfb},共 {total}\",\n \"requestTimeline.firstByte\": \"首字节\",\n \"requestTimeline.totalTime\": \"总计\",\n \"resourceList.filters\": \"筛选\",\n \"resourceList.noMatches\": \"无匹配结果\",\n \"resourceList.nothingHereYet\": \"暂无内容\",\n \"resourceList.search\": \"搜索\",\n \"resourceList.tryShorterSearch\": \"请尝试更短的搜索词。\",\n \"responseMetrics.cost\": \"费用\",\n \"responseMetrics.firstToken\": \"首个 Token\",\n \"responseMetrics.metrics\": \"指标\",\n \"responseMetrics.notYetKnown\": \"尚未确定\",\n \"responseMetrics.reasoning\": \"推理\",\n \"responseMetrics.tokens\": \"Token\",\n \"responseMetrics.tokensValue\": \"输入 {input} · 输出 {output}\",\n \"responseMetrics.total\": \"总计\",\n \"responseView.contentFilter\": \"已被服务商的内容过滤器停止\",\n \"responseView.incomplete\": \"模型提前结束了响应\",\n \"responseView.noResponse\": \"无响应\",\n \"responseView.noText\": \"模型未返回文本\",\n \"responseView.outputLimit\": \"达到输出限额后停止\",\n \"responseView.responding\": \"正在响应\",\n \"responseView.response\": \"响应\",\n \"responseView.retry\": \"重试\",\n \"responseView.stopped\": \"已停止\",\n \"responseView.stoppedBeforeResponse\": \"在响应前已停止\",\n \"responseView.stoppedEarly\": \"响应提前中断\",\n \"responseView.thinking\": \"思考中\",\n \"responseView.thoughtFor\": \"思考了 {duration}\",\n \"responseView.waiting\": \"等待响应\",\n \"rightsMatrix.added\": \"已添加\",\n \"rightsMatrix.alsoGranted\": \"同时授予:{rights}\",\n \"rightsMatrix.alsoRemoved\": \"同时移除:{rights}\",\n \"rightsMatrix.everyRightIn\": \"{group}中的全部权限\",\n \"rightsMatrix.everyRightShownIn\": \"{group}中显示的全部权限\",\n \"rightsMatrix.fromRole\": \"来自角色\",\n \"rightsMatrix.granted\": \"已授予\",\n \"rightsMatrix.grantedOfTotal\": \"{granted}/{total}\",\n \"rightsMatrix.listSeparator\": \"、\",\n \"rightsMatrix.needs\": \"需要{rights}\",\n \"rightsMatrix.noMatch\": \"没有匹配的权限\",\n \"rightsMatrix.noMatchHint\": \"请尝试权限的名称、代码或描述中的词。\",\n \"rightsMatrix.notGranted\": \"未授予\",\n \"rightsMatrix.removed\": \"已移除\",\n \"rightsMatrix.rights\": \"权限\",\n \"rightsMatrix.searchRights\": \"搜索权限\",\n \"rightsMatrix.sensitive\": \"敏感\",\n \"rightsMatrix.sensitiveHint\": \"敏感:会暴露数据或难以撤销\",\n \"rolePicker.builtInRoles\": \"内置角色\",\n \"rolePicker.customRoles\": \"自定义角色\",\n \"rolePicker.role\": \"角色\",\n \"sankey.from\": \"来源\",\n \"sankey.link\": \"{source} → {target}:{value}\",\n \"sankey.requests\": \"请求\",\n \"sankey.to\": \"目标\",\n \"searchInput.clear\": \"清除搜索\",\n \"searchInput.placeholder\": \"搜索\",\n \"secretReveal.copied\": \"已复制\",\n \"secretReveal.copyKey\": \"复制密钥\",\n \"secretReveal.secret\": \"密钥\",\n \"secretReveal.secretFor\": \"{name} 的密钥\",\n \"secretReveal.shownOnce\": \"仅显示一次,请立即保存。\",\n \"select.firstAndMore\": \"{first} +{count}\",\n \"select.placeholder\": \"请选择\",\n \"sensitiveInput.capsLock\": \"大写锁定已开启。\",\n \"sensitiveInput.hide\": \"隐藏\",\n \"sensitiveInput.hidePassword\": \"隐藏密码\",\n \"sensitiveInput.show\": \"显示\",\n \"sensitiveInput.showPassword\": \"显示密码\",\n \"shareBar.listSeparator\": \",\",\n \"shareBar.segment\": \"{label}:{value}\",\n \"shareBar.share\": \"{label} {share}\",\n \"shareBar.summary\": \"{label}:{shares}\",\n \"sheet.close\": \"关闭\",\n \"sidebar.backToApp\": \"返回应用\",\n \"sidebar.clickToCollapse\": \"**点击**收起\",\n \"sidebar.closeNavigation\": \"关闭导航\",\n \"sidebar.collapse\": \"收起侧边栏\",\n \"sidebar.dragToResize\": \"**拖动**调整宽度\",\n \"sidebar.expand\": \"展开侧边栏\",\n \"sidebar.keepOpen\": \"保持侧边栏展开\",\n \"sidebar.main\": \"主菜单\",\n \"sidebar.resizeOrCollapse\": \"调整侧边栏宽度;点击收起\",\n \"sidebar.switchOrOpenSettings\": \"切换或打开设置\",\n \"sidebar.switchPlace\": \"切换\",\n \"slider.rangeEnd\": \"范围终点:{value}\",\n \"slider.rangeStart\": \"范围起点:{value}\",\n \"statTile.percent\": \"{value}%\",\n \"statTile.trend\": \"趋势\",\n \"statTile.trendPerDay\": \"每日{label}\",\n \"statusCode.badGateway\": \"网关错误\",\n \"statusCode.badRequest\": \"错误请求\",\n \"statusCode.clientClosed\": \"客户端已关闭\",\n \"statusCode.conflict\": \"冲突\",\n \"statusCode.created\": \"已创建\",\n \"statusCode.forbidden\": \"禁止访问\",\n \"statusCode.gatewayTimeout\": \"网关超时\",\n \"statusCode.noContent\": \"无内容\",\n \"statusCode.notFound\": \"未找到\",\n \"statusCode.ok\": \"成功\",\n \"statusCode.overloaded\": \"过载\",\n \"statusCode.rateLimited\": \"触发速率限制\",\n \"statusCode.serverError\": \"服务器错误\",\n \"statusCode.timeout\": \"超时\",\n \"statusCode.tooLarge\": \"内容过大\",\n \"statusCode.tooltip\": \"{code} {text}\",\n \"statusCode.unauthorized\": \"未授权\",\n \"statusCode.unavailable\": \"不可用\",\n \"statusCode.unprocessable\": \"无法处理\",\n \"stepDialog.back\": \"上一步\",\n \"stepDialog.cancel\": \"取消\",\n \"stepDialog.continue\": \"继续\",\n \"stepDialog.stepAnnouncement\": \"第 {current} 步,共 {total} 步:{title}\",\n \"stepDialog.stepOf\": \"第 {current} 步,共 {total} 步\",\n \"tableOfContents.title\": \"本页内容\",\n \"tag.remove\": \"移除\",\n \"tag.removeNamed\": \"移除 {label}\",\n \"tagInput.remove\": \"移除 {tag}\",\n \"themeMenu.dark\": \"深色\",\n \"themeMenu.light\": \"浅色\",\n \"themeMenu.system\": \"跟随系统\",\n \"themeMenu.theme\": \"主题\",\n \"timeInput.hours\": \"小时\",\n \"timeInput.minutes\": \"分钟\",\n \"timeInput.time\": \"时间\",\n \"timeseriesChart.time\": \"时间\",\n \"toast.dismiss\": \"关闭\",\n \"toast.notifications\": \"通知\",\n \"tokenKind.cacheRead\": \"缓存读取\",\n \"tokenKind.cacheWrite\": \"缓存写入\",\n \"tokenKind.input\": \"输入\",\n \"tokenKind.output\": \"输出\",\n \"tokenKind.reasoning\": \"推理\",\n \"usageBreakdown.cacheRead\": \"缓存读取\",\n \"usageBreakdown.cacheWrite\": \"缓存写入\",\n \"usageBreakdown.input\": \"输入\",\n \"usageBreakdown.kindCount\": \"{kind} {count}\",\n \"usageBreakdown.listSeparator\": \",\",\n \"usageBreakdown.output\": \"输出\",\n \"usageBreakdown.reasoning\": \"推理\",\n \"usageBreakdown.tokenCount\": \"{count} 个 Token\",\n \"usageBreakdown.tokens\": \"Token:{list}\",\n \"userMessage.prompt\": \"提示词\",\n \"userMessage.showAll\": \"显示全部\",\n \"userMessage.showLess\": \"收起\",\n};\nexport default zhCN;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-table.js","names":["__icon_ArrowDown01Icon","__icon_ArrowUp01Icon","cn","useInset","useGutterPadded","useRaised","Icon","Tooltip","observeResize","Text","Button","CheckboxBox","ContextMenu","Skeleton","Pagination","Empty","StatusDot","Avatar","scrollParent","STATUS_TONE_TEXT","useScrollMargin","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","rowName","column","text","row","raw","DataTableInner","userColumns","sortingProp","ariaLabel","inset","raised","padded","t","useUiText","sortingInner","setSortingInner","useState","selectionInner","setSelectionInner","focusRow","setFocusRow","sorting","rowSelection","selection","useMemo","selectable","table","name","useReactTable","next","u","onSortingChange","onSelectionChange","getCoreRowModel","getSortedRowModel","manualSorting","canSelectRow","getRowId","r","root","useRef","head","body","leaf","fitInput","fitKey","hiddenFor","fit","hiddenForRef","hiddenKey","setHiddenKey","useLayoutEffect","mode","hiddenIds","tight","overflow","hidden","onHiddenRef","onHiddenColumnsChange","cols","trackMin","gridStyle","pinEnd","rows","virtual","virtualizeAbove","getScrollElement","scrollMargin","virtualizer","useVirtualizer","density","cellPad","i","stickyCol","stickyFirstColumn","header","focusable","onRowClick","stop","focusAt","line","now","page","onRowKeyDown","to","renderRow","cells","activeRowId","freshRowIds","meta","cell","content","flexRender","tone","rowMenu","ref","className","loading","hg","h","sortable","dir","ArrowDown01Icon","ArrowUp01Icon","step","id","min","max","old","error","onRetry","empty","v","hasMore","loadingMore","DataTableBase","DataTable","make","get","ctx","sortingFn","Tokens","exact","formatNumber","value","formatTokens","RelativeTime","formatDate","formatRelative","col","formatUSD","options","formatDuration"],"sources":["../../src/components/data-table/data-table.tsx","../../src/components/data-table/columns.tsx"],"sourcesContent":["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 { 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\";\n\nexport const KAESO_DATA_TABLE_VARIANTS = {\n density: {\n compact: { classes: \"h-36\" },\n default: { classes: \"h-40\" },\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}\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 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 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 }: 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 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(userColumns[0], 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 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 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: () => ROW_H[density],\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 stickyCol = (i: number, header = false) =>\n ((stickyFirstColumn && i === 0) || (pinEnd && i === cols.length - 1)) &&\n cn(\n \"sticky z-10 group-hover/tr:bg-fill-1 group-aria-selected/tr:bg-fill-2 group-data-active/tr:bg-fill-2\",\n i === 0 ? \"left-0\" : \"right-0\",\n inset ? \"bg-raised\" : cn(raised ? \"bg-raised\" : \"bg-panel\", !header && (i === 0 ? \"rounded-l-item\" : \"rounded-r-item\")),\n );\n\n const focusable = !!onRowClick || !!selectable;\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 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 page = () => Math.max(1, Math.floor((getScrollElement()?.clientHeight ?? 400) / ROW_H[density]) - 1);\n const onRowKeyDown = (e: KeyboardEvent<HTMLDivElement>, row: Row<T>, i: number) => {\n if (e.target !== e.currentTarget || e.altKey || e.metaKey || e.ctrlKey) return;\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 focusAt(to);\n } else if (e.key === \"Enter\") {\n e.preventDefault();\n onRowClick?.(row.original);\n } else if (e.key === \" \" && selectable) {\n e.preventDefault();\n row.toggleSelected();\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 el = (\n <div\n role=\"row\"\n aria-rowindex={i + 2}\n aria-selected={selectable ? row.getIsSelected() : undefined}\n data-active={row.id === activeRowId || undefined}\n data-fresh={freshRowIds?.has(row.id) || undefined}\n data-row-index={i}\n tabIndex={focusable ? (i === stop ? 0 : -1) : undefined}\n onFocus={(e) => {\n if (e.target === e.currentTarget && i !== focusRow) setFocusRow(i);\n }}\n onClick={(e) => {\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 \"hover:bg-fill-1 aria-selected:bg-fill-2 data-active:bg-fill-2 data-fresh:animate-row-fresh\",\n \"hover:controls-on-fill aria-selected:controls-on-fill data-active:controls-on-fill\",\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),\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 <span className={cn(\"min-w-0 truncate cell-fit\", meta?.grow && \"flex-1\")}>{content}</span>\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 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\", inset || raised ? \"bg-raised\" : \"bg-panel\")}\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\n .filter((h) => !hidden.has(h.column.id))\n .map((h, i) => {\n const meta = h.column.columnDef.meta;\n const sortable = h.column.getCanSort();\n const dir = h.column.getIsSorted();\n return (\n <div\n key={h.id}\n role=\"columnheader\"\n aria-sort={dir === \"asc\" ? \"ascending\" : dir === \"desc\" ? \"descending\" : sortable ? \"none\" : undefined}\n className={cn(\n \"group/th relative\",\n cellPad(i),\n meta?.align === \"end\" && \"justify-end\",\n stickyCol(i, true),\n stickyCol(i, true) && \"hairline-b-strong\",\n )}\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 hover:bg-fill-1 hover:text-fg focus-ring tap-target\",\n dir ? \"text-fg\" : \"text-fg-secondary\",\n meta?.align === \"end\" && \"flex-row-reverse\",\n )}\n >\n <span className=\"truncate\">{flexRender(h.column.columnDef.header, h.getContext())}</span>\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 <span className=\"truncate text-caption font-medium text-fg-secondary\">{flexRender(h.column.columnDef.header, h.getContext())}</span>\n )}\n {h.column.getCanResize() && (\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={0}\n onKeyDown={(e) => {\n const step = { ArrowLeft: -16, ArrowRight: 16 }[e.key];\n if (step === undefined) return;\n e.preventDefault();\n const id = h.column.id;\n const min = h.column.columnDef.minSize ?? 64;\n const max = h.column.columnDef.maxSize ?? 640;\n table.setColumnSizing((old) => ({ ...old, [id]: Math.max(min, Math.min(max, h.column.getSize() + step)) }));\n }}\n onMouseDown={h.getResizeHandler()}\n onTouchStart={h.getResizeHandler()}\n onDoubleClick={() => h.column.resetSize()}\n className=\"absolute top-8 right-0 bottom-8 w-8 cursor-col-resize rounded-pill after:absolute after:inset-y-0 after:right-0 after:w-1 after:bg-transparent after:transition-control group-hover/th:after:bg-line-strong focus-ring-inset\"\n />\n )}\n </div>\n );\n })}\n </div>\n ))}\n </div>\n <div\n ref={body}\n role=\"rowgroup\"\n className=\"overflow-x-auto scrollbar-quiet\"\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 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 ?? (\n <Empty size=\"compact\" title={t(\"dataTable.noRows\", \"No rows\")} description={t(\"dataTable.noMatches\", \"Nothing matches these filters.\")} />\n )}\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 {hasMore && <Pagination variant=\"load-more\" 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 type { StatusTone } from \"../../utils/tone.js\";\nimport { useUiText } from \"../../i18n/context.js\";\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 make(b, get, (v) => <time dateTime={new Date(v).toISOString()}>{formatDate(v, { time: true })}</time>, {}, \"datetime\"),\n relative: <T,>(b: Base<T>, get: Accessor<T, string | Date>, options: { now?: Date | number | undefined } = {}) =>\n make(\n b,\n get,\n (v) => <RelativeTime value={v} now={options.now ?? Date.now()} />,\n {},\n (a, c, id) => new Date(a.getValue(id) as string).getTime() - new Date(c.getValue(id) as string).getTime(),\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(b, get, (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 <span className=\"truncate\">{v.name}</span>\n </span>\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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"}
@@ -1 +0,0 @@
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"}