@logicplanes/kaeso-ui 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -0
- package/NOTICE.md +1 -1
- package/ai/component-guides.md +249 -24
- package/ai/component-registry.json +1044 -67
- package/ai/component-registry.md +238 -50
- package/ai/icons.md +1 -1
- package/ai/tokens.md +7 -3
- package/dist/blocks/delete-resource.js +1 -1
- package/dist/blocks/pages.js +5 -5
- package/dist/blocks/resource-list.js +4 -4
- package/dist/chunks/app-frame-B9vrgwaE.js +220 -0
- package/dist/chunks/app-frame-B9vrgwaE.js.map +1 -0
- package/dist/chunks/{avatar-D2nJNbtC.js → avatar-DOzOhYJr.js} +2 -2
- package/dist/chunks/{avatar-D2nJNbtC.js.map → avatar-DOzOhYJr.js.map} +1 -1
- package/dist/chunks/{badge-Dkyhs0_j.js → badge-wUHlj7m3.js} +2 -2
- package/dist/chunks/{badge-Dkyhs0_j.js.map → badge-wUHlj7m3.js.map} +1 -1
- package/dist/chunks/{banner-DxGBPQ7p.js → banner-BBlNFHd-.js} +4 -4
- package/dist/chunks/{banner-DxGBPQ7p.js.map → banner-BBlNFHd-.js.map} +1 -1
- package/dist/chunks/{button-DQvoOxVQ.js → button-CAPyW-v8.js} +8 -8
- package/dist/chunks/{button-DQvoOxVQ.js.map → button-CAPyW-v8.js.map} +1 -1
- package/dist/chunks/{calendar-CN3YJi2k.js → calendar-CBeptQFq.js} +2 -2
- package/dist/chunks/{calendar-CN3YJi2k.js.map → calendar-CBeptQFq.js.map} +1 -1
- package/dist/chunks/{checkbox-BgRdbfCE.js → checkbox-C5yvSS7O.js} +3 -3
- package/dist/chunks/{checkbox-BgRdbfCE.js.map → checkbox-C5yvSS7O.js.map} +1 -1
- package/dist/chunks/{cn-CidVUKMm.js → cn-DUDmdLpZ.js} +3 -1
- package/dist/chunks/cn-DUDmdLpZ.js.map +1 -0
- package/dist/chunks/{code-BADhvsgC.js → code-C49NzHUQ.js} +2 -2
- package/dist/chunks/{code-BADhvsgC.js.map → code-C49NzHUQ.js.map} +1 -1
- package/dist/chunks/{code-block-DxtladFW.js → code-block-DREsvJ-g.js} +24 -21
- package/dist/chunks/code-block-DREsvJ-g.js.map +1 -0
- package/dist/chunks/{collapsible-Cw_1aem5.js → collapsible-CDQq1Y9x.js} +6 -6
- package/dist/chunks/collapsible-CDQq1Y9x.js.map +1 -0
- package/dist/chunks/combobox-DqtzsAKG.js +314 -0
- package/dist/chunks/combobox-DqtzsAKG.js.map +1 -0
- package/dist/chunks/command-list-D5k0uvkR.js +417 -0
- package/dist/chunks/command-list-D5k0uvkR.js.map +1 -0
- package/dist/chunks/{copy-button-DXxn-YYZ.js → copy-button-CNpEnS04.js} +6 -6
- package/dist/chunks/{copy-button-DXxn-YYZ.js.map → copy-button-CNpEnS04.js.map} +1 -1
- package/dist/chunks/{core-K960A4OT.js → core-CqLWVMDI.js} +36 -36
- package/dist/chunks/core-CqLWVMDI.js.map +1 -0
- package/dist/chunks/{date-popup-B-6xhb-1.js → date-popup-BgDz6SUj.js} +4 -4
- package/dist/chunks/{date-popup-B-6xhb-1.js.map → date-popup-BgDz6SUj.js.map} +1 -1
- package/dist/chunks/{de-CTAo4KL7.js → de-CkXZKaBD.js} +37 -5
- package/dist/chunks/de-CkXZKaBD.js.map +1 -0
- package/dist/chunks/dialog-truWH0qe.js +353 -0
- package/dist/chunks/dialog-truWH0qe.js.map +1 -0
- package/dist/chunks/{empty-DIbBpytW.js → empty-YXmSkKzR.js} +2 -2
- package/dist/chunks/{empty-DIbBpytW.js.map → empty-YXmSkKzR.js.map} +1 -1
- package/dist/chunks/{field-d8V94bvZ.js → field-BZriODU7.js} +3 -3
- package/dist/chunks/field-BZriODU7.js.map +1 -0
- package/dist/chunks/{icon-CeNQtobn.js → icon-BqujXDUc.js} +2 -2
- package/dist/chunks/{icon-CeNQtobn.js.map → icon-BqujXDUc.js.map} +1 -1
- package/dist/chunks/{icon-button-_x1RUphC.js → icon-button-D4O4puwH.js} +3 -3
- package/dist/chunks/{icon-button-_x1RUphC.js.map → icon-button-D4O4puwH.js.map} +1 -1
- package/dist/chunks/identity-CsZvAUwu.js +361 -0
- package/dist/chunks/identity-CsZvAUwu.js.map +1 -0
- package/dist/chunks/{input-CNTfI6YE.js → input-B0wtkcNh.js} +5 -5
- package/dist/chunks/{input-CNTfI6YE.js.map → input-B0wtkcNh.js.map} +1 -1
- package/dist/chunks/{input-group-CYA1MEoZ.js → input-group-BQLw06B0.js} +33 -27
- package/dist/chunks/input-group-BQLw06B0.js.map +1 -0
- package/dist/chunks/{inset-BLMdxX4I.js → inset-BnBj8NJV.js} +12 -2
- package/dist/chunks/inset-BnBj8NJV.js.map +1 -0
- package/dist/chunks/{iso-field-1qmg7TP8.js → iso-field-BUXgY1dB.js} +5 -3
- package/dist/chunks/{iso-field-1qmg7TP8.js.map → iso-field-BUXgY1dB.js.map} +1 -1
- package/dist/chunks/{json-view-B6KHIWzh.js → json-view-BkG2hTXV.js} +11 -10
- package/dist/chunks/{json-view-B6KHIWzh.js.map → json-view-BkG2hTXV.js.map} +1 -1
- package/dist/chunks/{kbd-CBcBDvqU.js → kbd-DqWmbr_e.js} +2 -2
- package/dist/chunks/{kbd-CBcBDvqU.js.map → kbd-DqWmbr_e.js.map} +1 -1
- package/dist/chunks/{link-vz9aV8WX.js → link-YMcxM-BZ.js} +4 -4
- package/dist/chunks/{link-vz9aV8WX.js.map → link-YMcxM-BZ.js.map} +1 -1
- package/dist/chunks/{link-provider---9JdxTg.js → link-provider-BsUxhZKG.js} +2 -2
- package/dist/chunks/{link-provider---9JdxTg.js.map → link-provider-BsUxhZKG.js.map} +1 -1
- package/dist/chunks/list-wXZIZo_s.js +492 -0
- package/dist/chunks/list-wXZIZo_s.js.map +1 -0
- package/dist/chunks/{loader-CUehxvSZ.js → loader-ENBh2Fbt.js} +2 -2
- package/dist/chunks/{loader-CUehxvSZ.js.map → loader-ENBh2Fbt.js.map} +1 -1
- package/dist/chunks/{markdown-5NyaHHfN.js → markdown-DWyxjsSY.js} +10 -10
- package/dist/chunks/{markdown-5NyaHHfN.js.map → markdown-DWyxjsSY.js.map} +1 -1
- package/dist/chunks/{menu-DyVPwgfF.js → menu-Bnfi9P3t.js} +7 -7
- package/dist/chunks/{menu-DyVPwgfF.js.map → menu-Bnfi9P3t.js.map} +1 -1
- package/dist/chunks/{meter-DWhyzFGQ.js → meter-DhTnem4k.js} +2 -2
- package/dist/chunks/{meter-DWhyzFGQ.js.map → meter-DhTnem4k.js.map} +1 -1
- package/dist/chunks/nav-sheet-QqNRHo-y.js +60 -0
- package/dist/chunks/nav-sheet-QqNRHo-y.js.map +1 -0
- package/dist/chunks/{nav-wordmark-DLkItdvo.js → nav-wordmark-DmbT1Aiw.js} +2 -2
- package/dist/chunks/{nav-wordmark-DLkItdvo.js.map → nav-wordmark-DmbT1Aiw.js.map} +1 -1
- package/dist/chunks/option-checkbox-Df7WhGn4.js +25 -0
- package/dist/chunks/option-checkbox-Df7WhGn4.js.map +1 -0
- package/dist/chunks/over-sheet-B8vzr_zU.js +8 -0
- package/dist/chunks/over-sheet-B8vzr_zU.js.map +1 -0
- package/dist/chunks/{page-header-CEPZzhRp.js → page-header-Ccnrspbp.js} +5 -5
- package/dist/chunks/{page-header-CEPZzhRp.js.map → page-header-Ccnrspbp.js.map} +1 -1
- package/dist/chunks/{pagination-CCMxQ5pH.js → pagination-CEmWZNjp.js} +5 -4
- package/dist/chunks/{pagination-CCMxQ5pH.js.map → pagination-CEmWZNjp.js.map} +1 -1
- package/dist/chunks/picker-popover-C4ElNk7t.js +102 -0
- package/dist/chunks/picker-popover-C4ElNk7t.js.map +1 -0
- package/dist/chunks/{popover-BE7VO-a4.js → popover-bjxg020P.js} +3 -3
- package/dist/chunks/{popover-BE7VO-a4.js.map → popover-bjxg020P.js.map} +1 -1
- package/dist/chunks/{radio-CUxbLCvD.js → radio-DwYcXAzv.js} +2 -2
- package/dist/chunks/{radio-CUxbLCvD.js.map → radio-DwYcXAzv.js.map} +1 -1
- package/dist/chunks/range-popup-CG9Jo5B7.js +128 -0
- package/dist/chunks/range-popup-CG9Jo5B7.js.map +1 -0
- package/dist/chunks/release-art-Chd8l9Rf.js +555 -0
- package/dist/chunks/release-art-Chd8l9Rf.js.map +1 -0
- package/dist/chunks/{resize-motion-CMaidkwe.js → resize-motion-BWGMchyP.js} +27 -23
- package/dist/chunks/resize-motion-BWGMchyP.js.map +1 -0
- package/dist/chunks/{rights-BbiJ0AJB.js → rights-hMoaFasn.js} +12 -12
- package/dist/chunks/rights-hMoaFasn.js.map +1 -0
- package/dist/chunks/{section-DzOLLN1p.js → section-BsET7Fo-.js} +4 -4
- package/dist/chunks/{section-DzOLLN1p.js.map → section-BsET7Fo-.js.map} +1 -1
- package/dist/chunks/{segmented-MrinfDL8.js → segmented-DXKVF-nY.js} +4 -4
- package/dist/chunks/{segmented-MrinfDL8.js.map → segmented-DXKVF-nY.js.map} +1 -1
- package/dist/chunks/{select-Bc4kRiSG.js → select-Bbv2f5F8.js} +63 -80
- package/dist/chunks/select-Bbv2f5F8.js.map +1 -0
- package/dist/chunks/{separator-D5AzVFTS.js → separator-CpAUELNs.js} +2 -2
- package/dist/chunks/{separator-D5AzVFTS.js.map → separator-CpAUELNs.js.map} +1 -1
- package/dist/chunks/{sidebar-5IA18LuP.js → sidebar-Dey1ZfGt.js} +54 -51
- package/dist/chunks/sidebar-Dey1ZfGt.js.map +1 -0
- package/dist/chunks/{sidebar-menu-DRWRxcJ3.js → sidebar-menu-ct8IiL4z.js} +2 -2
- package/dist/chunks/{sidebar-menu-DRWRxcJ3.js.map → sidebar-menu-ct8IiL4z.js.map} +1 -1
- package/dist/chunks/{skeleton-kfuqdl1a.js → skeleton-BM797MAg.js} +2 -2
- package/dist/chunks/{skeleton-kfuqdl1a.js.map → skeleton-BM797MAg.js.map} +1 -1
- package/dist/chunks/{slider-DbhjJ3ML.js → slider-Ds-tqY-1.js} +2 -2
- package/dist/chunks/{slider-DbhjJ3ML.js.map → slider-Ds-tqY-1.js.map} +1 -1
- package/dist/chunks/status-dot-BqVOlShY.js +29 -0
- package/dist/chunks/status-dot-BqVOlShY.js.map +1 -0
- package/dist/chunks/{styles-Btvg2DCf.js → styles-CVJU9t9v.js} +2 -2
- package/dist/chunks/{styles-Btvg2DCf.js.map → styles-CVJU9t9v.js.map} +1 -1
- package/dist/chunks/{swap-text-BhPI8DOf.js → swap-text-Cica0pUr.js} +2 -2
- package/dist/chunks/{swap-text-BhPI8DOf.js.map → swap-text-Cica0pUr.js.map} +1 -1
- package/dist/chunks/{switch-XMY_CQE-.js → switch-CSKMEomo.js} +3 -3
- package/dist/chunks/{switch-XMY_CQE-.js.map → switch-CSKMEomo.js.map} +1 -1
- package/dist/chunks/{table-DYKa86af.js → table-D-36EM7f.js} +2 -2
- package/dist/chunks/{table-DYKa86af.js.map → table-D-36EM7f.js.map} +1 -1
- package/dist/chunks/{tag-Dg89uYpV.js → tag-CwDKXVHj.js} +4 -4
- package/dist/chunks/{tag-Dg89uYpV.js.map → tag-CwDKXVHj.js.map} +1 -1
- package/dist/chunks/{text--5MKh2G4.js → text-Dvvgg5Jt.js} +3 -3
- package/dist/chunks/{text--5MKh2G4.js.map → text-Dvvgg5Jt.js.map} +1 -1
- package/dist/chunks/{textarea-Cj8iR82R.js → textarea-2d373OyU.js} +35 -31
- package/dist/chunks/textarea-2d373OyU.js.map +1 -0
- package/dist/chunks/timeseries-LRDAZHV0.js +339 -0
- package/dist/chunks/timeseries-LRDAZHV0.js.map +1 -0
- package/dist/chunks/{toolbar-Dw3uxpsE.js → toolbar-nVLFWH2i.js} +3 -3
- package/dist/chunks/{toolbar-Dw3uxpsE.js.map → toolbar-nVLFWH2i.js.map} +1 -1
- package/dist/chunks/{tooltip-DEbCCsru.js → tooltip-S1DmyLVl.js} +4 -4
- package/dist/chunks/{tooltip-DEbCCsru.js.map → tooltip-S1DmyLVl.js.map} +1 -1
- package/dist/chunks/{tooltip-root-DRd4ciUv.js → tooltip-root-vjylFUqw.js} +4 -4
- package/dist/chunks/{tooltip-root-DRd4ciUv.js.map → tooltip-root-vjylFUqw.js.map} +1 -1
- package/dist/chunks/{virtual-rows-BZe49bKi.js → virtual-rows-yAMjeAwj.js} +4 -3
- package/dist/chunks/virtual-rows-yAMjeAwj.js.map +1 -0
- package/dist/chunks/{zh-CN-C7GmVswt.js → zh-CN-CqEA4PCM.js} +37 -5
- package/dist/chunks/zh-CN-CqEA4PCM.js.map +1 -0
- 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 +33 -32
- 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 +34 -31
- package/dist/components/charts/bar.js.map +1 -1
- package/dist/components/charts/donut.js +2 -2
- package/dist/components/charts/gauge.js +2 -2
- package/dist/components/charts/heatmap.js +1 -1
- package/dist/components/charts/sankey.js +2 -2
- package/dist/components/charts/sparkline.js +1 -1
- package/dist/components/charts/timeseries.js +1 -252
- package/dist/components/charts.js +3 -3
- package/dist/components/checkbox.js +1 -1
- package/dist/components/code-block.js +2 -2
- package/dist/components/code.js +1 -1
- package/dist/components/collapsible.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-list.js +4 -0
- package/dist/components/command-palette.js +120 -171
- package/dist/components/command-palette.js.map +1 -1
- package/dist/components/copy-button.js +1 -1
- package/dist/components/data-table.js +251 -193
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-picker.js +7 -7
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/dialog.js +7 -9
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/display-options.js +67 -53
- 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/filter-chip.js +138 -63
- package/dist/components/filter-chip.js.map +1 -1
- package/dist/components/filter-row.js +2 -2
- package/dist/components/flow.js +2 -2
- 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 +56 -54
- package/dist/components/input.js.map +1 -1
- package/dist/components/kaeso/conversation.js +88 -79
- package/dist/components/kaeso/conversation.js.map +1 -1
- package/dist/components/kaeso/identity.js +1 -1
- package/dist/components/kaeso/moments.js +8 -8
- package/dist/components/kaeso/moments.js.map +1 -1
- package/dist/components/kaeso/rights.js +1 -1
- package/dist/components/kaeso/usage.js +6 -6
- package/dist/components/kaeso/usage.js.map +1 -1
- package/dist/components/kaeso.js +212 -84
- package/dist/components/kaeso.js.map +1 -1
- package/dist/components/kbd.js +1 -1
- package/dist/components/key-value.js +3 -3
- package/dist/components/label.js +1 -1
- package/dist/components/layout.js +1 -1
- package/dist/components/link.js +1 -1
- package/dist/components/list.js +1 -1
- package/dist/components/loader.js +2 -2
- 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 +654 -381
- package/dist/components/playground.js.map +1 -1
- package/dist/components/popover.js +2 -2
- package/dist/components/qr-code.js +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/release-art.js +2 -0
- 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 +3 -3
- package/dist/components/sheet.js +69 -52
- 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 +88 -74
- 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 +48 -49
- 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 +2 -2
- package/dist/components/theme-select.js +1 -1
- package/dist/components/timeline.js +1 -1
- package/dist/components/toast.js +4 -4
- package/dist/components/toc.js +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/format.js +132 -79
- package/dist/format.js.map +1 -1
- package/dist/i18n-provider.js +1 -1
- package/dist/index.js +115 -111
- package/dist/kaeso.css +43 -8
- package/dist/styles.css +1 -1
- package/dist/types/components/charts/bar.d.ts +6 -0
- package/dist/types/components/charts/core.d.ts +2 -2
- package/dist/types/components/charts/docs.d.ts +7 -0
- package/dist/types/components/charts/time-axis.d.ts +5 -0
- package/dist/types/components/charts/timeseries.d.ts +9 -0
- package/dist/types/components/code-block/highlighter.d.ts +2 -0
- package/dist/types/components/combobox/combobox.d.ts +2 -0
- package/dist/types/components/combobox/docs.d.ts +2 -4
- package/dist/types/components/command-list/command-list.d.ts +84 -0
- package/dist/types/components/command-list/docs.d.ts +52 -0
- package/dist/types/components/command-list/index.d.ts +3 -0
- package/dist/types/components/command-list/match.d.ts +1 -0
- package/dist/types/components/command-list/picker-popover.d.ts +44 -0
- package/dist/types/components/data-table/data-table.d.ts +3 -2
- package/dist/types/components/data-table/docs.d.ts +1 -0
- package/dist/types/components/date-picker/docs.d.ts +0 -6
- package/dist/types/components/dialog/dialog.d.ts +24 -0
- package/dist/types/components/dialog/docs.d.ts +4 -0
- package/dist/types/components/display-options/display-options.d.ts +1 -0
- package/dist/types/components/filter-chip/docs.d.ts +4 -0
- package/dist/types/components/filter-chip/filter-chip.d.ts +7 -0
- package/dist/types/components/input/docs.d.ts +2 -12
- package/dist/types/components/input/number-input.d.ts +1 -0
- package/dist/types/components/input/tag-input.d.ts +1 -0
- package/dist/types/components/kaeso/docs.d.ts +34 -0
- package/dist/types/components/kaeso/identity.d.ts +10 -1
- package/dist/types/components/kaeso/index.d.ts +1 -0
- package/dist/types/components/kaeso/provider-marks.d.ts +5 -1
- package/dist/types/components/kaeso/provider-picker.d.ts +42 -0
- package/dist/types/components/list/docs.d.ts +2 -0
- package/dist/types/components/list/list.d.ts +2 -0
- package/dist/types/components/menu/styles.d.ts +1 -1
- package/dist/types/components/playground/docs.d.ts +32 -0
- package/dist/types/components/playground/index.d.ts +1 -0
- package/dist/types/components/playground/model-picker.d.ts +39 -4
- package/dist/types/components/playground/reasoning.d.ts +29 -0
- package/dist/types/components/playground/response-view.d.ts +7 -1
- package/dist/types/components/release-art/docs.d.ts +13 -0
- package/dist/types/components/release-art/drawing.d.ts +48 -0
- package/dist/types/components/release-art/index.d.ts +1 -0
- package/dist/types/components/release-art/release-art.d.ts +37 -0
- package/dist/types/components/select/docs.d.ts +0 -2
- package/dist/types/components/select/option-checkbox.d.ts +1 -0
- package/dist/types/components/sidebar/sidebar.d.ts +1 -0
- package/dist/types/components/stat/docs.d.ts +1 -0
- package/dist/types/components/stat/stat.d.ts +1 -0
- package/dist/types/components/status-dot/docs.d.ts +2 -0
- package/dist/types/components/status-dot/status-dot.d.ts +2 -0
- package/dist/types/format/index.d.ts +8 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/utils/index.d.ts +1 -1
- package/dist/types/utils/inset.d.ts +5 -0
- package/dist/types/utils/over-sheet.d.ts +1 -0
- package/dist/types/utils/restore-focus.d.ts +1 -1
- package/dist/utils.js +4 -4
- package/foundations/accessibility.md +1 -0
- package/foundations/layout.md +45 -0
- package/foundations/writing.md +1 -0
- package/package.json +2 -2
- package/dist/chunks/app-frame-BXh-06HL.js +0 -214
- package/dist/chunks/app-frame-BXh-06HL.js.map +0 -1
- package/dist/chunks/cn-CidVUKMm.js.map +0 -1
- package/dist/chunks/code-block-DxtladFW.js.map +0 -1
- package/dist/chunks/collapsible-Cw_1aem5.js.map +0 -1
- package/dist/chunks/combobox-D30Wt11R.js +0 -291
- package/dist/chunks/combobox-D30Wt11R.js.map +0 -1
- package/dist/chunks/core-K960A4OT.js.map +0 -1
- package/dist/chunks/de-CTAo4KL7.js.map +0 -1
- package/dist/chunks/dialog-LNKgPEsV.js +0 -319
- package/dist/chunks/dialog-LNKgPEsV.js.map +0 -1
- package/dist/chunks/field-d8V94bvZ.js.map +0 -1
- package/dist/chunks/field-press-DwzBFafd.js +0 -10
- package/dist/chunks/field-press-DwzBFafd.js.map +0 -1
- package/dist/chunks/identity-BtZC_d_Q.js +0 -342
- package/dist/chunks/identity-BtZC_d_Q.js.map +0 -1
- package/dist/chunks/input-group-CYA1MEoZ.js.map +0 -1
- package/dist/chunks/inset-BLMdxX4I.js.map +0 -1
- package/dist/chunks/list-CzaiyNja.js +0 -483
- package/dist/chunks/list-CzaiyNja.js.map +0 -1
- package/dist/chunks/nav-sheet-BIErlV74.js +0 -58
- package/dist/chunks/nav-sheet-BIErlV74.js.map +0 -1
- package/dist/chunks/range-popup-DGOnGGag.js +0 -111
- package/dist/chunks/range-popup-DGOnGGag.js.map +0 -1
- package/dist/chunks/resize-motion-CMaidkwe.js.map +0 -1
- package/dist/chunks/rights-BbiJ0AJB.js.map +0 -1
- package/dist/chunks/select-Bc4kRiSG.js.map +0 -1
- package/dist/chunks/sidebar-5IA18LuP.js.map +0 -1
- package/dist/chunks/status-dot-CBoQpyL4.js +0 -25
- package/dist/chunks/status-dot-CBoQpyL4.js.map +0 -1
- package/dist/chunks/textarea-Cj8iR82R.js.map +0 -1
- package/dist/chunks/virtual-rows-BZe49bKi.js.map +0 -1
- package/dist/chunks/zh-CN-C7GmVswt.js.map +0 -1
- package/dist/components/charts/timeseries.js.map +0 -1
|
@@ -1,342 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { t as e } from "./cn-CidVUKMm.js";
|
|
3
|
-
import { i as t } from "./context-BELWW79w.js";
|
|
4
|
-
import { formatNumber as n } from "../format.js";
|
|
5
|
-
import { t as r } from "./icon-CeNQtobn.js";
|
|
6
|
-
import { r as i } from "./tooltip-DEbCCsru.js";
|
|
7
|
-
import { n as a } from "./copy-button-DXxn-YYZ.js";
|
|
8
|
-
import { t as o } from "./badge-Dkyhs0_j.js";
|
|
9
|
-
import { forwardRef as s } from "react";
|
|
10
|
-
import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
11
|
-
import { CpuIcon as d, Image01Icon as f, Pdf01Icon as p, SourceCodeIcon as m, ToolsIcon as h } from "@hugeicons/core-free-icons";
|
|
12
|
-
//#region src/components/kaeso/provider-marks.ts
|
|
13
|
-
var g = {
|
|
14
|
-
openai: "M9.205 8.658v-2.26c0-.19.072-.333.238-.428l4.543-2.616c.619-.357 1.356-.523 2.117-.523 2.854 0 4.662 2.212 4.662 4.566 0 .167 0 .357-.024.547l-4.71-2.759a.797.797 0 00-.856 0l-5.97 3.473zm10.609 8.8V12.06c0-.333-.143-.57-.429-.737l-5.97-3.473 1.95-1.118a.433.433 0 01.476 0l4.543 2.617c1.309.76 2.189 2.378 2.189 3.948 0 1.808-1.07 3.473-2.76 4.163zM7.802 12.703l-1.95-1.142c-.167-.095-.239-.238-.239-.428V5.899c0-2.545 1.95-4.472 4.591-4.472 1 0 1.927.333 2.712.928L8.23 5.067c-.285.166-.428.404-.428.737v6.898zM12 15.128l-2.795-1.57v-3.33L12 8.658l2.795 1.57v3.33L12 15.128zm1.796 7.23c-1 0-1.927-.332-2.712-.927l4.686-2.712c.285-.166.428-.404.428-.737v-6.898l1.974 1.142c.167.095.238.238.238.428v5.233c0 2.545-1.974 4.472-4.614 4.472zm-5.637-5.303l-4.544-2.617c-1.308-.761-2.188-2.378-2.188-3.948A4.482 4.482 0 014.21 6.327v5.423c0 .333.143.571.428.738l5.947 3.449-1.95 1.118a.432.432 0 01-.476 0zm-.262 3.9c-2.688 0-4.662-2.021-4.662-4.519 0-.19.024-.38.047-.57l4.686 2.71c.286.167.571.167.856 0l5.97-3.448v2.26c0 .19-.07.333-.237.428l-4.543 2.616c-.619.357-1.356.523-2.117.523zm5.899 2.83a5.947 5.947 0 005.827-4.756C22.287 18.339 24 15.84 24 13.296c0-1.665-.713-3.282-1.998-4.448.119-.5.19-.999.19-1.498 0-3.401-2.759-5.947-5.946-5.947-.642 0-1.26.095-1.88.31A5.962 5.962 0 0010.205 0a5.947 5.947 0 00-5.827 4.757C1.713 5.447 0 7.945 0 10.49c0 1.666.713 3.283 1.998 4.448-.119.5-.19 1-.19 1.499 0 3.401 2.759 5.946 5.946 5.946.642 0 1.26-.095 1.88-.309a5.96 5.96 0 004.162 1.713z",
|
|
15
|
-
anthropic: "M13.827 3.52h3.603L24 20h-3.603l-6.57-16.48zm-7.258 0h3.767L16.906 20h-3.674l-1.343-3.461H5.017l-1.344 3.46H0L6.57 3.522zm4.132 9.959L8.453 7.687 6.205 13.48H10.7z"
|
|
16
|
-
}, _ = { provider: {
|
|
17
|
-
sm: { classes: "size-16 rounded-cell text-micro" },
|
|
18
|
-
md: { classes: "size-20 rounded-avatar text-micro" },
|
|
19
|
-
lg: { classes: "size-28 rounded-org text-caption" },
|
|
20
|
-
xl: { classes: "size-40 rounded-org text-body" }
|
|
21
|
-
} }, v = { provider: "md" }, y = {
|
|
22
|
-
openai: "O",
|
|
23
|
-
anthropic: "A",
|
|
24
|
-
google: "G",
|
|
25
|
-
mistral: "M",
|
|
26
|
-
groq: "Gq",
|
|
27
|
-
deepseek: "D",
|
|
28
|
-
xai: "X",
|
|
29
|
-
cohere: "C",
|
|
30
|
-
bedrock: "B",
|
|
31
|
-
azure: "Az",
|
|
32
|
-
ollama: "Ol"
|
|
33
|
-
}, b = {
|
|
34
|
-
openai: "OpenAI",
|
|
35
|
-
anthropic: "Anthropic",
|
|
36
|
-
google: "Google",
|
|
37
|
-
mistral: "Mistral",
|
|
38
|
-
groq: "Groq",
|
|
39
|
-
deepseek: "DeepSeek",
|
|
40
|
-
xai: "xAI",
|
|
41
|
-
cohere: "Cohere",
|
|
42
|
-
bedrock: "Amazon Bedrock",
|
|
43
|
-
azure: "Azure OpenAI",
|
|
44
|
-
ollama: "Ollama"
|
|
45
|
-
}, x = (e) => b[e] ?? e, S = {
|
|
46
|
-
sm: "size-10",
|
|
47
|
-
md: "size-12",
|
|
48
|
-
lg: "size-16",
|
|
49
|
-
xl: "size-24"
|
|
50
|
-
}, C = /* @__PURE__ */ s(function({ provider: t, size: n = "md", withName: r, className: i }, a) {
|
|
51
|
-
let o = g[t], s = /* @__PURE__ */ l("span", {
|
|
52
|
-
"aria-hidden": r || void 0,
|
|
53
|
-
...r ? {} : {
|
|
54
|
-
role: "img",
|
|
55
|
-
"aria-label": x(t)
|
|
56
|
-
},
|
|
57
|
-
className: e("inline-flex shrink-0 items-center justify-center bg-fill-1 font-semibold shadow-ring", o ? "text-fg" : "text-fg-secondary", _.provider[n].classes),
|
|
58
|
-
children: o ? /* @__PURE__ */ l("svg", {
|
|
59
|
-
viewBox: "0 0 24 24",
|
|
60
|
-
fill: "currentColor",
|
|
61
|
-
fillRule: "evenodd",
|
|
62
|
-
"aria-hidden": !0,
|
|
63
|
-
className: S[n],
|
|
64
|
-
children: /* @__PURE__ */ l("path", { d: o })
|
|
65
|
-
}) : y[t] ?? t.slice(0, 1).toUpperCase()
|
|
66
|
-
});
|
|
67
|
-
return r ? /* @__PURE__ */ u("span", {
|
|
68
|
-
ref: a,
|
|
69
|
-
className: e("inline-flex max-w-full min-w-0 items-center gap-8 text-body text-fg", i),
|
|
70
|
-
children: [s, /* @__PURE__ */ l("span", {
|
|
71
|
-
className: "min-w-0 truncate",
|
|
72
|
-
children: x(t)
|
|
73
|
-
})]
|
|
74
|
-
}) : /* @__PURE__ */ l("span", {
|
|
75
|
-
ref: a,
|
|
76
|
-
className: e("inline-flex", i),
|
|
77
|
-
children: s
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
process.env.NODE_ENV !== "production" && (C.displayName = "ProviderBadge");
|
|
81
|
-
var w = {
|
|
82
|
-
tools: h,
|
|
83
|
-
reasoning: d,
|
|
84
|
-
vision: f,
|
|
85
|
-
pdf: p,
|
|
86
|
-
structuredOutput: m
|
|
87
|
-
};
|
|
88
|
-
function T(e) {
|
|
89
|
-
return {
|
|
90
|
-
tools: e("modelLabel.toolCalling", "Tool calling"),
|
|
91
|
-
reasoning: e("modelLabel.reasoning", "Reasoning"),
|
|
92
|
-
vision: e("modelLabel.imageInput", "Image input"),
|
|
93
|
-
pdf: e("modelLabel.pdfInput", "PDF input"),
|
|
94
|
-
structuredOutput: e("modelLabel.structuredOutput", "Structured output")
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
var E = 14, D = /* @__PURE__ */ s(function({ provider: n, model: a, name: o, capabilities: s = [], className: d }, f) {
|
|
98
|
-
let p = t(), m = T(p);
|
|
99
|
-
return /* @__PURE__ */ u("span", {
|
|
100
|
-
ref: f,
|
|
101
|
-
className: e("inline-flex max-w-full min-w-0 items-center gap-8", d),
|
|
102
|
-
children: [
|
|
103
|
-
/* @__PURE__ */ l(C, { provider: n }),
|
|
104
|
-
o ? /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l("span", {
|
|
105
|
-
className: "min-w-0 truncate text-body text-fg",
|
|
106
|
-
children: o
|
|
107
|
-
}), /* @__PURE__ */ u("span", {
|
|
108
|
-
className: "flex h-20 min-w-0 flex-1 basis-0 flex-wrap content-start items-center overflow-hidden",
|
|
109
|
-
children: [/* @__PURE__ */ l("span", {
|
|
110
|
-
"aria-hidden": !0,
|
|
111
|
-
className: "h-20 w-0"
|
|
112
|
-
}), /* @__PURE__ */ l("span", {
|
|
113
|
-
className: e("flex-1 truncate mono text-small text-fg-secondary", a.length <= E ? "min-w-max" : "min-w-96"),
|
|
114
|
-
children: a
|
|
115
|
-
})]
|
|
116
|
-
})] }) : /* @__PURE__ */ l("span", {
|
|
117
|
-
className: "min-w-0 truncate mono text-small text-fg",
|
|
118
|
-
children: a
|
|
119
|
-
}),
|
|
120
|
-
s.length > 0 && /* @__PURE__ */ l("span", {
|
|
121
|
-
role: "img",
|
|
122
|
-
className: "hidden shrink-0 items-center gap-2 sm:flex",
|
|
123
|
-
"aria-label": p("modelLabel.capabilities", "Capabilities: {list}", { list: s.map((e) => m[e]).join(p("modelLabel.listSeparator", ", ")) }),
|
|
124
|
-
children: s.map((e) => /* @__PURE__ */ l(i, {
|
|
125
|
-
content: m[e],
|
|
126
|
-
children: /* @__PURE__ */ l("span", {
|
|
127
|
-
className: "inline-flex size-20 items-center justify-center rounded-pill text-fg-tertiary hover:text-fg",
|
|
128
|
-
children: /* @__PURE__ */ l(r, {
|
|
129
|
-
icon: w[e],
|
|
130
|
-
size: "xs"
|
|
131
|
-
})
|
|
132
|
-
})
|
|
133
|
-
}, e))
|
|
134
|
-
})
|
|
135
|
-
]
|
|
136
|
-
});
|
|
137
|
-
});
|
|
138
|
-
process.env.NODE_ENV !== "production" && (D.displayName = "ModelLabel");
|
|
139
|
-
var O = {
|
|
140
|
-
active: "success",
|
|
141
|
-
disabled: "neutral",
|
|
142
|
-
expired: "warning",
|
|
143
|
-
archived: "neutral"
|
|
144
|
-
};
|
|
145
|
-
function k(e) {
|
|
146
|
-
return {
|
|
147
|
-
inference: e("keyDisplay.inference", "Inference"),
|
|
148
|
-
platform: e("keyDisplay.platform", "Platform"),
|
|
149
|
-
both: e("keyDisplay.inferenceAndPlatform", "Inference + platform")
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
function A(e) {
|
|
153
|
-
return {
|
|
154
|
-
active: e("keyDisplay.active", "Active"),
|
|
155
|
-
disabled: e("keyDisplay.disabled", "Disabled"),
|
|
156
|
-
expired: e("keyDisplay.expired", "Expired"),
|
|
157
|
-
archived: e("keyDisplay.archived", "Archived")
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
var j = /* @__PURE__ */ s(function({ redacted: n, state: r = "active", access: i, copy: s = !0, className: c }, d) {
|
|
161
|
-
let f = t();
|
|
162
|
-
return /* @__PURE__ */ u("span", {
|
|
163
|
-
ref: d,
|
|
164
|
-
className: e("group/key inline-flex max-w-full min-w-0 items-center gap-8", c),
|
|
165
|
-
children: [
|
|
166
|
-
/* @__PURE__ */ l("span", {
|
|
167
|
-
className: e("min-w-0 truncate mono text-small", r === "active" ? "text-fg" : "text-fg-secondary"),
|
|
168
|
-
children: n
|
|
169
|
-
}),
|
|
170
|
-
r !== "active" && /* @__PURE__ */ l(o, {
|
|
171
|
-
tone: O[r] === "warning" ? "warning" : "neutral",
|
|
172
|
-
children: A(f)[r]
|
|
173
|
-
}),
|
|
174
|
-
i && /* @__PURE__ */ l(o, {
|
|
175
|
-
tone: i === "inference" ? "neutral" : "outline",
|
|
176
|
-
children: k(f)[i]
|
|
177
|
-
}),
|
|
178
|
-
s && /* @__PURE__ */ l("span", {
|
|
179
|
-
className: "opacity-0 transition-control group-hover/key:opacity-100 coarse:opacity-100 focus-within:opacity-100",
|
|
180
|
-
children: /* @__PURE__ */ l(a, {
|
|
181
|
-
value: n,
|
|
182
|
-
size: "xs",
|
|
183
|
-
label: f("keyDisplay.copyRedactedKey", "Copy redacted key")
|
|
184
|
-
})
|
|
185
|
-
})
|
|
186
|
-
]
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
process.env.NODE_ENV !== "production" && (j.displayName = "KeyDisplay");
|
|
190
|
-
var M = (e) => e >= 500 ? "danger" : e >= 400 ? "warning" : "neutral";
|
|
191
|
-
function N(e) {
|
|
192
|
-
return {
|
|
193
|
-
200: e("statusCode.ok", "OK"),
|
|
194
|
-
201: e("statusCode.created", "Created"),
|
|
195
|
-
204: e("statusCode.noContent", "No content"),
|
|
196
|
-
400: e("statusCode.badRequest", "Bad request"),
|
|
197
|
-
401: e("statusCode.unauthorized", "Unauthorized"),
|
|
198
|
-
403: e("statusCode.forbidden", "Forbidden"),
|
|
199
|
-
404: e("statusCode.notFound", "Not found"),
|
|
200
|
-
408: e("statusCode.timeout", "Timeout"),
|
|
201
|
-
409: e("statusCode.conflict", "Conflict"),
|
|
202
|
-
413: e("statusCode.tooLarge", "Too large"),
|
|
203
|
-
422: e("statusCode.unprocessable", "Unprocessable"),
|
|
204
|
-
429: e("statusCode.rateLimited", "Rate limited"),
|
|
205
|
-
499: e("statusCode.clientClosed", "Client closed"),
|
|
206
|
-
500: e("statusCode.serverError", "Server error"),
|
|
207
|
-
502: e("statusCode.badGateway", "Bad gateway"),
|
|
208
|
-
503: e("statusCode.unavailable", "Unavailable"),
|
|
209
|
-
504: e("statusCode.gatewayTimeout", "Gateway timeout"),
|
|
210
|
-
529: e("statusCode.overloaded", "Overloaded")
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
var P = /* @__PURE__ */ s(function({ code: n, showText: r, className: a }, o) {
|
|
214
|
-
let s = t(), c = N(s)[n], d = M(n), f = {
|
|
215
|
-
danger: "text-danger-text",
|
|
216
|
-
warning: "text-warning-text",
|
|
217
|
-
neutral: n >= 200 && n < 300 ? "text-fg" : "text-fg-secondary"
|
|
218
|
-
}[d], p = /* @__PURE__ */ u("span", {
|
|
219
|
-
ref: o,
|
|
220
|
-
tabIndex: r ? void 0 : 0,
|
|
221
|
-
className: e("inline-flex items-center gap-6 outline-none", a),
|
|
222
|
-
children: [
|
|
223
|
-
/* @__PURE__ */ l("span", {
|
|
224
|
-
className: e("mono text-small font-medium tabular", f),
|
|
225
|
-
children: n
|
|
226
|
-
}),
|
|
227
|
-
r && /* @__PURE__ */ l("span", {
|
|
228
|
-
className: "text-small text-fg-secondary",
|
|
229
|
-
children: c ?? ""
|
|
230
|
-
}),
|
|
231
|
-
/* @__PURE__ */ l("span", {
|
|
232
|
-
className: "sr-only",
|
|
233
|
-
children: c ?? ""
|
|
234
|
-
})
|
|
235
|
-
]
|
|
236
|
-
});
|
|
237
|
-
return r || !c ? p : /* @__PURE__ */ l(i, {
|
|
238
|
-
content: s("statusCode.tooltip", "{code} {text}", {
|
|
239
|
-
code: String(n),
|
|
240
|
-
text: c
|
|
241
|
-
}),
|
|
242
|
-
children: p
|
|
243
|
-
});
|
|
244
|
-
});
|
|
245
|
-
process.env.NODE_ENV !== "production" && (P.displayName = "StatusCode");
|
|
246
|
-
var F = /* @__PURE__ */ s(function({ ttfbMs: r, totalMs: i, width: a = 240, className: o }, s) {
|
|
247
|
-
let c = t(), d = i > 0 ? Math.min(1, r / i) : 0, f = (e) => e < 1e3 ? `${Math.round(e)} ms` : `${n(e / 1e3, {
|
|
248
|
-
minimumFractionDigits: 1,
|
|
249
|
-
maximumFractionDigits: 1,
|
|
250
|
-
useGrouping: !1
|
|
251
|
-
})} s`;
|
|
252
|
-
return /* @__PURE__ */ u("div", {
|
|
253
|
-
ref: s,
|
|
254
|
-
className: e("flex flex-col gap-6", a === "full" ? "w-full" : a === 240 ? "w-240" : "w-160", o),
|
|
255
|
-
role: "img",
|
|
256
|
-
"aria-label": c("requestTimeline.label", "Time to first byte {ttfb} of {total} total", {
|
|
257
|
-
ttfb: f(r),
|
|
258
|
-
total: f(i)
|
|
259
|
-
}),
|
|
260
|
-
children: [/* @__PURE__ */ u("div", {
|
|
261
|
-
className: "flex h-6 w-full gap-2 overflow-hidden rounded-pill",
|
|
262
|
-
children: [/* @__PURE__ */ l("span", {
|
|
263
|
-
className: "h-full rounded-l-pill bg-viz-1",
|
|
264
|
-
style: { width: `${d * 100}%` }
|
|
265
|
-
}), /* @__PURE__ */ l("span", { className: "h-full flex-1 rounded-r-pill bg-fill-3" })]
|
|
266
|
-
}), /* @__PURE__ */ u("div", {
|
|
267
|
-
className: "flex justify-between gap-8 text-caption font-medium text-fg-tertiary",
|
|
268
|
-
children: [/* @__PURE__ */ u("span", {
|
|
269
|
-
className: "flex min-w-0 flex-col",
|
|
270
|
-
children: [/* @__PURE__ */ l("span", {
|
|
271
|
-
className: "whitespace-nowrap text-fg-secondary tabular",
|
|
272
|
-
children: f(r)
|
|
273
|
-
}), /* @__PURE__ */ l("span", {
|
|
274
|
-
className: "wrap-break-word",
|
|
275
|
-
children: c("requestTimeline.firstByte", "First byte")
|
|
276
|
-
})]
|
|
277
|
-
}), /* @__PURE__ */ u("span", {
|
|
278
|
-
className: "flex min-w-0 flex-col items-end text-right",
|
|
279
|
-
children: [/* @__PURE__ */ l("span", {
|
|
280
|
-
className: "whitespace-nowrap text-fg-secondary tabular",
|
|
281
|
-
children: f(i)
|
|
282
|
-
}), /* @__PURE__ */ l("span", {
|
|
283
|
-
className: "wrap-break-word",
|
|
284
|
-
children: c("requestTimeline.totalTime", "Total")
|
|
285
|
-
})]
|
|
286
|
-
})]
|
|
287
|
-
})]
|
|
288
|
-
});
|
|
289
|
-
});
|
|
290
|
-
process.env.NODE_ENV !== "production" && (F.displayName = "RequestTimeline");
|
|
291
|
-
var I = /* @__PURE__ */ s(function({ provider: n, connected: r, status: i, keyLabel: a, detail: s, actions: c, className: d }, f) {
|
|
292
|
-
let p = t();
|
|
293
|
-
return /* @__PURE__ */ u("section", {
|
|
294
|
-
ref: f,
|
|
295
|
-
"aria-label": x(n),
|
|
296
|
-
className: e("flex min-w-0 flex-col gap-16 rounded-group bg-raised p-20 shadow-xs", d),
|
|
297
|
-
children: [
|
|
298
|
-
/* @__PURE__ */ u("div", {
|
|
299
|
-
className: "flex min-w-0 items-center gap-12",
|
|
300
|
-
children: [
|
|
301
|
-
/* @__PURE__ */ l(C, {
|
|
302
|
-
provider: n,
|
|
303
|
-
size: "xl"
|
|
304
|
-
}),
|
|
305
|
-
/* @__PURE__ */ u("div", {
|
|
306
|
-
className: "flex min-w-0 flex-1 flex-col gap-2",
|
|
307
|
-
children: [/* @__PURE__ */ l("h3", {
|
|
308
|
-
className: "truncate text-body-lg font-semibold text-fg",
|
|
309
|
-
children: x(n)
|
|
310
|
-
}), /* @__PURE__ */ l("span", {
|
|
311
|
-
className: "text-small text-fg-secondary text-pretty",
|
|
312
|
-
children: i
|
|
313
|
-
})]
|
|
314
|
-
}),
|
|
315
|
-
/* @__PURE__ */ l(o, {
|
|
316
|
-
tone: r ? "success" : "neutral",
|
|
317
|
-
children: r ? p("providerCard.connected", "Connected") : p("providerCard.notConnected", "Not connected")
|
|
318
|
-
})
|
|
319
|
-
]
|
|
320
|
-
}),
|
|
321
|
-
(a || s) && /* @__PURE__ */ u("div", {
|
|
322
|
-
className: "flex min-w-0 flex-col gap-2 rounded-well bg-fill-1 px-12 py-10",
|
|
323
|
-
children: [a && /* @__PURE__ */ l("span", {
|
|
324
|
-
className: "truncate text-body text-fg",
|
|
325
|
-
children: a
|
|
326
|
-
}), s && /* @__PURE__ */ l("span", {
|
|
327
|
-
className: "truncate text-small text-fg-tertiary",
|
|
328
|
-
children: s
|
|
329
|
-
})]
|
|
330
|
-
}),
|
|
331
|
-
c && /* @__PURE__ */ l("div", {
|
|
332
|
-
className: "mt-auto flex flex-wrap items-center gap-8",
|
|
333
|
-
children: c
|
|
334
|
-
})
|
|
335
|
-
]
|
|
336
|
-
});
|
|
337
|
-
});
|
|
338
|
-
process.env.NODE_ENV !== "production" && (I.displayName = "ProviderCard");
|
|
339
|
-
//#endregion
|
|
340
|
-
export { C as a, P as c, D as i, x as l, _ as n, I as o, j as r, F as s, v as t };
|
|
341
|
-
|
|
342
|
-
//# sourceMappingURL=identity-BtZC_d_Q.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity-BtZC_d_Q.js","names":["__icon_ToolsIcon","__icon_CpuIcon","__icon_Image01Icon","__icon_Pdf01Icon","__icon_SourceCodeIcon","_Fragment","cn","useUiText","Icon","Tooltip","CopyButton","Badge","Fragment$1","PROVIDER_MARKS","KAESO_IDENTITY_VARIANTS","KAESO_IDENTITY_DEFAULT_VARIANTS","PROVIDER_LETTERS","PROVIDER_NAMES","providerName","id","MARK_SIZE","ProviderBadge","path","provider","mark","withName","size","className","CAP_ICON","ToolsIcon","CpuIcon","Image01Icon","Pdf01Icon","SourceCodeIcon","capabilityLabels","t","SHORT_ID","ModelLabel","capLabel","name","model","capabilities","c","KEY_TONE","accessLabels","stateLabels","KeyDisplay","state","redacted","access","copy","STATUS_CLASS","code","statusTexts","StatusCode","text","tone","color","el","showText","RequestTimeline","ratio","totalMs","ttfbMs","fmt","ms","formatNumber","width","ProviderCard","status","connected","keyLabel","detail","actions"],"sources":["../../src/components/kaeso/provider-marks.ts","../../src/components/kaeso/identity.tsx"],"sourcesContent":["export const PROVIDER_MARKS: Record<string, string> = {\n openai:\n \"M9.205 8.658v-2.26c0-.19.072-.333.238-.428l4.543-2.616c.619-.357 1.356-.523 2.117-.523 2.854 0 4.662 2.212 4.662 4.566 0 .167 0 .357-.024.547l-4.71-2.759a.797.797 0 00-.856 0l-5.97 3.473zm10.609 8.8V12.06c0-.333-.143-.57-.429-.737l-5.97-3.473 1.95-1.118a.433.433 0 01.476 0l4.543 2.617c1.309.76 2.189 2.378 2.189 3.948 0 1.808-1.07 3.473-2.76 4.163zM7.802 12.703l-1.95-1.142c-.167-.095-.239-.238-.239-.428V5.899c0-2.545 1.95-4.472 4.591-4.472 1 0 1.927.333 2.712.928L8.23 5.067c-.285.166-.428.404-.428.737v6.898zM12 15.128l-2.795-1.57v-3.33L12 8.658l2.795 1.57v3.33L12 15.128zm1.796 7.23c-1 0-1.927-.332-2.712-.927l4.686-2.712c.285-.166.428-.404.428-.737v-6.898l1.974 1.142c.167.095.238.238.238.428v5.233c0 2.545-1.974 4.472-4.614 4.472zm-5.637-5.303l-4.544-2.617c-1.308-.761-2.188-2.378-2.188-3.948A4.482 4.482 0 014.21 6.327v5.423c0 .333.143.571.428.738l5.947 3.449-1.95 1.118a.432.432 0 01-.476 0zm-.262 3.9c-2.688 0-4.662-2.021-4.662-4.519 0-.19.024-.38.047-.57l4.686 2.71c.286.167.571.167.856 0l5.97-3.448v2.26c0 .19-.07.333-.237.428l-4.543 2.616c-.619.357-1.356.523-2.117.523zm5.899 2.83a5.947 5.947 0 005.827-4.756C22.287 18.339 24 15.84 24 13.296c0-1.665-.713-3.282-1.998-4.448.119-.5.19-.999.19-1.498 0-3.401-2.759-5.947-5.946-5.947-.642 0-1.26.095-1.88.31A5.962 5.962 0 0010.205 0a5.947 5.947 0 00-5.827 4.757C1.713 5.447 0 7.945 0 10.49c0 1.666.713 3.283 1.998 4.448-.119.5-.19 1-.19 1.499 0 3.401 2.759 5.946 5.946 5.946.642 0 1.26-.095 1.88-.309a5.96 5.96 0 004.162 1.713z\",\n anthropic:\n \"M13.827 3.52h3.603L24 20h-3.603l-6.57-16.48zm-7.258 0h3.767L16.906 20h-3.674l-1.343-3.461H5.017l-1.344 3.46H0L6.57 3.522zm4.132 9.959L8.453 7.687 6.205 13.48H10.7z\",\n};\n","import { forwardRef, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { ToolsIcon as __icon_ToolsIcon, CpuIcon as __icon_CpuIcon, Image01Icon as __icon_Image01Icon, Pdf01Icon as __icon_Pdf01Icon, SourceCodeIcon as __icon_SourceCodeIcon } from \"@hugeicons/core-free-icons\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { Tooltip } from \"../tooltip/tooltip.js\";\nimport { Badge } from \"../badge/badge.js\";\nimport { CopyButton } from \"../copy-button/copy-button.js\";\nimport { PROVIDER_MARKS } from \"./provider-marks.js\";\nimport { formatNumber } from \"../../format/index.js\";\nimport { useUiText, type UiText } from \"../../i18n/context.js\";\n\nexport const KAESO_IDENTITY_VARIANTS = {\n provider: {\n sm: { classes: \"size-16 rounded-cell text-micro\" },\n md: { classes: \"size-20 rounded-avatar text-micro\" },\n lg: { classes: \"size-28 rounded-org text-caption\" },\n xl: { classes: \"size-40 rounded-org text-body\" },\n },\n} as const;\nexport const KAESO_IDENTITY_DEFAULT_VARIANTS = { provider: \"md\" } as const;\n\nconst PROVIDER_LETTERS: Record<string, string> = {\n openai: \"O\",\n anthropic: \"A\",\n google: \"G\",\n mistral: \"M\",\n groq: \"Gq\",\n deepseek: \"D\",\n xai: \"X\",\n cohere: \"C\",\n bedrock: \"B\",\n azure: \"Az\",\n ollama: \"Ol\",\n};\nconst PROVIDER_NAMES: Record<string, string> = {\n openai: \"OpenAI\",\n anthropic: \"Anthropic\",\n google: \"Google\",\n mistral: \"Mistral\",\n groq: \"Groq\",\n deepseek: \"DeepSeek\",\n xai: \"xAI\",\n cohere: \"Cohere\",\n bedrock: \"Amazon Bedrock\",\n azure: \"Azure OpenAI\",\n ollama: \"Ollama\",\n};\nexport const providerName = (id: string) => PROVIDER_NAMES[id] ?? id;\n\nconst MARK_SIZE = { sm: \"size-10\", md: \"size-12\", lg: \"size-16\", xl: \"size-24\" } as const;\n\nexport const ProviderBadge = /* @__PURE__ */ forwardRef<\n HTMLSpanElement,\n { provider: string; size?: keyof typeof KAESO_IDENTITY_VARIANTS.provider | undefined; withName?: boolean | undefined; className?: string | undefined }\n>(function ProviderBadge({ provider, size = \"md\", withName, className }, ref) {\n const path = PROVIDER_MARKS[provider];\n const mark = (\n <span\n aria-hidden={withName || undefined}\n {...(!withName ? { role: \"img\", \"aria-label\": providerName(provider) } : {})}\n className={cn(\n \"inline-flex shrink-0 items-center justify-center bg-fill-1 font-semibold shadow-ring\",\n path ? \"text-fg\" : \"text-fg-secondary\",\n KAESO_IDENTITY_VARIANTS.provider[size].classes,\n )}\n >\n {path ? (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" fillRule=\"evenodd\" aria-hidden className={MARK_SIZE[size]}>\n <path d={path} />\n </svg>\n ) : (\n (PROVIDER_LETTERS[provider] ?? provider.slice(0, 1).toUpperCase())\n )}\n </span>\n );\n if (!withName)\n return (\n <span ref={ref} className={cn(\"inline-flex\", className)}>\n {mark}\n </span>\n );\n return (\n <span ref={ref} className={cn(\"inline-flex max-w-full min-w-0 items-center gap-8 text-body text-fg\", className)}>\n {mark}\n <span className=\"min-w-0 truncate\">{providerName(provider)}</span>\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") ProviderBadge.displayName = \"ProviderBadge\";\n\nexport type Capability = \"tools\" | \"reasoning\" | \"vision\" | \"pdf\" | \"structuredOutput\";\nconst CAP_ICON: Record<Capability, IconData> = {\n tools: __icon_ToolsIcon,\n reasoning: __icon_CpuIcon,\n vision: __icon_Image01Icon,\n pdf: __icon_Pdf01Icon,\n structuredOutput: __icon_SourceCodeIcon,\n};\nfunction capabilityLabels(t: UiText): Record<Capability, string> {\n return {\n tools: t(\"modelLabel.toolCalling\", \"Tool calling\"),\n reasoning: t(\"modelLabel.reasoning\", \"Reasoning\"),\n vision: t(\"modelLabel.imageInput\", \"Image input\"),\n pdf: t(\"modelLabel.pdfInput\", \"PDF input\"),\n structuredOutput: t(\"modelLabel.structuredOutput\", \"Structured output\"),\n };\n}\n\nconst SHORT_ID = 14;\n\nexport interface ModelLabelProps {\n provider: string;\n model: string;\n name?: string | undefined;\n capabilities?: Capability[] | undefined;\n className?: string | undefined;\n}\n\nexport const ModelLabel = /* @__PURE__ */ forwardRef<HTMLSpanElement, ModelLabelProps>(function ModelLabel({ provider, model, name, capabilities = [], className }, ref) {\n const t = useUiText();\n const capLabel = capabilityLabels(t);\n return (\n <span ref={ref} className={cn(\"inline-flex max-w-full min-w-0 items-center gap-8\", className)}>\n <ProviderBadge provider={provider} />\n {name ? (\n <>\n <span className=\"min-w-0 truncate text-body text-fg\">{name}</span>\n <span className=\"flex h-20 min-w-0 flex-1 basis-0 flex-wrap content-start items-center overflow-hidden\">\n <span aria-hidden className=\"h-20 w-0\" />\n <span className={cn(\"flex-1 truncate mono text-small text-fg-secondary\", model.length <= SHORT_ID ? \"min-w-max\" : \"min-w-96\")}>{model}</span>\n </span>\n </>\n ) : (\n <span className=\"min-w-0 truncate mono text-small text-fg\">{model}</span>\n )}\n {capabilities.length > 0 && (\n <span\n role=\"img\"\n className=\"hidden shrink-0 items-center gap-2 sm:flex\"\n aria-label={t(\"modelLabel.capabilities\", \"Capabilities: {list}\", {\n list: capabilities.map((c) => capLabel[c]).join(t(\"modelLabel.listSeparator\", \", \")),\n })}\n >\n {capabilities.map((c) => (\n <Tooltip key={c} content={capLabel[c]}>\n <span className=\"inline-flex size-20 items-center justify-center rounded-pill text-fg-tertiary hover:text-fg\">\n <Icon icon={CAP_ICON[c]} size=\"xs\" />\n </span>\n </Tooltip>\n ))}\n </span>\n )}\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") ModelLabel.displayName = \"ModelLabel\";\n\nexport type KeyState = \"active\" | \"disabled\" | \"expired\" | \"archived\";\nconst KEY_TONE: Record<KeyState, \"success\" | \"neutral\" | \"warning\"> = { active: \"success\", disabled: \"neutral\", expired: \"warning\", archived: \"neutral\" };\n\nexport interface KeyDisplayProps {\n redacted: string;\n state?: KeyState | undefined;\n access?: \"inference\" | \"platform\" | \"both\" | undefined;\n copy?: boolean | undefined;\n className?: string | undefined;\n}\n\nfunction accessLabels(t: UiText) {\n return {\n inference: t(\"keyDisplay.inference\", \"Inference\"),\n platform: t(\"keyDisplay.platform\", \"Platform\"),\n both: t(\"keyDisplay.inferenceAndPlatform\", \"Inference + platform\"),\n };\n}\n\nfunction stateLabels(t: UiText): Record<KeyState, string> {\n return {\n active: t(\"keyDisplay.active\", \"Active\"),\n disabled: t(\"keyDisplay.disabled\", \"Disabled\"),\n expired: t(\"keyDisplay.expired\", \"Expired\"),\n archived: t(\"keyDisplay.archived\", \"Archived\"),\n };\n}\n\nexport const KeyDisplay = /* @__PURE__ */ forwardRef<HTMLSpanElement, KeyDisplayProps>(function KeyDisplay(\n { redacted, state = \"active\", access, copy = true, className },\n ref,\n) {\n const t = useUiText();\n return (\n <span ref={ref} className={cn(\"group/key inline-flex max-w-full min-w-0 items-center gap-8\", className)}>\n <span className={cn(\"min-w-0 truncate mono text-small\", state === \"active\" ? \"text-fg\" : \"text-fg-secondary\")}>{redacted}</span>\n {state !== \"active\" && <Badge tone={KEY_TONE[state] === \"warning\" ? \"warning\" : \"neutral\"}>{stateLabels(t)[state]}</Badge>}\n {access && <Badge tone={access === \"inference\" ? \"neutral\" : \"outline\"}>{accessLabels(t)[access]}</Badge>}\n {copy && (\n <span className=\"opacity-0 transition-control group-hover/key:opacity-100 coarse:opacity-100 focus-within:opacity-100\">\n <CopyButton value={redacted} size=\"xs\" label={t(\"keyDisplay.copyRedactedKey\", \"Copy redacted key\")} />\n </span>\n )}\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") KeyDisplay.displayName = \"KeyDisplay\";\n\nconst STATUS_CLASS = (code: number) => (code >= 500 ? \"danger\" : code >= 400 ? \"warning\" : \"neutral\") as \"danger\" | \"warning\" | \"neutral\";\nfunction statusTexts(t: UiText): Record<number, string> {\n return {\n 200: t(\"statusCode.ok\", \"OK\"),\n 201: t(\"statusCode.created\", \"Created\"),\n 204: t(\"statusCode.noContent\", \"No content\"),\n 400: t(\"statusCode.badRequest\", \"Bad request\"),\n 401: t(\"statusCode.unauthorized\", \"Unauthorized\"),\n 403: t(\"statusCode.forbidden\", \"Forbidden\"),\n 404: t(\"statusCode.notFound\", \"Not found\"),\n 408: t(\"statusCode.timeout\", \"Timeout\"),\n 409: t(\"statusCode.conflict\", \"Conflict\"),\n 413: t(\"statusCode.tooLarge\", \"Too large\"),\n 422: t(\"statusCode.unprocessable\", \"Unprocessable\"),\n 429: t(\"statusCode.rateLimited\", \"Rate limited\"),\n 499: t(\"statusCode.clientClosed\", \"Client closed\"),\n 500: t(\"statusCode.serverError\", \"Server error\"),\n 502: t(\"statusCode.badGateway\", \"Bad gateway\"),\n 503: t(\"statusCode.unavailable\", \"Unavailable\"),\n 504: t(\"statusCode.gatewayTimeout\", \"Gateway timeout\"),\n 529: t(\"statusCode.overloaded\", \"Overloaded\"),\n };\n}\n\nexport const StatusCode = /* @__PURE__ */ forwardRef<HTMLSpanElement, { code: number; showText?: boolean | undefined; className?: string | undefined }>(function StatusCode(\n { code, showText, className },\n ref,\n) {\n const t = useUiText();\n const text = statusTexts(t)[code];\n const tone = STATUS_CLASS(code);\n const color = { danger: \"text-danger-text\", warning: \"text-warning-text\", neutral: code >= 200 && code < 300 ? \"text-fg\" : \"text-fg-secondary\" }[tone];\n const el = (\n <span ref={ref} tabIndex={showText ? undefined : 0} className={cn(\"inline-flex items-center gap-6 outline-none\", className)}>\n <span className={cn(\"mono text-small font-medium tabular\", color)}>{code}</span>\n {showText && <span className=\"text-small text-fg-secondary\">{text ?? \"\"}</span>}\n <span className=\"sr-only\">{text ?? \"\"}</span>\n </span>\n );\n return showText || !text ? el : <Tooltip content={t(\"statusCode.tooltip\", \"{code} {text}\", { code: String(code), text })}>{el}</Tooltip>;\n});\nif (process.env.NODE_ENV !== \"production\") StatusCode.displayName = \"StatusCode\";\n\nexport const RequestTimeline = /* @__PURE__ */ forwardRef<\n HTMLDivElement,\n { ttfbMs: number; totalMs: number; width?: 160 | 240 | \"full\" | undefined; className?: string | undefined }\n>(function RequestTimeline({ ttfbMs, totalMs, width = 240, className }, ref) {\n const t = useUiText();\n const ratio = totalMs > 0 ? Math.min(1, ttfbMs / totalMs) : 0;\n const fmt = (ms: number) =>\n ms < 1000 ? `${Math.round(ms)} ms` : `${formatNumber(ms / 1000, { minimumFractionDigits: 1, maximumFractionDigits: 1, useGrouping: false })} s`;\n return (\n <div\n ref={ref}\n className={cn(\"flex flex-col gap-6\", width === \"full\" ? \"w-full\" : width === 240 ? \"w-240\" : \"w-160\", className)}\n role=\"img\"\n aria-label={t(\"requestTimeline.label\", \"Time to first byte {ttfb} of {total} total\", { ttfb: fmt(ttfbMs), total: fmt(totalMs) })}\n >\n <div className=\"flex h-6 w-full gap-2 overflow-hidden rounded-pill\">\n <span className=\"h-full rounded-l-pill bg-viz-1\" style={{ width: `${ratio * 100}%` }} />\n <span className=\"h-full flex-1 rounded-r-pill bg-fill-3\" />\n </div>\n <div className=\"flex justify-between gap-8 text-caption font-medium text-fg-tertiary\">\n <span className=\"flex min-w-0 flex-col\">\n <span className=\"whitespace-nowrap text-fg-secondary tabular\">{fmt(ttfbMs)}</span>\n <span className=\"wrap-break-word\">{t(\"requestTimeline.firstByte\", \"First byte\")}</span>\n </span>\n <span className=\"flex min-w-0 flex-col items-end text-right\">\n <span className=\"whitespace-nowrap text-fg-secondary tabular\">{fmt(totalMs)}</span>\n <span className=\"wrap-break-word\">{t(\"requestTimeline.totalTime\", \"Total\")}</span>\n </span>\n </div>\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") RequestTimeline.displayName = \"RequestTimeline\";\n\nexport interface ProviderCardProps {\n provider: string;\n connected: boolean;\n status: ReactNode;\n keyLabel?: ReactNode | undefined;\n detail?: ReactNode | undefined;\n actions?: ReactNode | undefined;\n className?: string | undefined;\n}\n\nexport const ProviderCard = /* @__PURE__ */ forwardRef<HTMLDivElement, ProviderCardProps>(function ProviderCard(\n { provider, connected, status, keyLabel, detail, actions, className },\n ref,\n) {\n const t = useUiText();\n return (\n <section ref={ref} aria-label={providerName(provider)} className={cn(\"flex min-w-0 flex-col gap-16 rounded-group bg-raised p-20 shadow-xs\", className)}>\n <div className=\"flex min-w-0 items-center gap-12\">\n <ProviderBadge provider={provider} size=\"xl\" />\n <div className=\"flex min-w-0 flex-1 flex-col gap-2\">\n <h3 className=\"truncate text-body-lg font-semibold text-fg\">{providerName(provider)}</h3>\n <span className=\"text-small text-fg-secondary text-pretty\">{status}</span>\n </div>\n <Badge tone={connected ? \"success\" : \"neutral\"}>\n {connected ? t(\"providerCard.connected\", \"Connected\") : t(\"providerCard.notConnected\", \"Not connected\")}\n </Badge>\n </div>\n {(keyLabel || detail) && (\n <div className=\"flex min-w-0 flex-col gap-2 rounded-well bg-fill-1 px-12 py-10\">\n {keyLabel && <span className=\"truncate text-body text-fg\">{keyLabel}</span>}\n {detail && <span className=\"truncate text-small text-fg-tertiary\">{detail}</span>}\n </div>\n )}\n {actions && <div className=\"mt-auto flex flex-wrap items-center gap-8\">{actions}</div>}\n </section>\n );\n});\nif (process.env.NODE_ENV !== \"production\") ProviderCard.displayName = \"ProviderCard\";\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-group-CYA1MEoZ.js","names":["cn","focusInputOnPress","KAESO_INPUT_GROUP_VARIANTS","KAESO_INPUT_GROUP_DEFAULT_VARIANTS","LEADING","TRAILING_BUTTON","INPUT_ICON_SIZE","Ctx","Root","props","size","leadingIcon","trailingButton","disabled","className","invalid","readOnly","Input","Addon","useContext","icon","Icon","children","GroupButton","Button","InputGroup","useInputGroupSize"],"sources":["../../src/components/input/input-group.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport { createContext, forwardRef, useContext, type HTMLAttributes, type InputHTMLAttributes } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { focusInputOnPress } from \"../../utils/field-press.js\";\nimport { Icon, type IconData, type IconSize } from \"../icon/icon.js\";\nimport { Button } from \"../button/button.js\";\n\nexport const KAESO_INPUT_GROUP_VARIANTS = {\n size: {\n sm: { classes: \"h-32 px-12 gap-6 text-body\" },\n md: { classes: \"h-36 px-16 gap-8 text-body\" },\n lg: { classes: \"h-40 px-18 gap-8 text-body\" },\n xl: { classes: \"h-48 px-22 gap-8 text-body-lg\" },\n },\n} as const;\nexport const KAESO_INPUT_GROUP_DEFAULT_VARIANTS = { size: \"md\" } as const;\nexport type InputSize = keyof typeof KAESO_INPUT_GROUP_VARIANTS.size;\n\nconst LEADING: Record<InputSize, string> = { sm: \"pl-10\", md: \"pl-14\", lg: \"pl-16\", xl: \"pl-20\" };\nconst TRAILING_BUTTON: Record<InputSize, string> = { sm: \"pr-4\", md: \"pr-2\", lg: \"pr-4\", xl: \"pr-6\" };\nexport const INPUT_ICON_SIZE: Record<InputSize, IconSize> = { sm: \"sm\", md: \"sm\", lg: \"md\", xl: \"lg\" };\n\nconst Ctx = /* @__PURE__ */ createContext<{ size: InputSize }>({ size: \"md\" });\n\nexport interface InputGroupProps extends HTMLAttributes<HTMLDivElement> {\n size?: InputSize | undefined;\n leadingIcon?: boolean | undefined;\n trailingButton?: boolean | undefined;\n invalid?: boolean | undefined;\n disabled?: boolean | undefined;\n readOnly?: boolean | undefined;\n \"data-force\"?: string | undefined;\n}\n\nconst Root = /* @__PURE__ */ forwardRef<HTMLDivElement, InputGroupProps>(function InputGroup(\n { size = \"md\", leadingIcon, trailingButton, invalid, disabled, readOnly, className, children, ...props },\n ref,\n) {\n return (\n <Ctx.Provider value={{ size }}>\n <div\n ref={ref}\n className={cn(\n \"relative flex w-full min-w-0 items-center rounded-pill material-field transition-control cursor-text\",\n KAESO_INPUT_GROUP_VARIANTS.size[size].classes,\n leadingIcon && LEADING[size],\n trailingButton && TRAILING_BUTTON[size],\n disabled && \"cursor-not-allowed\",\n className,\n )}\n {...(invalid ? { \"data-invalid\": \"\" } : {})}\n {...(disabled ? { \"data-disabled\": \"\" } : {})}\n {...(readOnly ? { \"data-readonly\": \"\" } : {})}\n onMouseDown={focusInputOnPress}\n {...props}\n >\n {children}\n </div>\n </Ctx.Provider>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Root.displayName = \"InputGroup\";\n\nexport interface InputGroupInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, \"size\"> {}\n\nconst Input = /* @__PURE__ */ forwardRef<HTMLInputElement, InputGroupInputProps>(function InputGroupInput({ className, ...props }, ref) {\n return (\n <input\n ref={ref}\n className={cn(\n \"min-w-0 flex-1 bg-transparent bidi-plaintext text-inherit text-fg outline-none placeholder:text-fg-tertiary disabled:cursor-not-allowed disabled:text-fg-disabled read-only:cursor-text\",\n className,\n )}\n {...props}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") Input.displayName = \"InputGroup.Input\";\n\nexport interface InputGroupAddonProps extends HTMLAttributes<HTMLSpanElement> {\n icon?: IconData | undefined;\n}\n\nconst Addon = /* @__PURE__ */ forwardRef<HTMLSpanElement, InputGroupAddonProps>(function InputGroupAddon({ icon, className, children, ...props }, ref) {\n const { size } = useContext(Ctx);\n return (\n <span ref={ref} className={cn(\"inline-flex shrink-0 items-center gap-4 bidi-plaintext text-fg-secondary select-none\", className)} {...props}>\n {icon && <Icon icon={icon} size={INPUT_ICON_SIZE[size]} />}\n {children}\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Addon.displayName = \"InputGroup.Addon\";\n\nexport interface InputGroupButtonProps {\n icon: IconData;\n \"aria-label\": string;\n onClick?: (() => void) | undefined;\n disabled?: boolean | undefined;\n className?: string | undefined;\n}\n\nconst GroupButton = /* @__PURE__ */ forwardRef<HTMLButtonElement, InputGroupButtonProps>(function InputGroupButton({ icon, className, ...props }, ref) {\n const { size } = useContext(Ctx);\n return (\n <Button\n ref={ref as React.Ref<HTMLButtonElement & HTMLAnchorElement>}\n shape=\"circle\"\n variant=\"quiet\"\n size={size === \"xl\" ? \"md\" : size === \"lg\" ? \"sm\" : size === \"md\" ? \"sm\" : \"xs\"}\n icon={icon}\n className={className}\n {...props}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") GroupButton.displayName = \"InputGroup.Button\";\n\nexport const InputGroup = /* @__PURE__ */ Object.assign(Root, { Input, Addon, Button: GroupButton });\nexport const useInputGroupSize = () => useContext(Ctx).size;\n"],"mappings":";;;;;;;;AAOA,IAAaE,IAA6B,EACxC,MAAM;CACJ,IAAI,EAAE,SAAS,6BAA6B;CAC5C,IAAI,EAAE,SAAS,6BAA6B;CAC5C,IAAI,EAAE,SAAS,6BAA6B;CAC5C,IAAI,EAAE,SAAS,gCAAgC;AACjD,EACF,GACaC,IAAqC,EAAE,MAAM,KAAK,GAGzDC,IAAqC;CAAE,IAAI;CAAS,IAAI;CAAS,IAAI;CAAS,IAAI;AAAQ,GAC1FC,IAA6C;CAAE,IAAI;CAAQ,IAAI;CAAQ,IAAI;CAAQ,IAAI;AAAO,GACvFC,IAA+C;CAAE,IAAI;CAAM,IAAI;CAAM,IAAI;CAAM,IAAI;AAAK,GAE/FC,IAAsB,kBAAmC,EAAE,MAAM,KAAK,CAAC,GAYvEC,IAAuB,kBAA4C,SACvE,EAAE,UAAO,MAAM,gBAAa,mBAAgB,YAAS,aAAU,aAAU,cAAW,aAAU,GAAGC,KACjG,GACA;CACA,OACE,kBAACF,EAAI,UAAL;EAAc,OAAO,EAAE,QAAK;EAC1B,UAAA,kBAAC,OAAD;GACO;GACL,WAAWP,EACT,wGACAE,EAA2B,KAAKQ,EAAK,CAAC,SACtCC,KAAeP,EAAQM,IACvBE,KAAkBP,EAAgBK,IAClCG,KAAY,sBACZC,CACF;GACA,GAAKC,IAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;GACzC,GAAKF,IAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;GAC3C,GAAKG,IAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;GAC3C,aAAaf;GACb,GAAIQ;GAEH;EACE,CAAA;CACO,CAAA;AAElB,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAK,cAAc;AAI9D,IAAMQ,IAAwB,kBAAmD,SAAyB,EAAE,cAAW,GAAGR,KAAS,GAAK;CACtI,OACE,kBAAC,SAAD;EACO;EACL,WAAWT,EACT,2LACAc,CACF;EACA,GAAIL;CACL,CAAA;AAEL,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAM,cAAc;AAM/D,IAAMS,IAAwB,kBAAkD,SAAyB,EAAE,SAAM,cAAW,aAAU,GAAGT,KAAS,GAAK;CACrJ,IAAM,EAAE,YAASU,EAAWZ,CAAG;CAC/B,OACE,kBAAC,QAAD;EAAW;EAAK,WAAWP,EAAG,wFAAwFc,CAAS;EAAG,GAAIL;EAAtI,UAAA,CACGW,KAAQ,kBAACC,GAAD;GAAY;GAAM,MAAMf,EAAgBI;EAAQ,CAAA,GACxDY,CACG;;AAEV,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAM,cAAc;AAU/D,IAAMC,IAA8B,kBAAqD,SAA0B,EAAE,SAAM,cAAW,GAAGd,KAAS,GAAK;CACrJ,IAAM,EAAE,YAASU,EAAWZ,CAAG;CAC/B,OACE,kBAACiB,GAAD;EACO;EACL,OAAM;EACN,SAAQ;EACR,MAAMd,MAAS,OAAO,OAAOA,MAAS,QAAcA,MAAS,OAAhB,OAA8B;EACrE;EACK;EACX,GAAID;CACL,CAAA;AAEL,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAY,cAAc;AAErE,IAAagB,IAA6B,uBAAO,OAAOjB,GAAM;CAAE;CAAO;CAAO,QAAQe;AAAY,CAAC,GACtFG,UAA0BP,EAAWZ,CAAG,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inset-BLMdxX4I.js","names":["InsetContext","InsetContent","inset","useInset","useContext"],"sources":["../../src/utils/inset.tsx"],"sourcesContent":["import { createContext, useContext, type ReactNode } from \"react\";\n\nconst InsetContext = /* @__PURE__ */ createContext(false);\n\nexport function InsetContent({ children, inset = true }: { children: ReactNode; inset?: boolean | undefined }) {\n return <InsetContext.Provider value={inset}>{children}</InsetContext.Provider>;\n}\n\nexport function useInset(): boolean {\n return useContext(InsetContext);\n}\n"],"mappings":";;;;AAEA,IAAMA,IAA+B,kBAAc,EAAK;AAExD,SAAgBC,EAAa,EAAE,aAAU,WAAQ,MAA8D;CAC7G,OAAO,kBAACD,EAAa,UAAd;EAAuB,OAAOE;EAAQ;CAAgC,CAAA;AAC/E;AAEA,SAAgBC,IAAoB;CAClC,OAAOC,EAAWJ,CAAY;AAChC"}
|