@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
|
@@ -12,7 +12,17 @@ function i({ children: e, inset: t = !0 }) {
|
|
|
12
12
|
function a() {
|
|
13
13
|
return t(r);
|
|
14
14
|
}
|
|
15
|
+
var o = /* @__PURE__ */ e(!1);
|
|
16
|
+
function s({ children: e, padded: t = !0 }) {
|
|
17
|
+
return /* @__PURE__ */ n(o.Provider, {
|
|
18
|
+
value: t,
|
|
19
|
+
children: e
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function c() {
|
|
23
|
+
return t(o);
|
|
24
|
+
}
|
|
15
25
|
//#endregion
|
|
16
|
-
export { a as
|
|
26
|
+
export { a as i, i as n, c as r, s as t };
|
|
17
27
|
|
|
18
|
-
//# sourceMappingURL=inset-
|
|
28
|
+
//# sourceMappingURL=inset-BnBj8NJV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inset-BnBj8NJV.js","names":["InsetContext","InsetContent","inset","useInset","useContext","GutterContext","GutterContent","padded","useGutterPadded"],"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\nconst GutterContext = /* @__PURE__ */ createContext(false);\n\nexport function GutterContent({ children, padded = true }: { children: ReactNode; padded?: boolean | undefined }) {\n return <GutterContext.Provider value={padded}>{children}</GutterContext.Provider>;\n}\n\nexport function useGutterPadded(): boolean {\n return useContext(GutterContext);\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;AAEA,IAAMK,IAAgC,kBAAc,EAAK;AAEzD,SAAgBC,EAAc,EAAE,aAAU,YAAS,MAA+D;CAChH,OAAO,kBAACD,EAAc,UAAf;EAAwB,OAAOE;EAAS;CAAiC,CAAA;AAClF;AAEA,SAAgBC,IAA2B;CACzC,OAAOJ,EAAWC,CAAa;AACjC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { i as e } from "./context-BELWW79w.js";
|
|
3
3
|
import { formatISODate as t, parseISODate as n } from "../format.js";
|
|
4
|
-
import { n as r } from "./input-group-
|
|
4
|
+
import { n as r } from "./input-group-BQLw06B0.js";
|
|
5
5
|
import { useState as i } from "react";
|
|
6
6
|
import { jsx as a } from "react/jsx-runtime";
|
|
7
7
|
//#region src/components/date-picker/iso-field.tsx
|
|
@@ -21,11 +21,13 @@ function o({ label: o, value: s, onCommit: c }) {
|
|
|
21
21
|
let e = n(u);
|
|
22
22
|
(!e || c(e) === !1) && d(s ? t(s) : "");
|
|
23
23
|
},
|
|
24
|
-
onKeyDown: (e) =>
|
|
24
|
+
onKeyDown: (e) => {
|
|
25
|
+
e.key === "Enter" && (e.preventDefault(), e.target.blur());
|
|
26
|
+
}
|
|
25
27
|
})
|
|
26
28
|
});
|
|
27
29
|
}
|
|
28
30
|
//#endregion
|
|
29
31
|
export { o as t };
|
|
30
32
|
|
|
31
|
-
//# sourceMappingURL=iso-field-
|
|
33
|
+
//# sourceMappingURL=iso-field-BUXgY1dB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iso-field-
|
|
1
|
+
{"version":3,"file":"iso-field-BUXgY1dB.js","names":["useUiText","InputGroup","IsoField","t","text","setText","useState","value","formatISODate","shown","setShown","label","d","parseISODate","onCommit"],"sources":["../../src/components/date-picker/iso-field.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { InputGroup } from \"../input/input-group.js\";\nimport { formatISODate, parseISODate } from \"../../format/index.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport function IsoField({ label, value, onCommit }: { label: string; value: Date | undefined; onCommit: (d: Date) => boolean | void }) {\n const t = useUiText();\n const [text, setText] = useState(value ? formatISODate(value) : \"\");\n const [shown, setShown] = useState(value);\n if (value !== shown) {\n setShown(value);\n setText(value ? formatISODate(value) : \"\");\n }\n return (\n <InputGroup size=\"sm\" className=\"flex-1\">\n <InputGroup.Input\n aria-label={label}\n placeholder={t(\"datePicker.isoPlaceholder\", \"YYYY-MM-DD\")}\n value={text}\n inputMode=\"numeric\"\n className=\"mono text-small\"\n onChange={(e) => setText(e.target.value)}\n onBlur={() => {\n const d = parseISODate(text);\n if (!d || onCommit(d) === false) setText(value ? formatISODate(value) : \"\");\n }}\n onKeyDown={(e) => {\n if (e.key !== \"Enter\") return;\n e.preventDefault();\n (e.target as HTMLInputElement).blur();\n }}\n />\n </InputGroup>\n );\n}\n"],"mappings":";;;;;;;AAKA,SAAgBE,EAAS,EAAE,UAAO,UAAO,eAA+F;CACtI,IAAMC,IAAIH,EAAU,GACd,CAACI,GAAMC,KAAWC,EAASC,IAAQC,EAAcD,CAAK,IAAI,EAAE,GAC5D,CAACE,GAAOC,KAAYJ,EAASC,CAAK;CAKxC,OAJIA,MAAUE,MACZC,EAASH,CAAK,GACdF,EAAQE,IAAQC,EAAcD,CAAK,IAAI,EAAE,IAGzC,kBAACN,GAAD;EAAY,MAAK;EAAK,WAAU;EAC9B,UAAA,kBAACA,EAAW,OAAZ;GACE,cAAYU;GACZ,aAAaR,EAAE,6BAA6B,YAAY;GACxD,OAAOC;GACP,WAAU;GACV,WAAU;GACV,WAAW,MAAMC,EAAQ,EAAE,OAAO,KAAK;GACvC,cAAc;IACZ,IAAMO,IAAIC,EAAaT,CAAI;IAC3B,CAAI,CAACQ,KAAKE,EAASF,CAAC,MAAM,OAAOP,EAAQE,IAAQC,EAAcD,CAAK,IAAI,EAAE;GAC5E;GACA,YAAY,MAAM;IAChB,AAAI,EAAE,QAAQ,YACd,EAAE,eAAe,GACjB,EAAG,OAA4B,KAAK;GACtC;EACD,CAAA;CACS,CAAA;AAEhB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { t as e } from "./cn-
|
|
2
|
+
import { t as e } from "./cn-DUDmdLpZ.js";
|
|
3
3
|
import { i as t } from "./context-BELWW79w.js";
|
|
4
|
-
import { t as n } from "./icon-
|
|
4
|
+
import { t as n } from "./icon-BqujXDUc.js";
|
|
5
5
|
import { t as r } from "./use-copy-Dm2ncvMX.js";
|
|
6
6
|
import { forwardRef as i, useState as a } from "react";
|
|
7
7
|
import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
@@ -150,19 +150,20 @@ function _({ name: r, value: i, path: u, depth: d, open: f, query: p, last: v })
|
|
|
150
150
|
children: [D, T]
|
|
151
151
|
})] })] });
|
|
152
152
|
}
|
|
153
|
-
var v = /* @__PURE__ */ i(function({ value:
|
|
153
|
+
var v = /* @__PURE__ */ i(function({ value: n, defaultDepth: r = 2, query: i, surface: a = "well", className: o }, c) {
|
|
154
|
+
let l = t();
|
|
154
155
|
return /* @__PURE__ */ s("div", {
|
|
155
|
-
ref:
|
|
156
|
+
ref: c,
|
|
156
157
|
tabIndex: 0,
|
|
157
158
|
role: "region",
|
|
158
|
-
"aria-label": "JSON",
|
|
159
|
-
className: e("mono overflow-x-auto text-small focus-ring-inset leading-code text-fg scrollbar-quiet", f.surface[
|
|
159
|
+
"aria-label": l("jsonView.label", "JSON"),
|
|
160
|
+
className: e("mono overflow-x-auto text-small focus-ring-inset leading-code text-fg scrollbar-quiet", f.surface[a].classes, o),
|
|
160
161
|
children: /* @__PURE__ */ s(_, {
|
|
161
|
-
value:
|
|
162
|
+
value: n,
|
|
162
163
|
path: "",
|
|
163
164
|
depth: 0,
|
|
164
|
-
open:
|
|
165
|
-
query:
|
|
165
|
+
open: r,
|
|
166
|
+
query: i,
|
|
166
167
|
last: !0
|
|
167
168
|
})
|
|
168
169
|
});
|
|
@@ -171,4 +172,4 @@ process.env.NODE_ENV !== "production" && (v.displayName = "JsonView");
|
|
|
171
172
|
//#endregion
|
|
172
173
|
export { p as n, f as r, v as t };
|
|
173
174
|
|
|
174
|
-
//# sourceMappingURL=json-view-
|
|
175
|
+
//# sourceMappingURL=json-view-BkG2hTXV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-view-B6KHIWzh.js","names":["_Fragment","__icon_Tick02Icon","__icon_Copy01Icon","__icon_ArrowRight01Icon","cn","useUiText","Icon","useCopy","Fragment$1","KAESO_JSON_VIEW_VARIANTS","KAESO_JSON_VIEW_DEFAULT_VARIANTS","Mark","query","text","i","Scalar","v","CopyPath","t","copied","e","copy","path","Tick02Icon","Copy01Icon","Node","initialOpen","open","setOpen","useState","depth","isObj","value","entries","keyLabel","name","comma","last","o","c","ArrowRight01Icon","k","JsonView","surface","className","defaultDepth"],"sources":["../../src/components/code-block/json-view.tsx"],"sourcesContent":["import { forwardRef, useState, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { Tick02Icon as __icon_Tick02Icon, Copy01Icon as __icon_Copy01Icon, ArrowRight01Icon as __icon_ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { Icon } from \"../icon/icon.js\";\nimport { useCopy } from \"../../hooks/use-copy.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_JSON_VIEW_VARIANTS = {\n surface: {\n well: { classes: \"rounded-well bg-fill-1 p-16\" },\n plain: { classes: \"\" },\n },\n} as const;\nexport const KAESO_JSON_VIEW_DEFAULT_VARIANTS = { surface: \"well\" } as const;\n\ntype Json = string | number | boolean | null | Json[] | { [k: string]: Json };\n\nexport interface JsonViewProps {\n value: unknown;\n defaultDepth?: number | undefined;\n query?: string | undefined;\n surface?: keyof typeof KAESO_JSON_VIEW_VARIANTS.surface | undefined;\n className?: string | undefined;\n}\n\nfunction Mark({ text, query }: { text: string; query?: string | undefined }) {\n if (!query) return <>{text}</>;\n const i = text.toLowerCase().indexOf(query.toLowerCase());\n if (i < 0) return <>{text}</>;\n return (\n <>\n {text.slice(0, i)}\n <mark className=\"rounded-cell bg-warning-tint text-inherit ring-mark\">{text.slice(i, i + query.length)}</mark>\n {text.slice(i + query.length)}\n </>\n );\n}\n\nfunction Scalar({ v, query }: { v: Json; query?: string | undefined }) {\n if (v === null) return <span className=\"font-semibold text-fg\">null</span>;\n if (typeof v === \"boolean\") return <span className=\"font-semibold text-fg\">{String(v)}</span>;\n if (typeof v === \"number\") return <span className=\"text-warning-text tabular\">{v}</span>;\n return (\n <span className=\"break-all text-info-text\">\n \"<Mark text={String(v)} query={query} />\"\n </span>\n );\n}\n\nfunction CopyPath({ path }: { path: string }) {\n const { copied, copy } = useCopy();\n const t = useUiText();\n return (\n <button\n type=\"button\"\n aria-label={copied ? t(\"jsonView.pathCopied\", \"Path copied\") : t(\"jsonView.copyPath\", \"Copy path {path}\", { path })}\n onClick={(e) => {\n e.stopPropagation();\n void copy(path);\n }}\n className=\"relative ml-8 inline-flex size-20 items-center justify-center rounded-pill text-fg-tertiary tap-target opacity-0 transition-control group-hover/row:opacity-100 coarse:opacity-100 hover:bg-fill-2 hover:text-fg focus-visible:opacity-100\"\n >\n <Icon icon={copied ? __icon_Tick02Icon : __icon_Copy01Icon} size=\"xs\" />\n </button>\n );\n}\n\nfunction Node({\n name,\n value,\n path,\n depth,\n open: initialOpen,\n query,\n last,\n}: {\n name?: string | number | undefined;\n value: Json;\n path: string;\n depth: number;\n open: number;\n query?: string | undefined;\n last: boolean;\n}) {\n const [open, setOpen] = useState(depth < initialOpen);\n const t = useUiText();\n const isObj = value !== null && typeof value === \"object\";\n const entries: [string | number, Json][] = isObj ? (Array.isArray(value) ? value.map((v, i) => [i, v]) : Object.entries(value)) : [];\n const keyLabel: ReactNode =\n name === undefined ? null : typeof name === \"number\" ? (\n <span className=\"text-fg-tertiary tabular\">{name}: </span>\n ) : (\n <span className=\"text-fg\">\n \"<Mark text={name} query={query} />\"<span className=\"text-fg-tertiary\">: </span>\n </span>\n );\n const comma = last ? \"\" : \",\";\n if (!isObj) {\n return (\n <div className=\"group/row flex min-h-20 items-start pl-20\" style={{ paddingLeft: depth * 16 + 20 }}>\n <span>\n {keyLabel}\n <Scalar v={value} query={query} />\n <span className=\"text-fg-tertiary\">{comma}</span>\n </span>\n {path && <CopyPath path={path} />}\n </div>\n );\n }\n const [o, c] = Array.isArray(value) ? [\"[\", \"]\"] : [\"{\", \"}\"];\n return (\n <div>\n <div className=\"group/row flex min-h-24 items-center\" style={{ paddingLeft: depth * 16 }}>\n <button\n type=\"button\"\n aria-expanded={open}\n aria-label={\n path\n ? open\n ? t(\"jsonView.collapsePath\", \"Collapse {path}\", { path })\n : t(\"jsonView.expandPath\", \"Expand {path}\", { path })\n : open\n ? t(\"jsonView.collapse\", \"Collapse\")\n : t(\"jsonView.expand\", \"Expand\")\n }\n onClick={() => setOpen(!open)}\n className=\"-ml-4 inline-flex size-24 cursor-pointer items-center justify-center rounded-pill text-fg-tertiary hover:bg-fill-2 hover:text-fg focus-ring\"\n >\n <Icon icon={__icon_ArrowRight01Icon} size=\"xs\" className={cn(\"transition-transform duration-180\", open && \"rotate-90\")} />\n </button>\n <span>\n {keyLabel}\n <span className=\"text-fg-tertiary\">{o}</span>\n {!open && (\n <button type=\"button\" onClick={() => setOpen(true)} className=\"mx-4 cursor-pointer rounded-code px-4 text-fg-tertiary hover:bg-fill-2\">\n {Array.isArray(value)\n ? t(\"jsonView.items\", \"{count, plural, one {{n} item} other {{n} items}}\", { count: entries.length, n: String(entries.length) })\n : t(\"jsonView.keys\", \"{count, plural, one {{n} key} other {{n} keys}}\", { count: entries.length, n: String(entries.length) })}\n </button>\n )}\n {!open && (\n <span className=\"text-fg-tertiary\">\n {c}\n {comma}\n </span>\n )}\n </span>\n {path && <CopyPath path={path} />}\n </div>\n {open && (\n <>\n {entries.map(([k, v], i) => (\n <Node\n key={k}\n name={k}\n value={v}\n path={typeof k === \"number\" ? `${path}[${k}]` : path ? `${path}.${k}` : String(k)}\n depth={depth + 1}\n open={initialOpen}\n query={query}\n last={i === entries.length - 1}\n />\n ))}\n <div className=\"min-h-20 text-fg-tertiary\" style={{ paddingLeft: depth * 16 + 20 }}>\n {c}\n {comma}\n </div>\n </>\n )}\n </div>\n );\n}\n\nexport const JsonView = /* @__PURE__ */ forwardRef<HTMLDivElement, JsonViewProps>(function JsonView({ value, defaultDepth = 2, query, surface = \"well\", className }, ref) {\n return (\n <div\n ref={ref}\n tabIndex={0}\n role=\"region\"\n aria-label=\"JSON\"\n className={cn(\n \"mono overflow-x-auto text-small focus-ring-inset leading-code text-fg scrollbar-quiet\",\n KAESO_JSON_VIEW_VARIANTS.surface[surface].classes,\n className,\n )}\n >\n <Node value={value as Json} path=\"\" depth={0} open={defaultDepth} query={query} last />\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") JsonView.displayName = \"JsonView\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"json-view-BkG2hTXV.js","names":["_Fragment","__icon_Tick02Icon","__icon_Copy01Icon","__icon_ArrowRight01Icon","cn","useUiText","Icon","useCopy","Fragment$1","KAESO_JSON_VIEW_VARIANTS","KAESO_JSON_VIEW_DEFAULT_VARIANTS","Mark","query","text","i","Scalar","v","CopyPath","t","copied","e","copy","path","Tick02Icon","Copy01Icon","Node","initialOpen","open","setOpen","useState","depth","isObj","value","entries","keyLabel","name","comma","last","o","c","ArrowRight01Icon","k","JsonView","surface","className","defaultDepth"],"sources":["../../src/components/code-block/json-view.tsx"],"sourcesContent":["import { forwardRef, useState, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { Tick02Icon as __icon_Tick02Icon, Copy01Icon as __icon_Copy01Icon, ArrowRight01Icon as __icon_ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { Icon } from \"../icon/icon.js\";\nimport { useCopy } from \"../../hooks/use-copy.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_JSON_VIEW_VARIANTS = {\n surface: {\n well: { classes: \"rounded-well bg-fill-1 p-16\" },\n plain: { classes: \"\" },\n },\n} as const;\nexport const KAESO_JSON_VIEW_DEFAULT_VARIANTS = { surface: \"well\" } as const;\n\ntype Json = string | number | boolean | null | Json[] | { [k: string]: Json };\n\nexport interface JsonViewProps {\n value: unknown;\n defaultDepth?: number | undefined;\n query?: string | undefined;\n surface?: keyof typeof KAESO_JSON_VIEW_VARIANTS.surface | undefined;\n className?: string | undefined;\n}\n\nfunction Mark({ text, query }: { text: string; query?: string | undefined }) {\n if (!query) return <>{text}</>;\n const i = text.toLowerCase().indexOf(query.toLowerCase());\n if (i < 0) return <>{text}</>;\n return (\n <>\n {text.slice(0, i)}\n <mark className=\"rounded-cell bg-warning-tint text-inherit ring-mark\">{text.slice(i, i + query.length)}</mark>\n {text.slice(i + query.length)}\n </>\n );\n}\n\nfunction Scalar({ v, query }: { v: Json; query?: string | undefined }) {\n if (v === null) return <span className=\"font-semibold text-fg\">null</span>;\n if (typeof v === \"boolean\") return <span className=\"font-semibold text-fg\">{String(v)}</span>;\n if (typeof v === \"number\") return <span className=\"text-warning-text tabular\">{v}</span>;\n return (\n <span className=\"break-all text-info-text\">\n \"<Mark text={String(v)} query={query} />\"\n </span>\n );\n}\n\nfunction CopyPath({ path }: { path: string }) {\n const { copied, copy } = useCopy();\n const t = useUiText();\n return (\n <button\n type=\"button\"\n aria-label={copied ? t(\"jsonView.pathCopied\", \"Path copied\") : t(\"jsonView.copyPath\", \"Copy path {path}\", { path })}\n onClick={(e) => {\n e.stopPropagation();\n void copy(path);\n }}\n className=\"relative ml-8 inline-flex size-20 items-center justify-center rounded-pill text-fg-tertiary tap-target opacity-0 transition-control group-hover/row:opacity-100 coarse:opacity-100 hover:bg-fill-2 hover:text-fg focus-visible:opacity-100\"\n >\n <Icon icon={copied ? __icon_Tick02Icon : __icon_Copy01Icon} size=\"xs\" />\n </button>\n );\n}\n\nfunction Node({\n name,\n value,\n path,\n depth,\n open: initialOpen,\n query,\n last,\n}: {\n name?: string | number | undefined;\n value: Json;\n path: string;\n depth: number;\n open: number;\n query?: string | undefined;\n last: boolean;\n}) {\n const [open, setOpen] = useState(depth < initialOpen);\n const t = useUiText();\n const isObj = value !== null && typeof value === \"object\";\n const entries: [string | number, Json][] = isObj ? (Array.isArray(value) ? value.map((v, i) => [i, v]) : Object.entries(value)) : [];\n const keyLabel: ReactNode =\n name === undefined ? null : typeof name === \"number\" ? (\n <span className=\"text-fg-tertiary tabular\">{name}: </span>\n ) : (\n <span className=\"text-fg\">\n \"<Mark text={name} query={query} />\"<span className=\"text-fg-tertiary\">: </span>\n </span>\n );\n const comma = last ? \"\" : \",\";\n if (!isObj) {\n return (\n <div className=\"group/row flex min-h-20 items-start pl-20\" style={{ paddingLeft: depth * 16 + 20 }}>\n <span>\n {keyLabel}\n <Scalar v={value} query={query} />\n <span className=\"text-fg-tertiary\">{comma}</span>\n </span>\n {path && <CopyPath path={path} />}\n </div>\n );\n }\n const [o, c] = Array.isArray(value) ? [\"[\", \"]\"] : [\"{\", \"}\"];\n return (\n <div>\n <div className=\"group/row flex min-h-24 items-center\" style={{ paddingLeft: depth * 16 }}>\n <button\n type=\"button\"\n aria-expanded={open}\n aria-label={\n path\n ? open\n ? t(\"jsonView.collapsePath\", \"Collapse {path}\", { path })\n : t(\"jsonView.expandPath\", \"Expand {path}\", { path })\n : open\n ? t(\"jsonView.collapse\", \"Collapse\")\n : t(\"jsonView.expand\", \"Expand\")\n }\n onClick={() => setOpen(!open)}\n className=\"-ml-4 inline-flex size-24 cursor-pointer items-center justify-center rounded-pill text-fg-tertiary hover:bg-fill-2 hover:text-fg focus-ring\"\n >\n <Icon icon={__icon_ArrowRight01Icon} size=\"xs\" className={cn(\"transition-transform duration-180\", open && \"rotate-90\")} />\n </button>\n <span>\n {keyLabel}\n <span className=\"text-fg-tertiary\">{o}</span>\n {!open && (\n <button type=\"button\" onClick={() => setOpen(true)} className=\"mx-4 cursor-pointer rounded-code px-4 text-fg-tertiary hover:bg-fill-2\">\n {Array.isArray(value)\n ? t(\"jsonView.items\", \"{count, plural, one {{n} item} other {{n} items}}\", { count: entries.length, n: String(entries.length) })\n : t(\"jsonView.keys\", \"{count, plural, one {{n} key} other {{n} keys}}\", { count: entries.length, n: String(entries.length) })}\n </button>\n )}\n {!open && (\n <span className=\"text-fg-tertiary\">\n {c}\n {comma}\n </span>\n )}\n </span>\n {path && <CopyPath path={path} />}\n </div>\n {open && (\n <>\n {entries.map(([k, v], i) => (\n <Node\n key={k}\n name={k}\n value={v}\n path={typeof k === \"number\" ? `${path}[${k}]` : path ? `${path}.${k}` : String(k)}\n depth={depth + 1}\n open={initialOpen}\n query={query}\n last={i === entries.length - 1}\n />\n ))}\n <div className=\"min-h-20 text-fg-tertiary\" style={{ paddingLeft: depth * 16 + 20 }}>\n {c}\n {comma}\n </div>\n </>\n )}\n </div>\n );\n}\n\nexport const JsonView = /* @__PURE__ */ forwardRef<HTMLDivElement, JsonViewProps>(function JsonView({ value, defaultDepth = 2, query, surface = \"well\", className }, ref) {\n const t = useUiText();\n return (\n <div\n ref={ref}\n tabIndex={0}\n role=\"region\"\n aria-label={t(\"jsonView.label\", \"JSON\")}\n className={cn(\n \"mono overflow-x-auto text-small focus-ring-inset leading-code text-fg scrollbar-quiet\",\n KAESO_JSON_VIEW_VARIANTS.surface[surface].classes,\n className,\n )}\n >\n <Node value={value as Json} path=\"\" depth={0} open={defaultDepth} query={query} last />\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") JsonView.displayName = \"JsonView\";\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { t as e } from "./cn-
|
|
2
|
+
import { t as e } from "./cn-DUDmdLpZ.js";
|
|
3
3
|
import { i as t, n } from "./context-BELWW79w.js";
|
|
4
4
|
import { Fragment as r, forwardRef as i, useSyncExternalStore as a } from "react";
|
|
5
5
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
@@ -129,4 +129,4 @@ process.env.NODE_ENV !== "production" && (g.displayName = "KbdSequence");
|
|
|
129
129
|
//#endregion
|
|
130
130
|
export { m as a, g as i, c as n, h as r, l as t };
|
|
131
131
|
|
|
132
|
-
//# sourceMappingURL=kbd-
|
|
132
|
+
//# sourceMappingURL=kbd-DqWmbr_e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kbd-
|
|
1
|
+
{"version":3,"file":"kbd-DqWmbr_e.js","names":["cn","useUiText","KAESO_KBD_VARIANTS","KAESO_KBD_DEFAULT_VARIANTS","isMac","subscribePlatform","useMac","useSyncExternalStore","modifiers","ctrl","t","option","keyLabel","englishText","m","key","mac","Kbd","props","label","children","tone","className","KbdSequence","steps","keys","Fragment","i","chord","k"],"sources":["../../src/components/kbd/kbd.tsx"],"sourcesContent":["import { forwardRef, Fragment, useSyncExternalStore, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { englishText, useUiText, type UiText } from \"../../i18n/context.js\";\n\nexport const KAESO_KBD_VARIANTS = {\n tone: {\n default: { classes: \"bg-fill-1 text-fg-secondary shadow-ring\" },\n onInk: { classes: \"bg-on-ink/15 text-on-ink/80 shadow-none\" },\n },\n} as const;\nexport const KAESO_KBD_DEFAULT_VARIANTS = { tone: \"default\" } as const;\n\nconst isMac = () => typeof navigator !== \"undefined\" && /Mac|iPhone|iPad/.test(navigator.platform || navigator.userAgent);\nconst subscribePlatform = () => () => undefined;\nconst useMac = () => useSyncExternalStore(subscribePlatform, isMac, () => false);\n\nfunction modifiers(t: UiText): Record<string, [mac: string, other: string, name: string]> {\n const ctrl = t(\"kbd.ctrl\", \"Ctrl\");\n const option = t(\"kbd.optionName\", \"Option\");\n return {\n mod: [\"⌘\", ctrl, t(\"kbd.commandName\", \"Command\")],\n cmd: [\"⌘\", ctrl, t(\"kbd.commandName\", \"Command\")],\n ctrl: [\"⌃\", ctrl, t(\"kbd.controlName\", \"Control\")],\n alt: [\"⌥\", \"Alt\", option],\n option: [\"⌥\", \"Alt\", option],\n shift: [\"⇧\", t(\"kbd.shift\", \"Shift\"), t(\"kbd.shiftName\", \"Shift\")],\n enter: [\"↵\", \"Enter\", t(\"kbd.enterName\", \"Enter\")],\n esc: [\"esc\", \"Esc\", t(\"kbd.escapeName\", \"Escape\")],\n backspace: [\"⌫\", t(\"kbd.backspace\", \"Backspace\"), t(\"kbd.backspaceName\", \"Backspace\")],\n up: [\"↑\", \"↑\", t(\"kbd.upName\", \"Up\")],\n down: [\"↓\", \"↓\", t(\"kbd.downName\", \"Down\")],\n left: [\"←\", \"←\", t(\"kbd.leftName\", \"Left\")],\n right: [\"→\", \"→\", t(\"kbd.rightName\", \"Right\")],\n tab: [\"⇥\", \"Tab\", t(\"kbd.tabName\", \"Tab\")],\n };\n}\n\nexport function keyLabel(key: string, t: UiText = englishText, mac: boolean = isMac()): { visual: string; spoken: string } {\n const m = modifiers(t)[key.toLowerCase()];\n if (!m) return { visual: key.length === 1 ? key.toUpperCase() : key, spoken: key };\n return { visual: mac ? m[0] : m[1], spoken: m[2] };\n}\n\nexport interface KbdProps extends HTMLAttributes<HTMLElement> {\n children: ReactNode;\n tone?: keyof typeof KAESO_KBD_VARIANTS.tone | undefined;\n}\n\nexport const Kbd = /* @__PURE__ */ forwardRef<HTMLElement, KbdProps>(function Kbd({ children, tone = \"default\", className, ...props }, ref) {\n const t = useUiText();\n const mac = useMac();\n const label = typeof children === \"string\" ? keyLabel(children, t, mac) : null;\n return (\n <kbd\n ref={ref}\n className={cn(\n \"inline-flex h-20 min-w-20 shrink-0 items-center justify-center rounded-kbd px-5 font-sans text-micro font-medium tabular\",\n KAESO_KBD_VARIANTS.tone[tone].classes,\n className,\n )}\n {...(label && label.spoken !== label.visual ? { \"aria-label\": label.spoken, title: label.spoken } : {})}\n {...props}\n >\n {label ? label.visual : children}\n </kbd>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Kbd.displayName = \"Kbd\";\n\nexport interface KbdSequenceProps extends HTMLAttributes<HTMLSpanElement> {\n keys: string[][] | string[];\n tone?: keyof typeof KAESO_KBD_VARIANTS.tone | undefined;\n}\n\nexport const KbdSequence = /* @__PURE__ */ forwardRef<HTMLSpanElement, KbdSequenceProps>(function KbdSequence({ keys, tone = \"default\", className, ...props }, ref) {\n const t = useUiText();\n const steps: string[][] = keys.length > 0 && Array.isArray(keys[0]) ? (keys as string[][]) : [keys as string[]];\n return (\n <span ref={ref} className={cn(\"inline-flex items-center gap-4 align-middle\", className)} {...props}>\n {steps.map((chord, i) => (\n <Fragment key={i}>\n {i > 0 && <span className={cn(\"text-caption font-medium\", tone === \"onInk\" ? \"text-on-ink/70\" : \"text-fg-secondary\")}>{t(\"kbd.then\", \"then\")}</span>}\n <span className=\"inline-flex items-center gap-2\">\n {chord.map((k) => (\n <Kbd key={k} tone={tone}>\n {k}\n </Kbd>\n ))}\n </span>\n </Fragment>\n ))}\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") KbdSequence.displayName = \"KbdSequence\";\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { t as e } from "./cn-
|
|
3
|
-
import { n as t, r as n } from "./link-provider
|
|
2
|
+
import { t as e } from "./cn-DUDmdLpZ.js";
|
|
3
|
+
import { n as t, r as n } from "./link-provider-BsUxhZKG.js";
|
|
4
4
|
import { i as r } from "./context-BELWW79w.js";
|
|
5
|
-
import { t as i } from "./icon-
|
|
5
|
+
import { t as i } from "./icon-BqujXDUc.js";
|
|
6
6
|
import { forwardRef as a } from "react";
|
|
7
7
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
8
8
|
import { ArrowUpRight01Icon as c } from "@hugeicons/core-free-icons";
|
|
@@ -51,4 +51,4 @@ process.env.NODE_ENV !== "production" && (d.displayName = "Link");
|
|
|
51
51
|
//#endregion
|
|
52
52
|
export { l as n, d as r, u as t };
|
|
53
53
|
|
|
54
|
-
//# sourceMappingURL=link-
|
|
54
|
+
//# sourceMappingURL=link-YMcxM-BZ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-
|
|
1
|
+
{"version":3,"file":"link-YMcxM-BZ.js","names":["__icon_ArrowUpRight01Icon","cn","isExternalHref","useLinkComponent","useUiText","Icon","KAESO_LINK_VARIANTS","KAESO_LINK_DEFAULT_VARIANTS","Link","props","LinkComp","t","isExternal","external","href","variant","className","children","ArrowUpRight01Icon"],"sources":["../../src/components/link/link.tsx"],"sourcesContent":["import { forwardRef, type AnchorHTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { isExternalHref, useLinkComponent } from \"../../utils/link-provider.js\";\nimport { Icon } from \"../icon/icon.js\";\nimport { ArrowUpRight01Icon as __icon_ArrowUpRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_LINK_VARIANTS = {\n variant: {\n inline: {\n classes: \"text-inherit underline decoration-line-strong decoration-1 underline-offset-3 hover:decoration-current\",\n },\n quiet: {\n classes: \"text-fg-secondary no-underline hover:text-fg\",\n },\n standalone: {\n classes: \"font-medium text-fg no-underline hover:underline hover:decoration-line-strong hover:underline-offset-3\",\n },\n heading: {\n classes: \"group/heading text-inherit no-underline\",\n },\n card: {\n classes: \"mx-0 flex flex-col gap-4 rounded-well bg-fill-1 px-16 py-12 text-fg no-underline hover:bg-fill-2\",\n },\n },\n} as const;\nexport const KAESO_LINK_DEFAULT_VARIANTS = { variant: \"inline\" } as const;\n\nexport interface LinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, \"href\"> {\n href: string;\n variant?: keyof typeof KAESO_LINK_VARIANTS.variant | undefined;\n external?: boolean | undefined;\n children: ReactNode;\n}\n\nexport const Link = /* @__PURE__ */ forwardRef<HTMLAnchorElement, LinkProps>(function Link({ href, variant = \"inline\", external, className, children, ...props }, ref) {\n const LinkComp = useLinkComponent();\n const t = useUiText();\n const isExternal = external ?? isExternalHref(href);\n return (\n <LinkComp\n ref={ref}\n href={href}\n className={cn(\n \"relative -mx-2 box-decoration-clone rounded-code px-2 transition-control focus-ring tap-target\",\n KAESO_LINK_VARIANTS.variant[variant].classes,\n className,\n )}\n {...(isExternal ? { target: \"_blank\", rel: \"noopener noreferrer\" } : {})}\n {...props}\n >\n {children}\n {variant === \"heading\" && (\n <span\n aria-hidden=\"true\"\n className=\"ml-8 inline-block text-fg-tertiary opacity-0 transition-control group-hover/heading:opacity-100 group-focus-visible/heading:opacity-100\"\n >\n #\n </span>\n )}\n {isExternal && (\n <span aria-hidden=\"true\" className=\"whitespace-nowrap\">\n {\"\\u2060\"}\n <Icon icon={__icon_ArrowUpRight01Icon} size=\"xs\" className=\"ml-2 inline-block align-middle\" />\n </span>\n )}\n {isExternal && <span className=\"sr-only\">{t(\"link.opensInNewTab\", \" (opens in a new tab)\")}</span>}\n </LinkComp>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Link.displayName = \"Link\";\n"],"mappings":";;;;;;;;;AAOA,IAAaM,IAAsB,EACjC,SAAS;CACP,QAAQ,EACN,SAAS,yGACX;CACA,OAAO,EACL,SAAS,+CACX;CACA,YAAY,EACV,SAAS,yGACX;CACA,SAAS,EACP,SAAS,0CACX;CACA,MAAM,EACJ,SAAS,mGACX;AACF,EACF,GACaC,IAA8B,EAAE,SAAS,SAAS,GASlDC,IAAuB,kBAAyC,SAAc,EAAE,SAAM,aAAU,UAAU,aAAU,cAAW,aAAU,GAAGC,KAAS,GAAK;CACrK,IAAMC,IAAWP,EAAiB,GAC5BQ,IAAIP,EAAU,GACdQ,IAAaC,KAAYX,EAAeY,CAAI;CAClD,OACE,kBAACJ,GAAD;EACO;EACC;EACN,WAAWT,EACT,kGACAK,EAAoB,QAAQS,EAAQ,CAAC,SACrCC,CACF;EACA,GAAKJ,IAAa;GAAE,QAAQ;GAAU,KAAK;EAAsB,IAAI,CAAC;EACtE,GAAIH;EATN,UAAA;GAWGQ;GACAF,MAAY,aACX,kBAAC,QAAD;IACE,eAAY;IACZ,WAAU;IACX,UAAA;GAEK,CAAA;GAEPH,KACC,kBAAC,QAAD;IAAM,eAAY;IAAO,WAAU;IAAnC,UAAA,CACG,KACD,kBAACP,GAAD;KAAM,MAAML;KAA2B,MAAK;KAAK,WAAU;IAAkC,CAAA,CACzF;;GAEPY,KAAc,kBAAC,QAAD;IAAM,WAAU;IAAW,UAAAD,EAAE,sBAAsB,uBAAuB;GAAQ,CAAA;EACzF;;AAEd,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAK,cAAc"}
|
|
@@ -19,9 +19,9 @@ function o() {
|
|
|
19
19
|
return n(i);
|
|
20
20
|
}
|
|
21
21
|
function s(e) {
|
|
22
|
-
return /^(?:
|
|
22
|
+
return /^(?:https?:)?\/\//i.test(e) || e.startsWith("mailto:");
|
|
23
23
|
}
|
|
24
24
|
//#endregion
|
|
25
25
|
export { s as n, o as r, a as t };
|
|
26
26
|
|
|
27
|
-
//# sourceMappingURL=link-provider
|
|
27
|
+
//# sourceMappingURL=link-provider-BsUxhZKG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-provider
|
|
1
|
+
{"version":3,"file":"link-provider-BsUxhZKG.js","names":["LinkContext","props","LinkProvider","component","useLinkComponent","useContext","isExternalHref","href"],"sources":["../../src/utils/link-provider.tsx"],"sourcesContent":["import { createContext, forwardRef, useContext, type AnchorHTMLAttributes, type ComponentType, type ReactNode, type Ref } from \"react\";\n\nexport type LinkComponentProps = AnchorHTMLAttributes<HTMLAnchorElement> & { href: string; ref?: Ref<HTMLAnchorElement> };\nexport type LinkComponent = ComponentType<LinkComponentProps>;\n\nconst DefaultLink = /* @__PURE__ */ forwardRef<HTMLAnchorElement, LinkComponentProps>(function DefaultLink(props, ref) {\n return <a ref={ref} {...props} />;\n});\n\nconst LinkContext = /* @__PURE__ */ createContext<LinkComponent>(DefaultLink);\n\nexport function LinkProvider({ component, children }: { component: LinkComponent; children: ReactNode }) {\n return <LinkContext.Provider value={component}>{children}</LinkContext.Provider>;\n}\nif (process.env.NODE_ENV !== \"production\") LinkProvider.displayName = \"LinkProvider\";\n\nexport function useLinkComponent(): LinkComponent {\n return useContext(LinkContext);\n}\n\nexport function isExternalHref(href: string): boolean {\n return /^(?:https?:)?\\/\\//i.test(href) || href.startsWith(\"mailto:\");\n}\n"],"mappings":";;;;AASA,IAAMA,IAA8B,kBAJA,kBAAkD,SAAqB,GAAO,GAAK;CACrH,OAAO,kBAAC,KAAD;EAAQ;EAAK,GAAIC;CAAQ,CAAA;AAClC,CAEiE,CAAW;AAE5E,SAAgBC,EAAa,EAAE,cAAW,eAA+D;CACvG,OAAO,kBAACF,EAAY,UAAb;EAAsB,OAAOG;EAAY;CAA+B,CAAA;AACjF;AACA,QAAA,IAAA,aAA6B,iBAAc,EAAa,cAAc;AAEtE,SAAgBC,IAAkC;CAChD,OAAOC,EAAWL,CAAW;AAC/B;AAEA,SAAgBM,EAAe,GAAuB;CACpD,OAAO,qBAAqB,KAAKC,CAAI,KAAKA,EAAK,WAAW,SAAS;AACrE"}
|