@logicplanes/kaeso-ui 0.1.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 +124 -0
- package/CLAUDE.md +3 -0
- package/LICENSE +21 -0
- package/NOTICE.md +5 -0
- package/README.md +43 -0
- package/ai/component-guides.md +4760 -0
- package/ai/component-registry.json +12626 -0
- package/ai/component-registry.md +2950 -0
- package/ai/icons.md +28 -0
- package/ai/tokens.md +207 -0
- package/dist/blocks/delete-resource.js +35 -0
- package/dist/blocks/delete-resource.js.map +1 -0
- package/dist/blocks/pages.js +70 -0
- package/dist/blocks/pages.js.map +1 -0
- package/dist/blocks/resource-list.js +68 -0
- package/dist/blocks/resource-list.js.map +1 -0
- package/dist/chunks/app-frame-BBIMch8X.js +224 -0
- package/dist/chunks/app-frame-BBIMch8X.js.map +1 -0
- package/dist/chunks/arrow-focus-BcySmwwU.js +11 -0
- package/dist/chunks/arrow-focus-BcySmwwU.js.map +1 -0
- package/dist/chunks/avatar-D2nJNbtC.js +83 -0
- package/dist/chunks/avatar-D2nJNbtC.js.map +1 -0
- package/dist/chunks/badge-Dkyhs0_j.js +26 -0
- package/dist/chunks/badge-Dkyhs0_j.js.map +1 -0
- package/dist/chunks/banner-BiziJuBZ.js +85 -0
- package/dist/chunks/banner-BiziJuBZ.js.map +1 -0
- package/dist/chunks/button-BHKAE6ui.js +164 -0
- package/dist/chunks/button-BHKAE6ui.js.map +1 -0
- package/dist/chunks/calendar-B5SSTE56.js +104 -0
- package/dist/chunks/calendar-B5SSTE56.js.map +1 -0
- package/dist/chunks/checkbox-BgRdbfCE.js +124 -0
- package/dist/chunks/checkbox-BgRdbfCE.js.map +1 -0
- package/dist/chunks/cn-CidVUKMm.js +669 -0
- package/dist/chunks/cn-CidVUKMm.js.map +1 -0
- package/dist/chunks/code-DDyOlIFO.js +23 -0
- package/dist/chunks/code-DDyOlIFO.js.map +1 -0
- package/dist/chunks/code-block-BbK6E4Eo.js +273 -0
- package/dist/chunks/code-block-BbK6E4Eo.js.map +1 -0
- package/dist/chunks/collapsible-Cw_1aem5.js +87 -0
- package/dist/chunks/collapsible-Cw_1aem5.js.map +1 -0
- package/dist/chunks/combobox-D8pQk22r.js +291 -0
- package/dist/chunks/combobox-D8pQk22r.js.map +1 -0
- package/dist/chunks/context-BELWW79w.js +20 -0
- package/dist/chunks/context-BELWW79w.js.map +1 -0
- package/dist/chunks/copy-button-mAzHjYXq.js +109 -0
- package/dist/chunks/copy-button-mAzHjYXq.js.map +1 -0
- package/dist/chunks/core-Bgefcs3z.js +467 -0
- package/dist/chunks/core-Bgefcs3z.js.map +1 -0
- package/dist/chunks/date-popup-Er1oQwtU.js +35 -0
- package/dist/chunks/date-popup-Er1oQwtU.js.map +1 -0
- package/dist/chunks/de-BCg1eRVd.js +384 -0
- package/dist/chunks/de-BCg1eRVd.js.map +1 -0
- package/dist/chunks/dev-CR1p7gCm.js +30 -0
- package/dist/chunks/dev-CR1p7gCm.js.map +1 -0
- package/dist/chunks/dialog-CVqSVk3T.js +283 -0
- package/dist/chunks/dialog-CVqSVk3T.js.map +1 -0
- package/dist/chunks/empty-DIbBpytW.js +38 -0
- package/dist/chunks/empty-DIbBpytW.js.map +1 -0
- package/dist/chunks/field-d8V94bvZ.js +119 -0
- package/dist/chunks/field-d8V94bvZ.js.map +1 -0
- package/dist/chunks/field-press-DwzBFafd.js +10 -0
- package/dist/chunks/field-press-DwzBFafd.js.map +1 -0
- package/dist/chunks/i18n-0RW0IAf3.js +10 -0
- package/dist/chunks/i18n-0RW0IAf3.js.map +1 -0
- package/dist/chunks/icon-Bha63LaN.js +90 -0
- package/dist/chunks/icon-Bha63LaN.js.map +1 -0
- package/dist/chunks/icon-CeNQtobn.js +47 -0
- package/dist/chunks/icon-CeNQtobn.js.map +1 -0
- package/dist/chunks/icon-button-Bw67oKtx.js +50 -0
- package/dist/chunks/icon-button-Bw67oKtx.js.map +1 -0
- package/dist/chunks/identity-DQinp-Ep.js +342 -0
- package/dist/chunks/identity-DQinp-Ep.js.map +1 -0
- package/dist/chunks/input-Biakz6GB.js +114 -0
- package/dist/chunks/input-Biakz6GB.js.map +1 -0
- package/dist/chunks/input-group-DQqEPFj_.js +87 -0
- package/dist/chunks/input-group-DQqEPFj_.js.map +1 -0
- package/dist/chunks/inset-BLMdxX4I.js +18 -0
- package/dist/chunks/inset-BLMdxX4I.js.map +1 -0
- package/dist/chunks/iso-field-CznqNVrH.js +31 -0
- package/dist/chunks/iso-field-CznqNVrH.js.map +1 -0
- package/dist/chunks/json-view-B6KHIWzh.js +174 -0
- package/dist/chunks/json-view-B6KHIWzh.js.map +1 -0
- package/dist/chunks/kbd-CBcBDvqU.js +132 -0
- package/dist/chunks/kbd-CBcBDvqU.js.map +1 -0
- package/dist/chunks/labelled-D5udSPUI.js +16 -0
- package/dist/chunks/labelled-D5udSPUI.js.map +1 -0
- package/dist/chunks/link-provider---9JdxTg.js +27 -0
- package/dist/chunks/link-provider---9JdxTg.js.map +1 -0
- package/dist/chunks/link-tTapNTpM.js +47 -0
- package/dist/chunks/link-tTapNTpM.js.map +1 -0
- package/dist/chunks/list-CN8pO8lv.js +475 -0
- package/dist/chunks/list-CN8pO8lv.js.map +1 -0
- package/dist/chunks/loader-CUehxvSZ.js +57 -0
- package/dist/chunks/loader-CUehxvSZ.js.map +1 -0
- package/dist/chunks/logo-VmXYhIJL.js +149 -0
- package/dist/chunks/logo-VmXYhIJL.js.map +1 -0
- package/dist/chunks/markdown-C-iJsYnd.js +313 -0
- package/dist/chunks/markdown-C-iJsYnd.js.map +1 -0
- package/dist/chunks/menu-OURWt_hD.js +447 -0
- package/dist/chunks/menu-OURWt_hD.js.map +1 -0
- package/dist/chunks/message-BxTkh1oA.js +49 -0
- package/dist/chunks/message-BxTkh1oA.js.map +1 -0
- package/dist/chunks/meter-DWhyzFGQ.js +84 -0
- package/dist/chunks/meter-DWhyzFGQ.js.map +1 -0
- package/dist/chunks/page-header-BIRswR73.js +41 -0
- package/dist/chunks/page-header-BIRswR73.js.map +1 -0
- package/dist/chunks/pagination-DYdLm18-.js +85 -0
- package/dist/chunks/pagination-DYdLm18-.js.map +1 -0
- package/dist/chunks/popover-BE7VO-a4.js +50 -0
- package/dist/chunks/popover-BE7VO-a4.js.map +1 -0
- package/dist/chunks/popover-root-D3q89WNF.js +26 -0
- package/dist/chunks/popover-root-D3q89WNF.js.map +1 -0
- package/dist/chunks/portal-context-BBbzDKmY.js +33 -0
- package/dist/chunks/portal-context-BBbzDKmY.js.map +1 -0
- package/dist/chunks/radio-CUxbLCvD.js +110 -0
- package/dist/chunks/radio-CUxbLCvD.js.map +1 -0
- package/dist/chunks/range-popup-AbRzgHtY.js +111 -0
- package/dist/chunks/range-popup-AbRzgHtY.js.map +1 -0
- package/dist/chunks/restore-focus-Cap1Q-R3.js +19 -0
- package/dist/chunks/restore-focus-Cap1Q-R3.js.map +1 -0
- package/dist/chunks/rights-CXo7zEf6.js +279 -0
- package/dist/chunks/rights-CXo7zEf6.js.map +1 -0
- package/dist/chunks/safe-href-G5DBNVwm.js +13 -0
- package/dist/chunks/safe-href-G5DBNVwm.js.map +1 -0
- package/dist/chunks/scroll-parent-WXvzQcUo.js +14 -0
- package/dist/chunks/scroll-parent-WXvzQcUo.js.map +1 -0
- package/dist/chunks/section-XStLtXKa.js +87 -0
- package/dist/chunks/section-XStLtXKa.js.map +1 -0
- package/dist/chunks/segmented-CDTx2n29.js +113 -0
- package/dist/chunks/segmented-CDTx2n29.js.map +1 -0
- package/dist/chunks/select-Ca3HGsN1.js +223 -0
- package/dist/chunks/select-Ca3HGsN1.js.map +1 -0
- package/dist/chunks/separator-D5AzVFTS.js +45 -0
- package/dist/chunks/separator-D5AzVFTS.js.map +1 -0
- package/dist/chunks/sidebar-C4fL_KMm.js +599 -0
- package/dist/chunks/sidebar-C4fL_KMm.js.map +1 -0
- package/dist/chunks/sidebar-menu-sd9vCpDy.js +33 -0
- package/dist/chunks/sidebar-menu-sd9vCpDy.js.map +1 -0
- package/dist/chunks/skeleton-kfuqdl1a.js +36 -0
- package/dist/chunks/skeleton-kfuqdl1a.js.map +1 -0
- package/dist/chunks/slider-DbhjJ3ML.js +57 -0
- package/dist/chunks/slider-DbhjJ3ML.js.map +1 -0
- package/dist/chunks/status-dot-CBoQpyL4.js +25 -0
- package/dist/chunks/status-dot-CBoQpyL4.js.map +1 -0
- package/dist/chunks/styles-Btvg2DCf.js +21 -0
- package/dist/chunks/styles-Btvg2DCf.js.map +1 -0
- package/dist/chunks/swap-text-BhPI8DOf.js +28 -0
- package/dist/chunks/swap-text-BhPI8DOf.js.map +1 -0
- package/dist/chunks/switch-CztLhA8F.js +59 -0
- package/dist/chunks/switch-CztLhA8F.js.map +1 -0
- package/dist/chunks/table-DYKa86af.js +67 -0
- package/dist/chunks/table-DYKa86af.js.map +1 -0
- package/dist/chunks/tag-BsmQ1xPj.js +87 -0
- package/dist/chunks/tag-BsmQ1xPj.js.map +1 -0
- package/dist/chunks/text-BPglS3vq.js +63 -0
- package/dist/chunks/text-BPglS3vq.js.map +1 -0
- package/dist/chunks/textarea-Bvk7N2bh.js +156 -0
- package/dist/chunks/textarea-Bvk7N2bh.js.map +1 -0
- package/dist/chunks/theme-provider-mgUaQK7L.js +69 -0
- package/dist/chunks/theme-provider-mgUaQK7L.js.map +1 -0
- package/dist/chunks/tone-CWpsHPb6.js +11 -0
- package/dist/chunks/tone-CWpsHPb6.js.map +1 -0
- package/dist/chunks/toolbar-Dw3uxpsE.js +36 -0
- package/dist/chunks/toolbar-Dw3uxpsE.js.map +1 -0
- package/dist/chunks/tooltip-CDu00nzg.js +124 -0
- package/dist/chunks/tooltip-CDu00nzg.js.map +1 -0
- package/dist/chunks/tooltip-root-DWhtAtFb.js +60 -0
- package/dist/chunks/tooltip-root-DWhtAtFb.js.map +1 -0
- package/dist/chunks/use-controllable-B5Fd12Bx.js +13 -0
- package/dist/chunks/use-controllable-B5Fd12Bx.js.map +1 -0
- package/dist/chunks/use-copy-Dm2ncvMX.js +24 -0
- package/dist/chunks/use-copy-Dm2ncvMX.js.map +1 -0
- package/dist/chunks/use-layout-width-DZaLOQMT.js +27 -0
- package/dist/chunks/use-layout-width-DZaLOQMT.js.map +1 -0
- package/dist/chunks/use-scroll-margin-DWcfIXac.js +25 -0
- package/dist/chunks/use-scroll-margin-DWcfIXac.js.map +1 -0
- package/dist/chunks/use-truncated-DmQoePvG.js +25 -0
- package/dist/chunks/use-truncated-DmQoePvG.js.map +1 -0
- package/dist/chunks/utils-CdH72WEp.js +8 -0
- package/dist/chunks/utils-CdH72WEp.js.map +1 -0
- package/dist/chunks/virtual-rows-BgMdVelU.js +37 -0
- package/dist/chunks/virtual-rows-BgMdVelU.js.map +1 -0
- package/dist/chunks/when-idle-Cy3pinqO.js +12 -0
- package/dist/chunks/when-idle-Cy3pinqO.js.map +1 -0
- package/dist/chunks/zh-CN-cPjO1OOo.js +384 -0
- package/dist/chunks/zh-CN-cPjO1OOo.js.map +1 -0
- package/dist/components/app-frame.js +2 -0
- package/dist/components/avatar.js +2 -0
- package/dist/components/badge.js +2 -0
- package/dist/components/banner.js +2 -0
- package/dist/components/button-group.js +69 -0
- package/dist/components/button-group.js.map +1 -0
- package/dist/components/button.js +2 -0
- package/dist/components/calendar.js +2 -0
- package/dist/components/charts/bar.js +231 -0
- package/dist/components/charts/bar.js.map +1 -0
- package/dist/components/charts/donut.js +179 -0
- package/dist/components/charts/donut.js.map +1 -0
- package/dist/components/charts/gauge.js +70 -0
- package/dist/components/charts/gauge.js.map +1 -0
- package/dist/components/charts/heatmap.js +83 -0
- package/dist/components/charts/heatmap.js.map +1 -0
- package/dist/components/charts/sankey.js +110 -0
- package/dist/components/charts/sankey.js.map +1 -0
- package/dist/components/charts/sparkline.js +72 -0
- package/dist/components/charts/sparkline.js.map +1 -0
- package/dist/components/charts/timeseries.js +253 -0
- package/dist/components/charts/timeseries.js.map +1 -0
- package/dist/components/charts.js +10 -0
- package/dist/components/checkbox.js +2 -0
- package/dist/components/code-block.js +4 -0
- package/dist/components/code.js +2 -0
- package/dist/components/collapsible.js +2 -0
- package/dist/components/combobox.js +2 -0
- package/dist/components/command-palette.js +216 -0
- package/dist/components/command-palette.js.map +1 -0
- package/dist/components/copy-button.js +2 -0
- package/dist/components/data-table.js +399 -0
- package/dist/components/data-table.js.map +1 -0
- package/dist/components/date-picker.js +327 -0
- package/dist/components/date-picker.js.map +1 -0
- package/dist/components/dialog.js +178 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/display-options.js +112 -0
- package/dist/components/display-options.js.map +1 -0
- package/dist/components/empty.js +2 -0
- package/dist/components/field.js +2 -0
- package/dist/components/filter-chip.js +120 -0
- package/dist/components/filter-chip.js.map +1 -0
- package/dist/components/filter-row.js +35 -0
- package/dist/components/filter-row.js.map +1 -0
- package/dist/components/flow.js +111 -0
- package/dist/components/flow.js.map +1 -0
- package/dist/components/heading.js +28 -0
- package/dist/components/heading.js.map +1 -0
- package/dist/components/icon-button.js +2 -0
- package/dist/components/icon.js +4 -0
- package/dist/components/input.js +181 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/kaeso/conversation.js +204 -0
- package/dist/components/kaeso/conversation.js.map +1 -0
- package/dist/components/kaeso/identity.js +2 -0
- package/dist/components/kaeso/moments.js +122 -0
- package/dist/components/kaeso/moments.js.map +1 -0
- package/dist/components/kaeso/rights.js +2 -0
- package/dist/components/kaeso/usage.js +101 -0
- package/dist/components/kaeso/usage.js.map +1 -0
- package/dist/components/kaeso.js +186 -0
- package/dist/components/kaeso.js.map +1 -0
- package/dist/components/kbd.js +2 -0
- package/dist/components/key-value.js +73 -0
- package/dist/components/key-value.js.map +1 -0
- package/dist/components/label.js +26 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/layout.js +72 -0
- package/dist/components/layout.js.map +1 -0
- package/dist/components/link.js +2 -0
- package/dist/components/list.js +2 -0
- package/dist/components/loader.js +38 -0
- package/dist/components/loader.js.map +1 -0
- package/dist/components/logo.js +2 -0
- package/dist/components/markdown.js +4 -0
- package/dist/components/menu.js +4 -0
- package/dist/components/meter.js +2 -0
- package/dist/components/page-header.js +2 -0
- package/dist/components/pagination.js +2 -0
- package/dist/components/playground.js +813 -0
- package/dist/components/playground.js.map +1 -0
- package/dist/components/popover.js +53 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/portal.js +15 -0
- package/dist/components/portal.js.map +1 -0
- package/dist/components/qr-code.js +38 -0
- package/dist/components/qr-code.js.map +1 -0
- package/dist/components/radio.js +2 -0
- package/dist/components/scroll-area.js +35 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/section.js +2 -0
- package/dist/components/segmented.js +2 -0
- package/dist/components/select.js +2 -0
- package/dist/components/separator.js +2 -0
- package/dist/components/settings.js +99 -0
- package/dist/components/settings.js.map +1 -0
- package/dist/components/sheet.js +94 -0
- package/dist/components/sheet.js.map +1 -0
- package/dist/components/sidebar.js +2 -0
- package/dist/components/skeleton.js +2 -0
- package/dist/components/slider.js +2 -0
- package/dist/components/stat.js +195 -0
- package/dist/components/stat.js.map +1 -0
- package/dist/components/status-dot.js +2 -0
- package/dist/components/surface.js +26 -0
- package/dist/components/surface.js.map +1 -0
- package/dist/components/swap-text.js +2 -0
- package/dist/components/switch.js +2 -0
- package/dist/components/table.js +2 -0
- package/dist/components/tabs.js +96 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/tag.js +2 -0
- package/dist/components/text.js +2 -0
- package/dist/components/theme-menu.js +50 -0
- package/dist/components/theme-menu.js.map +1 -0
- package/dist/components/timeline.js +58 -0
- package/dist/components/timeline.js.map +1 -0
- package/dist/components/toast.js +214 -0
- package/dist/components/toast.js.map +1 -0
- package/dist/components/toc.js +48 -0
- package/dist/components/toc.js.map +1 -0
- package/dist/components/toolbar.js +2 -0
- package/dist/components/tooltip.js +18 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/components/visually-hidden.js +17 -0
- package/dist/components/visually-hidden.js.map +1 -0
- package/dist/fonts/LICENSE-GeistMono.txt +93 -0
- package/dist/fonts/LICENSE-Inter.txt +93 -0
- package/dist/fonts/geist-mono-latin-ext-wght-normal.woff2 +0 -0
- package/dist/fonts/geist-mono-latin-wght-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-ext-opsz-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-opsz-normal.woff2 +0 -0
- package/dist/fonts.css +40 -0
- package/dist/format.js +178 -0
- package/dist/format.js.map +1 -0
- package/dist/i18n-locales.js +23 -0
- package/dist/i18n-locales.js.map +1 -0
- package/dist/i18n-provider.js +30 -0
- package/dist/i18n-provider.js.map +1 -0
- package/dist/i18n.js +7 -0
- package/dist/index.js +153 -0
- package/dist/kaeso.css +1099 -0
- package/dist/styles.css +2 -0
- package/dist/tailwind.css +10 -0
- package/dist/theme.js +2 -0
- package/dist/types/blocks/delete-resource/delete-resource.d.ts +32 -0
- package/dist/types/blocks/delete-resource/docs.d.ts +17 -0
- package/dist/types/blocks/delete-resource/index.d.ts +1 -0
- package/dist/types/blocks/pages/docs.d.ts +42 -0
- package/dist/types/blocks/pages/index.d.ts +1 -0
- package/dist/types/blocks/pages/pages.d.ts +65 -0
- package/dist/types/blocks/resource-list/docs.d.ts +15 -0
- package/dist/types/blocks/resource-list/index.d.ts +1 -0
- package/dist/types/blocks/resource-list/resource-list.d.ts +36 -0
- package/dist/types/component-docs.d.ts +7 -0
- package/dist/types/components/app-frame/app-frame.d.ts +79 -0
- package/dist/types/components/app-frame/docs.d.ts +23 -0
- package/dist/types/components/app-frame/index.d.ts +1 -0
- package/dist/types/components/avatar/avatar.d.ts +60 -0
- package/dist/types/components/avatar/docs.d.ts +21 -0
- package/dist/types/components/avatar/index.d.ts +1 -0
- package/dist/types/components/badge/badge.d.ts +41 -0
- package/dist/types/components/badge/docs.d.ts +9 -0
- package/dist/types/components/badge/index.d.ts +1 -0
- package/dist/types/components/banner/banner.d.ts +51 -0
- package/dist/types/components/banner/docs.d.ts +14 -0
- package/dist/types/components/banner/index.d.ts +1 -0
- package/dist/types/components/button/button.d.ts +116 -0
- package/dist/types/components/button/docs.d.ts +23 -0
- package/dist/types/components/button/index.d.ts +1 -0
- package/dist/types/components/button-group/button-group.d.ts +55 -0
- package/dist/types/components/button-group/docs.d.ts +11 -0
- package/dist/types/components/button-group/index.d.ts +1 -0
- package/dist/types/components/calendar/calendar.d.ts +32 -0
- package/dist/types/components/calendar/docs.d.ts +16 -0
- package/dist/types/components/calendar/index.d.ts +1 -0
- package/dist/types/components/charts/bar.d.ts +39 -0
- package/dist/types/components/charts/core.d.ts +167 -0
- package/dist/types/components/charts/docs.d.ts +174 -0
- package/dist/types/components/charts/donut.d.ts +67 -0
- package/dist/types/components/charts/gauge.d.ts +20 -0
- package/dist/types/components/charts/heatmap.d.ts +24 -0
- package/dist/types/components/charts/index.d.ts +8 -0
- package/dist/types/components/charts/sankey.d.ts +29 -0
- package/dist/types/components/charts/sparkline.d.ts +18 -0
- package/dist/types/components/charts/timeseries.d.ts +47 -0
- package/dist/types/components/checkbox/checkbox.d.ts +53 -0
- package/dist/types/components/checkbox/docs.d.ts +58 -0
- package/dist/types/components/checkbox/index.d.ts +1 -0
- package/dist/types/components/code/code.d.ts +24 -0
- package/dist/types/components/code/docs.d.ts +8 -0
- package/dist/types/components/code/index.d.ts +1 -0
- package/dist/types/components/code-block/code-block.d.ts +37 -0
- package/dist/types/components/code-block/docs.d.ts +41 -0
- package/dist/types/components/code-block/highlighter.d.ts +23 -0
- package/dist/types/components/code-block/index.d.ts +4 -0
- package/dist/types/components/code-block/json-view.d.ts +23 -0
- package/dist/types/components/code-block/kaeso-theme.d.ts +66 -0
- package/dist/types/components/collapsible/collapsible.d.ts +39 -0
- package/dist/types/components/collapsible/docs.d.ts +21 -0
- package/dist/types/components/collapsible/index.d.ts +1 -0
- package/dist/types/components/combobox/combobox.d.ts +86 -0
- package/dist/types/components/combobox/docs.d.ts +62 -0
- package/dist/types/components/combobox/index.d.ts +1 -0
- package/dist/types/components/command-palette/command-palette.d.ts +44 -0
- package/dist/types/components/command-palette/docs.d.ts +17 -0
- package/dist/types/components/command-palette/index.d.ts +1 -0
- package/dist/types/components/copy-button/copy-button.d.ts +85 -0
- package/dist/types/components/copy-button/docs.d.ts +30 -0
- package/dist/types/components/copy-button/index.d.ts +1 -0
- package/dist/types/components/data-table/columns.d.ts +47 -0
- package/dist/types/components/data-table/data-table.d.ts +80 -0
- package/dist/types/components/data-table/docs.d.ts +32 -0
- package/dist/types/components/data-table/index.d.ts +3 -0
- package/dist/types/components/date-picker/date-picker.d.ts +55 -0
- package/dist/types/components/date-picker/date-popup.d.ts +9 -0
- package/dist/types/components/date-picker/docs.d.ts +73 -0
- package/dist/types/components/date-picker/index.d.ts +2 -0
- package/dist/types/components/date-picker/iso-field.d.ts +5 -0
- package/dist/types/components/date-picker/range-popup.d.ts +13 -0
- package/dist/types/components/date-picker/time-input.d.ts +39 -0
- package/dist/types/components/dialog/dialog.d.ts +118 -0
- package/dist/types/components/dialog/docs.d.ts +70 -0
- package/dist/types/components/dialog/focus.d.ts +2 -0
- package/dist/types/components/dialog/index.d.ts +2 -0
- package/dist/types/components/dialog/step-dialog.d.ts +26 -0
- package/dist/types/components/display-options/display-options.d.ts +55 -0
- package/dist/types/components/display-options/docs.d.ts +14 -0
- package/dist/types/components/display-options/index.d.ts +1 -0
- package/dist/types/components/empty/docs.d.ts +12 -0
- package/dist/types/components/empty/empty.d.ts +29 -0
- package/dist/types/components/empty/index.d.ts +1 -0
- package/dist/types/components/field/docs.d.ts +20 -0
- package/dist/types/components/field/field.d.ts +78 -0
- package/dist/types/components/field/index.d.ts +1 -0
- package/dist/types/components/filter-chip/docs.d.ts +19 -0
- package/dist/types/components/filter-chip/filter-chip.d.ts +37 -0
- package/dist/types/components/filter-chip/index.d.ts +1 -0
- package/dist/types/components/filter-row/docs.d.ts +11 -0
- package/dist/types/components/filter-row/filter-row.d.ts +23 -0
- package/dist/types/components/filter-row/index.d.ts +1 -0
- package/dist/types/components/flow/docs.d.ts +12 -0
- package/dist/types/components/flow/flow.d.ts +34 -0
- package/dist/types/components/flow/index.d.ts +1 -0
- package/dist/types/components/heading/docs.d.ts +10 -0
- package/dist/types/components/heading/heading.d.ts +30 -0
- package/dist/types/components/heading/index.d.ts +1 -0
- package/dist/types/components/icon/docs.d.ts +10 -0
- package/dist/types/components/icon/icon.d.ts +37 -0
- package/dist/types/components/icon/index.d.ts +2 -0
- package/dist/types/components/icon-button/docs.d.ts +17 -0
- package/dist/types/components/icon-button/icon-button.d.ts +75 -0
- package/dist/types/components/icon-button/index.d.ts +1 -0
- package/dist/types/components/input/decimal.d.ts +11 -0
- package/dist/types/components/input/docs.d.ts +149 -0
- package/dist/types/components/input/index.d.ts +8 -0
- package/dist/types/components/input/input-group.d.ts +55 -0
- package/dist/types/components/input/input.d.ts +45 -0
- package/dist/types/components/input/number-input.d.ts +28 -0
- package/dist/types/components/input/otp-input.d.ts +27 -0
- package/dist/types/components/input/sensitive-input.d.ts +21 -0
- package/dist/types/components/input/tag-input.d.ts +27 -0
- package/dist/types/components/input/textarea.d.ts +25 -0
- package/dist/types/components/kaeso/conversation.d.ts +58 -0
- package/dist/types/components/kaeso/docs.d.ts +139 -0
- package/dist/types/components/kaeso/effective-access.d.ts +21 -0
- package/dist/types/components/kaeso/identity.d.ts +70 -0
- package/dist/types/components/kaeso/index.d.ts +8 -0
- package/dist/types/components/kaeso/moments.d.ts +30 -0
- package/dist/types/components/kaeso/provider-marks.d.ts +1 -0
- package/dist/types/components/kaeso/rights-logic.d.ts +13 -0
- package/dist/types/components/kaeso/rights.d.ts +69 -0
- package/dist/types/components/kaeso/role-picker.d.ts +38 -0
- package/dist/types/components/kaeso/usage.d.ts +35 -0
- package/dist/types/components/kbd/docs.d.ts +16 -0
- package/dist/types/components/kbd/index.d.ts +1 -0
- package/dist/types/components/kbd/kbd.d.ts +31 -0
- package/dist/types/components/key-value/docs.d.ts +10 -0
- package/dist/types/components/key-value/index.d.ts +1 -0
- package/dist/types/components/key-value/key-value.d.ts +50 -0
- package/dist/types/components/label/docs.d.ts +10 -0
- package/dist/types/components/label/index.d.ts +1 -0
- package/dist/types/components/label/label.d.ts +22 -0
- package/dist/types/components/layout/docs.d.ts +30 -0
- package/dist/types/components/layout/index.d.ts +1 -0
- package/dist/types/components/layout/layout.d.ts +100 -0
- package/dist/types/components/link/docs.d.ts +11 -0
- package/dist/types/components/link/index.d.ts +1 -0
- package/dist/types/components/link/link.d.ts +27 -0
- package/dist/types/components/list/docs.d.ts +75 -0
- package/dist/types/components/list/index.d.ts +1 -0
- package/dist/types/components/list/list.d.ts +119 -0
- package/dist/types/components/list/row-checkbox.d.ts +5 -0
- package/dist/types/components/list/virtual-rows.d.ts +10 -0
- package/dist/types/components/loader/docs.d.ts +21 -0
- package/dist/types/components/loader/index.d.ts +2 -0
- package/dist/types/components/loader/loader.d.ts +35 -0
- package/dist/types/components/loader/status.d.ts +55 -0
- package/dist/types/components/logo/docs.d.ts +10 -0
- package/dist/types/components/logo/index.d.ts +1 -0
- package/dist/types/components/logo/logo.d.ts +59 -0
- package/dist/types/components/logo/paths.d.ts +16 -0
- package/dist/types/components/markdown/docs.d.ts +15 -0
- package/dist/types/components/markdown/index.d.ts +1 -0
- package/dist/types/components/markdown/markdown.d.ts +54 -0
- package/dist/types/components/menu/docs.d.ts +19 -0
- package/dist/types/components/menu/index.d.ts +2 -0
- package/dist/types/components/menu/menu.d.ts +213 -0
- package/dist/types/components/menu/styles.d.ts +7 -0
- package/dist/types/components/meter/docs.d.ts +23 -0
- package/dist/types/components/meter/index.d.ts +1 -0
- package/dist/types/components/meter/meter.d.ts +51 -0
- package/dist/types/components/page-header/docs.d.ts +12 -0
- package/dist/types/components/page-header/index.d.ts +1 -0
- package/dist/types/components/page-header/page-header.d.ts +22 -0
- package/dist/types/components/pagination/docs.d.ts +17 -0
- package/dist/types/components/pagination/index.d.ts +1 -0
- package/dist/types/components/pagination/pagination.d.ts +33 -0
- package/dist/types/components/playground/compare-grid.d.ts +41 -0
- package/dist/types/components/playground/composer.d.ts +40 -0
- package/dist/types/components/playground/docs.d.ts +141 -0
- package/dist/types/components/playground/index.d.ts +7 -0
- package/dist/types/components/playground/model-picker.d.ts +37 -0
- package/dist/types/components/playground/parameter-panel.d.ts +52 -0
- package/dist/types/components/playground/prompt-suggestions.d.ts +23 -0
- package/dist/types/components/playground/response-metrics.d.ts +30 -0
- package/dist/types/components/playground/response-view.d.ts +55 -0
- package/dist/types/components/popover/docs.d.ts +21 -0
- package/dist/types/components/popover/hover-card.d.ts +24 -0
- package/dist/types/components/popover/index.d.ts +2 -0
- package/dist/types/components/popover/popover-root.d.ts +24 -0
- package/dist/types/components/popover/popover.d.ts +40 -0
- package/dist/types/components/portal/docs.d.ts +9 -0
- package/dist/types/components/portal/index.d.ts +1 -0
- package/dist/types/components/portal/portal.d.ts +11 -0
- package/dist/types/components/qr-code/docs.d.ts +10 -0
- package/dist/types/components/qr-code/index.d.ts +1 -0
- package/dist/types/components/qr-code/qr-code.d.ts +22 -0
- package/dist/types/components/radio/docs.d.ts +42 -0
- package/dist/types/components/radio/index.d.ts +1 -0
- package/dist/types/components/radio/labelled.d.ts +13 -0
- package/dist/types/components/radio/radio.d.ts +51 -0
- package/dist/types/components/scroll-area/docs.d.ts +11 -0
- package/dist/types/components/scroll-area/index.d.ts +1 -0
- package/dist/types/components/scroll-area/scroll-area.d.ts +28 -0
- package/dist/types/components/section/docs.d.ts +28 -0
- package/dist/types/components/section/index.d.ts +1 -0
- package/dist/types/components/section/section.d.ts +37 -0
- package/dist/types/components/segmented/docs.d.ts +15 -0
- package/dist/types/components/segmented/index.d.ts +1 -0
- package/dist/types/components/segmented/segmented.d.ts +37 -0
- package/dist/types/components/select/docs.d.ts +32 -0
- package/dist/types/components/select/index.d.ts +1 -0
- package/dist/types/components/select/select.d.ts +82 -0
- package/dist/types/components/separator/docs.d.ts +10 -0
- package/dist/types/components/separator/index.d.ts +1 -0
- package/dist/types/components/separator/separator.d.ts +33 -0
- package/dist/types/components/settings/docs.d.ts +32 -0
- package/dist/types/components/settings/index.d.ts +1 -0
- package/dist/types/components/settings/settings.d.ts +45 -0
- package/dist/types/components/sheet/docs.d.ts +20 -0
- package/dist/types/components/sheet/index.d.ts +1 -0
- package/dist/types/components/sheet/sheet.d.ts +51 -0
- package/dist/types/components/sidebar/docs.d.ts +20 -0
- package/dist/types/components/sidebar/index.d.ts +1 -0
- package/dist/types/components/sidebar/sidebar-menu.d.ts +16 -0
- package/dist/types/components/sidebar/sidebar.d.ts +178 -0
- package/dist/types/components/skeleton/docs.d.ts +14 -0
- package/dist/types/components/skeleton/index.d.ts +1 -0
- package/dist/types/components/skeleton/skeleton.d.ts +31 -0
- package/dist/types/components/slider/docs.d.ts +20 -0
- package/dist/types/components/slider/index.d.ts +1 -0
- package/dist/types/components/slider/slider.d.ts +29 -0
- package/dist/types/components/stat/docs.d.ts +35 -0
- package/dist/types/components/stat/index.d.ts +1 -0
- package/dist/types/components/stat/stat.d.ts +68 -0
- package/dist/types/components/status-dot/docs.d.ts +18 -0
- package/dist/types/components/status-dot/index.d.ts +1 -0
- package/dist/types/components/status-dot/status-dot.d.ts +36 -0
- package/dist/types/components/surface/docs.d.ts +8 -0
- package/dist/types/components/surface/index.d.ts +1 -0
- package/dist/types/components/surface/surface.d.ts +44 -0
- package/dist/types/components/swap-text/docs.d.ts +10 -0
- package/dist/types/components/swap-text/index.d.ts +1 -0
- package/dist/types/components/swap-text/swap-text.d.ts +22 -0
- package/dist/types/components/switch/docs.d.ts +21 -0
- package/dist/types/components/switch/index.d.ts +1 -0
- package/dist/types/components/switch/switch.d.ts +39 -0
- package/dist/types/components/table/docs.d.ts +6 -0
- package/dist/types/components/table/index.d.ts +1 -0
- package/dist/types/components/table/table.d.ts +30 -0
- package/dist/types/components/tabs/docs.d.ts +22 -0
- package/dist/types/components/tabs/index.d.ts +1 -0
- package/dist/types/components/tabs/tabs.d.ts +61 -0
- package/dist/types/components/tag/docs.d.ts +30 -0
- package/dist/types/components/tag/index.d.ts +1 -0
- package/dist/types/components/tag/tag.d.ts +63 -0
- package/dist/types/components/text/docs.d.ts +15 -0
- package/dist/types/components/text/index.d.ts +1 -0
- package/dist/types/components/text/text.d.ts +111 -0
- package/dist/types/components/theme-menu/docs.d.ts +9 -0
- package/dist/types/components/theme-menu/index.d.ts +1 -0
- package/dist/types/components/theme-menu/theme-menu.d.ts +22 -0
- package/dist/types/components/timeline/docs.d.ts +8 -0
- package/dist/types/components/timeline/index.d.ts +1 -0
- package/dist/types/components/timeline/timeline.d.ts +41 -0
- package/dist/types/components/toast/docs.d.ts +26 -0
- package/dist/types/components/toast/index.d.ts +1 -0
- package/dist/types/components/toast/toast.d.ts +91 -0
- package/dist/types/components/toc/docs.d.ts +10 -0
- package/dist/types/components/toc/index.d.ts +1 -0
- package/dist/types/components/toc/toc.d.ts +27 -0
- package/dist/types/components/toolbar/docs.d.ts +9 -0
- package/dist/types/components/toolbar/index.d.ts +1 -0
- package/dist/types/components/toolbar/toolbar.d.ts +28 -0
- package/dist/types/components/tooltip/docs.d.ts +33 -0
- package/dist/types/components/tooltip/index.d.ts +2 -0
- package/dist/types/components/tooltip/tooltip-provider.d.ts +8 -0
- package/dist/types/components/tooltip/tooltip-root.d.ts +9 -0
- package/dist/types/components/tooltip/tooltip.d.ts +60 -0
- package/dist/types/components/tooltip/trigger-props.d.ts +23 -0
- package/dist/types/components/visually-hidden/docs.d.ts +6 -0
- package/dist/types/components/visually-hidden/index.d.ts +1 -0
- package/dist/types/components/visually-hidden/visually-hidden.d.ts +4 -0
- package/dist/types/format/index.d.ts +26 -0
- package/dist/types/hooks/scroll-parent.d.ts +1 -0
- package/dist/types/hooks/use-copy.d.ts +4 -0
- package/dist/types/hooks/use-indicator.d.ts +9 -0
- package/dist/types/hooks/use-layout-width.d.ts +3 -0
- package/dist/types/hooks/use-scroll-margin.d.ts +2 -0
- package/dist/types/hooks/use-stored-state.d.ts +1 -0
- package/dist/types/hooks/use-truncated.d.ts +2 -0
- package/dist/types/i18n/context.d.ts +11 -0
- package/dist/types/i18n/index.d.ts +5 -0
- package/dist/types/i18n/locale-names.d.ts +2 -0
- package/dist/types/i18n/locale-tags.d.ts +4 -0
- package/dist/types/i18n/locales/de.d.ts +2 -0
- package/dist/types/i18n/locales/en.d.ts +2 -0
- package/dist/types/i18n/locales/zh-CN.d.ts +2 -0
- package/dist/types/i18n/message.d.ts +2 -0
- package/dist/types/i18n/provider.d.ts +10 -0
- package/dist/types/icons/groups.d.ts +8 -0
- package/dist/types/icons/vocabulary.d.ts +413 -0
- package/dist/types/index.d.ts +79 -0
- package/dist/types/theme/index.d.ts +1 -0
- package/dist/types/theme/theme-provider.d.ts +22 -0
- package/dist/types/utils/arrow-focus.d.ts +2 -0
- package/dist/types/utils/cn.d.ts +370 -0
- package/dist/types/utils/dev.d.ts +4 -0
- package/dist/types/utils/field-press.d.ts +2 -0
- package/dist/types/utils/index.d.ts +8 -0
- package/dist/types/utils/inset.d.ts +6 -0
- package/dist/types/utils/lazy-module.d.ts +8 -0
- package/dist/types/utils/link-provider.d.ts +15 -0
- package/dist/types/utils/portal-context.d.ts +10 -0
- package/dist/types/utils/restore-focus.d.ts +4 -0
- package/dist/types/utils/safe-href.d.ts +1 -0
- package/dist/types/utils/tone.d.ts +2 -0
- package/dist/types/utils/use-controllable.d.ts +1 -0
- package/dist/types/utils/variants.d.ts +5 -0
- package/dist/types/utils/when-idle.d.ts +1 -0
- package/dist/utils.js +9 -0
- package/foundations/accessibility.md +41 -0
- package/foundations/color.md +40 -0
- package/foundations/elevation.md +23 -0
- package/foundations/icons.md +14 -0
- package/foundations/motion.md +39 -0
- package/foundations/psychology.md +36 -0
- package/foundations/shape.md +41 -0
- package/foundations/tokens.md +24 -0
- package/foundations/typography.md +35 -0
- package/foundations/writing.md +39 -0
- package/package.json +144 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "../../chunks/cn-CidVUKMm.js";
|
|
3
|
+
import { i as t } from "../../chunks/context-BELWW79w.js";
|
|
4
|
+
import { formatNumber as n, formatTokens as r } from "../../format.js";
|
|
5
|
+
import { t as i } from "../../chunks/icon-CeNQtobn.js";
|
|
6
|
+
import { a } from "../../chunks/meter-DWhyzFGQ.js";
|
|
7
|
+
import { t as o } from "../../chunks/badge-Dkyhs0_j.js";
|
|
8
|
+
import { C as s, c, l } from "../../chunks/core-Bgefcs3z.js";
|
|
9
|
+
import { forwardRef as u } from "react";
|
|
10
|
+
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
11
|
+
import { Layers01Icon as p, LeftToRightListBulletIcon as m, Wallet01Icon as h } from "@hugeicons/core-free-icons";
|
|
12
|
+
//#region src/components/kaeso/usage.tsx
|
|
13
|
+
var g = { limit: {
|
|
14
|
+
hard: { classes: "" },
|
|
15
|
+
soft: { classes: "" }
|
|
16
|
+
} }, _ = { limit: "hard" }, v = l;
|
|
17
|
+
function y(e) {
|
|
18
|
+
return {
|
|
19
|
+
input: e("usageBreakdown.input", "Input"),
|
|
20
|
+
output: e("usageBreakdown.output", "Output"),
|
|
21
|
+
cacheRead: e("usageBreakdown.cacheRead", "Cache read"),
|
|
22
|
+
cacheWrite: e("usageBreakdown.cacheWrite", "Cache write"),
|
|
23
|
+
reasoning: e("usageBreakdown.reasoning", "Reasoning")
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
var b = /* @__PURE__ */ u(function({ tokens: i, className: a }, o) {
|
|
27
|
+
let l = t(), u = y(l), p = v.filter((e) => (i[e] ?? 0) > 0), m = p.reduce((e, t) => e + (i[t] ?? 0), 0) || 1;
|
|
28
|
+
return /* @__PURE__ */ f("div", {
|
|
29
|
+
ref: o,
|
|
30
|
+
className: e("flex flex-col gap-12", a),
|
|
31
|
+
children: [/* @__PURE__ */ d("div", {
|
|
32
|
+
role: "img",
|
|
33
|
+
"aria-label": l("usageBreakdown.tokens", "Tokens: {list}", { list: p.map((e) => l("usageBreakdown.kindCount", "{kind} {count}", {
|
|
34
|
+
kind: u[e],
|
|
35
|
+
count: n(i[e] ?? 0)
|
|
36
|
+
})).join(l("usageBreakdown.listSeparator", ", ")) }),
|
|
37
|
+
className: "flex h-8 w-full gap-2 overflow-hidden rounded-pill",
|
|
38
|
+
children: p.map((e) => /* @__PURE__ */ d("span", {
|
|
39
|
+
className: "h-full min-w-2 first:rounded-l-pill last:rounded-r-pill width-motion",
|
|
40
|
+
style: {
|
|
41
|
+
width: `${(i[e] ?? 0) / m * 100}%`,
|
|
42
|
+
background: s(e)
|
|
43
|
+
}
|
|
44
|
+
}, e))
|
|
45
|
+
}), /* @__PURE__ */ d("dl", {
|
|
46
|
+
className: "flex flex-wrap gap-x-24 gap-y-8",
|
|
47
|
+
children: v.map((e) => /* @__PURE__ */ f("div", {
|
|
48
|
+
className: "flex flex-col gap-2",
|
|
49
|
+
children: [/* @__PURE__ */ f("dt", {
|
|
50
|
+
className: "flex items-center gap-8 text-small text-fg-secondary",
|
|
51
|
+
children: [/* @__PURE__ */ d(c, { color: s(e) }), u[e]]
|
|
52
|
+
}), /* @__PURE__ */ d("dd", {
|
|
53
|
+
className: "pl-18 text-body font-medium text-fg tabular",
|
|
54
|
+
title: l("usageBreakdown.tokenCount", "{count} tokens", { count: n(i[e] ?? 0) }),
|
|
55
|
+
children: r(i[e] ?? 0)
|
|
56
|
+
})]
|
|
57
|
+
}, e))
|
|
58
|
+
})]
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
process.env.NODE_ENV !== "production" && (b.displayName = "UsageBreakdown");
|
|
62
|
+
var x = {
|
|
63
|
+
requests: m,
|
|
64
|
+
tokens: p,
|
|
65
|
+
spend: h
|
|
66
|
+
}, S = /* @__PURE__ */ u(function({ kind: e, scope: n, window: r, used: s, limit: c, valueLabel: l, hard: u = !0, alerts: p = [.8], resets: m, className: h }, g) {
|
|
67
|
+
let _ = t();
|
|
68
|
+
return /* @__PURE__ */ d(a, {
|
|
69
|
+
ref: g,
|
|
70
|
+
className: h,
|
|
71
|
+
value: c > 0 ? s / c : 0,
|
|
72
|
+
thresholds: p,
|
|
73
|
+
leading: /* @__PURE__ */ d(i, {
|
|
74
|
+
icon: x[e],
|
|
75
|
+
size: "sm",
|
|
76
|
+
className: "text-fg-secondary"
|
|
77
|
+
}),
|
|
78
|
+
label: n,
|
|
79
|
+
trailing: /* @__PURE__ */ d(o, {
|
|
80
|
+
tone: u ? "neutral" : "outline",
|
|
81
|
+
children: u ? _("limitMeter.hard", "Hard") : _("limitMeter.soft", "Soft")
|
|
82
|
+
}),
|
|
83
|
+
caption: /* @__PURE__ */ f("span", {
|
|
84
|
+
className: "flex flex-wrap items-baseline justify-between gap-x-12 gap-y-2",
|
|
85
|
+
children: [/* @__PURE__ */ f("span", { children: [
|
|
86
|
+
/* @__PURE__ */ d("span", {
|
|
87
|
+
className: "font-medium text-fg-secondary tabular",
|
|
88
|
+
children: l
|
|
89
|
+
}),
|
|
90
|
+
" · ",
|
|
91
|
+
r
|
|
92
|
+
] }), m && /* @__PURE__ */ d("span", { children: m })]
|
|
93
|
+
}),
|
|
94
|
+
"aria-label": _("limitMeter.label", "{kind, select, requests {requests limit} tokens {tokens limit} other {spend limit}}", { kind: e })
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
process.env.NODE_ENV !== "production" && (S.displayName = "LimitMeter");
|
|
98
|
+
//#endregion
|
|
99
|
+
export { _ as KAESO_USAGE_DEFAULT_VARIANTS, g as KAESO_USAGE_VARIANTS, S as LimitMeter, b as UsageBreakdown };
|
|
100
|
+
|
|
101
|
+
//# sourceMappingURL=usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.js","names":["__icon_LeftToRightListBulletIcon","__icon_Layers01Icon","__icon_Wallet01Icon","cn","useUiText","Icon","Badge","tokenKindColor","KAESO_USAGE_VARIANTS","KAESO_USAGE_DEFAULT_VARIANTS","ORDER","TOKEN_KIND_ORDER","kindLabels","t","UsageBreakdown","label","kinds","tokens","k","total","a","className","formatNumber","Swatch","formatTokens","KIND_ICON","LeftToRightListBulletIcon","Layers01Icon","Wallet01Icon","LimitMeter","win","Meter","limit","used","alerts","kind","scope","hard","valueLabel","resets"],"sources":["../../../src/components/kaeso/usage.tsx"],"sourcesContent":["import { forwardRef, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { LeftToRightListBulletIcon as __icon_LeftToRightListBulletIcon, Layers01Icon as __icon_Layers01Icon, Wallet01Icon as __icon_Wallet01Icon } from \"@hugeicons/core-free-icons\";\nimport { formatNumber, formatTokens } from \"../../format/index.js\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { Badge } from \"../badge/badge.js\";\nimport { Meter } from \"../meter/meter.js\";\nimport { Swatch, TOKEN_KIND_ORDER, tokenKindColor, type TokenKind } from \"../charts/core.js\";\nimport { useUiText, type UiText } from \"../../i18n/context.js\";\n\nexport const KAESO_USAGE_VARIANTS = {\n limit: {\n hard: { classes: \"\" },\n soft: { classes: \"\" },\n },\n} as const;\nexport const KAESO_USAGE_DEFAULT_VARIANTS = { limit: \"hard\" } as const;\n\nconst ORDER = TOKEN_KIND_ORDER;\n\nfunction kindLabels(t: UiText): Record<TokenKind, string> {\n return {\n input: t(\"usageBreakdown.input\", \"Input\"),\n output: t(\"usageBreakdown.output\", \"Output\"),\n cacheRead: t(\"usageBreakdown.cacheRead\", \"Cache read\"),\n cacheWrite: t(\"usageBreakdown.cacheWrite\", \"Cache write\"),\n reasoning: t(\"usageBreakdown.reasoning\", \"Reasoning\"),\n };\n}\n\nexport const UsageBreakdown = /* @__PURE__ */ forwardRef<HTMLDivElement, { tokens: Partial<Record<TokenKind, number>>; className?: string | undefined }>(\n function UsageBreakdown({ tokens, className }, ref) {\n const t = useUiText();\n const label = kindLabels(t);\n const kinds = ORDER.filter((k) => (tokens[k] ?? 0) > 0);\n const total = kinds.reduce((a, k) => a + (tokens[k] ?? 0), 0) || 1;\n return (\n <div ref={ref} className={cn(\"flex flex-col gap-12\", className)}>\n <div\n role=\"img\"\n aria-label={t(\"usageBreakdown.tokens\", \"Tokens: {list}\", {\n list: kinds\n .map((k) => t(\"usageBreakdown.kindCount\", \"{kind} {count}\", { kind: label[k], count: formatNumber(tokens[k] ?? 0) }))\n .join(t(\"usageBreakdown.listSeparator\", \", \")),\n })}\n className=\"flex h-8 w-full gap-2 overflow-hidden rounded-pill\"\n >\n {kinds.map((k) => (\n <span\n key={k}\n className=\"h-full min-w-2 first:rounded-l-pill last:rounded-r-pill width-motion\"\n style={{ width: `${((tokens[k] ?? 0) / total) * 100}%`, background: tokenKindColor(k) }}\n />\n ))}\n </div>\n <dl className=\"flex flex-wrap gap-x-24 gap-y-8\">\n {ORDER.map((k) => (\n <div key={k} className=\"flex flex-col gap-2\">\n <dt className=\"flex items-center gap-8 text-small text-fg-secondary\">\n <Swatch color={tokenKindColor(k)} />\n {label[k]}\n </dt>\n <dd\n className=\"pl-18 text-body font-medium text-fg tabular\"\n title={t(\"usageBreakdown.tokenCount\", \"{count} tokens\", { count: formatNumber(tokens[k] ?? 0) })}\n >\n {formatTokens(tokens[k] ?? 0)}\n </dd>\n </div>\n ))}\n </dl>\n </div>\n );\n },\n);\nif (process.env.NODE_ENV !== \"production\") UsageBreakdown.displayName = \"UsageBreakdown\";\n\nexport type LimitKind = \"requests\" | \"tokens\" | \"spend\";\nconst KIND_ICON: Record<LimitKind, IconData> = { requests: __icon_LeftToRightListBulletIcon, tokens: __icon_Layers01Icon, spend: __icon_Wallet01Icon };\n\nexport interface LimitMeterProps {\n kind: LimitKind;\n scope: ReactNode;\n window: ReactNode;\n used: number;\n limit: number;\n valueLabel: ReactNode;\n hard?: boolean | undefined;\n alerts?: number[] | undefined;\n resets?: ReactNode | undefined;\n className?: string | undefined;\n}\n\nexport const LimitMeter = /* @__PURE__ */ forwardRef<HTMLDivElement, LimitMeterProps>(function LimitMeter(\n { kind, scope, window: win, used, limit, valueLabel, hard = true, alerts = [0.8], resets, className },\n ref,\n) {\n const t = useUiText();\n return (\n <Meter\n ref={ref}\n className={className}\n value={limit > 0 ? used / limit : 0}\n thresholds={alerts}\n leading={<Icon icon={KIND_ICON[kind]} size=\"sm\" className=\"text-fg-secondary\" />}\n label={scope}\n trailing={<Badge tone={hard ? \"neutral\" : \"outline\"}>{hard ? t(\"limitMeter.hard\", \"Hard\") : t(\"limitMeter.soft\", \"Soft\")}</Badge>}\n caption={\n <span className=\"flex flex-wrap items-baseline justify-between gap-x-12 gap-y-2\">\n <span>\n <span className=\"font-medium text-fg-secondary tabular\">{valueLabel}</span> · {win}\n </span>\n {resets && <span>{resets}</span>}\n </span>\n }\n aria-label={t(\"limitMeter.label\", \"{kind, select, requests {requests limit} tokens {tokens limit} other {spend limit}}\", { kind })}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") LimitMeter.displayName = \"LimitMeter\";\n"],"mappings":"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"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "../chunks/cn-CidVUKMm.js";
|
|
3
|
+
import { i as t } from "../chunks/context-BELWW79w.js";
|
|
4
|
+
import { r as n } from "../chunks/tooltip-CDu00nzg.js";
|
|
5
|
+
import { a as r } from "../chunks/radio-CUxbLCvD.js";
|
|
6
|
+
import { r as i } from "../chunks/select-Ca3HGsN1.js";
|
|
7
|
+
import { t as a } from "../chunks/badge-Dkyhs0_j.js";
|
|
8
|
+
import { a as o, c as s, i as c, l, n as u, o as d, r as f, s as p, t as m } from "../chunks/identity-DQinp-Ep.js";
|
|
9
|
+
import { EnvironmentSnippet as h, KAESO_MOMENTS_DEFAULT_VARIANTS as g, KAESO_MOMENTS_VARIANTS as _, SecretReveal as v, sdkSnippets as y } from "./kaeso/moments.js";
|
|
10
|
+
import { KAESO_USAGE_DEFAULT_VARIANTS as b, KAESO_USAGE_VARIANTS as x, LimitMeter as S, UsageBreakdown as C } from "./kaeso/usage.js";
|
|
11
|
+
import { ConversationView as w, KAESO_CONVERSATION_DEFAULT_VARIANTS as T, KAESO_CONVERSATION_VARIANTS as E } from "./kaeso/conversation.js";
|
|
12
|
+
import { a as D, i as O, n as k, r as A, t as j } from "../chunks/rights-CXo7zEf6.js";
|
|
13
|
+
import { Fragment as M, forwardRef as N, useId as P } from "react";
|
|
14
|
+
import { jsx as F, jsxs as I } from "react/jsx-runtime";
|
|
15
|
+
import { RadioGroup as L } from "@base-ui/react/radio-group";
|
|
16
|
+
//#region src/components/kaeso/role-picker.tsx
|
|
17
|
+
var R = { appearance: {
|
|
18
|
+
list: { classes: "flex flex-col gap-16" },
|
|
19
|
+
select: { classes: "" }
|
|
20
|
+
} }, z = { appearance: "list" }, B = /* @__PURE__ */ N(function({ roles: a, value: o, onValueChange: s, appearance: c = "list", disabled: l, name: u, label: d, "aria-label": f, fullWidth: p, size: m = "md", className: h }, g) {
|
|
21
|
+
let _ = t(), v = P(), y = _("rolePicker.builtInRoles", "Built-in roles"), b = _("rolePicker.customRoles", "Custom roles"), x = a.some((e) => e.custom);
|
|
22
|
+
if (c === "select") return /* @__PURE__ */ F("div", {
|
|
23
|
+
ref: g,
|
|
24
|
+
className: e("min-w-0", p && "w-full", h),
|
|
25
|
+
children: /* @__PURE__ */ F(i, {
|
|
26
|
+
...d ? { label: d } : {},
|
|
27
|
+
...f ? { "aria-label": f } : {},
|
|
28
|
+
...u ? { name: u } : {},
|
|
29
|
+
...l === void 0 ? {} : { disabled: l },
|
|
30
|
+
...p ? { fullWidth: p } : {},
|
|
31
|
+
size: m,
|
|
32
|
+
value: o ?? null,
|
|
33
|
+
...s ? { onValueChange: s } : {},
|
|
34
|
+
options: [...a.filter((e) => !e.custom), ...a.filter((e) => e.custom)].map((e) => ({
|
|
35
|
+
value: e.value,
|
|
36
|
+
label: e.label,
|
|
37
|
+
textValue: e.label,
|
|
38
|
+
description: e.disabled && e.disabledReason ? e.disabledReason : e.description,
|
|
39
|
+
...x ? { group: e.custom ? b : y } : {},
|
|
40
|
+
...e.disabled ? { disabled: !0 } : {}
|
|
41
|
+
}))
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
let S = x ? [{
|
|
45
|
+
caption: y,
|
|
46
|
+
items: a.filter((e) => !e.custom)
|
|
47
|
+
}, {
|
|
48
|
+
caption: b,
|
|
49
|
+
items: a.filter((e) => e.custom)
|
|
50
|
+
}] : [{
|
|
51
|
+
caption: void 0,
|
|
52
|
+
items: a
|
|
53
|
+
}];
|
|
54
|
+
return /* @__PURE__ */ F(L, {
|
|
55
|
+
ref: g,
|
|
56
|
+
...o == null ? {} : { value: o },
|
|
57
|
+
...s ? { onValueChange: (e) => s(String(e)) } : {},
|
|
58
|
+
...l === void 0 ? {} : { disabled: l },
|
|
59
|
+
...u ? { name: u } : {},
|
|
60
|
+
"aria-label": f ?? d ?? _("rolePicker.role", "Role"),
|
|
61
|
+
className: e(R.appearance.list.classes, h),
|
|
62
|
+
children: S.filter((e) => e.items.length > 0).map((t, i) => /* @__PURE__ */ F(M, { children: /* @__PURE__ */ I("div", {
|
|
63
|
+
className: "flex flex-col gap-8",
|
|
64
|
+
children: [t.caption && /* @__PURE__ */ F("span", {
|
|
65
|
+
className: "px-4 text-caption font-medium text-fg-secondary",
|
|
66
|
+
children: t.caption
|
|
67
|
+
}), /* @__PURE__ */ F("div", {
|
|
68
|
+
className: "flex flex-col overflow-hidden rounded-group bg-raised shadow-xs",
|
|
69
|
+
children: t.items.map((t, a) => {
|
|
70
|
+
let o = `${v}-${i}-${a}`, s = l || t.disabled, c = /* @__PURE__ */ I("label", {
|
|
71
|
+
htmlFor: o,
|
|
72
|
+
className: e("flex min-h-56 cursor-pointer items-center gap-16 px-16 py-12 transition-control hover:bg-fill-1 not-first:hairline-t", s && "cursor-not-allowed hover:bg-transparent"),
|
|
73
|
+
children: [/* @__PURE__ */ I("span", {
|
|
74
|
+
className: "flex min-w-0 flex-1 flex-col gap-2",
|
|
75
|
+
children: [
|
|
76
|
+
/* @__PURE__ */ I("span", {
|
|
77
|
+
className: "flex min-w-0 items-baseline gap-8",
|
|
78
|
+
children: [/* @__PURE__ */ F("span", {
|
|
79
|
+
id: `${o}-name`,
|
|
80
|
+
className: e("min-w-0 wrap-break-word text-body font-medium", s ? "text-fg-disabled" : "text-fg"),
|
|
81
|
+
children: t.label
|
|
82
|
+
}), t.hint && /* @__PURE__ */ F("span", {
|
|
83
|
+
className: "ml-auto shrink-0 text-small text-fg-tertiary tabular",
|
|
84
|
+
children: t.hint
|
|
85
|
+
})]
|
|
86
|
+
}),
|
|
87
|
+
t.description && /* @__PURE__ */ F("span", {
|
|
88
|
+
id: `${o}-desc`,
|
|
89
|
+
className: e("text-small text-pretty", s ? "text-fg-tertiary" : "text-fg-secondary"),
|
|
90
|
+
children: t.description
|
|
91
|
+
}),
|
|
92
|
+
t.disabled && t.disabledReason && /* @__PURE__ */ F("span", {
|
|
93
|
+
className: "text-caption text-fg-tertiary",
|
|
94
|
+
children: t.disabledReason
|
|
95
|
+
})
|
|
96
|
+
]
|
|
97
|
+
}), /* @__PURE__ */ F(r, {
|
|
98
|
+
id: o,
|
|
99
|
+
value: t.value,
|
|
100
|
+
...t.disabled ? { disabled: !0 } : {},
|
|
101
|
+
"aria-labelledby": `${o}-name`,
|
|
102
|
+
...t.description ? { "aria-describedby": `${o}-desc` } : {}
|
|
103
|
+
})]
|
|
104
|
+
});
|
|
105
|
+
return t.disabled && t.disabledReason ? /* @__PURE__ */ F(n, {
|
|
106
|
+
content: t.disabledReason,
|
|
107
|
+
children: c
|
|
108
|
+
}, t.value) : /* @__PURE__ */ F(M, { children: c }, t.value);
|
|
109
|
+
})
|
|
110
|
+
})]
|
|
111
|
+
}) }, t.caption ?? "all"))
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
process.env.NODE_ENV !== "production" && (B.displayName = "RolePicker");
|
|
115
|
+
//#endregion
|
|
116
|
+
//#region src/components/kaeso/effective-access.tsx
|
|
117
|
+
var V = { layout: { rows: { classes: "flex flex-col @auth:grid @auth:grid-cols-term @auth:gap-x-16" } } }, H = { layout: "rows" }, U = /* @__PURE__ */ N(function({ groups: r, sources: i, action: o, "aria-label": s, className: c }, l) {
|
|
118
|
+
let u = t(), d = r.filter((e) => !e.rights.some((e) => e.granted));
|
|
119
|
+
return /* @__PURE__ */ I("div", {
|
|
120
|
+
ref: l,
|
|
121
|
+
role: "group",
|
|
122
|
+
"aria-label": s ?? u("effectiveAccess.access", "Access"),
|
|
123
|
+
className: e("@container flex min-w-0 flex-col gap-12", c),
|
|
124
|
+
children: [
|
|
125
|
+
!!i?.length && /* @__PURE__ */ I("span", {
|
|
126
|
+
className: "flex flex-wrap items-center gap-4",
|
|
127
|
+
children: [/* @__PURE__ */ F("span", {
|
|
128
|
+
className: "mr-4 text-small text-fg-secondary",
|
|
129
|
+
children: u("effectiveAccess.from", "From")
|
|
130
|
+
}), i.map((e) => e.detail ? /* @__PURE__ */ F(n, {
|
|
131
|
+
content: e.detail,
|
|
132
|
+
children: /* @__PURE__ */ F(a, {
|
|
133
|
+
tabIndex: 0,
|
|
134
|
+
className: "focus-ring",
|
|
135
|
+
children: e.label
|
|
136
|
+
})
|
|
137
|
+
}, e.label) : /* @__PURE__ */ F(a, { children: e.label }, e.label))]
|
|
138
|
+
}),
|
|
139
|
+
/* @__PURE__ */ I("dl", {
|
|
140
|
+
className: V.layout.rows.classes,
|
|
141
|
+
children: [r.filter((e) => e.rights.some((e) => e.granted)).map((e) => {
|
|
142
|
+
let t = e.rights.filter((e) => e.granted), n = t.length === e.rights.length ? u("effectiveAccess.everyRight", "Every right") : t.map((e) => e.label ?? e.code).join(u("effectiveAccess.listSeparator", ", "));
|
|
143
|
+
return /* @__PURE__ */ F(W, {
|
|
144
|
+
term: e.label,
|
|
145
|
+
count: u("effectiveAccess.grantedOfTotal", "{granted} of {total}", {
|
|
146
|
+
granted: t.length,
|
|
147
|
+
total: e.rights.length
|
|
148
|
+
}),
|
|
149
|
+
children: n
|
|
150
|
+
}, e.label);
|
|
151
|
+
}), d.length > 0 && /* @__PURE__ */ F(W, {
|
|
152
|
+
term: d.length === r.length ? u("effectiveAccess.noRights", "No rights") : u("effectiveAccess.noneIn", "None in"),
|
|
153
|
+
quiet: !0,
|
|
154
|
+
children: d.map((e) => e.label).join(u("effectiveAccess.listSeparator", ", "))
|
|
155
|
+
})]
|
|
156
|
+
}),
|
|
157
|
+
o && /* @__PURE__ */ F("div", {
|
|
158
|
+
className: "flex",
|
|
159
|
+
children: o
|
|
160
|
+
})
|
|
161
|
+
]
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
process.env.NODE_ENV !== "production" && (U.displayName = "EffectiveAccess");
|
|
165
|
+
function W({ term: t, count: n, quiet: r, children: i }) {
|
|
166
|
+
return /* @__PURE__ */ I("div", {
|
|
167
|
+
className: "flex min-h-40 flex-col gap-2 py-8 not-first:hairline-t @auth:col-span-2 @auth:grid @auth:grid-cols-subgrid @auth:items-baseline @auth:gap-16",
|
|
168
|
+
children: [/* @__PURE__ */ F("dt", {
|
|
169
|
+
className: e("shrink-0 text-small font-medium @auth:min-w-140", r ? "text-fg-secondary" : "text-fg"),
|
|
170
|
+
children: t
|
|
171
|
+
}), /* @__PURE__ */ I("dd", {
|
|
172
|
+
className: "flex min-w-0 flex-1 items-baseline gap-12",
|
|
173
|
+
children: [/* @__PURE__ */ F("span", {
|
|
174
|
+
className: e("min-w-0 flex-1 text-small text-pretty", r ? "text-fg-tertiary" : "text-fg-secondary"),
|
|
175
|
+
children: i
|
|
176
|
+
}), n && /* @__PURE__ */ F("span", {
|
|
177
|
+
className: "shrink-0 text-small text-fg-tertiary tabular",
|
|
178
|
+
children: n
|
|
179
|
+
})]
|
|
180
|
+
})]
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
//#endregion
|
|
184
|
+
export { w as ConversationView, U as EffectiveAccess, h as EnvironmentSnippet, T as KAESO_CONVERSATION_DEFAULT_VARIANTS, E as KAESO_CONVERSATION_VARIANTS, H as KAESO_EFFECTIVE_ACCESS_DEFAULT_VARIANTS, V as KAESO_EFFECTIVE_ACCESS_VARIANTS, m as KAESO_IDENTITY_DEFAULT_VARIANTS, u as KAESO_IDENTITY_VARIANTS, g as KAESO_MOMENTS_DEFAULT_VARIANTS, _ as KAESO_MOMENTS_VARIANTS, j as KAESO_RIGHTS_MATRIX_DEFAULT_VARIANTS, k as KAESO_RIGHTS_MATRIX_VARIANTS, z as KAESO_ROLE_PICKER_DEFAULT_VARIANTS, R as KAESO_ROLE_PICKER_VARIANTS, b as KAESO_USAGE_DEFAULT_VARIANTS, x as KAESO_USAGE_VARIANTS, f as KeyDisplay, S as LimitMeter, c as ModelLabel, o as ProviderBadge, d as ProviderCard, p as RequestTimeline, A as RightsMatrix, B as RolePicker, v as SecretReveal, s as StatusCode, C as UsageBreakdown, O as groupCascade, l as providerName, D as rightsCascade, y as sdkSnippets };
|
|
185
|
+
|
|
186
|
+
//# sourceMappingURL=kaeso.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kaeso.js","names":["BaseRadioGroup","cn","useUiText","Tooltip","RadioCircle","Select","Badge","ProviderBadge","StatusCode","ModelLabel","KAESO_IDENTITY_VARIANTS","ProviderCard","KeyDisplay","RequestTimeline","KAESO_IDENTITY_DEFAULT_VARIANTS","rightsCascade","groupCascade","KAESO_RIGHTS_MATRIX_VARIANTS","RightsMatrix","KAESO_RIGHTS_MATRIX_DEFAULT_VARIANTS","KAESO_ROLE_PICKER_VARIANTS","KAESO_ROLE_PICKER_DEFAULT_VARIANTS","RolePicker","ariaLabel","t","baseId","useId","builtIn","custom","hasCustom","roles","r","appearance","fullWidth","className","label","name","disabled","value","onValueChange","sections","RadioGroup","v","s","Fragment","id","si","i","off","row","KAESO_EFFECTIVE_ACCESS_VARIANTS","KAESO_EFFECTIVE_ACCESS_DEFAULT_VARIANTS","EffectiveAccess","empty","groups","g","sources","granted","words","Row","action","quiet","term","count","ConversationView","EnvironmentSnippet","KAESO_CONVERSATION_DEFAULT_VARIANTS","KAESO_CONVERSATION_VARIANTS","KAESO_MOMENTS_DEFAULT_VARIANTS","KAESO_MOMENTS_VARIANTS","KAESO_USAGE_DEFAULT_VARIANTS","KAESO_USAGE_VARIANTS","LimitMeter","SecretReveal","UsageBreakdown","providerName","sdkSnippets"],"sources":["../../src/components/kaeso/role-picker.tsx","../../src/components/kaeso/effective-access.tsx"],"sourcesContent":["import { forwardRef, Fragment, useId } from \"react\";\nimport { RadioGroup as BaseRadioGroup } from \"@base-ui/react/radio-group\";\nimport { cn } from \"../../utils/cn.js\";\nimport { RadioCircle } from \"../radio/radio.js\";\nimport { Select } from \"../select/select.js\";\nimport { Tooltip } from \"../tooltip/tooltip.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_ROLE_PICKER_VARIANTS = {\n appearance: {\n list: {\n classes: \"flex flex-col gap-16\",\n },\n select: { classes: \"\" },\n },\n} as const;\nexport const KAESO_ROLE_PICKER_DEFAULT_VARIANTS = { appearance: \"list\" } as const;\n\nexport interface RoleOption {\n value: string;\n label: string;\n description?: string | undefined;\n custom?: boolean | undefined;\n hint?: string | undefined;\n disabled?: boolean | undefined;\n disabledReason?: string | undefined;\n}\n\nexport interface RolePickerProps {\n roles: RoleOption[];\n value?: string | null | undefined;\n onValueChange?: ((value: string) => void) | undefined;\n appearance?: keyof typeof KAESO_ROLE_PICKER_VARIANTS.appearance | undefined;\n disabled?: boolean | undefined;\n name?: string | undefined;\n label?: string | undefined;\n \"aria-label\"?: string | undefined;\n fullWidth?: boolean | undefined;\n size?: \"sm\" | \"md\" | undefined;\n className?: string | undefined;\n}\n\nexport const RolePicker = /* @__PURE__ */ forwardRef<HTMLDivElement, RolePickerProps>(function RolePicker(\n { roles, value, onValueChange, appearance = \"list\", disabled, name, label, \"aria-label\": ariaLabel, fullWidth, size = \"md\", className },\n ref,\n) {\n const t = useUiText();\n const baseId = useId();\n const builtIn = t(\"rolePicker.builtInRoles\", \"Built-in roles\");\n const custom = t(\"rolePicker.customRoles\", \"Custom roles\");\n const hasCustom = roles.some((r) => r.custom);\n if (appearance === \"select\") {\n return (\n <div ref={ref} className={cn(\"min-w-0\", fullWidth && \"w-full\", className)}>\n <Select\n {...(label ? { label } : {})}\n {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}\n {...(name ? { name } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(fullWidth ? { fullWidth } : {})}\n size={size}\n value={value ?? null}\n {...(onValueChange ? { onValueChange } : {})}\n options={[...roles.filter((r) => !r.custom), ...roles.filter((r) => r.custom)].map((r) => ({\n value: r.value,\n label: r.label,\n textValue: r.label,\n description: r.disabled && r.disabledReason ? r.disabledReason : r.description,\n ...(hasCustom ? { group: r.custom ? custom : builtIn } : {}),\n ...(r.disabled ? { disabled: true } : {}),\n }))}\n />\n </div>\n );\n }\n const sections = hasCustom\n ? [\n { caption: builtIn, items: roles.filter((r) => !r.custom) },\n { caption: custom, items: roles.filter((r) => r.custom) },\n ]\n : [{ caption: undefined, items: roles }];\n return (\n <BaseRadioGroup\n ref={ref}\n {...(value != null ? { value } : {})}\n {...(onValueChange ? { onValueChange: (v: unknown) => onValueChange(String(v)) } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(name ? { name } : {})}\n aria-label={ariaLabel ?? label ?? t(\"rolePicker.role\", \"Role\")}\n className={cn(KAESO_ROLE_PICKER_VARIANTS.appearance.list.classes, className)}\n >\n {sections\n .filter((s) => s.items.length > 0)\n .map((s, si) => (\n <Fragment key={s.caption ?? \"all\"}>\n <div className=\"flex flex-col gap-8\">\n {s.caption && <span className=\"px-4 text-caption font-medium text-fg-secondary\">{s.caption}</span>}\n <div className=\"flex flex-col overflow-hidden rounded-group bg-raised shadow-xs\">\n {s.items.map((r, i) => {\n const id = `${baseId}-${si}-${i}`;\n const off = disabled || r.disabled;\n const row = (\n <label\n htmlFor={id}\n className={cn(\n \"flex min-h-56 cursor-pointer items-center gap-16 px-16 py-12 transition-control hover:bg-fill-1 not-first:hairline-t\",\n off && \"cursor-not-allowed hover:bg-transparent\",\n )}\n >\n <span className=\"flex min-w-0 flex-1 flex-col gap-2\">\n <span className=\"flex min-w-0 items-baseline gap-8\">\n <span id={`${id}-name`} className={cn(\"min-w-0 wrap-break-word text-body font-medium\", off ? \"text-fg-disabled\" : \"text-fg\")}>\n {r.label}\n </span>\n {r.hint && <span className=\"ml-auto shrink-0 text-small text-fg-tertiary tabular\">{r.hint}</span>}\n </span>\n {r.description && (\n <span id={`${id}-desc`} className={cn(\"text-small text-pretty\", off ? \"text-fg-tertiary\" : \"text-fg-secondary\")}>\n {r.description}\n </span>\n )}\n {r.disabled && r.disabledReason && <span className=\"text-caption text-fg-tertiary\">{r.disabledReason}</span>}\n </span>\n <RadioCircle\n id={id}\n value={r.value}\n {...(r.disabled ? { disabled: true } : {})}\n aria-labelledby={`${id}-name`}\n {...(r.description ? { \"aria-describedby\": `${id}-desc` } : {})}\n />\n </label>\n );\n return r.disabled && r.disabledReason ? (\n <Tooltip key={r.value} content={r.disabledReason}>\n {row}\n </Tooltip>\n ) : (\n <Fragment key={r.value}>{row}</Fragment>\n );\n })}\n </div>\n </div>\n </Fragment>\n ))}\n </BaseRadioGroup>\n );\n});\nif (process.env.NODE_ENV !== \"production\") RolePicker.displayName = \"RolePicker\";\n","import { forwardRef, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { Badge } from \"../badge/badge.js\";\nimport { Tooltip } from \"../tooltip/tooltip.js\";\nimport type { RightSource, RightsGroup } from \"./rights.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_EFFECTIVE_ACCESS_VARIANTS = {\n layout: {\n rows: {\n classes: \"flex flex-col @auth:grid @auth:grid-cols-term @auth:gap-x-16\",\n },\n },\n} as const;\nexport const KAESO_EFFECTIVE_ACCESS_DEFAULT_VARIANTS = { layout: \"rows\" } as const;\n\nexport interface EffectiveAccessProps {\n groups: RightsGroup[];\n sources?: RightSource[] | undefined;\n action?: ReactNode | undefined;\n \"aria-label\"?: string | undefined;\n className?: string | undefined;\n}\n\nexport const EffectiveAccess = /* @__PURE__ */ forwardRef<HTMLDivElement, EffectiveAccessProps>(function EffectiveAccess(\n { groups, sources, action, \"aria-label\": ariaLabel, className },\n ref,\n) {\n const t = useUiText();\n const empty = groups.filter((g) => !g.rights.some((r) => r.granted));\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-label={ariaLabel ?? t(\"effectiveAccess.access\", \"Access\")}\n className={cn(\"@container flex min-w-0 flex-col gap-12\", className)}\n >\n {!!sources?.length && (\n <span className=\"flex flex-wrap items-center gap-4\">\n <span className=\"mr-4 text-small text-fg-secondary\">{t(\"effectiveAccess.from\", \"From\")}</span>\n {sources.map((s) =>\n s.detail ? (\n <Tooltip key={s.label} content={s.detail}>\n <Badge tabIndex={0} className=\"focus-ring\">\n {s.label}\n </Badge>\n </Tooltip>\n ) : (\n <Badge key={s.label}>{s.label}</Badge>\n ),\n )}\n </span>\n )}\n <dl className={KAESO_EFFECTIVE_ACCESS_VARIANTS.layout.rows.classes}>\n {groups\n .filter((g) => g.rights.some((r) => r.granted))\n .map((g) => {\n const granted = g.rights.filter((r) => r.granted);\n const words =\n granted.length === g.rights.length\n ? t(\"effectiveAccess.everyRight\", \"Every right\")\n : granted.map((r) => r.label ?? r.code).join(t(\"effectiveAccess.listSeparator\", \", \"));\n return (\n <Row\n key={g.label}\n term={g.label}\n count={t(\"effectiveAccess.grantedOfTotal\", \"{granted} of {total}\", { granted: granted.length, total: g.rights.length })}\n >\n {words}\n </Row>\n );\n })}\n {empty.length > 0 && (\n <Row term={empty.length === groups.length ? t(\"effectiveAccess.noRights\", \"No rights\") : t(\"effectiveAccess.noneIn\", \"None in\")} quiet>\n {empty.map((g) => g.label).join(t(\"effectiveAccess.listSeparator\", \", \"))}\n </Row>\n )}\n </dl>\n {action && <div className=\"flex\">{action}</div>}\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") EffectiveAccess.displayName = \"EffectiveAccess\";\n\nfunction Row({ term, count, quiet, children }: { term: string; count?: string | undefined; quiet?: boolean | undefined; children: ReactNode }) {\n return (\n <div className=\"flex min-h-40 flex-col gap-2 py-8 not-first:hairline-t @auth:col-span-2 @auth:grid @auth:grid-cols-subgrid @auth:items-baseline @auth:gap-16\">\n <dt className={cn(\"shrink-0 text-small font-medium @auth:min-w-140\", quiet ? \"text-fg-secondary\" : \"text-fg\")}>{term}</dt>\n <dd className=\"flex min-w-0 flex-1 items-baseline gap-12\">\n <span className={cn(\"min-w-0 flex-1 text-small text-pretty\", quiet ? \"text-fg-tertiary\" : \"text-fg-secondary\")}>{children}</span>\n {count && <span className=\"shrink-0 text-small text-fg-tertiary tabular\">{count}</span>}\n </dd>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "../chunks/cn-CidVUKMm.js";
|
|
3
|
+
import { r as t } from "../chunks/tooltip-CDu00nzg.js";
|
|
4
|
+
import { t as n } from "../chunks/use-truncated-DmQoePvG.js";
|
|
5
|
+
import { n as r } from "../chunks/copy-button-mAzHjYXq.js";
|
|
6
|
+
import { forwardRef as i, useRef as a } from "react";
|
|
7
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
8
|
+
//#region src/components/key-value/key-value.tsx
|
|
9
|
+
var c = {
|
|
10
|
+
layout: {
|
|
11
|
+
columns: { classes: "grid grid-cols-kv gap-x-24" },
|
|
12
|
+
stacked: { classes: "flex flex-col" },
|
|
13
|
+
grid: { classes: "grid gap-x-32" }
|
|
14
|
+
},
|
|
15
|
+
columns: {
|
|
16
|
+
2: { classes: "grid-cols-1 @kv:grid-cols-2" },
|
|
17
|
+
3: { classes: "grid-cols-2 @kv:grid-cols-3" },
|
|
18
|
+
4: { classes: "grid-cols-2 @kv:grid-cols-4" }
|
|
19
|
+
}
|
|
20
|
+
}, l = {
|
|
21
|
+
layout: "columns",
|
|
22
|
+
columns: 2
|
|
23
|
+
};
|
|
24
|
+
function u({ children: e }) {
|
|
25
|
+
let r = a(null), i = n(r), s = /* @__PURE__ */ o("span", {
|
|
26
|
+
ref: r,
|
|
27
|
+
className: "block min-w-0 truncate",
|
|
28
|
+
...i ? { tabIndex: 0 } : {},
|
|
29
|
+
children: e
|
|
30
|
+
});
|
|
31
|
+
return i ? /* @__PURE__ */ o(t, {
|
|
32
|
+
content: e,
|
|
33
|
+
shape: "multiline",
|
|
34
|
+
children: s
|
|
35
|
+
}) : s;
|
|
36
|
+
}
|
|
37
|
+
var d = /* @__PURE__ */ i(function({ items: t, layout: n = "columns", columns: i = 2, className: a }, l) {
|
|
38
|
+
let d = n === "grid", f = /* @__PURE__ */ o("dl", {
|
|
39
|
+
ref: l,
|
|
40
|
+
className: e(c.layout[n].classes, d && c.columns[i].classes, a),
|
|
41
|
+
children: t.map((t, i) => /* @__PURE__ */ s("div", {
|
|
42
|
+
className: e(n === "columns" ? "contents" : "flex min-w-0 flex-col gap-2 py-8", d && t.span === "row" && "col-span-full"),
|
|
43
|
+
children: [/* @__PURE__ */ o("dt", {
|
|
44
|
+
className: e("text-small text-fg-secondary", n === "columns" && "flex min-h-36 items-center", n === "columns" && t.wrap && "items-start pt-8", d && "truncate"),
|
|
45
|
+
children: t.label
|
|
46
|
+
}), /* @__PURE__ */ s("dd", {
|
|
47
|
+
className: e("group/kv flex min-w-0 items-center gap-4 text-body text-fg", d ? "min-h-24" : "min-h-36", t.mono && "mono text-small", t.wrap && (d ? "items-start" : "items-start py-8")),
|
|
48
|
+
children: [t.wrap ? /* @__PURE__ */ o("span", {
|
|
49
|
+
className: "min-w-0 break-words",
|
|
50
|
+
children: t.value
|
|
51
|
+
}) : typeof t.value == "string" ? /* @__PURE__ */ o(u, { children: t.value }) : /* @__PURE__ */ o("span", {
|
|
52
|
+
className: "min-w-0 truncate",
|
|
53
|
+
children: t.value
|
|
54
|
+
}), t.copy && /* @__PURE__ */ o("span", {
|
|
55
|
+
className: "shrink-0 opacity-0 transition-control group-hover/kv:opacity-100 coarse:opacity-100 focus-within:opacity-100",
|
|
56
|
+
children: /* @__PURE__ */ o(r, {
|
|
57
|
+
value: t.copy,
|
|
58
|
+
size: "xs"
|
|
59
|
+
})
|
|
60
|
+
})]
|
|
61
|
+
})]
|
|
62
|
+
}, i))
|
|
63
|
+
});
|
|
64
|
+
return d ? /* @__PURE__ */ o("div", {
|
|
65
|
+
className: "@container min-w-0",
|
|
66
|
+
children: f
|
|
67
|
+
}) : f;
|
|
68
|
+
});
|
|
69
|
+
process.env.NODE_ENV !== "production" && (d.displayName = "KeyValue");
|
|
70
|
+
//#endregion
|
|
71
|
+
export { l as KAESO_KEY_VALUE_DEFAULT_VARIANTS, c as KAESO_KEY_VALUE_VARIANTS, d as KeyValue };
|
|
72
|
+
|
|
73
|
+
//# sourceMappingURL=key-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-value.js","names":["cn","Tooltip","useTruncated","CopyButton","KAESO_KEY_VALUE_VARIANTS","KAESO_KEY_VALUE_DEFAULT_VARIANTS","Cut","ref","useRef","cut","el","children","KeyValue","grid","layout","list","columns","className","items","it"],"sources":["../../src/components/key-value/key-value.tsx"],"sourcesContent":["import { forwardRef, useRef, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useTruncated } from \"../../hooks/use-truncated.js\";\nimport { CopyButton } from \"../copy-button/copy-button.js\";\nimport { Tooltip } from \"../tooltip/tooltip.js\";\n\nexport const KAESO_KEY_VALUE_VARIANTS = {\n layout: {\n columns: { classes: \"grid grid-cols-kv gap-x-24\" },\n stacked: { classes: \"flex flex-col\" },\n grid: { classes: \"grid gap-x-32\" },\n },\n columns: {\n 2: { classes: \"grid-cols-1 @kv:grid-cols-2\" },\n 3: { classes: \"grid-cols-2 @kv:grid-cols-3\" },\n 4: { classes: \"grid-cols-2 @kv:grid-cols-4\" },\n },\n} as const;\nexport const KAESO_KEY_VALUE_DEFAULT_VARIANTS = { layout: \"columns\", columns: 2 } as const;\n\nexport interface KeyValueItem {\n label: ReactNode;\n value: ReactNode;\n copy?: string | undefined;\n mono?: boolean | undefined;\n wrap?: boolean | undefined;\n span?: \"row\" | undefined;\n}\n\nexport interface KeyValueProps {\n items: KeyValueItem[];\n layout?: keyof typeof KAESO_KEY_VALUE_VARIANTS.layout | undefined;\n columns?: keyof typeof KAESO_KEY_VALUE_VARIANTS.columns | undefined;\n className?: string | undefined;\n}\n\nfunction Cut({ children }: { children: string }) {\n const ref = useRef<HTMLSpanElement>(null);\n const cut = useTruncated(ref);\n const el = (\n <span ref={ref} className=\"block min-w-0 truncate\" {...(cut ? { tabIndex: 0 } : {})}>\n {children}\n </span>\n );\n return cut ? (\n <Tooltip content={children} shape=\"multiline\">\n {el}\n </Tooltip>\n ) : (\n el\n );\n}\n\nexport const KeyValue = /* @__PURE__ */ forwardRef<HTMLDListElement, KeyValueProps>(function KeyValue({ items, layout = \"columns\", columns = 2, className }, ref) {\n const grid = layout === \"grid\";\n const list = (\n <dl ref={ref} className={cn(KAESO_KEY_VALUE_VARIANTS.layout[layout].classes, grid && KAESO_KEY_VALUE_VARIANTS.columns[columns].classes, className)}>\n {items.map((it, i) => (\n <div key={i} className={cn(layout === \"columns\" ? \"contents\" : \"flex min-w-0 flex-col gap-2 py-8\", grid && it.span === \"row\" && \"col-span-full\")}>\n <dt\n className={cn(\n \"text-small text-fg-secondary\",\n layout === \"columns\" && \"flex min-h-36 items-center\",\n layout === \"columns\" && it.wrap && \"items-start pt-8\",\n grid && \"truncate\",\n )}\n >\n {it.label}\n </dt>\n <dd\n className={cn(\n \"group/kv flex min-w-0 items-center gap-4 text-body text-fg\",\n grid ? \"min-h-24\" : \"min-h-36\",\n it.mono && \"mono text-small\",\n it.wrap && (grid ? \"items-start\" : \"items-start py-8\"),\n )}\n >\n {it.wrap ? (\n <span className=\"min-w-0 break-words\">{it.value}</span>\n ) : typeof it.value === \"string\" ? (\n <Cut>{it.value}</Cut>\n ) : (\n <span className=\"min-w-0 truncate\">{it.value}</span>\n )}\n {it.copy && (\n <span className=\"shrink-0 opacity-0 transition-control group-hover/kv:opacity-100 coarse:opacity-100 focus-within:opacity-100\">\n <CopyButton value={it.copy} size=\"xs\" />\n </span>\n )}\n </dd>\n </div>\n ))}\n </dl>\n );\n return grid ? <div className=\"@container min-w-0\">{list}</div> : list;\n});\nif (process.env.NODE_ENV !== \"production\") KeyValue.displayName = \"KeyValue\";\n"],"mappings":";;;;;;;;AAMA,IAAaI,IAA2B;CACtC,QAAQ;EACN,SAAS,EAAE,SAAS,6BAA6B;EACjD,SAAS,EAAE,SAAS,gBAAgB;EACpC,MAAM,EAAE,SAAS,gBAAgB;CACnC;CACA,SAAS;EACP,GAAG,EAAE,SAAS,8BAA8B;EAC5C,GAAG,EAAE,SAAS,8BAA8B;EAC5C,GAAG,EAAE,SAAS,8BAA8B;CAC9C;AACF,GACaC,IAAmC;CAAE,QAAQ;CAAW,SAAS;AAAE;AAkBhF,SAASC,EAAI,EAAE,eAAkC;CAC/C,IAAMC,IAAMC,EAAwB,IAAI,GAClCC,IAAMP,EAAaK,CAAG,GACtBG,IACJ,kBAAC,QAAD;EAAW;EAAK,WAAU;EAAyB,GAAKD,IAAM,EAAE,UAAU,EAAE,IAAI,CAAC;EAC9E;CACG,CAAA;CAER,OAAOA,IACL,kBAACR,GAAD;EAAS,SAASU;EAAU,OAAM;EAC/B,UAAAD;CACM,CAAA,IAETA;AAEJ;AAEA,IAAaE,IAA2B,kBAA4C,SAAkB,EAAE,UAAO,YAAS,WAAW,aAAU,GAAG,gBAAa,GAAK;CAChK,IAAMC,IAAOC,MAAW,QAClBC,IACJ,kBAAC,MAAD;EAAS;EAAK,WAAWf,EAAGI,EAAyB,OAAOU,EAAO,CAAC,SAASD,KAAQT,EAAyB,QAAQY,EAAQ,CAAC,SAASC,CAAS;EAC9I,UAAAC,EAAM,KAAK,GAAI,MACd,kBAAC,OAAD;GAAa,WAAWlB,EAAGc,MAAW,YAAY,aAAa,oCAAoCD,KAAQM,EAAG,SAAS,SAAS,eAAe;GAA/I,UAAA,CACE,kBAAC,MAAD;IACE,WAAWnB,EACT,gCACAc,MAAW,aAAa,8BACxBA,MAAW,aAAaK,EAAG,QAAQ,oBACnCN,KAAQ,UACV;IAEC,UAAAM,EAAG;GACF,CAAA,GACJ,kBAAC,MAAD;IACE,WAAWnB,EACT,8DACAa,IAAO,aAAa,YACpBM,EAAG,QAAQ,mBACXA,EAAG,SAASN,IAAO,gBAAgB,mBACrC;IANF,UAAA,CAQGM,EAAG,OACF,kBAAC,QAAD;KAAM,WAAU;KAAuB,UAAAA,EAAG;IAAY,CAAA,IACpD,OAAOA,EAAG,SAAU,WACtB,kBAACb,GAAD,EAAA,UAAMa,EAAG,MAAW,CAAA,IAEpB,kBAAC,QAAD;KAAM,WAAU;KAAoB,UAAAA,EAAG;IAAY,CAAA,GAEpDA,EAAG,QACF,kBAAC,QAAD;KAAM,WAAU;KACd,UAAA,kBAAChB,GAAD;MAAY,OAAOgB,EAAG;MAAM,MAAK;KAAM,CAAA;IACnC,CAAA,CAEN;GACD,CAAA,CAAA;EAhCK,GAAA,CAgCL,CACN;CACC,CAAA;CAEN,OAAON,IAAO,kBAAC,OAAD;EAAK,WAAU;EAAsB,UAAAE;CAAU,CAAA,IAAIA;AACnE,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAS,cAAc"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "../chunks/cn-CidVUKMm.js";
|
|
3
|
+
import { i as t } from "../chunks/context-BELWW79w.js";
|
|
4
|
+
import { forwardRef as n } from "react";
|
|
5
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/label/label.tsx
|
|
7
|
+
var a = { size: {
|
|
8
|
+
md: { classes: "text-body font-medium" },
|
|
9
|
+
sm: { classes: "text-small font-medium" }
|
|
10
|
+
} }, o = { size: "md" }, s = /* @__PURE__ */ n(function({ size: n = "md", optional: o, className: s, children: c, ...l }, u) {
|
|
11
|
+
let d = t();
|
|
12
|
+
return /* @__PURE__ */ i("label", {
|
|
13
|
+
ref: u,
|
|
14
|
+
className: e("inline-flex items-baseline gap-6 text-fg", a.size[n].classes, s),
|
|
15
|
+
...l,
|
|
16
|
+
children: [c, o && /* @__PURE__ */ r("span", {
|
|
17
|
+
className: "text-small font-regular text-fg-tertiary",
|
|
18
|
+
children: d("label.optional", "Optional")
|
|
19
|
+
})]
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
process.env.NODE_ENV !== "production" && (s.displayName = "Label");
|
|
23
|
+
//#endregion
|
|
24
|
+
export { o as KAESO_LABEL_DEFAULT_VARIANTS, a as KAESO_LABEL_VARIANTS, s as Label };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.js","names":["cn","useUiText","KAESO_LABEL_VARIANTS","KAESO_LABEL_DEFAULT_VARIANTS","Label","props","t","size","className","children","optional"],"sources":["../../src/components/label/label.tsx"],"sourcesContent":["import { forwardRef, type LabelHTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_LABEL_VARIANTS = {\n size: {\n md: { classes: \"text-body font-medium\" },\n sm: { classes: \"text-small font-medium\" },\n },\n} as const;\nexport const KAESO_LABEL_DEFAULT_VARIANTS = { size: \"md\" } as const;\n\nexport interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {\n size?: keyof typeof KAESO_LABEL_VARIANTS.size | undefined;\n optional?: boolean | undefined;\n children: ReactNode;\n}\n\nexport const Label = /* @__PURE__ */ forwardRef<HTMLLabelElement, LabelProps>(function Label({ size = \"md\", optional, className, children, ...props }, ref) {\n const t = useUiText();\n return (\n <label ref={ref} className={cn(\"inline-flex items-baseline gap-6 text-fg\", KAESO_LABEL_VARIANTS.size[size].classes, className)} {...props}>\n {children}\n {optional && <span className=\"text-small font-regular text-fg-tertiary\">{t(\"label.optional\", \"Optional\")}</span>}\n </label>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Label.displayName = \"Label\";\n"],"mappings":";;;;;;AAIA,IAAaE,IAAuB,EAClC,MAAM;CACJ,IAAI,EAAE,SAAS,wBAAwB;CACvC,IAAI,EAAE,SAAS,yBAAyB;AAC1C,EACF,GACaC,IAA+B,EAAE,MAAM,KAAK,GAQ5CC,IAAwB,kBAAyC,SAAe,EAAE,UAAO,MAAM,aAAU,cAAW,aAAU,GAAGC,KAAS,GAAK;CAC1J,IAAMC,IAAIL,EAAU;CACpB,OACE,kBAAC,SAAD;EAAY;EAAK,WAAWD,EAAG,4CAA4CE,EAAqB,KAAKK,EAAK,CAAC,SAASC,CAAS;EAAG,GAAIH;EAApI,UAAA,CACGI,GACAC,KAAY,kBAAC,QAAD;GAAM,WAAU;GAA4C,UAAAJ,EAAE,kBAAkB,UAAU;EAAQ,CAAA,CAC1G;;AAEX,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAM,cAAc"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "../chunks/cn-CidVUKMm.js";
|
|
3
|
+
import { forwardRef as t } from "react";
|
|
4
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/layout/layout.tsx
|
|
6
|
+
var r = {
|
|
7
|
+
0: "gap-0",
|
|
8
|
+
2: "gap-2",
|
|
9
|
+
4: "gap-4",
|
|
10
|
+
6: "gap-6",
|
|
11
|
+
8: "gap-8",
|
|
12
|
+
12: "gap-12",
|
|
13
|
+
16: "gap-16",
|
|
14
|
+
20: "gap-20",
|
|
15
|
+
24: "gap-24",
|
|
16
|
+
32: "gap-32",
|
|
17
|
+
40: "gap-40",
|
|
18
|
+
48: "gap-48",
|
|
19
|
+
64: "gap-64"
|
|
20
|
+
}, i = {
|
|
21
|
+
align: {
|
|
22
|
+
start: { classes: "items-start" },
|
|
23
|
+
center: { classes: "items-center" },
|
|
24
|
+
end: { classes: "items-end" },
|
|
25
|
+
baseline: { classes: "items-baseline" },
|
|
26
|
+
stretch: { classes: "items-stretch" }
|
|
27
|
+
},
|
|
28
|
+
justify: {
|
|
29
|
+
start: { classes: "justify-start" },
|
|
30
|
+
center: { classes: "justify-center" },
|
|
31
|
+
end: { classes: "justify-end" },
|
|
32
|
+
between: { classes: "justify-between" }
|
|
33
|
+
},
|
|
34
|
+
columns: {
|
|
35
|
+
1: { classes: "grid-cols-1" },
|
|
36
|
+
2: { classes: "grid-cols-1 md:grid-cols-2" },
|
|
37
|
+
3: { classes: "grid-cols-1 md:grid-cols-3" },
|
|
38
|
+
4: { classes: "grid-cols-2 lg:grid-cols-4" },
|
|
39
|
+
6: { classes: "grid-cols-3 lg:grid-cols-6" }
|
|
40
|
+
}
|
|
41
|
+
}, a = {
|
|
42
|
+
align: "stretch",
|
|
43
|
+
justify: "start",
|
|
44
|
+
columns: 2
|
|
45
|
+
}, o = /* @__PURE__ */ t(function({ gap: t = 12, align: a, justify: o, as: s, className: c, ...l }, u) {
|
|
46
|
+
return /* @__PURE__ */ n(s ?? "div", {
|
|
47
|
+
ref: u,
|
|
48
|
+
className: e("flex flex-col", r[t], a && i.align[a].classes, o && i.justify[o].classes, c),
|
|
49
|
+
...l
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
process.env.NODE_ENV !== "production" && (o.displayName = "Stack");
|
|
53
|
+
var s = /* @__PURE__ */ t(function({ gap: t = 8, align: a = "center", justify: o, wrap: s = !0, as: c, className: l, ...u }, d) {
|
|
54
|
+
return /* @__PURE__ */ n(c ?? "div", {
|
|
55
|
+
ref: d,
|
|
56
|
+
className: e("flex", s && "flex-wrap", r[t], i.align[a].classes, o && i.justify[o].classes, l),
|
|
57
|
+
...u
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
process.env.NODE_ENV !== "production" && (s.displayName = "Inline");
|
|
61
|
+
var c = /* @__PURE__ */ t(function({ gap: t = 16, columns: a = 2, align: o, as: s, className: c, ...l }, u) {
|
|
62
|
+
return /* @__PURE__ */ n(s ?? "div", {
|
|
63
|
+
ref: u,
|
|
64
|
+
className: e("grid", r[t], i.columns[a].classes, o && i.align[o].classes, c),
|
|
65
|
+
...l
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
process.env.NODE_ENV !== "production" && (c.displayName = "Grid");
|
|
69
|
+
//#endregion
|
|
70
|
+
export { c as Grid, s as Inline, a as KAESO_LAYOUT_DEFAULT_VARIANTS, i as KAESO_LAYOUT_VARIANTS, o as Stack };
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","names":["cn","GAP","KAESO_LAYOUT_VARIANTS","KAESO_LAYOUT_DEFAULT_VARIANTS","Stack","props","as","gap","align","justify","className","Inline","wrap","Grid","columns"],"sources":["../../src/components/layout/layout.tsx"],"sourcesContent":["import { forwardRef, type ElementType, type HTMLAttributes } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\n\nconst GAP = {\n 0: \"gap-0\",\n 2: \"gap-2\",\n 4: \"gap-4\",\n 6: \"gap-6\",\n 8: \"gap-8\",\n 12: \"gap-12\",\n 16: \"gap-16\",\n 20: \"gap-20\",\n 24: \"gap-24\",\n 32: \"gap-32\",\n 40: \"gap-40\",\n 48: \"gap-48\",\n 64: \"gap-64\",\n} as const;\nexport type Gap = keyof typeof GAP;\n\nexport const KAESO_LAYOUT_VARIANTS = {\n align: {\n start: { classes: \"items-start\" },\n center: { classes: \"items-center\" },\n end: { classes: \"items-end\" },\n baseline: { classes: \"items-baseline\" },\n stretch: { classes: \"items-stretch\" },\n },\n justify: {\n start: { classes: \"justify-start\" },\n center: { classes: \"justify-center\" },\n end: { classes: \"justify-end\" },\n between: { classes: \"justify-between\" },\n },\n columns: {\n 1: { classes: \"grid-cols-1\" },\n 2: { classes: \"grid-cols-1 md:grid-cols-2\" },\n 3: { classes: \"grid-cols-1 md:grid-cols-3\" },\n 4: { classes: \"grid-cols-2 lg:grid-cols-4\" },\n 6: { classes: \"grid-cols-3 lg:grid-cols-6\" },\n },\n} as const;\nexport const KAESO_LAYOUT_DEFAULT_VARIANTS = { align: \"stretch\", justify: \"start\", columns: 2 } as const;\n\ninterface BaseProps extends HTMLAttributes<HTMLElement> {\n gap?: Gap | undefined;\n align?: keyof typeof KAESO_LAYOUT_VARIANTS.align | undefined;\n justify?: keyof typeof KAESO_LAYOUT_VARIANTS.justify | undefined;\n as?: ElementType | undefined;\n}\n\nexport const Stack = /* @__PURE__ */ forwardRef<HTMLElement, BaseProps>(function Stack({ gap = 12, align, justify, as, className, ...props }, ref) {\n const C = (as ?? \"div\") as ElementType;\n return (\n <C\n ref={ref}\n className={cn(\n \"flex flex-col\",\n GAP[gap],\n align && KAESO_LAYOUT_VARIANTS.align[align].classes,\n justify && KAESO_LAYOUT_VARIANTS.justify[justify].classes,\n className,\n )}\n {...props}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") Stack.displayName = \"Stack\";\n\nexport const Inline = /* @__PURE__ */ forwardRef<HTMLElement, BaseProps & { wrap?: boolean | undefined }>(function Inline(\n { gap = 8, align = \"center\", justify, wrap = true, as, className, ...props },\n ref,\n) {\n const C = (as ?? \"div\") as ElementType;\n return (\n <C\n ref={ref}\n className={cn(\n \"flex\",\n wrap && \"flex-wrap\",\n GAP[gap],\n KAESO_LAYOUT_VARIANTS.align[align].classes,\n justify && KAESO_LAYOUT_VARIANTS.justify[justify].classes,\n className,\n )}\n {...props}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") Inline.displayName = \"Inline\";\n\nexport const Grid = /* @__PURE__ */ forwardRef<HTMLElement, Omit<BaseProps, \"justify\"> & { columns?: keyof typeof KAESO_LAYOUT_VARIANTS.columns | undefined }>(function Grid(\n { gap = 16, columns = 2, align, as, className, ...props },\n ref,\n) {\n const C = (as ?? \"div\") as ElementType;\n return (\n <C\n ref={ref}\n className={cn(\"grid\", GAP[gap], KAESO_LAYOUT_VARIANTS.columns[columns].classes, align && KAESO_LAYOUT_VARIANTS.align[align].classes, className)}\n {...props}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") Grid.displayName = \"Grid\";\n"],"mappings":";;;;;AAGA,IAAMC,IAAM;CACV,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN,GAGaC,IAAwB;CACnC,OAAO;EACL,OAAO,EAAE,SAAS,cAAc;EAChC,QAAQ,EAAE,SAAS,eAAe;EAClC,KAAK,EAAE,SAAS,YAAY;EAC5B,UAAU,EAAE,SAAS,iBAAiB;EACtC,SAAS,EAAE,SAAS,gBAAgB;CACtC;CACA,SAAS;EACP,OAAO,EAAE,SAAS,gBAAgB;EAClC,QAAQ,EAAE,SAAS,iBAAiB;EACpC,KAAK,EAAE,SAAS,cAAc;EAC9B,SAAS,EAAE,SAAS,kBAAkB;CACxC;CACA,SAAS;EACP,GAAG,EAAE,SAAS,cAAc;EAC5B,GAAG,EAAE,SAAS,6BAA6B;EAC3C,GAAG,EAAE,SAAS,6BAA6B;EAC3C,GAAG,EAAE,SAAS,6BAA6B;EAC3C,GAAG,EAAE,SAAS,6BAA6B;CAC7C;AACF,GACaC,IAAgC;CAAE,OAAO;CAAW,SAAS;CAAS,SAAS;AAAE,GASjFC,IAAwB,kBAAmC,SAAe,EAAE,SAAM,IAAI,UAAO,YAAS,OAAI,cAAW,GAAGC,KAAS,GAAK;CAEjJ,OACE,kBAFSC,KAAM,OAEf;EACO;EACL,WAAWN,EACT,iBACAC,EAAIM,IACJC,KAASN,EAAsB,MAAMM,EAAM,CAAC,SAC5CC,KAAWP,EAAsB,QAAQO,EAAQ,CAAC,SAClDC,CACF;EACA,GAAIL;CACL,CAAA;AAEL,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAM,cAAc;AAE/D,IAAaM,IAAyB,kBAAoE,SACxG,EAAE,SAAM,GAAG,WAAQ,UAAU,YAAS,UAAO,IAAM,OAAI,cAAW,GAAGN,KACrE,GACA;CAEA,OACE,kBAFSC,KAAM,OAEf;EACO;EACL,WAAWN,EACT,QACAY,KAAQ,aACRX,EAAIM,IACJL,EAAsB,MAAMM,EAAM,CAAC,SACnCC,KAAWP,EAAsB,QAAQO,EAAQ,CAAC,SAClDC,CACF;EACA,GAAIL;CACL,CAAA;AAEL,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAO,cAAc;AAEhE,IAAaQ,IAAuB,kBAA2H,SAC7J,EAAE,SAAM,IAAI,aAAU,GAAG,UAAO,OAAI,cAAW,GAAGR,KAClD,GACA;CAEA,OACE,kBAFSC,KAAM,OAEf;EACO;EACL,WAAWN,EAAG,QAAQC,EAAIM,IAAML,EAAsB,QAAQY,EAAQ,CAAC,SAASN,KAASN,EAAsB,MAAMM,EAAM,CAAC,SAASE,CAAS;EAC9I,GAAIL;CACL,CAAA;AAEL,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAK,cAAc"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "../chunks/cn-CidVUKMm.js";
|
|
3
|
+
import { i as t } from "../chunks/context-BELWW79w.js";
|
|
4
|
+
import { i as n, n as r, r as i, t as a } from "../chunks/loader-CUehxvSZ.js";
|
|
5
|
+
import { forwardRef as o } from "react";
|
|
6
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
7
|
+
//#region src/components/loader/status.tsx
|
|
8
|
+
var l = {
|
|
9
|
+
size: r.size,
|
|
10
|
+
tone: {
|
|
11
|
+
secondary: { classes: "text-fg-secondary" },
|
|
12
|
+
tertiary: { classes: "text-fg-tertiary" },
|
|
13
|
+
current: { classes: "" }
|
|
14
|
+
}
|
|
15
|
+
}, u = {
|
|
16
|
+
size: "sm",
|
|
17
|
+
tone: "secondary"
|
|
18
|
+
}, d = /* @__PURE__ */ o(function({ size: r = "sm", tone: a, label: o, hideLabel: u, loading: d = !0, delay: f, minDuration: p, className: m, ...h }, g) {
|
|
19
|
+
let _ = t(), v = n(d, f === !0 ? void 0 : f || 0, p ?? (f ? void 0 : 0));
|
|
20
|
+
return /* @__PURE__ */ s("span", {
|
|
21
|
+
ref: g,
|
|
22
|
+
role: "status",
|
|
23
|
+
className: e("inline-flex items-center gap-8 text-body", l.tone[a ?? "secondary"].classes, m),
|
|
24
|
+
...h,
|
|
25
|
+
children: /* @__PURE__ */ c("span", {
|
|
26
|
+
className: v ? "contents" : "contents invisible",
|
|
27
|
+
children: [/* @__PURE__ */ s(i, { size: r }), /* @__PURE__ */ s("span", {
|
|
28
|
+
className: e(!o || u ? "sr-only" : void 0),
|
|
29
|
+
children: o ?? _("loader.loading", "Loading")
|
|
30
|
+
})]
|
|
31
|
+
})
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
process.env.NODE_ENV !== "production" && (d.displayName = "Loader");
|
|
35
|
+
//#endregion
|
|
36
|
+
export { u as KAESO_LOADER_DEFAULT_VARIANTS, l as KAESO_LOADER_VARIANTS, a as KAESO_SPINNER_DEFAULT_VARIANTS, r as KAESO_SPINNER_VARIANTS, d as Loader, i as Spinner, n as useDelayedLoading };
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","names":["cn","useUiText","useDelayedLoading","KAESO_SPINNER_VARIANTS","Spinner","KAESO_SPINNER_DEFAULT_VARIANTS","KAESO_LOADER_VARIANTS","KAESO_LOADER_DEFAULT_VARIANTS","Loader","props","t","shown","loading","delay","minDuration","tone","className","label","hideLabel"],"sources":["../../src/components/loader/status.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { KAESO_SPINNER_VARIANTS, Spinner, useDelayedLoading } from \"./loader.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_LOADER_VARIANTS = {\n size: KAESO_SPINNER_VARIANTS.size,\n tone: {\n secondary: { classes: \"text-fg-secondary\" },\n tertiary: { classes: \"text-fg-tertiary\" },\n current: { classes: \"\" },\n },\n} as const;\nexport const KAESO_LOADER_DEFAULT_VARIANTS = { size: \"sm\", tone: \"secondary\" } as const;\n\nexport type LoaderSize = keyof typeof KAESO_LOADER_VARIANTS.size;\nexport type LoaderTone = keyof typeof KAESO_LOADER_VARIANTS.tone;\n\nexport interface LoaderProps extends HTMLAttributes<HTMLSpanElement> {\n size?: LoaderSize | undefined;\n tone?: LoaderTone | undefined;\n label?: string | undefined;\n hideLabel?: boolean | undefined;\n loading?: boolean | undefined;\n delay?: boolean | number | undefined;\n minDuration?: number | undefined;\n}\n\nexport const Loader = /* @__PURE__ */ forwardRef<HTMLSpanElement, LoaderProps>(function Loader(\n { size = \"sm\", tone, label, hideLabel, loading = true, delay, minDuration, className, ...props },\n ref,\n) {\n const t = useUiText();\n const shown = useDelayedLoading(loading, delay === true ? undefined : delay || 0, minDuration ?? (delay ? undefined : 0));\n return (\n <span\n ref={ref}\n role=\"status\"\n className={cn(\"inline-flex items-center gap-8 text-body\", KAESO_LOADER_VARIANTS.tone[tone ?? \"secondary\"].classes, className)}\n {...props}\n >\n <span className={shown ? \"contents\" : \"contents invisible\"}>\n <Spinner size={size} />\n <span className={cn(!label || hideLabel ? \"sr-only\" : undefined)}>{label ?? t(\"loader.loading\", \"Loading\")}</span>\n </span>\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Loader.displayName = \"Loader\";\n"],"mappings":";;;;;;;AAKA,IAAaM,IAAwB;CACnC,MAAMH,EAAuB;CAC7B,MAAM;EACJ,WAAW,EAAE,SAAS,oBAAoB;EAC1C,UAAU,EAAE,SAAS,mBAAmB;EACxC,SAAS,EAAE,SAAS,GAAG;CACzB;AACF,GACaI,IAAgC;CAAE,MAAM;CAAM,MAAM;AAAY,GAehEC,IAAyB,kBAAyC,SAC7E,EAAE,UAAO,MAAM,SAAM,UAAO,cAAW,aAAU,IAAM,UAAO,gBAAa,cAAW,GAAGC,KACzF,GACA;CACA,IAAMC,IAAIT,EAAU,GACdU,IAAQT,EAAkBU,GAASC,MAAU,KAAO,KAAA,IAAYA,KAAS,GAAGC,MAAgBD,IAAQ,KAAA,IAAY,EAAE;CACxH,OACE,kBAAC,QAAD;EACO;EACL,MAAK;EACL,WAAWb,EAAG,4CAA4CM,EAAsB,KAAKS,KAAQ,YAAY,CAAC,SAASC,CAAS;EAC5H,GAAIP;EAEJ,UAAA,kBAAC,QAAD;GAAM,WAAWE,IAAQ,aAAa;GAAtC,UAAA,CACE,kBAACP,GAAD,EAAe,QAAO,CAAA,GACtB,kBAAC,QAAD;IAAM,WAAWJ,EAAG,CAACiB,KAASC,IAAY,YAAY,KAAA,CAAS;IAAI,UAAAD,KAASP,EAAE,kBAAkB,SAAS;GAAQ,CAAA,CAC7G;;CACF,CAAA;AAEV,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAO,cAAc"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "../chunks/safe-href-G5DBNVwm.js";
|
|
3
|
+
import { a as t, i as n, n as r, r as i, s as a, t as o } from "../chunks/markdown-C-iJsYnd.js";
|
|
4
|
+
export { o as KAESO_MARKDOWN_DEFAULT_VARIANTS, r as KAESO_MARKDOWN_VARIANTS, i as Markdown, n as lexMarkdown, t as markdownCodeLang, a as previewMarkdown, e as safeHref };
|