@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,447 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { i as e, o as t, s as n, t as r } from "./styles-Btvg2DCf.js";
|
|
3
|
+
import { t as i } from "./cn-CidVUKMm.js";
|
|
4
|
+
import { r as a } from "./link-provider---9JdxTg.js";
|
|
5
|
+
import { n as o, r as s } from "./portal-context-BBbzDKmY.js";
|
|
6
|
+
import { t as c } from "./icon-CeNQtobn.js";
|
|
7
|
+
import { i as l } from "./kbd-CBcBDvqU.js";
|
|
8
|
+
import { n as u, t as d } from "./use-layout-width-DZaLOQMT.js";
|
|
9
|
+
import { createContext as f, forwardRef as p, useCallback as m, useContext as h, useRef as g } from "react";
|
|
10
|
+
import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
|
|
11
|
+
import { ArrowRight01Icon as b, ArrowUpRight01Icon as x, Tick02Icon as S } from "@hugeicons/core-free-icons";
|
|
12
|
+
import { Menu as C } from "@base-ui/react/menu";
|
|
13
|
+
import { ContextMenu as w } from "@base-ui/react/context-menu";
|
|
14
|
+
import { Menubar as T } from "@base-ui/react/menubar";
|
|
15
|
+
//#region src/components/menu/menu.tsx
|
|
16
|
+
var E = {
|
|
17
|
+
item: {
|
|
18
|
+
default: { classes: "" },
|
|
19
|
+
danger: { classes: r }
|
|
20
|
+
},
|
|
21
|
+
width: {
|
|
22
|
+
auto: { classes: "" },
|
|
23
|
+
trigger: { classes: "w-anchor" }
|
|
24
|
+
},
|
|
25
|
+
description: {
|
|
26
|
+
secondary: { classes: "text-fg-secondary" },
|
|
27
|
+
danger: { classes: "text-danger-text" }
|
|
28
|
+
}
|
|
29
|
+
}, D = {
|
|
30
|
+
item: "default",
|
|
31
|
+
width: "auto",
|
|
32
|
+
description: "secondary"
|
|
33
|
+
}, O = { current: null }, k = /* @__PURE__ */ f(null);
|
|
34
|
+
function A({ open: e, defaultOpen: t, onOpenChange: n, modal: r = !1, children: i }) {
|
|
35
|
+
let a = g(null);
|
|
36
|
+
return /* @__PURE__ */ v(C.Root, {
|
|
37
|
+
...e === void 0 ? {} : { open: e },
|
|
38
|
+
...t === void 0 ? {} : { defaultOpen: t },
|
|
39
|
+
...n ? { onOpenChange: (e) => n(e) } : {},
|
|
40
|
+
modal: r,
|
|
41
|
+
children: /* @__PURE__ */ v(k.Provider, {
|
|
42
|
+
value: a,
|
|
43
|
+
children: i
|
|
44
|
+
})
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
process.env.NODE_ENV !== "production" && (A.displayName = "Menu");
|
|
48
|
+
function j({ children: e, openOnHover: t }) {
|
|
49
|
+
let n = h(k), r = m((e) => {
|
|
50
|
+
n && (n.current = e);
|
|
51
|
+
}, [n]);
|
|
52
|
+
return /* @__PURE__ */ v(C.Trigger, {
|
|
53
|
+
ref: r,
|
|
54
|
+
render: e,
|
|
55
|
+
...t ? { openOnHover: t } : {}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
process.env.NODE_ENV !== "production" && (j.displayName = "Menu.Trigger");
|
|
59
|
+
function M(e, t) {
|
|
60
|
+
return function(n) {
|
|
61
|
+
let { role: r, id: a, "aria-labelledby": o, "aria-orientation": s, children: c, className: l, ...u } = n;
|
|
62
|
+
return /* @__PURE__ */ v("div", {
|
|
63
|
+
...u,
|
|
64
|
+
className: i(l, "overflow-hidden p-0"),
|
|
65
|
+
children: /* @__PURE__ */ y("div", {
|
|
66
|
+
tabIndex: 0,
|
|
67
|
+
className: "flex min-h-0 flex-1 flex-col overflow-y-auto overscroll-contain rounded-menu p-6 focus-ring-inset scrollbar-quiet",
|
|
68
|
+
children: [
|
|
69
|
+
/* @__PURE__ */ v("div", {
|
|
70
|
+
className: "mb-6 px-10 pt-6 pb-10 hairline-b",
|
|
71
|
+
children: e
|
|
72
|
+
}),
|
|
73
|
+
/* @__PURE__ */ v("div", {
|
|
74
|
+
role: r,
|
|
75
|
+
id: a,
|
|
76
|
+
"aria-labelledby": o,
|
|
77
|
+
"aria-orientation": s,
|
|
78
|
+
className: "flex flex-col",
|
|
79
|
+
children: c
|
|
80
|
+
}),
|
|
81
|
+
t && /* @__PURE__ */ v("div", {
|
|
82
|
+
className: "px-10 pt-6 pb-4 text-caption text-fg-tertiary",
|
|
83
|
+
children: t
|
|
84
|
+
})
|
|
85
|
+
]
|
|
86
|
+
})
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
var N = /* @__PURE__ */ p(function({ children: e, side: n = "bottom", align: r = "start", sideOffset: a = 6, width: c = "auto", className: l, header: f, footer: p }, m) {
|
|
91
|
+
let _ = h(k), b = u(_ ?? O, c === "trigger" && !!_), x = g(null);
|
|
92
|
+
return /* @__PURE__ */ v(C.Portal, {
|
|
93
|
+
container: s(),
|
|
94
|
+
children: /* @__PURE__ */ v(C.Positioner, {
|
|
95
|
+
positionMethod: "fixed",
|
|
96
|
+
collisionBoundary: o(),
|
|
97
|
+
side: n,
|
|
98
|
+
align: r,
|
|
99
|
+
sideOffset: a,
|
|
100
|
+
collisionPadding: 8,
|
|
101
|
+
className: "z-50 outline-none",
|
|
102
|
+
children: /* @__PURE__ */ y(C.Popup, {
|
|
103
|
+
ref: (e) => {
|
|
104
|
+
x.current = e, typeof m == "function" ? m(e) : m && (m.current = e);
|
|
105
|
+
},
|
|
106
|
+
finalFocus: () => {
|
|
107
|
+
let e = document.activeElement;
|
|
108
|
+
return e && e !== document.body && !x.current?.contains(e) ? !1 : !_?.current?.isConnected || _.current;
|
|
109
|
+
},
|
|
110
|
+
tabIndex: 0,
|
|
111
|
+
className: i(t, E.width[c].classes, l),
|
|
112
|
+
style: c === "trigger" ? d(b) : void 0,
|
|
113
|
+
...f ? { render: M(f, p) } : {},
|
|
114
|
+
children: [e, !f && p && /* @__PURE__ */ v("div", {
|
|
115
|
+
className: "px-10 pt-6 pb-4 text-caption text-fg-tertiary",
|
|
116
|
+
children: p
|
|
117
|
+
})]
|
|
118
|
+
})
|
|
119
|
+
})
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
process.env.NODE_ENV !== "production" && (N.displayName = "Menu.Content");
|
|
123
|
+
function P({ icon: e, leading: t, description: n, descriptionTone: r = "secondary", shortcut: a, hint: o, children: s, danger: u }) {
|
|
124
|
+
return /* @__PURE__ */ y(_, { children: [
|
|
125
|
+
t ? /* @__PURE__ */ v("span", {
|
|
126
|
+
className: i("flex size-16 shrink-0 items-center justify-center", n && "self-start mt-10"),
|
|
127
|
+
children: t
|
|
128
|
+
}) : e && /* @__PURE__ */ v(c, {
|
|
129
|
+
icon: e,
|
|
130
|
+
size: "sm",
|
|
131
|
+
className: i(u ? "text-danger-text" : "text-fg-secondary group-data-highlighted/item:text-fg group-data-disabled/item:text-fg-disabled", n && "self-start mt-10")
|
|
132
|
+
}),
|
|
133
|
+
n ? /* @__PURE__ */ y("span", {
|
|
134
|
+
className: "flex min-w-0 flex-1 flex-col gap-2 py-8",
|
|
135
|
+
children: [/* @__PURE__ */ v("span", {
|
|
136
|
+
className: "truncate",
|
|
137
|
+
children: s
|
|
138
|
+
}), /* @__PURE__ */ v("span", {
|
|
139
|
+
className: i("text-small font-regular whitespace-normal", E.description[r].classes),
|
|
140
|
+
children: n
|
|
141
|
+
})]
|
|
142
|
+
}) : /* @__PURE__ */ v("span", {
|
|
143
|
+
className: "min-w-0 flex-1 truncate",
|
|
144
|
+
children: s
|
|
145
|
+
}),
|
|
146
|
+
(a || o) && /* @__PURE__ */ y("span", {
|
|
147
|
+
className: "ml-auto flex shrink-0 items-center gap-4 pl-16 text-caption font-medium text-fg-tertiary tabular",
|
|
148
|
+
children: [o, a && /* @__PURE__ */ v(l, { keys: a })]
|
|
149
|
+
})
|
|
150
|
+
] });
|
|
151
|
+
}
|
|
152
|
+
var F = /* @__PURE__ */ p(function({ children: t, icon: n, leading: r, description: a, descriptionTone: o, shortcut: s, hint: c, variant: l = "default", disabled: u, onClick: d, closeOnClick: f, className: p, "data-force": m }, h) {
|
|
153
|
+
return /* @__PURE__ */ v(C.Item, {
|
|
154
|
+
ref: h,
|
|
155
|
+
...u ? { disabled: u } : {},
|
|
156
|
+
...d ? { onClick: d } : {},
|
|
157
|
+
...f === void 0 ? {} : { closeOnClick: f },
|
|
158
|
+
...m ? { "data-force": m } : {},
|
|
159
|
+
className: i(e, E.item[l].classes, p),
|
|
160
|
+
children: /* @__PURE__ */ v(P, {
|
|
161
|
+
icon: n,
|
|
162
|
+
leading: r,
|
|
163
|
+
description: a,
|
|
164
|
+
descriptionTone: o,
|
|
165
|
+
shortcut: s,
|
|
166
|
+
hint: c,
|
|
167
|
+
danger: l === "danger",
|
|
168
|
+
children: t
|
|
169
|
+
})
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
process.env.NODE_ENV !== "production" && (F.displayName = "Menu.Item");
|
|
173
|
+
var I = /* @__PURE__ */ p(function({ children: t, href: n, external: r, icon: o, leading: s, description: l, descriptionTone: u, shortcut: d, hint: f, className: p }, m) {
|
|
174
|
+
let h = a();
|
|
175
|
+
return /* @__PURE__ */ v(C.LinkItem, {
|
|
176
|
+
ref: m,
|
|
177
|
+
href: n,
|
|
178
|
+
...r ? {
|
|
179
|
+
target: "_blank",
|
|
180
|
+
rel: "noopener noreferrer"
|
|
181
|
+
} : { render: /* @__PURE__ */ v(h, { href: n }) },
|
|
182
|
+
className: i(e, "no-underline", p),
|
|
183
|
+
children: /* @__PURE__ */ v(P, {
|
|
184
|
+
icon: o,
|
|
185
|
+
leading: s,
|
|
186
|
+
description: l,
|
|
187
|
+
descriptionTone: u,
|
|
188
|
+
shortcut: d,
|
|
189
|
+
hint: f ?? (r ? /* @__PURE__ */ v(c, {
|
|
190
|
+
icon: x,
|
|
191
|
+
size: "xs"
|
|
192
|
+
}) : void 0),
|
|
193
|
+
children: t
|
|
194
|
+
})
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
process.env.NODE_ENV !== "production" && (I.displayName = "Menu.LinkItem");
|
|
198
|
+
var L = /* @__PURE__ */ p(function({ children: t, icon: n, leading: r, description: a, descriptionTone: o, shortcut: s, hint: l, checked: u, defaultChecked: d, onCheckedChange: f, disabled: p, closeOnClick: m = !1, className: h }, g) {
|
|
199
|
+
return /* @__PURE__ */ y(C.CheckboxItem, {
|
|
200
|
+
ref: g,
|
|
201
|
+
...u === void 0 ? {} : { checked: u },
|
|
202
|
+
...d === void 0 ? {} : { defaultChecked: d },
|
|
203
|
+
...f ? { onCheckedChange: (e) => f(e) } : {},
|
|
204
|
+
...p ? { disabled: p } : {},
|
|
205
|
+
closeOnClick: m,
|
|
206
|
+
className: i(e, h),
|
|
207
|
+
children: [/* @__PURE__ */ v(P, {
|
|
208
|
+
icon: n,
|
|
209
|
+
leading: r,
|
|
210
|
+
description: a,
|
|
211
|
+
descriptionTone: o,
|
|
212
|
+
shortcut: s,
|
|
213
|
+
hint: l,
|
|
214
|
+
children: t
|
|
215
|
+
}), /* @__PURE__ */ v(C.CheckboxItemIndicator, {
|
|
216
|
+
keepMounted: !0,
|
|
217
|
+
className: "flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-checked:opacity-100",
|
|
218
|
+
children: /* @__PURE__ */ v(c, {
|
|
219
|
+
icon: S,
|
|
220
|
+
size: "sm"
|
|
221
|
+
})
|
|
222
|
+
})]
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
process.env.NODE_ENV !== "production" && (L.displayName = "Menu.CheckboxItem");
|
|
226
|
+
var R = /* @__PURE__ */ p(function({ value: e, defaultValue: t, onValueChange: n, children: r }, i) {
|
|
227
|
+
return /* @__PURE__ */ v(C.RadioGroup, {
|
|
228
|
+
ref: i,
|
|
229
|
+
...e === void 0 ? {} : { value: e },
|
|
230
|
+
...t === void 0 ? {} : { defaultValue: t },
|
|
231
|
+
...n ? { onValueChange: (e) => n(String(e)) } : {},
|
|
232
|
+
children: r
|
|
233
|
+
});
|
|
234
|
+
});
|
|
235
|
+
process.env.NODE_ENV !== "production" && (R.displayName = "Menu.RadioGroup");
|
|
236
|
+
var z = /* @__PURE__ */ p(function({ children: t, value: n, icon: r, leading: a, description: o, descriptionTone: s, shortcut: l, hint: u, disabled: d, closeOnClick: f, className: p }, m) {
|
|
237
|
+
return /* @__PURE__ */ y(C.RadioItem, {
|
|
238
|
+
ref: m,
|
|
239
|
+
value: n,
|
|
240
|
+
...d ? { disabled: d } : {},
|
|
241
|
+
...f === void 0 ? {} : { closeOnClick: f },
|
|
242
|
+
className: i(e, p),
|
|
243
|
+
children: [/* @__PURE__ */ v(P, {
|
|
244
|
+
icon: r,
|
|
245
|
+
leading: a,
|
|
246
|
+
description: o,
|
|
247
|
+
descriptionTone: s,
|
|
248
|
+
shortcut: l,
|
|
249
|
+
hint: u,
|
|
250
|
+
children: t
|
|
251
|
+
}), /* @__PURE__ */ v(C.RadioItemIndicator, {
|
|
252
|
+
keepMounted: !0,
|
|
253
|
+
className: "flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-checked:opacity-100",
|
|
254
|
+
children: /* @__PURE__ */ v(c, {
|
|
255
|
+
icon: S,
|
|
256
|
+
size: "sm"
|
|
257
|
+
})
|
|
258
|
+
})]
|
|
259
|
+
});
|
|
260
|
+
});
|
|
261
|
+
process.env.NODE_ENV !== "production" && (z.displayName = "Menu.RadioItem");
|
|
262
|
+
var B = /* @__PURE__ */ p(function({ label: e, children: t }, n) {
|
|
263
|
+
return /* @__PURE__ */ y(C.Group, {
|
|
264
|
+
ref: n,
|
|
265
|
+
className: "flex flex-col",
|
|
266
|
+
children: [e && /* @__PURE__ */ v(C.GroupLabel, {
|
|
267
|
+
className: "flex h-28 items-center px-10 text-caption font-medium text-fg-secondary",
|
|
268
|
+
children: e
|
|
269
|
+
}), t]
|
|
270
|
+
});
|
|
271
|
+
});
|
|
272
|
+
process.env.NODE_ENV !== "production" && (B.displayName = "Menu.Group");
|
|
273
|
+
function V() {
|
|
274
|
+
return /* @__PURE__ */ v("div", {
|
|
275
|
+
role: "separator",
|
|
276
|
+
"aria-orientation": "horizontal",
|
|
277
|
+
className: n
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
process.env.NODE_ENV !== "production" && (V.displayName = "Menu.Separator");
|
|
281
|
+
function H({ avatar: e, name: t, email: n }) {
|
|
282
|
+
return /* @__PURE__ */ y("div", {
|
|
283
|
+
className: "flex min-w-0 items-center gap-10 px-10 pt-8 pb-10",
|
|
284
|
+
children: [e, /* @__PURE__ */ y("div", {
|
|
285
|
+
className: "flex min-w-0 flex-col",
|
|
286
|
+
children: [/* @__PURE__ */ v("span", {
|
|
287
|
+
className: "truncate text-body font-semibold text-fg",
|
|
288
|
+
children: t
|
|
289
|
+
}), n && /* @__PURE__ */ v("span", {
|
|
290
|
+
className: "truncate text-caption font-regular text-fg-secondary",
|
|
291
|
+
children: n
|
|
292
|
+
})]
|
|
293
|
+
})]
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
process.env.NODE_ENV !== "production" && (H.displayName = "Menu.Header");
|
|
297
|
+
function U({ children: e, open: t, onOpenChange: n }) {
|
|
298
|
+
let r = g(null);
|
|
299
|
+
return /* @__PURE__ */ v(C.SubmenuRoot, {
|
|
300
|
+
...t === void 0 ? {} : { open: t },
|
|
301
|
+
...n ? { onOpenChange: (e) => n(e) } : {},
|
|
302
|
+
children: /* @__PURE__ */ v(k.Provider, {
|
|
303
|
+
value: r,
|
|
304
|
+
children: e
|
|
305
|
+
})
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
process.env.NODE_ENV !== "production" && (U.displayName = "Menu.Sub");
|
|
309
|
+
var W = /* @__PURE__ */ p(function({ children: t, icon: n, leading: r, description: a, descriptionTone: o, hint: s, disabled: l, className: u }, d) {
|
|
310
|
+
let f = h(k), p = m((e) => {
|
|
311
|
+
f && (f.current = e), typeof d == "function" ? d(e) : d && (d.current = e);
|
|
312
|
+
}, [f, d]);
|
|
313
|
+
return /* @__PURE__ */ y(C.SubmenuTrigger, {
|
|
314
|
+
ref: p,
|
|
315
|
+
...l ? { disabled: l } : {},
|
|
316
|
+
className: i(e, "open:bg-fill-1", u),
|
|
317
|
+
children: [/* @__PURE__ */ v(P, {
|
|
318
|
+
icon: n,
|
|
319
|
+
leading: r,
|
|
320
|
+
description: a,
|
|
321
|
+
descriptionTone: o,
|
|
322
|
+
hint: s,
|
|
323
|
+
children: t
|
|
324
|
+
}), /* @__PURE__ */ v(c, {
|
|
325
|
+
icon: b,
|
|
326
|
+
size: "sm",
|
|
327
|
+
className: "-mr-2 text-fg-tertiary"
|
|
328
|
+
})]
|
|
329
|
+
});
|
|
330
|
+
});
|
|
331
|
+
process.env.NODE_ENV !== "production" && (W.displayName = "Menu.SubTrigger");
|
|
332
|
+
var G = /* @__PURE__ */ p(function(e, t) {
|
|
333
|
+
return /* @__PURE__ */ v(N, {
|
|
334
|
+
ref: t,
|
|
335
|
+
side: "right",
|
|
336
|
+
align: "start",
|
|
337
|
+
sideOffset: 2,
|
|
338
|
+
...e
|
|
339
|
+
});
|
|
340
|
+
});
|
|
341
|
+
process.env.NODE_ENV !== "production" && (G.displayName = "Menu.SubContent");
|
|
342
|
+
var K = /* @__PURE__ */ Object.assign(A, {
|
|
343
|
+
Trigger: j,
|
|
344
|
+
Content: N,
|
|
345
|
+
Item: F,
|
|
346
|
+
LinkItem: I,
|
|
347
|
+
CheckboxItem: L,
|
|
348
|
+
RadioGroup: R,
|
|
349
|
+
RadioItem: z,
|
|
350
|
+
Group: B,
|
|
351
|
+
Separator: V,
|
|
352
|
+
Header: H,
|
|
353
|
+
Sub: U,
|
|
354
|
+
SubTrigger: W,
|
|
355
|
+
SubContent: G
|
|
356
|
+
});
|
|
357
|
+
function q({ children: e, onOpenChange: t }) {
|
|
358
|
+
return /* @__PURE__ */ v(w.Root, {
|
|
359
|
+
...t ? { onOpenChange: (e) => t(e) } : {},
|
|
360
|
+
children: e
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
process.env.NODE_ENV !== "production" && (q.displayName = "ContextMenu");
|
|
364
|
+
function J({ children: e, className: t }) {
|
|
365
|
+
return /* @__PURE__ */ v(w.Trigger, {
|
|
366
|
+
className: t,
|
|
367
|
+
children: e
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
process.env.NODE_ENV !== "production" && (J.displayName = "ContextMenu.Trigger");
|
|
371
|
+
var Y = /* @__PURE__ */ p(function({ children: e, className: n, header: r, footer: a, width: c = "auto" }, l) {
|
|
372
|
+
return /* @__PURE__ */ v(w.Portal, {
|
|
373
|
+
container: s(),
|
|
374
|
+
children: /* @__PURE__ */ v(w.Positioner, {
|
|
375
|
+
positionMethod: "fixed",
|
|
376
|
+
collisionBoundary: o(),
|
|
377
|
+
collisionPadding: 8,
|
|
378
|
+
className: "z-50 outline-none",
|
|
379
|
+
children: /* @__PURE__ */ y(w.Popup, {
|
|
380
|
+
ref: l,
|
|
381
|
+
tabIndex: 0,
|
|
382
|
+
className: i(t, E.width[c].classes, n),
|
|
383
|
+
children: [
|
|
384
|
+
r && /* @__PURE__ */ v("div", {
|
|
385
|
+
className: "mb-6 px-10 pt-6 pb-10 hairline-b",
|
|
386
|
+
children: r
|
|
387
|
+
}),
|
|
388
|
+
e,
|
|
389
|
+
a && /* @__PURE__ */ v("div", {
|
|
390
|
+
className: "px-10 pt-6 pb-4 text-caption text-fg-tertiary",
|
|
391
|
+
children: a
|
|
392
|
+
})
|
|
393
|
+
]
|
|
394
|
+
})
|
|
395
|
+
})
|
|
396
|
+
});
|
|
397
|
+
});
|
|
398
|
+
process.env.NODE_ENV !== "production" && (Y.displayName = "ContextMenu.Content");
|
|
399
|
+
var X = /* @__PURE__ */ Object.assign(q, {
|
|
400
|
+
Trigger: J,
|
|
401
|
+
Content: Y,
|
|
402
|
+
Item: F,
|
|
403
|
+
LinkItem: I,
|
|
404
|
+
CheckboxItem: L,
|
|
405
|
+
RadioGroup: R,
|
|
406
|
+
RadioItem: z,
|
|
407
|
+
Group: B,
|
|
408
|
+
Separator: V,
|
|
409
|
+
Sub: U,
|
|
410
|
+
SubTrigger: W,
|
|
411
|
+
SubContent: G
|
|
412
|
+
});
|
|
413
|
+
function Z({ children: e, className: t, "aria-label": n }) {
|
|
414
|
+
return /* @__PURE__ */ v(T, {
|
|
415
|
+
className: i("inline-flex items-center gap-2", t),
|
|
416
|
+
...n ? { "aria-label": n } : {},
|
|
417
|
+
children: e
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
process.env.NODE_ENV !== "production" && (Z.displayName = "Menubar");
|
|
421
|
+
var Q = /* @__PURE__ */ p(function({ children: e, className: t, "data-force": n }, r) {
|
|
422
|
+
return /* @__PURE__ */ v(C.Trigger, {
|
|
423
|
+
ref: r,
|
|
424
|
+
...n ? { "data-force": n } : {},
|
|
425
|
+
className: i("inline-flex h-32 cursor-pointer items-center rounded-pill px-12 text-body font-medium text-fg material-ghost transition-control focus-ring", t),
|
|
426
|
+
children: e
|
|
427
|
+
});
|
|
428
|
+
});
|
|
429
|
+
process.env.NODE_ENV !== "production" && (Q.displayName = "Menubar.Trigger");
|
|
430
|
+
var $ = /* @__PURE__ */ Object.assign(Z, {
|
|
431
|
+
Menu: A,
|
|
432
|
+
Trigger: Q,
|
|
433
|
+
Content: N,
|
|
434
|
+
Item: F,
|
|
435
|
+
CheckboxItem: L,
|
|
436
|
+
RadioGroup: R,
|
|
437
|
+
RadioItem: z,
|
|
438
|
+
Group: B,
|
|
439
|
+
Separator: V,
|
|
440
|
+
Sub: U,
|
|
441
|
+
SubTrigger: W,
|
|
442
|
+
SubContent: G
|
|
443
|
+
});
|
|
444
|
+
//#endregion
|
|
445
|
+
export { $ as a, K as i, D as n, E as r, X as t };
|
|
446
|
+
|
|
447
|
+
//# sourceMappingURL=menu-OURWt_hD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-OURWt_hD.js","names":["BaseMenu","_Fragment","__icon_ArrowUpRight01Icon","__icon_Tick02Icon","__icon_ArrowRight01Icon","Menu","BaseContextMenu","ContextMenu","BaseMenubar","Menubar","MENU_ITEM","MENU_POPUP","MENU_SEPARATOR","MENU_DANGER","cn","useLinkComponent","pageBoundary","usePortalContainer","Icon","KbdSequence","useLayoutWidth","anchorWidthStyle","Fragment$1","KAESO_MENU_VARIANTS","KAESO_MENU_DEFAULT_VARIANTS","NO_TRIGGER","TriggerContext","Root","trigger","useRef","Menu","open","defaultOpen","onOpenChange","o","Trigger","useContext","setTrigger","useCallback","el","children","openOnHover","framed","labelledBy","orientation","rest","props","className","header","footer","Content","triggerWidth","width","popup","ref","at","ItemContent","leading","description","icon","danger","descriptionTone","shortcut","hint","Item","force","disabled","onClick","closeOnClick","variant","LinkItem","LinkComp","external","ArrowUpRight01Icon","CheckboxItem","checked","defaultChecked","onCheckedChange","c","Tick02Icon","RadioGroup","value","defaultValue","onValueChange","v","RadioItem","Group","label","Separator","Header","avatar","name","email","Sub","SubTrigger","setRef","ArrowRight01Icon","SubContent","Menu$1","ContextRoot","ContextMenu","ContextTrigger","ContextContent","ContextMenu$1","MenubarRoot","ariaLabel","Menubar","MenubarTrigger","Menubar$1"],"sources":["../../src/components/menu/menu.tsx"],"sourcesContent":["import { pageBoundary, usePortalContainer } from \"../../utils/portal-context.js\";\nimport {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useRef,\n type HTMLAttributes,\n type ReactElement,\n type ReactNode,\n type Ref,\n type RefObject,\n} from \"react\";\nimport { Menu as BaseMenu } from \"@base-ui/react/menu\";\nimport { ContextMenu as BaseContextMenu } from \"@base-ui/react/context-menu\";\nimport { Menubar as BaseMenubar } from \"@base-ui/react/menubar\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useLinkComponent } from \"../../utils/link-provider.js\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { KbdSequence } from \"../kbd/kbd.js\";\nimport { ArrowUpRight01Icon as __icon_ArrowUpRight01Icon, Tick02Icon as __icon_Tick02Icon, ArrowRight01Icon as __icon_ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { anchorWidthStyle, useLayoutWidth } from \"../../hooks/use-layout-width.js\";\nimport { MENU_DANGER, MENU_HINT, MENU_ICON, MENU_ITEM, MENU_LABEL, MENU_POPUP, MENU_SEPARATOR } from \"./styles.js\";\n\nexport const KAESO_MENU_VARIANTS = {\n item: {\n default: { classes: \"\" },\n danger: { classes: MENU_DANGER },\n },\n width: {\n auto: { classes: \"\" },\n trigger: { classes: \"w-anchor\" },\n },\n description: {\n secondary: { classes: \"text-fg-secondary\" },\n danger: { classes: \"text-danger-text\" },\n },\n} as const;\nexport const KAESO_MENU_DEFAULT_VARIANTS = { item: \"default\", width: \"auto\", description: \"secondary\" } as const;\n\ntype Side = \"top\" | \"bottom\" | \"left\" | \"right\";\ntype Align = \"start\" | \"center\" | \"end\";\n\nexport interface MenuProps {\n children: ReactNode;\n open?: boolean | undefined;\n defaultOpen?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n modal?: boolean | undefined;\n}\n\nconst NO_TRIGGER: RefObject<HTMLElement | null> = { current: null };\nconst TriggerContext = /* @__PURE__ */ createContext<RefObject<HTMLElement | null> | null>(null);\n\nfunction Root({ open, defaultOpen, onOpenChange, modal = false, children }: MenuProps) {\n const trigger = useRef<HTMLElement | null>(null);\n return (\n <BaseMenu.Root\n {...(open !== undefined ? { open } : {})}\n {...(defaultOpen !== undefined ? { defaultOpen } : {})}\n {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}\n modal={modal}\n >\n <TriggerContext.Provider value={trigger}>{children}</TriggerContext.Provider>\n </BaseMenu.Root>\n );\n}\nif (process.env.NODE_ENV !== \"production\") Root.displayName = \"Menu\";\n\nfunction Trigger({ children, openOnHover }: { children: ReactElement; openOnHover?: boolean | undefined }) {\n const trigger = useContext(TriggerContext);\n const setTrigger = useCallback(\n (el: HTMLElement | null) => {\n if (trigger) trigger.current = el;\n },\n [trigger],\n );\n return <BaseMenu.Trigger ref={setTrigger} render={children} {...(openOnHover ? { openOnHover } : {})} />;\n}\nif (process.env.NODE_ENV !== \"production\") Trigger.displayName = \"Menu.Trigger\";\n\nexport interface MenuContentProps {\n children: ReactNode;\n side?: Side | undefined;\n align?: Align | undefined;\n sideOffset?: number | undefined;\n width?: keyof typeof KAESO_MENU_VARIANTS.width | undefined;\n className?: string | undefined;\n header?: ReactNode | undefined;\n footer?: ReactNode | undefined;\n}\n\nfunction framed(header: ReactNode, footer: ReactNode) {\n return function framedMenuPopup(props: HTMLAttributes<HTMLDivElement> & { ref?: Ref<HTMLDivElement> | undefined }) {\n const { role, id, \"aria-labelledby\": labelledBy, \"aria-orientation\": orientation, children, className, ...rest } = props;\n return (\n <div {...rest} className={cn(className, \"overflow-hidden p-0\")}>\n <div tabIndex={0} className=\"flex min-h-0 flex-1 flex-col overflow-y-auto overscroll-contain rounded-menu p-6 focus-ring-inset scrollbar-quiet\">\n <div className=\"mb-6 px-10 pt-6 pb-10 hairline-b\">{header}</div>\n <div role={role} id={id} aria-labelledby={labelledBy} aria-orientation={orientation} className=\"flex flex-col\">\n {children}\n </div>\n {footer && <div className=\"px-10 pt-6 pb-4 text-caption text-fg-tertiary\">{footer}</div>}\n </div>\n </div>\n );\n };\n}\n\nconst Content = /* @__PURE__ */ forwardRef<HTMLDivElement, MenuContentProps>(function MenuContent(\n { children, side = \"bottom\", align = \"start\", sideOffset = 6, width = \"auto\", className, header, footer },\n ref,\n) {\n const trigger = useContext(TriggerContext);\n const triggerWidth = useLayoutWidth(trigger ?? NO_TRIGGER, width === \"trigger\" && !!trigger);\n const popup = useRef<HTMLDivElement | null>(null);\n return (\n <BaseMenu.Portal container={usePortalContainer()}>\n <BaseMenu.Positioner\n positionMethod=\"fixed\"\n collisionBoundary={pageBoundary()}\n side={side}\n align={align}\n sideOffset={sideOffset}\n collisionPadding={8}\n className=\"z-50 outline-none\"\n >\n <BaseMenu.Popup\n ref={(el) => {\n popup.current = el;\n if (typeof ref === \"function\") ref(el);\n else if (ref) ref.current = el;\n }}\n finalFocus={() => {\n const at = document.activeElement;\n if (at && at !== document.body && !popup.current?.contains(at)) return false;\n return trigger?.current?.isConnected ? trigger.current : true;\n }}\n tabIndex={0}\n className={cn(MENU_POPUP, KAESO_MENU_VARIANTS.width[width].classes, className)}\n style={width === \"trigger\" ? anchorWidthStyle(triggerWidth) : undefined}\n {...(header ? { render: framed(header, footer) } : {})}\n >\n {children}\n {!header && footer && <div className=\"px-10 pt-6 pb-4 text-caption text-fg-tertiary\">{footer}</div>}\n </BaseMenu.Popup>\n </BaseMenu.Positioner>\n </BaseMenu.Portal>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Content.displayName = \"Menu.Content\";\n\nexport interface MenuItemProps {\n children: ReactNode;\n icon?: IconData | undefined;\n leading?: ReactNode | undefined;\n description?: ReactNode | undefined;\n descriptionTone?: keyof typeof KAESO_MENU_VARIANTS.description | undefined;\n shortcut?: string[] | string[][] | undefined;\n hint?: ReactNode | undefined;\n variant?: keyof typeof KAESO_MENU_VARIANTS.item | undefined;\n disabled?: boolean | undefined;\n onClick?: (() => void) | undefined;\n closeOnClick?: boolean | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nfunction ItemContent({\n icon,\n leading,\n description,\n descriptionTone = \"secondary\",\n shortcut,\n hint,\n children,\n danger,\n}: Pick<MenuItemProps, \"icon\" | \"leading\" | \"description\" | \"descriptionTone\" | \"shortcut\" | \"hint\" | \"children\"> & { danger?: boolean | undefined }) {\n return (\n <>\n {leading ? (\n <span className={cn(\"flex size-16 shrink-0 items-center justify-center\", description && \"self-start mt-10\")}>{leading}</span>\n ) : (\n icon && <Icon icon={icon} size=\"sm\" className={cn(danger ? \"text-danger-text\" : MENU_ICON, description && \"self-start mt-10\")} />\n )}\n {description ? (\n <span className=\"flex min-w-0 flex-1 flex-col gap-2 py-8\">\n <span className=\"truncate\">{children}</span>\n <span className={cn(\"text-small font-regular whitespace-normal\", KAESO_MENU_VARIANTS.description[descriptionTone].classes)}>{description}</span>\n </span>\n ) : (\n <span className=\"min-w-0 flex-1 truncate\">{children}</span>\n )}\n {(shortcut || hint) && (\n <span className={MENU_HINT}>\n {hint}\n {shortcut && <KbdSequence keys={shortcut} />}\n </span>\n )}\n </>\n );\n}\n\nconst Item = /* @__PURE__ */ forwardRef<HTMLDivElement, MenuItemProps>(function MenuItem(\n {\n children,\n icon,\n leading,\n description,\n descriptionTone,\n shortcut,\n hint,\n variant = \"default\",\n disabled,\n onClick,\n closeOnClick,\n className,\n \"data-force\": force,\n },\n ref,\n) {\n return (\n <BaseMenu.Item\n ref={ref}\n {...(disabled ? { disabled } : {})}\n {...(onClick ? { onClick } : {})}\n {...(closeOnClick !== undefined ? { closeOnClick } : {})}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(MENU_ITEM, KAESO_MENU_VARIANTS.item[variant].classes, className)}\n >\n <ItemContent\n icon={icon}\n leading={leading}\n description={description}\n descriptionTone={descriptionTone}\n shortcut={shortcut}\n hint={hint}\n danger={variant === \"danger\"}\n >\n {children}\n </ItemContent>\n </BaseMenu.Item>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Item.displayName = \"Menu.Item\";\n\nexport interface MenuLinkItemProps extends Pick<\n MenuItemProps,\n \"icon\" | \"leading\" | \"description\" | \"descriptionTone\" | \"shortcut\" | \"hint\" | \"children\" | \"className\"\n> {\n href: string;\n external?: boolean | undefined;\n}\n\nconst LinkItem = /* @__PURE__ */ forwardRef<HTMLAnchorElement, MenuLinkItemProps>(function MenuLinkItem(\n { children, href, external, icon, leading, description, descriptionTone, shortcut, hint, className },\n ref,\n) {\n const LinkComp = useLinkComponent();\n return (\n <BaseMenu.LinkItem\n ref={ref}\n href={href}\n {...(external ? { target: \"_blank\", rel: \"noopener noreferrer\" } : { render: <LinkComp href={href} /> })}\n className={cn(MENU_ITEM, \"no-underline\", className)}\n >\n <ItemContent\n icon={icon}\n leading={leading}\n description={description}\n descriptionTone={descriptionTone}\n shortcut={shortcut}\n hint={hint ?? (external ? <Icon icon={__icon_ArrowUpRight01Icon} size=\"xs\" /> : undefined)}\n >\n {children}\n </ItemContent>\n </BaseMenu.LinkItem>\n );\n});\nif (process.env.NODE_ENV !== \"production\") LinkItem.displayName = \"Menu.LinkItem\";\n\nexport interface MenuCheckboxItemProps extends Omit<MenuItemProps, \"variant\" | \"onClick\"> {\n checked?: boolean | undefined;\n defaultChecked?: boolean | undefined;\n onCheckedChange?: ((checked: boolean) => void) | undefined;\n}\n\nconst CheckboxItem = /* @__PURE__ */ forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(\n {\n children,\n icon,\n leading,\n description,\n descriptionTone,\n shortcut,\n hint,\n checked,\n defaultChecked,\n onCheckedChange,\n disabled,\n closeOnClick = false,\n className,\n },\n ref,\n) {\n return (\n <BaseMenu.CheckboxItem\n ref={ref}\n {...(checked !== undefined ? { checked } : {})}\n {...(defaultChecked !== undefined ? { defaultChecked } : {})}\n {...(onCheckedChange ? { onCheckedChange: (c: boolean) => onCheckedChange(c) } : {})}\n {...(disabled ? { disabled } : {})}\n closeOnClick={closeOnClick}\n className={cn(MENU_ITEM, className)}\n >\n <ItemContent icon={icon} leading={leading} description={description} descriptionTone={descriptionTone} shortcut={shortcut} hint={hint}>\n {children}\n </ItemContent>\n <BaseMenu.CheckboxItemIndicator keepMounted className=\"flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-checked:opacity-100\">\n <Icon icon={__icon_Tick02Icon} size=\"sm\" />\n </BaseMenu.CheckboxItemIndicator>\n </BaseMenu.CheckboxItem>\n );\n});\nif (process.env.NODE_ENV !== \"production\") CheckboxItem.displayName = \"Menu.CheckboxItem\";\n\nconst RadioGroup = /* @__PURE__ */ forwardRef<\n HTMLDivElement,\n { value?: string | undefined; defaultValue?: string | undefined; onValueChange?: ((v: string) => void) | undefined; children: ReactNode }\n>(function MenuRadioGroup({ value, defaultValue, onValueChange, children }, ref) {\n return (\n <BaseMenu.RadioGroup\n ref={ref}\n {...(value !== undefined ? { value } : {})}\n {...(defaultValue !== undefined ? { defaultValue } : {})}\n {...(onValueChange ? { onValueChange: (v: unknown) => onValueChange(String(v)) } : {})}\n >\n {children}\n </BaseMenu.RadioGroup>\n );\n});\nif (process.env.NODE_ENV !== \"production\") RadioGroup.displayName = \"Menu.RadioGroup\";\n\nconst RadioItem = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuItemProps, \"variant\"> & { value: string }>(function MenuRadioItem(\n { children, value, icon, leading, description, descriptionTone, shortcut, hint, disabled, closeOnClick, className },\n ref,\n) {\n return (\n <BaseMenu.RadioItem\n ref={ref}\n value={value}\n {...(disabled ? { disabled } : {})}\n {...(closeOnClick !== undefined ? { closeOnClick } : {})}\n className={cn(MENU_ITEM, className)}\n >\n <ItemContent icon={icon} leading={leading} description={description} descriptionTone={descriptionTone} shortcut={shortcut} hint={hint}>\n {children}\n </ItemContent>\n <BaseMenu.RadioItemIndicator keepMounted className=\"flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-checked:opacity-100\">\n <Icon icon={__icon_Tick02Icon} size=\"sm\" />\n </BaseMenu.RadioItemIndicator>\n </BaseMenu.RadioItem>\n );\n});\nif (process.env.NODE_ENV !== \"production\") RadioItem.displayName = \"Menu.RadioItem\";\n\nconst Group = /* @__PURE__ */ forwardRef<HTMLDivElement, { label?: ReactNode | undefined; children: ReactNode }>(function MenuGroup({ label, children }, ref) {\n return (\n <BaseMenu.Group ref={ref} className=\"flex flex-col\">\n {label && <BaseMenu.GroupLabel className={MENU_LABEL}>{label}</BaseMenu.GroupLabel>}\n {children}\n </BaseMenu.Group>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Group.displayName = \"Menu.Group\";\n\nfunction Separator() {\n return <div role=\"separator\" aria-orientation=\"horizontal\" className={MENU_SEPARATOR} />;\n}\nif (process.env.NODE_ENV !== \"production\") Separator.displayName = \"Menu.Separator\";\n\nfunction Header({ avatar, name, email }: { avatar?: ReactNode | undefined; name: ReactNode; email?: ReactNode | undefined }) {\n return (\n <div className=\"flex min-w-0 items-center gap-10 px-10 pt-8 pb-10\">\n {avatar}\n <div className=\"flex min-w-0 flex-col\">\n <span className=\"truncate text-body font-semibold text-fg\">{name}</span>\n {email && <span className=\"truncate text-caption font-regular text-fg-secondary\">{email}</span>}\n </div>\n </div>\n );\n}\nif (process.env.NODE_ENV !== \"production\") Header.displayName = \"Menu.Header\";\n\nfunction Sub({ children, open, onOpenChange }: { children: ReactNode; open?: boolean | undefined; onOpenChange?: ((o: boolean) => void) | undefined }) {\n const trigger = useRef<HTMLElement | null>(null);\n return (\n <BaseMenu.SubmenuRoot {...(open !== undefined ? { open } : {})} {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}>\n <TriggerContext.Provider value={trigger}>{children}</TriggerContext.Provider>\n </BaseMenu.SubmenuRoot>\n );\n}\nif (process.env.NODE_ENV !== \"production\") Sub.displayName = \"Menu.Sub\";\n\nconst SubTrigger = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuItemProps, \"shortcut\" | \"variant\" | \"onClick\">>(function MenuSubTrigger(\n { children, icon, leading, description, descriptionTone, hint, disabled, className },\n ref,\n) {\n const trigger = useContext(TriggerContext);\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n if (trigger) trigger.current = el;\n if (typeof ref === \"function\") ref(el);\n else if (ref) ref.current = el;\n },\n [trigger, ref],\n );\n return (\n <BaseMenu.SubmenuTrigger ref={setRef} {...(disabled ? { disabled } : {})} className={cn(MENU_ITEM, \"open:bg-fill-1\", className)}>\n <ItemContent icon={icon} leading={leading} description={description} descriptionTone={descriptionTone} hint={hint}>\n {children}\n </ItemContent>\n <Icon icon={__icon_ArrowRight01Icon} size=\"sm\" className=\"-mr-2 text-fg-tertiary\" />\n </BaseMenu.SubmenuTrigger>\n );\n});\nif (process.env.NODE_ENV !== \"production\") SubTrigger.displayName = \"Menu.SubTrigger\";\n\nconst SubContent = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuContentProps, \"side\" | \"align\">>(function MenuSubContent(props, ref) {\n return <Content ref={ref} side=\"right\" align=\"start\" sideOffset={2} {...props} />;\n});\nif (process.env.NODE_ENV !== \"production\") SubContent.displayName = \"Menu.SubContent\";\n\nexport const Menu = /* @__PURE__ */ Object.assign(Root, {\n Trigger,\n Content,\n Item,\n LinkItem,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n Group,\n Separator,\n Header,\n Sub,\n SubTrigger,\n SubContent,\n});\n\nfunction ContextRoot({ children, onOpenChange }: { children: ReactNode; onOpenChange?: ((o: boolean) => void) | undefined }) {\n return <BaseContextMenu.Root {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}>{children}</BaseContextMenu.Root>;\n}\nif (process.env.NODE_ENV !== \"production\") ContextRoot.displayName = \"ContextMenu\";\nfunction ContextTrigger({ children, className }: { children: ReactNode; className?: string | undefined }) {\n return <BaseContextMenu.Trigger className={className}>{children}</BaseContextMenu.Trigger>;\n}\nif (process.env.NODE_ENV !== \"production\") ContextTrigger.displayName = \"ContextMenu.Trigger\";\nconst ContextContent = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuContentProps, \"side\" | \"align\" | \"sideOffset\">>(function ContextMenuContent(\n { children, className, header, footer, width = \"auto\" },\n ref,\n) {\n return (\n <BaseContextMenu.Portal container={usePortalContainer()}>\n <BaseContextMenu.Positioner positionMethod=\"fixed\" collisionBoundary={pageBoundary()} collisionPadding={8} className=\"z-50 outline-none\">\n <BaseContextMenu.Popup ref={ref} tabIndex={0} className={cn(MENU_POPUP, KAESO_MENU_VARIANTS.width[width].classes, className)}>\n {header && <div className=\"mb-6 px-10 pt-6 pb-10 hairline-b\">{header}</div>}\n {children}\n {footer && <div className=\"px-10 pt-6 pb-4 text-caption text-fg-tertiary\">{footer}</div>}\n </BaseContextMenu.Popup>\n </BaseContextMenu.Positioner>\n </BaseContextMenu.Portal>\n );\n});\nif (process.env.NODE_ENV !== \"production\") ContextContent.displayName = \"ContextMenu.Content\";\nexport const ContextMenu = /* @__PURE__ */ Object.assign(ContextRoot, {\n Trigger: ContextTrigger,\n Content: ContextContent,\n Item,\n LinkItem,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n Group,\n Separator,\n Sub,\n SubTrigger,\n SubContent,\n});\n\nfunction MenubarRoot({\n children,\n className,\n \"aria-label\": ariaLabel,\n}: {\n children: ReactNode;\n className?: string | undefined;\n \"aria-label\"?: string | undefined;\n}) {\n return (\n <BaseMenubar className={cn(\"inline-flex items-center gap-2\", className)} {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}>\n {children}\n </BaseMenubar>\n );\n}\nif (process.env.NODE_ENV !== \"production\") MenubarRoot.displayName = \"Menubar\";\nconst MenubarTrigger = /* @__PURE__ */ forwardRef<HTMLButtonElement, { children: ReactNode; className?: string | undefined; \"data-force\"?: string | undefined }>(\n function MenubarTrigger({ children, className, \"data-force\": force }, ref) {\n return (\n <BaseMenu.Trigger\n ref={ref}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"inline-flex h-32 cursor-pointer items-center rounded-pill px-12 text-body font-medium text-fg material-ghost transition-control focus-ring\",\n className,\n )}\n >\n {children}\n </BaseMenu.Trigger>\n );\n },\n);\nif (process.env.NODE_ENV !== \"production\") MenubarTrigger.displayName = \"Menubar.Trigger\";\nexport const Menubar = /* @__PURE__ */ Object.assign(MenubarRoot, {\n Menu: Root,\n Trigger: MenubarTrigger,\n Content,\n Item,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n Group,\n Separator,\n Sub,\n SubTrigger,\n SubContent,\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
//#region src/i18n/message.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
let t = /* @__PURE__ */ new Map(), n = 0;
|
|
4
|
+
for (; n < e.length;) {
|
|
5
|
+
for (; n < e.length && /\s/.test(e[n] ?? "");) n++;
|
|
6
|
+
let r = "";
|
|
7
|
+
for (; n < e.length && e[n] !== "{" && !/\s/.test(e[n] ?? "");) r += e[n++];
|
|
8
|
+
for (; n < e.length && e[n] !== "{";) n++;
|
|
9
|
+
if (n >= e.length) break;
|
|
10
|
+
let i = 0, a = ++n;
|
|
11
|
+
for (; n < e.length; n++) if (e[n] === "{") i++;
|
|
12
|
+
else if (e[n] === "}") {
|
|
13
|
+
if (i === 0) break;
|
|
14
|
+
i--;
|
|
15
|
+
}
|
|
16
|
+
t.set(r, e.slice(a, n)), n++;
|
|
17
|
+
}
|
|
18
|
+
return t;
|
|
19
|
+
}
|
|
20
|
+
function t(n, r, i, a) {
|
|
21
|
+
if (!n.includes("{") && !(a !== void 0 && n.includes("#"))) return n;
|
|
22
|
+
let o = "", s = 0;
|
|
23
|
+
for (; s < n.length;) {
|
|
24
|
+
let c = n[s];
|
|
25
|
+
if (c === "#" && a !== void 0) {
|
|
26
|
+
o += new Intl.NumberFormat(i).format(a), s++;
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
if (c !== "{") {
|
|
30
|
+
o += c, s++;
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
let l = 0, u = s;
|
|
34
|
+
for (; u < n.length; u++) if (n[u] === "{") l++;
|
|
35
|
+
else if (n[u] === "}" && --l === 0) break;
|
|
36
|
+
let [d = "", f, ...p] = n.slice(s + 1, u).split(","), m = d.trim(), h = r?.[m];
|
|
37
|
+
if (f === void 0) o += h === void 0 ? `{${m}}` : typeof h == "number" ? new Intl.NumberFormat(i).format(h) : h;
|
|
38
|
+
else {
|
|
39
|
+
let n = e(p.join(",")), a = f.trim(), s;
|
|
40
|
+
a === "plural" && typeof h == "number" ? (s = n.get(`=${h}`) ?? n.get(new Intl.PluralRules(i).select(h)) ?? n.get("other"), o += t(s ?? "", r, i, h)) : (s = n.get(String(h)) ?? n.get("other"), o += t(s ?? "", r, i));
|
|
41
|
+
}
|
|
42
|
+
s = u + 1;
|
|
43
|
+
}
|
|
44
|
+
return o;
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
export { t };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=message-BxTkh1oA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-BxTkh1oA.js","names":["branches","out","i","src","key","depth","start","formatMessage","template","number","locale","j","name","kind","rest","value","values","options","type","chosen"],"sources":["../../src/i18n/message.ts"],"sourcesContent":["export type MessageValues = Record<string, string | number>;\n\nfunction branches(src: string): Map<string, string> {\n const out = new Map<string, string>();\n let i = 0;\n while (i < src.length) {\n while (i < src.length && /\\s/.test(src[i] ?? \"\")) i++;\n let key = \"\";\n while (i < src.length && src[i] !== \"{\" && !/\\s/.test(src[i] ?? \"\")) key += src[i++];\n while (i < src.length && src[i] !== \"{\") i++;\n if (i >= src.length) break;\n let depth = 0;\n const start = ++i;\n for (; i < src.length; i++) {\n if (src[i] === \"{\") depth++;\n else if (src[i] === \"}\") {\n if (depth === 0) break;\n depth--;\n }\n }\n out.set(key, src.slice(start, i));\n i++;\n }\n return out;\n}\n\nexport function formatMessage(template: string, values: MessageValues | undefined, locale: string, number?: number): string {\n if (!template.includes(\"{\") && !(number !== undefined && template.includes(\"#\"))) return template;\n let out = \"\";\n let i = 0;\n while (i < template.length) {\n const c = template[i];\n if (c === \"#\" && number !== undefined) {\n out += new Intl.NumberFormat(locale).format(number);\n i++;\n continue;\n }\n if (c !== \"{\") {\n out += c;\n i++;\n continue;\n }\n let depth = 0;\n let j = i;\n for (; j < template.length; j++) {\n if (template[j] === \"{\") depth++;\n else if (template[j] === \"}\" && --depth === 0) break;\n }\n const inner = template.slice(i + 1, j);\n const [name = \"\", kind, ...rest] = inner.split(\",\");\n const key = name.trim();\n const value = values?.[key];\n if (kind === undefined) {\n out += value === undefined ? `{${key}}` : typeof value === \"number\" ? new Intl.NumberFormat(locale).format(value) : value;\n } else {\n const options = branches(rest.join(\",\"));\n const type = kind.trim();\n let chosen: string | undefined;\n if (type === \"plural\" && typeof value === \"number\") {\n chosen = options.get(`=${value}`) ?? options.get(new Intl.PluralRules(locale).select(value)) ?? options.get(\"other\");\n out += formatMessage(chosen ?? \"\", values, locale, value);\n } else {\n chosen = options.get(String(value)) ?? options.get(\"other\");\n out += formatMessage(chosen ?? \"\", values, locale);\n }\n }\n i = j + 1;\n }\n return out;\n}\n"],"mappings":";AAEA,SAASA,EAAS,GAAkC;CAClD,IAAMC,oBAAM,IAAI,IAAoB,GAChCC,IAAI;CACR,OAAOA,IAAIC,EAAI,SAAQ;EACrB,OAAOD,IAAIC,EAAI,UAAU,KAAK,KAAKA,EAAID,MAAM,EAAE,IAAG;EAClD,IAAIE,IAAM;EACV,OAAOF,IAAIC,EAAI,UAAUA,EAAID,OAAO,OAAO,CAAC,KAAK,KAAKC,EAAID,MAAM,EAAE,IAAG,KAAOC,EAAI;EAChF,OAAOD,IAAIC,EAAI,UAAUA,EAAID,OAAO,MAAK;EACzC,IAAIA,KAAKC,EAAI,QAAQ;EACrB,IAAIE,IAAQ,GACNC,IAAQ,EAAEJ;EAChB,OAAOA,IAAIC,EAAI,QAAQ,KACrB,IAAIA,EAAID,OAAO,KAAK;OACf,IAAIC,EAAID,OAAO,KAAK;GACvB,IAAIG,MAAU,GAAG;GACjB;EACF;EAGF,AADAJ,EAAI,IAAIG,GAAKD,EAAI,MAAMG,GAAOJ,CAAC,CAAC,GAChC;CACF;CACA,OAAOD;AACT;AAEA,SAAgBM,EAAc,GAAkB,GAAmC,GAAgB,GAAyB;CAC1H,IAAI,CAACC,EAAS,SAAS,GAAG,KAAK,EAAEC,MAAW,KAAA,KAAaD,EAAS,SAAS,GAAG,IAAI,OAAOA;CACzF,IAAIP,IAAM,IACNC,IAAI;CACR,OAAOA,IAAIM,EAAS,SAAQ;EAC1B,IAAM,IAAIA,EAASN;EACnB,IAAI,MAAM,OAAOO,MAAW,KAAA,GAAW;GAErC,AADA,KAAO,IAAI,KAAK,aAAaC,CAAM,CAAC,CAAC,OAAOD,CAAM,GAClD;GACA;EACF;EACA,IAAI,MAAM,KAAK;GAEb,AADA,KAAO,GACP;GACA;EACF;EACA,IAAIJ,IAAQ,GACRM,IAAIT;EACR,OAAOS,IAAIH,EAAS,QAAQ,KAC1B,IAAIA,EAASG,OAAO,KAAK;OACpB,IAAIH,EAASG,OAAO,OAAO,EAAEN,MAAU,GAAG;EAGjD,IAAM,CAACO,IAAO,IAAIC,GAAM,GAAGC,KADbN,EAAS,MAAMN,IAAI,GAAGS,CACD,CAAA,CAAM,MAAM,GAAG,GAC5CP,IAAMQ,EAAK,KAAK,GAChBG,IAAQC,IAASZ;EACvB,IAAIS,MAAS,KAAA,GACX,KAAOE,MAAU,KAAA,IAAY,IAAIX,EAAI,KAAK,OAAOW,KAAU,WAAW,IAAI,KAAK,aAAaL,CAAM,CAAC,CAAC,OAAOK,CAAK,IAAIA;OAC/G;GACL,IAAME,IAAUjB,EAASc,EAAK,KAAK,GAAG,CAAC,GACjCI,IAAOL,EAAK,KAAK,GACnBM;GACJ,AAAID,MAAS,YAAY,OAAOH,KAAU,YACxC,IAASE,EAAQ,IAAI,IAAIF,GAAO,KAAKE,EAAQ,IAAI,IAAI,KAAK,YAAYP,CAAM,CAAC,CAAC,OAAOK,CAAK,CAAC,KAAKE,EAAQ,IAAI,OAAO,GACnH,KAAOV,EAAcY,KAAU,IAAIH,GAAQN,GAAQK,CAAK,MAExD,IAASE,EAAQ,IAAI,OAAOF,CAAK,CAAC,KAAKE,EAAQ,IAAI,OAAO,GAC1D,KAAOV,EAAcY,KAAU,IAAIH,GAAQN,CAAM;EAErD;EACA,IAAIC,IAAI;CACV;CACA,OAAOV;AACT"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "./cn-CidVUKMm.js";
|
|
3
|
+
import { forwardRef as t } from "react";
|
|
4
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/meter/meter.tsx
|
|
6
|
+
var i = { tone: {
|
|
7
|
+
auto: { classes: "" },
|
|
8
|
+
neutral: { classes: "bg-fg-secondary" }
|
|
9
|
+
} }, a = { tone: "auto" };
|
|
10
|
+
function o(e, t = []) {
|
|
11
|
+
return e >= 1 ? "bg-danger" : e >= (t.length ? Math.min(...t) : .8) ? "bg-warning" : "bg-viz-1";
|
|
12
|
+
}
|
|
13
|
+
var s = /* @__PURE__ */ t(function({ value: t, label: a, valueLabel: s, caption: c, thresholds: l = [], tone: u = "auto", leading: d, trailing: f, className: p, "aria-label": m }, h) {
|
|
14
|
+
let g = Math.max(0, Math.min(1, t)), _ = Math.round(t * 100);
|
|
15
|
+
return /* @__PURE__ */ r("div", {
|
|
16
|
+
ref: h,
|
|
17
|
+
className: e("flex flex-col gap-8", p),
|
|
18
|
+
children: [
|
|
19
|
+
(a || s) && /* @__PURE__ */ r("div", {
|
|
20
|
+
className: "flex items-baseline justify-between gap-12",
|
|
21
|
+
children: [/* @__PURE__ */ r("span", {
|
|
22
|
+
className: "flex min-w-0 items-center gap-8 text-body font-medium text-fg",
|
|
23
|
+
children: [
|
|
24
|
+
d,
|
|
25
|
+
/* @__PURE__ */ n("span", {
|
|
26
|
+
className: "truncate",
|
|
27
|
+
children: a
|
|
28
|
+
}),
|
|
29
|
+
f
|
|
30
|
+
]
|
|
31
|
+
}), s && /* @__PURE__ */ n("span", {
|
|
32
|
+
className: "shrink-0 text-body text-fg-secondary tabular",
|
|
33
|
+
children: s
|
|
34
|
+
})]
|
|
35
|
+
}),
|
|
36
|
+
/* @__PURE__ */ r("div", {
|
|
37
|
+
role: "meter",
|
|
38
|
+
"aria-valuemin": 0,
|
|
39
|
+
"aria-valuemax": Math.max(100, _),
|
|
40
|
+
"aria-valuenow": _,
|
|
41
|
+
"aria-label": m ?? (typeof a == "string" ? a : void 0),
|
|
42
|
+
...typeof s == "string" ? { "aria-valuetext": s } : {},
|
|
43
|
+
className: "relative h-6 overflow-hidden rounded-pill bg-fill-3",
|
|
44
|
+
children: [/* @__PURE__ */ n("div", {
|
|
45
|
+
className: e("h-full rounded-pill width-motion", u === "auto" ? o(t, l) : i.tone.neutral.classes),
|
|
46
|
+
style: { width: `${g * 100}%` }
|
|
47
|
+
}), l.map((e) => /* @__PURE__ */ n("span", {
|
|
48
|
+
"aria-hidden": !0,
|
|
49
|
+
className: "absolute top-0 h-full w-2 bg-panel",
|
|
50
|
+
style: { left: `${e * 100}%` }
|
|
51
|
+
}, e))]
|
|
52
|
+
}),
|
|
53
|
+
c && /* @__PURE__ */ n("span", {
|
|
54
|
+
className: "text-caption font-medium text-fg-tertiary",
|
|
55
|
+
children: c
|
|
56
|
+
})
|
|
57
|
+
]
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
process.env.NODE_ENV !== "production" && (s.displayName = "Meter");
|
|
61
|
+
var c = { kind: {
|
|
62
|
+
determinate: { classes: "h-6 rounded-pill bg-fill-3" },
|
|
63
|
+
indeterminate: { classes: "h-2 bg-transparent" }
|
|
64
|
+
} }, l = { kind: "determinate" }, u = /* @__PURE__ */ t(function({ value: t, className: r, "aria-label": i }, a) {
|
|
65
|
+
let o = t === void 0;
|
|
66
|
+
return /* @__PURE__ */ n("div", {
|
|
67
|
+
ref: a,
|
|
68
|
+
role: "progressbar",
|
|
69
|
+
"aria-label": i,
|
|
70
|
+
"aria-valuemin": 0,
|
|
71
|
+
"aria-valuemax": 100,
|
|
72
|
+
...o ? {} : { "aria-valuenow": Math.round(t * 100) },
|
|
73
|
+
className: e("relative w-full overflow-hidden", c.kind[o ? "indeterminate" : "determinate"].classes, r),
|
|
74
|
+
children: o ? /* @__PURE__ */ n("span", { className: "absolute inset-y-0 left-0 w-1/3 animate-indeterminate rounded-pill bg-fg-tertiary" }) : /* @__PURE__ */ n("span", {
|
|
75
|
+
className: "block h-full rounded-pill bg-ink width-motion",
|
|
76
|
+
style: { width: `${Math.max(0, Math.min(1, t)) * 100}%` }
|
|
77
|
+
})
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
process.env.NODE_ENV !== "production" && (u.displayName = "Progress");
|
|
81
|
+
//#endregion
|
|
82
|
+
export { s as a, c as i, i as n, u as o, l as r, o as s, a as t };
|
|
83
|
+
|
|
84
|
+
//# sourceMappingURL=meter-DWhyzFGQ.js.map
|