@logicplanes/kaeso-ui 0.4.4 → 0.4.6
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.
- package/ai/component-guides.md +250 -98
- package/ai/component-registry.json +264 -236
- package/ai/component-registry.md +222 -218
- package/ai/icons.md +1 -1
- package/ai/tokens.md +18 -14
- package/dist/blocks/delete-resource.js +3 -3
- package/dist/blocks/delete-resource.js.map +1 -1
- package/dist/blocks/pages.js +47 -42
- package/dist/blocks/pages.js.map +1 -1
- package/dist/blocks/resource-list.js +68 -55
- package/dist/blocks/resource-list.js.map +1 -1
- package/dist/chunks/agent-avatar-DHieggHK.js +188 -0
- package/dist/chunks/agent-avatar-DHieggHK.js.map +1 -0
- package/dist/chunks/app-frame-DysOel2X.js +232 -0
- package/dist/chunks/app-frame-DysOel2X.js.map +1 -0
- package/dist/chunks/arrow-focus-B0KdRFX8.js +20 -0
- package/dist/chunks/arrow-focus-B0KdRFX8.js.map +1 -0
- package/dist/chunks/avatar-CYNMK7uY.js +110 -0
- package/dist/chunks/avatar-CYNMK7uY.js.map +1 -0
- package/dist/chunks/badge-C0GC3B9X.js +27 -0
- package/dist/chunks/badge-C0GC3B9X.js.map +1 -0
- package/dist/chunks/banner-B3DGLTBu.js +88 -0
- package/dist/chunks/banner-B3DGLTBu.js.map +1 -0
- package/dist/chunks/button-IblhXUyZ.js +202 -0
- package/dist/chunks/button-IblhXUyZ.js.map +1 -0
- package/dist/chunks/{calendar-BWaf2MXc.js → calendar-Dc6_dl0f.js} +4 -4
- package/dist/chunks/calendar-Dc6_dl0f.js.map +1 -0
- package/dist/chunks/checkbox-9tbimmF3.js +141 -0
- package/dist/chunks/checkbox-9tbimmF3.js.map +1 -0
- package/dist/chunks/{cn-Dj6sRgkF.js → cn-BjnOAUrA.js} +45 -4
- package/dist/chunks/cn-BjnOAUrA.js.map +1 -0
- package/dist/chunks/code-block-64e-Cy1S.js +346 -0
- package/dist/chunks/code-block-64e-Cy1S.js.map +1 -0
- package/dist/chunks/{code-block-DdNPHEzI.js → code-block-KIvuE8jg.js} +122 -114
- package/dist/chunks/code-block-KIvuE8jg.js.map +1 -0
- package/dist/chunks/{code-tqj0uhBL.js → code-xqjww4Pv.js} +5 -6
- package/dist/chunks/code-xqjww4Pv.js.map +1 -0
- package/dist/chunks/combobox-DkcjkWc6.js +352 -0
- package/dist/chunks/combobox-DkcjkWc6.js.map +1 -0
- package/dist/chunks/command-list-CypqsC4T.js +456 -0
- package/dist/chunks/command-list-CypqsC4T.js.map +1 -0
- package/dist/chunks/{copy-button-FJvPJn72.js → copy-button-CwU8t_9_.js} +22 -15
- package/dist/chunks/copy-button-CwU8t_9_.js.map +1 -0
- package/dist/chunks/core-CmK-8ObW.js +505 -0
- package/dist/chunks/core-CmK-8ObW.js.map +1 -0
- package/dist/chunks/data-table-CqY8_6IS.js +581 -0
- package/dist/chunks/data-table-CqY8_6IS.js.map +1 -0
- package/dist/chunks/date-popup-DAnjptFt.js +58 -0
- package/dist/chunks/date-popup-DAnjptFt.js.map +1 -0
- package/dist/chunks/{de-D_0mmG-k.js → de-CqC4aSIV.js} +74 -40
- package/dist/chunks/de-CqC4aSIV.js.map +1 -0
- package/dist/chunks/{dialog-Cg9A_6SF.js → dialog-2zb6ClNR.js} +156 -134
- package/dist/chunks/dialog-2zb6ClNR.js.map +1 -0
- package/dist/chunks/disclosure-BtYRTDO3.js +22 -0
- package/dist/chunks/disclosure-BtYRTDO3.js.map +1 -0
- package/dist/chunks/domain-obd_w9xk.js +28 -0
- package/dist/chunks/domain-obd_w9xk.js.map +1 -0
- package/dist/chunks/{empty-DvhyMXQq.js → empty-BpiUgGzm.js} +2 -2
- package/dist/chunks/{empty-DvhyMXQq.js.map → empty-BpiUgGzm.js.map} +1 -1
- package/dist/chunks/{field-TviMvYa2.js → field-D7m-yl-D.js} +37 -34
- package/dist/chunks/field-D7m-yl-D.js.map +1 -0
- package/dist/chunks/{icon-D7ja-_Yk.js → icon-CBzOwqrX.js} +7 -6
- package/dist/chunks/{icon-D7ja-_Yk.js.map → icon-CBzOwqrX.js.map} +1 -1
- package/dist/chunks/{icon-button-CrdF_eMG.js → icon-button-Dfwpvmav.js} +7 -6
- package/dist/chunks/icon-button-Dfwpvmav.js.map +1 -0
- package/dist/chunks/{identity-BmhQ6BQ-.js → identity-3Foi5F8w.js} +7 -7
- package/dist/chunks/{identity-BmhQ6BQ-.js.map → identity-3Foi5F8w.js.map} +1 -1
- package/dist/chunks/{input-2VJuj_M4.js → input-Bo5-UZg2.js} +15 -9
- package/dist/chunks/input-Bo5-UZg2.js.map +1 -0
- package/dist/chunks/{input-group-DQ_4DoXg.js → input-group-jPcK9T_a.js} +42 -29
- package/dist/chunks/input-group-jPcK9T_a.js.map +1 -0
- package/dist/chunks/iso-field-DoqHBg8n.js +52 -0
- package/dist/chunks/iso-field-DoqHBg8n.js.map +1 -0
- package/dist/chunks/json-view-DZ2nL2Ir.js +253 -0
- package/dist/chunks/json-view-DZ2nL2Ir.js.map +1 -0
- package/dist/chunks/{kbd-BF1vKXJf.js → kbd-8A0ML_up.js} +30 -28
- package/dist/chunks/kbd-8A0ML_up.js.map +1 -0
- package/dist/chunks/label-DW24Aj0Z.js +26 -0
- package/dist/chunks/label-DW24Aj0Z.js.map +1 -0
- package/dist/chunks/{link-KWI7PevW.js → link-CMjkcLQK.js} +14 -14
- package/dist/chunks/link-CMjkcLQK.js.map +1 -0
- package/dist/chunks/list-B4G-sWwV.js +540 -0
- package/dist/chunks/list-B4G-sWwV.js.map +1 -0
- package/dist/chunks/{loader-DCfPndXa.js → loader-zo8CCIGJ.js} +2 -2
- package/dist/chunks/{loader-DCfPndXa.js.map → loader-zo8CCIGJ.js.map} +1 -1
- package/dist/chunks/markdown-C565aBR7.js +338 -0
- package/dist/chunks/markdown-C565aBR7.js.map +1 -0
- package/dist/chunks/menu-Clvv6ftq.js +485 -0
- package/dist/chunks/menu-Clvv6ftq.js.map +1 -0
- package/dist/chunks/merge-refs-BN1FyQt9.js +20 -0
- package/dist/chunks/merge-refs-BN1FyQt9.js.map +1 -0
- package/dist/chunks/meter-CASMHlxl.js +100 -0
- package/dist/chunks/meter-CASMHlxl.js.map +1 -0
- package/dist/chunks/nav-sheet-Dt6JSvzX.js +67 -0
- package/dist/chunks/nav-sheet-Dt6JSvzX.js.map +1 -0
- package/dist/chunks/{nav-wordmark-_pjheAsZ.js → nav-wordmark-J4pB_vjr.js} +4 -8
- package/dist/chunks/nav-wordmark-J4pB_vjr.js.map +1 -0
- package/dist/chunks/page-header-kS5tdmvb.js +45 -0
- package/dist/chunks/page-header-kS5tdmvb.js.map +1 -0
- package/dist/chunks/pagination-D7fAm8qg.js +147 -0
- package/dist/chunks/pagination-D7fAm8qg.js.map +1 -0
- package/dist/chunks/picker-popover-1FHb1LQG.js +119 -0
- package/dist/chunks/picker-popover-1FHb1LQG.js.map +1 -0
- package/dist/chunks/popover-Bl5QYqnh.js +51 -0
- package/dist/chunks/popover-Bl5QYqnh.js.map +1 -0
- package/dist/chunks/{portal-context-BBbzDKmY.js → portal-context-CTatR2Z8.js} +14 -4
- package/dist/chunks/portal-context-CTatR2Z8.js.map +1 -0
- package/dist/chunks/{radio-CDDFpdtL.js → radio-C6GtzF_t.js} +38 -23
- package/dist/chunks/radio-C6GtzF_t.js.map +1 -0
- package/dist/chunks/range-popup-lGiZsG3s.js +160 -0
- package/dist/chunks/range-popup-lGiZsG3s.js.map +1 -0
- package/dist/chunks/reasoning-frame-C3HdQRRS.js +51 -0
- package/dist/chunks/reasoning-frame-C3HdQRRS.js.map +1 -0
- package/dist/chunks/release-art-ChiT4T2S.js +582 -0
- package/dist/chunks/release-art-ChiT4T2S.js.map +1 -0
- package/dist/chunks/rights-B68ocZuq.js +312 -0
- package/dist/chunks/rights-B68ocZuq.js.map +1 -0
- package/dist/chunks/{scroll-area-D8MD7Vpo.js → scroll-area-_Ljh4-bG.js} +11 -6
- package/dist/chunks/scroll-area-_Ljh4-bG.js.map +1 -0
- package/dist/chunks/section-CFBYhsUi.js +77 -0
- package/dist/chunks/section-CFBYhsUi.js.map +1 -0
- package/dist/chunks/section-header-DU1Q4Tdf.js +28 -0
- package/dist/chunks/section-header-DU1Q4Tdf.js.map +1 -0
- package/dist/chunks/segmented-D9i1avik.js +119 -0
- package/dist/chunks/segmented-D9i1avik.js.map +1 -0
- package/dist/chunks/select-BqjmQOqx.js +222 -0
- package/dist/chunks/select-BqjmQOqx.js.map +1 -0
- package/dist/chunks/{separator-D7TzNHmX.js → separator-BNWf6BBj.js} +13 -8
- package/dist/chunks/separator-BNWf6BBj.js.map +1 -0
- package/dist/chunks/sidebar-Dq7oGOje.js +664 -0
- package/dist/chunks/sidebar-Dq7oGOje.js.map +1 -0
- package/dist/chunks/{sidebar-menu-BN3jkTlK.js → sidebar-menu-QSSNu1jJ.js} +2 -2
- package/dist/chunks/{sidebar-menu-BN3jkTlK.js.map → sidebar-menu-QSSNu1jJ.js.map} +1 -1
- package/dist/chunks/{skeleton-Dcz57Zyp.js → skeleton-D-qk3mes.js} +3 -3
- package/dist/chunks/skeleton-D-qk3mes.js.map +1 -0
- package/dist/chunks/slider-CcE8GtuV.js +58 -0
- package/dist/chunks/slider-CcE8GtuV.js.map +1 -0
- package/dist/chunks/{status-dot-QJTF0Yv4.js → status-dot-CP6runiC.js} +4 -4
- package/dist/chunks/{status-dot-QJTF0Yv4.js.map → status-dot-CP6runiC.js.map} +1 -1
- package/dist/chunks/{styles-CVJU9t9v.js → styles-hkFkoBbi.js} +2 -2
- package/dist/chunks/{styles-CVJU9t9v.js.map → styles-hkFkoBbi.js.map} +1 -1
- package/dist/chunks/{swap-text-Dr0Irxz6.js → swap-text-SlUjrTlG.js} +3 -3
- package/dist/chunks/swap-text-SlUjrTlG.js.map +1 -0
- package/dist/chunks/switch-ngywMQdl.js +76 -0
- package/dist/chunks/switch-ngywMQdl.js.map +1 -0
- package/dist/chunks/table-CTK5E0J7.js +102 -0
- package/dist/chunks/table-CTK5E0J7.js.map +1 -0
- package/dist/chunks/tag-BGr6lTSV.js +100 -0
- package/dist/chunks/tag-BGr6lTSV.js.map +1 -0
- package/dist/chunks/{text-CIXH8rmT.js → text-DkKdTVUf.js} +9 -9
- package/dist/chunks/text-DkKdTVUf.js.map +1 -0
- package/dist/chunks/{textarea--4FRL3Pb.js → textarea-CO0HP6fK.js} +47 -36
- package/dist/chunks/textarea-CO0HP6fK.js.map +1 -0
- package/dist/chunks/timeseries-Ck-q0wWn.js +381 -0
- package/dist/chunks/timeseries-Ck-q0wWn.js.map +1 -0
- package/dist/chunks/toolbar-u0Gm7Q7-.js +61 -0
- package/dist/chunks/toolbar-u0Gm7Q7-.js.map +1 -0
- package/dist/chunks/tooltip-Tkm-urbi.js +202 -0
- package/dist/chunks/tooltip-Tkm-urbi.js.map +1 -0
- package/dist/chunks/tooltip-root-BC_RNNiP.js +70 -0
- package/dist/chunks/tooltip-root-BC_RNNiP.js.map +1 -0
- package/dist/chunks/truncated-d1afmUJT.js +33 -0
- package/dist/chunks/truncated-d1afmUJT.js.map +1 -0
- package/dist/chunks/use-coarse-pointer-Ml5oE6oX.js +28 -0
- package/dist/chunks/use-coarse-pointer-Ml5oE6oX.js.map +1 -0
- package/dist/chunks/use-hydrating-COtYVRo4.js +8 -0
- package/dist/chunks/use-hydrating-COtYVRo4.js.map +1 -0
- package/dist/chunks/use-scroll-fade-uc8mWSDX.js +30 -0
- package/dist/chunks/use-scroll-fade-uc8mWSDX.js.map +1 -0
- package/dist/chunks/{zh-CN-Bm6UPIbW.js → zh-CN-BlpsT6d_.js} +73 -39
- package/dist/chunks/zh-CN-BlpsT6d_.js.map +1 -0
- package/dist/components/agent-avatar.js +1 -1
- package/dist/components/app-frame.js +2 -2
- package/dist/components/avatar.js +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/banner.js +1 -1
- package/dist/components/button-group.js +22 -22
- package/dist/components/button-group.js.map +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/charts/bar.js +235 -160
- package/dist/components/charts/bar.js.map +1 -1
- package/dist/components/charts/donut.js +144 -99
- package/dist/components/charts/donut.js.map +1 -1
- package/dist/components/charts/gauge.js +61 -49
- package/dist/components/charts/gauge.js.map +1 -1
- package/dist/components/charts/heatmap.js +179 -70
- package/dist/components/charts/heatmap.js.map +1 -1
- package/dist/components/charts/sankey.js +144 -77
- package/dist/components/charts/sankey.js.map +1 -1
- package/dist/components/charts/sparkline.js +54 -38
- package/dist/components/charts/sparkline.js.map +1 -1
- package/dist/components/charts/timeseries.js +1 -1
- package/dist/components/charts.js +2 -2
- package/dist/components/checkbox.js +1 -1
- package/dist/components/code-block.js +3 -3
- package/dist/components/code.js +1 -1
- package/dist/components/collapsible.js +77 -1
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-list.js +2 -2
- package/dist/components/command-palette.js +89 -66
- package/dist/components/command-palette.js.map +1 -1
- package/dist/components/copy-button.js +1 -1
- package/dist/components/data-table.js +1 -459
- package/dist/components/date-picker.js +162 -151
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/dialog.js +74 -63
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/display-options.js +76 -64
- package/dist/components/display-options.js.map +1 -1
- package/dist/components/empty.js +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/figure.js +2 -2
- package/dist/components/filter-chip.js +36 -27
- package/dist/components/filter-chip.js.map +1 -1
- package/dist/components/filter-row.js +4 -4
- package/dist/components/filter-row.js.map +1 -1
- package/dist/components/flow.js +94 -63
- package/dist/components/flow.js.map +1 -1
- package/dist/components/heading.js +1 -1
- package/dist/components/icon-button.js +1 -1
- package/dist/components/icon.js +1 -1
- package/dist/components/input.js +176 -98
- package/dist/components/input.js.map +1 -1
- package/dist/components/kaeso/conversation.js +51 -46
- package/dist/components/kaeso/conversation.js.map +1 -1
- package/dist/components/kaeso/identity.js +1 -1
- package/dist/components/kaeso/moments.js +23 -20
- package/dist/components/kaeso/moments.js.map +1 -1
- package/dist/components/kaeso/rights.js +1 -1
- package/dist/components/kaeso/usage.js +90 -74
- package/dist/components/kaeso/usage.js.map +1 -1
- package/dist/components/kaeso.js +200 -187
- package/dist/components/kaeso.js.map +1 -1
- package/dist/components/kbd.js +1 -1
- package/dist/components/key-value.js +32 -47
- package/dist/components/key-value.js.map +1 -1
- package/dist/components/label.js +1 -25
- package/dist/components/layout.js +2 -2
- package/dist/components/layout.js.map +1 -1
- package/dist/components/link.js +1 -1
- package/dist/components/list.js +1 -1
- package/dist/components/loader.js +11 -10
- package/dist/components/loader.js.map +1 -1
- package/dist/components/logo.js +2 -2
- package/dist/components/markdown.js +1 -1
- package/dist/components/menu.js +2 -2
- package/dist/components/meter.js +1 -1
- package/dist/components/page-header.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/playground.js +644 -529
- package/dist/components/playground.js.map +1 -1
- package/dist/components/popover.js +4 -4
- package/dist/components/popover.js.map +1 -1
- package/dist/components/portal.js +1 -1
- package/dist/components/qr-code.js +2 -2
- package/dist/components/qr-code.js.map +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/release-art.js +1 -1
- package/dist/components/scroll-area.js +1 -1
- package/dist/components/section.js +1 -1
- package/dist/components/segmented.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/separator.js +1 -1
- package/dist/components/settings.js +39 -46
- package/dist/components/settings.js.map +1 -1
- package/dist/components/sheet.js +10 -9
- package/dist/components/sheet.js.map +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/skeleton.js +1 -1
- package/dist/components/slider.js +1 -1
- package/dist/components/stat.js +98 -84
- package/dist/components/stat.js.map +1 -1
- package/dist/components/status-dot.js +1 -1
- package/dist/components/surface.js +1 -1
- package/dist/components/swap-text.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/tabs.js +73 -55
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/tag.js +1 -1
- package/dist/components/text.js +1 -1
- package/dist/components/theme-image.js +1 -1
- package/dist/components/theme-menu.js +5 -2
- package/dist/components/theme-menu.js.map +1 -1
- package/dist/components/theme-select.js +1 -1
- package/dist/components/thumbnail.js +35 -24
- package/dist/components/thumbnail.js.map +1 -1
- package/dist/components/timeline.js +51 -35
- package/dist/components/timeline.js.map +1 -1
- package/dist/components/toast.js +76 -66
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toc.js +14 -8
- package/dist/components/toc.js.map +1 -1
- package/dist/components/toolbar.js +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/components/visually-hidden.js +1 -1
- package/dist/i18n-provider.js +1 -1
- package/dist/index.js +100 -100
- package/dist/kaeso.css +605 -67
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/types/blocks/delete-resource/delete-resource.d.ts +2 -2
- package/dist/types/components/agent-avatar/agent-avatar.d.ts +24 -19
- package/dist/types/components/badge/badge.d.ts +3 -3
- package/dist/types/components/banner/banner.d.ts +3 -3
- package/dist/types/components/button/button.d.ts +2 -2
- package/dist/types/components/button-group/button-group.d.ts +1 -1
- package/dist/types/components/charts/domain.d.ts +11 -0
- package/dist/types/components/charts/marks.d.ts +1 -0
- package/dist/types/components/code/code.d.ts +3 -3
- package/dist/types/components/code-block/json-view.d.ts +2 -1
- package/dist/types/components/code-block/numbers.d.ts +1 -0
- package/dist/types/components/collapsible/collapsible.d.ts +2 -2
- package/dist/types/components/collapsible/disclosure.d.ts +2 -0
- package/dist/types/components/data-table/data-table.d.ts +6 -5
- package/dist/types/components/data-table/docs.d.ts +1 -0
- package/dist/types/components/data-table/time-columns.d.ts +1 -0
- package/dist/types/components/date-picker/focus-day.d.ts +1 -0
- package/dist/types/components/date-picker/iso-field.d.ts +8 -1
- package/dist/types/components/dialog/dialog.d.ts +7 -7
- package/dist/types/components/field/field.d.ts +1 -1
- package/dist/types/components/flow/flow.d.ts +1 -1
- package/dist/types/components/icon-button/icon-button.d.ts +1 -1
- package/dist/types/components/input/input-group.d.ts +2 -0
- package/dist/types/components/input/number-input.d.ts +4 -4
- package/dist/types/components/input/otp-input.d.ts +3 -3
- package/dist/types/components/kaeso/client-button.d.ts +2 -1
- package/dist/types/components/kaeso/provider-picker.d.ts +1 -0
- package/dist/types/components/kaeso/rights.d.ts +1 -1
- package/dist/types/components/kaeso/role-picker.d.ts +1 -0
- package/dist/types/components/key-value/key-value.d.ts +2 -2
- package/dist/types/components/layout/layout.d.ts +2 -2
- package/dist/types/components/link/link.d.ts +4 -4
- package/dist/types/components/list/list.d.ts +2 -2
- package/dist/types/components/menu/menu.d.ts +2 -1
- package/dist/types/components/menu/styles.d.ts +3 -3
- package/dist/types/components/meter/meter.d.ts +3 -3
- package/dist/types/components/page-header/page-header.d.ts +1 -1
- package/dist/types/components/pagination/pagination.d.ts +2 -2
- package/dist/types/components/playground/prompt-suggestions.d.ts +1 -0
- package/dist/types/components/playground/reasoning-frame.d.ts +14 -0
- package/dist/types/components/playground/reasoning.d.ts +1 -0
- package/dist/types/components/popover/popover.d.ts +1 -1
- package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
- package/dist/types/components/section/section-header.d.ts +6 -0
- package/dist/types/components/segmented/segmented.d.ts +1 -0
- package/dist/types/components/select/select.d.ts +1 -1
- package/dist/types/components/sheet/sheet.d.ts +3 -3
- package/dist/types/components/sidebar/sidebar.d.ts +1 -0
- package/dist/types/components/slider/slider.d.ts +2 -2
- package/dist/types/components/stat/stat.d.ts +1 -1
- package/dist/types/components/tabs/tabs.d.ts +6 -4
- package/dist/types/components/text/truncated.d.ts +7 -0
- package/dist/types/components/timeline/timeline.d.ts +5 -5
- package/dist/types/components/toc/toc.d.ts +1 -1
- package/dist/types/components/toolbar/toolbar.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip.d.ts +2 -2
- package/dist/types/components/tooltip/trigger-props.d.ts +1 -0
- package/dist/types/hooks/use-coarse-pointer.d.ts +1 -0
- package/dist/types/hooks/use-hydrating.d.ts +1 -0
- package/dist/types/utils/arrow-focus.d.ts +4 -1
- package/dist/types/utils/cn.d.ts +33 -0
- package/dist/types/utils/portal-context.d.ts +7 -1
- package/dist/utils.js +2 -2
- package/foundations/accessibility.md +3 -2
- package/foundations/color.md +5 -1
- package/foundations/elevation.md +1 -0
- package/foundations/motion.md +1 -1
- package/foundations/shape.md +2 -2
- package/foundations/typography.md +12 -12
- package/package.json +2 -2
- package/dist/chunks/agent-avatar-0pdBTWkR.js +0 -171
- package/dist/chunks/agent-avatar-0pdBTWkR.js.map +0 -1
- package/dist/chunks/app-frame-DogGRmsu.js +0 -221
- package/dist/chunks/app-frame-DogGRmsu.js.map +0 -1
- package/dist/chunks/arrow-focus-BcySmwwU.js +0 -11
- package/dist/chunks/arrow-focus-BcySmwwU.js.map +0 -1
- package/dist/chunks/avatar-CWbdwbJv.js +0 -83
- package/dist/chunks/avatar-CWbdwbJv.js.map +0 -1
- package/dist/chunks/badge-C2KtxCLB.js +0 -26
- package/dist/chunks/badge-C2KtxCLB.js.map +0 -1
- package/dist/chunks/banner-BA2ALw9M.js +0 -85
- package/dist/chunks/banner-BA2ALw9M.js.map +0 -1
- package/dist/chunks/button-CzuxqawA.js +0 -164
- package/dist/chunks/button-CzuxqawA.js.map +0 -1
- package/dist/chunks/calendar-BWaf2MXc.js.map +0 -1
- package/dist/chunks/checkbox-CQjwCPkc.js +0 -126
- package/dist/chunks/checkbox-CQjwCPkc.js.map +0 -1
- package/dist/chunks/cn-Dj6sRgkF.js.map +0 -1
- package/dist/chunks/code-block-BZIe_B9l.js +0 -334
- package/dist/chunks/code-block-BZIe_B9l.js.map +0 -1
- package/dist/chunks/code-block-DdNPHEzI.js.map +0 -1
- package/dist/chunks/code-tqj0uhBL.js.map +0 -1
- package/dist/chunks/collapsible-CKrCX_T9.js +0 -87
- package/dist/chunks/collapsible-CKrCX_T9.js.map +0 -1
- package/dist/chunks/combobox-DjDI7SUC.js +0 -319
- package/dist/chunks/combobox-DjDI7SUC.js.map +0 -1
- package/dist/chunks/command-list-C2Y7V_lt.js +0 -418
- package/dist/chunks/command-list-C2Y7V_lt.js.map +0 -1
- package/dist/chunks/copy-button-FJvPJn72.js.map +0 -1
- package/dist/chunks/core-BYns5ytV.js +0 -472
- package/dist/chunks/core-BYns5ytV.js.map +0 -1
- package/dist/chunks/date-popup-CPA_zt6o.js +0 -35
- package/dist/chunks/date-popup-CPA_zt6o.js.map +0 -1
- package/dist/chunks/de-D_0mmG-k.js.map +0 -1
- package/dist/chunks/dialog-Cg9A_6SF.js.map +0 -1
- package/dist/chunks/field-TviMvYa2.js.map +0 -1
- package/dist/chunks/hidden-description-B2zSmLcn.js +0 -23
- package/dist/chunks/hidden-description-B2zSmLcn.js.map +0 -1
- package/dist/chunks/icon-button-CrdF_eMG.js.map +0 -1
- package/dist/chunks/input-2VJuj_M4.js.map +0 -1
- package/dist/chunks/input-group-DQ_4DoXg.js.map +0 -1
- package/dist/chunks/iso-field-B2rTwiBo.js +0 -33
- package/dist/chunks/iso-field-B2rTwiBo.js.map +0 -1
- package/dist/chunks/json-view-Dqd2TDkc.js +0 -175
- package/dist/chunks/json-view-Dqd2TDkc.js.map +0 -1
- package/dist/chunks/kbd-BF1vKXJf.js.map +0 -1
- package/dist/chunks/link-KWI7PevW.js.map +0 -1
- package/dist/chunks/list-M1csq-d4.js +0 -494
- package/dist/chunks/list-M1csq-d4.js.map +0 -1
- package/dist/chunks/markdown-BupwFOae.js +0 -313
- package/dist/chunks/markdown-BupwFOae.js.map +0 -1
- package/dist/chunks/menu-DEmBfdPm.js +0 -450
- package/dist/chunks/menu-DEmBfdPm.js.map +0 -1
- package/dist/chunks/meter-Bj4N3Xuh.js +0 -84
- package/dist/chunks/meter-Bj4N3Xuh.js.map +0 -1
- package/dist/chunks/nav-sheet-CzgIwgAm.js +0 -60
- package/dist/chunks/nav-sheet-CzgIwgAm.js.map +0 -1
- package/dist/chunks/nav-wordmark-_pjheAsZ.js.map +0 -1
- package/dist/chunks/page-header-DL2y2iZp.js +0 -41
- package/dist/chunks/page-header-DL2y2iZp.js.map +0 -1
- package/dist/chunks/pagination-Cn_qF4cg.js +0 -86
- package/dist/chunks/pagination-Cn_qF4cg.js.map +0 -1
- package/dist/chunks/picker-popover-BxyU1U9F.js +0 -106
- package/dist/chunks/picker-popover-BxyU1U9F.js.map +0 -1
- package/dist/chunks/popover-DNN4S47w.js +0 -50
- package/dist/chunks/popover-DNN4S47w.js.map +0 -1
- package/dist/chunks/portal-context-BBbzDKmY.js.map +0 -1
- package/dist/chunks/radio-CDDFpdtL.js.map +0 -1
- package/dist/chunks/range-popup-CRyWYUB1.js +0 -128
- package/dist/chunks/range-popup-CRyWYUB1.js.map +0 -1
- package/dist/chunks/release-art-ZwfFQImt.js +0 -561
- package/dist/chunks/release-art-ZwfFQImt.js.map +0 -1
- package/dist/chunks/rights-Cyp0Pzp-.js +0 -279
- package/dist/chunks/rights-Cyp0Pzp-.js.map +0 -1
- package/dist/chunks/scroll-area-D8MD7Vpo.js.map +0 -1
- package/dist/chunks/scroll-parent-WXvzQcUo.js +0 -14
- package/dist/chunks/scroll-parent-WXvzQcUo.js.map +0 -1
- package/dist/chunks/section-Ce1efbsP.js +0 -87
- package/dist/chunks/section-Ce1efbsP.js.map +0 -1
- package/dist/chunks/segmented-CErcoxwi.js +0 -114
- package/dist/chunks/segmented-CErcoxwi.js.map +0 -1
- package/dist/chunks/select-x4XVsdCI.js +0 -210
- package/dist/chunks/select-x4XVsdCI.js.map +0 -1
- package/dist/chunks/separator-D7TzNHmX.js.map +0 -1
- package/dist/chunks/sidebar-3r1ZRXlN.js +0 -621
- package/dist/chunks/sidebar-3r1ZRXlN.js.map +0 -1
- package/dist/chunks/skeleton-Dcz57Zyp.js.map +0 -1
- package/dist/chunks/slider-Ci83PGtj.js +0 -57
- package/dist/chunks/slider-Ci83PGtj.js.map +0 -1
- package/dist/chunks/swap-text-Dr0Irxz6.js.map +0 -1
- package/dist/chunks/switch-BNMq_kGt.js +0 -59
- package/dist/chunks/switch-BNMq_kGt.js.map +0 -1
- package/dist/chunks/table-BeOSKl_3.js +0 -84
- package/dist/chunks/table-BeOSKl_3.js.map +0 -1
- package/dist/chunks/tag-D_M1s2qS.js +0 -87
- package/dist/chunks/tag-D_M1s2qS.js.map +0 -1
- package/dist/chunks/text-CIXH8rmT.js.map +0 -1
- package/dist/chunks/textarea--4FRL3Pb.js.map +0 -1
- package/dist/chunks/timeseries-D1xjRXfk.js +0 -339
- package/dist/chunks/timeseries-D1xjRXfk.js.map +0 -1
- package/dist/chunks/toolbar-WA_oZgu-.js +0 -37
- package/dist/chunks/toolbar-WA_oZgu-.js.map +0 -1
- package/dist/chunks/tooltip-OcwO0VUT.js +0 -154
- package/dist/chunks/tooltip-OcwO0VUT.js.map +0 -1
- package/dist/chunks/tooltip-root-DzahJDVj.js +0 -60
- package/dist/chunks/tooltip-root-DzahJDVj.js.map +0 -1
- package/dist/chunks/zh-CN-Bm6UPIbW.js.map +0 -1
- package/dist/components/data-table.js.map +0 -1
- 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.
|
|
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": "{
|
|
112
|
-
"deleteResource.title": "{
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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": "
|
|
219
|
+
"limitMeter.hard": "Hartes Limit",
|
|
209
220
|
"limitMeter.label": "{kind, select, requests {Anfragelimit} tokens {Token-Limit} other {Ausgabenlimit}}",
|
|
210
|
-
"limitMeter.
|
|
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": "
|
|
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.
|
|
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": "
|
|
360
|
+
"secretReveal.copied": "Schlüssel kopiert",
|
|
334
361
|
"secretReveal.copyKey": "Schlüssel kopieren",
|
|
335
|
-
"secretReveal.
|
|
336
|
-
"secretReveal.
|
|
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.
|
|
339
|
-
"select.placeholder": "
|
|
365
|
+
"select.more": "+{count}",
|
|
366
|
+
"select.placeholder": "Nicht festgelegt",
|
|
340
367
|
"sensitiveInput.capsLock": "Feststelltaste ist aktiviert.",
|
|
341
|
-
"sensitiveInput.
|
|
368
|
+
"sensitiveInput.capsLockShort": "Feststelltaste",
|
|
369
|
+
"sensitiveInput.hideKey": "Schlüssel ausblenden",
|
|
342
370
|
"sensitiveInput.hidePassword": "Passwort ausblenden",
|
|
343
|
-
"sensitiveInput.
|
|
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.
|
|
358
|
-
"sidebar.
|
|
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": "
|
|
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-
|
|
459
|
+
//# sourceMappingURL=de-CqC4aSIV.js.map
|