@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 @@
|
|
|
1
|
+
{"version":3,"file":"meter-DWhyzFGQ.js","names":["cn","KAESO_METER_VARIANTS","KAESO_METER_DEFAULT_VARIANTS","meterColor","value","thresholds","Meter","ariaLabel","pct","now","className","label","valueLabel","leading","trailing","tone","t","caption","KAESO_PROGRESS_VARIANTS","KAESO_PROGRESS_DEFAULT_VARIANTS","Progress","indeterminate"],"sources":["../../src/components/meter/meter.tsx"],"sourcesContent":["import { forwardRef, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\n\nexport const KAESO_METER_VARIANTS = {\n tone: {\n auto: { classes: \"\" },\n neutral: { classes: \"bg-fg-secondary\" },\n },\n} as const;\nexport const KAESO_METER_DEFAULT_VARIANTS = { tone: \"auto\" } as const;\n\nexport interface MeterProps {\n value: number;\n label?: ReactNode | undefined;\n valueLabel?: ReactNode | undefined;\n caption?: ReactNode | undefined;\n thresholds?: number[] | undefined;\n tone?: keyof typeof KAESO_METER_VARIANTS.tone | undefined;\n leading?: ReactNode | undefined;\n trailing?: ReactNode | undefined;\n \"aria-label\"?: string | undefined;\n className?: string | undefined;\n}\n\nexport function meterColor(value: number, thresholds: number[] = []) {\n if (value >= 1) return \"bg-danger\";\n const first = thresholds.length ? Math.min(...thresholds) : 0.8;\n return value >= first ? \"bg-warning\" : \"bg-viz-1\";\n}\n\nexport const Meter = /* @__PURE__ */ forwardRef<HTMLDivElement, MeterProps>(function Meter(\n { value, label, valueLabel, caption, thresholds = [], tone = \"auto\", leading, trailing, className, \"aria-label\": ariaLabel },\n ref,\n) {\n const pct = Math.max(0, Math.min(1, value));\n const now = Math.round(value * 100);\n return (\n <div ref={ref} className={cn(\"flex flex-col gap-8\", className)}>\n {(label || valueLabel) && (\n <div className=\"flex items-baseline justify-between gap-12\">\n <span className=\"flex min-w-0 items-center gap-8 text-body font-medium text-fg\">\n {leading}\n <span className=\"truncate\">{label}</span>\n {trailing}\n </span>\n {valueLabel && <span className=\"shrink-0 text-body text-fg-secondary tabular\">{valueLabel}</span>}\n </div>\n )}\n <div\n role=\"meter\"\n aria-valuemin={0}\n aria-valuemax={Math.max(100, now)}\n aria-valuenow={now}\n aria-label={ariaLabel ?? (typeof label === \"string\" ? label : undefined)}\n {...(typeof valueLabel === \"string\" ? { \"aria-valuetext\": valueLabel } : {})}\n className=\"relative h-6 overflow-hidden rounded-pill bg-fill-3\"\n >\n <div\n className={cn(\"h-full rounded-pill width-motion\", tone === \"auto\" ? meterColor(value, thresholds) : KAESO_METER_VARIANTS.tone.neutral.classes)}\n style={{ width: `${pct * 100}%` }}\n />\n {thresholds.map((t) => (\n <span key={t} aria-hidden className=\"absolute top-0 h-full w-2 bg-panel\" style={{ left: `${t * 100}%` }} />\n ))}\n </div>\n {caption && <span className=\"text-caption font-medium text-fg-tertiary\">{caption}</span>}\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Meter.displayName = \"Meter\";\n\nexport const KAESO_PROGRESS_VARIANTS = {\n kind: {\n determinate: { classes: \"h-6 rounded-pill bg-fill-3\" },\n indeterminate: { classes: \"h-2 bg-transparent\" },\n },\n} as const;\nexport const KAESO_PROGRESS_DEFAULT_VARIANTS = { kind: \"determinate\" } as const;\n\nexport interface ProgressProps {\n value?: number | undefined;\n \"aria-label\": string;\n className?: string | undefined;\n}\n\nexport const Progress = /* @__PURE__ */ forwardRef<HTMLDivElement, ProgressProps>(function Progress({ value, className, \"aria-label\": ariaLabel }, ref) {\n const indeterminate = value === undefined;\n return (\n <div\n ref={ref}\n role=\"progressbar\"\n aria-label={ariaLabel}\n aria-valuemin={0}\n aria-valuemax={100}\n {...(!indeterminate ? { \"aria-valuenow\": Math.round(value * 100) } : {})}\n className={cn(\"relative w-full overflow-hidden\", KAESO_PROGRESS_VARIANTS.kind[indeterminate ? \"indeterminate\" : \"determinate\"].classes, className)}\n >\n {indeterminate ? (\n <span className=\"absolute inset-y-0 left-0 w-1/3 animate-indeterminate rounded-pill bg-fg-tertiary\" />\n ) : (\n <span className=\"block h-full rounded-pill bg-ink width-motion\" style={{ width: `${Math.max(0, Math.min(1, value)) * 100}%` }} />\n )}\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Progress.displayName = \"Progress\";\n"],"mappings":";;;;;AAGA,IAAaC,IAAuB,EAClC,MAAM;CACJ,MAAM,EAAE,SAAS,GAAG;CACpB,SAAS,EAAE,SAAS,kBAAkB;AACxC,EACF,GACaC,IAA+B,EAAE,MAAM,OAAO;AAe3D,SAAgBC,EAAW,GAAe,IAAuB,CAAC,GAAG;CAGnE,OAFIC,KAAS,IAAU,cAEhBA,MADOC,EAAW,SAAS,KAAK,IAAI,GAAGA,CAAU,IAAI,MACpC,eAAe;AACzC;AAEA,IAAaC,IAAwB,kBAAuC,SAC1E,EAAE,UAAO,UAAO,eAAY,YAAS,gBAAa,CAAC,GAAG,UAAO,QAAQ,YAAS,aAAU,cAAW,cAAcC,KACjH,GACA;CACA,IAAMC,IAAM,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGJ,CAAK,CAAC,GACpCK,IAAM,KAAK,MAAML,IAAQ,GAAG;CAClC,OACE,kBAAC,OAAD;EAAU;EAAK,WAAWJ,EAAG,uBAAuBU,CAAS;EAA7D,UAAA;IACIC,KAASC,MACT,kBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,kBAAC,QAAD;KAAM,WAAU;KAAhB,UAAA;MACGC;MACD,kBAAC,QAAD;OAAM,WAAU;OAAY,UAAAF;MAAY,CAAA;MACvCG;KACG;IACL,CAAA,GAAAF,KAAc,kBAAC,QAAD;KAAM,WAAU;KAAgD,UAAAA;IAAiB,CAAA,CAC7F;;GAEP,kBAAC,OAAD;IACE,MAAK;IACL,iBAAe;IACf,iBAAe,KAAK,IAAI,KAAKH,CAAG;IAChC,iBAAeA;IACf,cAAYF,MAAc,OAAOI,KAAU,WAAWA,IAAQ,KAAA;IAC9D,GAAK,OAAOC,KAAe,WAAW,EAAE,kBAAkBA,EAAW,IAAI,CAAC;IAC1E,WAAU;IAPZ,UAAA,CASE,kBAAC,OAAD;KACE,WAAWZ,EAAG,oCAAoCe,MAAS,SAASZ,EAAWC,GAAOC,CAAU,IAAIJ,EAAqB,KAAK,QAAQ,OAAO;KAC7I,OAAO,EAAE,OAAO,GAAGO,IAAM,IAAI,GAAG;IACjC,CAAA,GACAH,EAAW,KAAK,MACf,kBAAC,QAAD;KAAc,eAAA;KAAY,WAAU;KAAqC,OAAO,EAAE,MAAM,GAAGW,IAAI,IAAI,GAAG;IAAI,GAA/FA,CAA+F,CAC3G,CACE;;GACJC,KAAW,kBAAC,QAAD;IAAM,WAAU;IAA6C,UAAAA;GAAc,CAAA;EACpF;;AAET,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAM,cAAc;AAE/D,IAAaC,IAA0B,EACrC,MAAM;CACJ,aAAa,EAAE,SAAS,6BAA6B;CACrD,eAAe,EAAE,SAAS,qBAAqB;AACjD,EACF,GACaC,IAAkC,EAAE,MAAM,cAAc,GAQxDC,IAA2B,kBAA0C,SAAkB,EAAE,UAAO,cAAW,cAAcb,KAAa,GAAK;CACtJ,IAAMc,IAAgBjB,MAAU,KAAA;CAChC,OACE,kBAAC,OAAD;EACO;EACL,MAAK;EACL,cAAYG;EACZ,iBAAe;EACf,iBAAe;EACf,GAAMc,IAA+D,CAAC,IAAhD,EAAE,iBAAiB,KAAK,MAAMjB,IAAQ,GAAG,EAAE;EACjE,WAAWJ,EAAG,mCAAmCkB,EAAwB,KAAKG,IAAgB,kBAAkB,cAAc,CAAC,SAASX,CAAS;EAEhJ,UAAAW,IACC,kBAAC,QAAD,EAAM,WAAU,oFAAqF,CAAA,IAErG,kBAAC,QAAD;GAAM,WAAU;GAAgD,OAAO,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGjB,CAAK,CAAC,IAAI,IAAI,GAAG;EAAI,CAAA;CAE/H,CAAA;AAET,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAS,cAAc"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "./cn-CidVUKMm.js";
|
|
3
|
+
import { t } from "./icon-CeNQtobn.js";
|
|
4
|
+
import { c as n } from "./app-frame-BBIMch8X.js";
|
|
5
|
+
import { forwardRef as r } from "react";
|
|
6
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
7
|
+
//#region src/components/page-header/page-header.tsx
|
|
8
|
+
var o = { size: { md: { classes: "min-h-52 flex-wrap gap-x-12 gap-y-8 px-24 py-10 sm:h-52 sm:flex-nowrap sm:py-0" } } }, s = { size: "md" }, c = /* @__PURE__ */ r(function({ title: r, icon: s, tabs: c, actions: l, start: u, className: d }, f) {
|
|
9
|
+
let p = n().embedded ? "h2" : "h1";
|
|
10
|
+
return /* @__PURE__ */ a("header", {
|
|
11
|
+
ref: f,
|
|
12
|
+
className: e("flex shrink-0 items-center", o.size.md.classes, d),
|
|
13
|
+
children: [
|
|
14
|
+
u,
|
|
15
|
+
r && /* @__PURE__ */ a(p, {
|
|
16
|
+
className: "flex min-w-0 items-center gap-8 text-body-lg font-semibold text-fg",
|
|
17
|
+
children: [s && /* @__PURE__ */ i(t, {
|
|
18
|
+
icon: s,
|
|
19
|
+
size: "sm",
|
|
20
|
+
className: "text-fg-secondary"
|
|
21
|
+
}), /* @__PURE__ */ i("span", {
|
|
22
|
+
className: "truncate",
|
|
23
|
+
children: r
|
|
24
|
+
})]
|
|
25
|
+
}),
|
|
26
|
+
c && /* @__PURE__ */ i("div", {
|
|
27
|
+
className: "order-last -ml-12 min-w-0 basis-full sm:order-none sm:ml-8 sm:basis-auto",
|
|
28
|
+
children: c
|
|
29
|
+
}),
|
|
30
|
+
/* @__PURE__ */ i("div", {
|
|
31
|
+
className: "ml-auto flex shrink-0 items-center gap-8",
|
|
32
|
+
children: l
|
|
33
|
+
})
|
|
34
|
+
]
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
process.env.NODE_ENV !== "production" && (c.displayName = "PageHeader");
|
|
38
|
+
//#endregion
|
|
39
|
+
export { o as n, c as r, s as t };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=page-header-BIRswR73.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-header-BIRswR73.js","names":["cn","useAppFrame","KAESO_PAGE_HEADER_VARIANTS","KAESO_PAGE_HEADER_DEFAULT_VARIANTS","PageHeader","Heading","className","start","title","icon","Icon","tabs","actions"],"sources":["../../src/components/page-header/page-header.tsx"],"sourcesContent":["import { forwardRef, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { useAppFrame } from \"../app-frame/app-frame.js\";\n\nexport const KAESO_PAGE_HEADER_VARIANTS = {\n size: {\n md: {\n classes: \"min-h-52 flex-wrap gap-x-12 gap-y-8 px-24 py-10 sm:h-52 sm:flex-nowrap sm:py-0\",\n },\n },\n} as const;\nexport const KAESO_PAGE_HEADER_DEFAULT_VARIANTS = { size: \"md\" } as const;\n\nexport interface PageHeaderProps {\n title?: ReactNode | undefined;\n icon?: IconData | undefined;\n tabs?: ReactNode | undefined;\n actions?: ReactNode | undefined;\n start?: ReactNode | undefined;\n className?: string | undefined;\n}\n\nexport const PageHeader = /* @__PURE__ */ forwardRef<HTMLElement, PageHeaderProps>(function PageHeader({ title, icon, tabs, actions, start, className }, ref) {\n const Heading = useAppFrame().embedded ? \"h2\" : \"h1\";\n return (\n <header ref={ref} className={cn(\"flex shrink-0 items-center\", KAESO_PAGE_HEADER_VARIANTS.size.md.classes, className)}>\n {start}\n {title && (\n <Heading className=\"flex min-w-0 items-center gap-8 text-body-lg font-semibold text-fg\">\n {icon && <Icon icon={icon} size=\"sm\" className=\"text-fg-secondary\" />}\n <span className=\"truncate\">{title}</span>\n </Heading>\n )}\n {tabs && <div className=\"order-last -ml-12 min-w-0 basis-full sm:order-none sm:ml-8 sm:basis-auto\">{tabs}</div>}\n <div className=\"ml-auto flex shrink-0 items-center gap-8\">{actions}</div>\n </header>\n );\n});\nif (process.env.NODE_ENV !== \"production\") PageHeader.displayName = \"PageHeader\";\n"],"mappings":";;;;;;;AAKA,IAAaE,IAA6B,EACxC,MAAM,EACJ,IAAI,EACF,SAAS,iFACX,EACF,EACF,GACaC,IAAqC,EAAE,MAAM,KAAK,GAWlDC,IAA6B,kBAAyC,SAAoB,EAAE,UAAO,SAAM,SAAM,YAAS,UAAO,gBAAa,GAAK;CAC5J,IAAMC,IAAUJ,EAAY,CAAC,CAAC,WAAW,OAAO;CAChD,OACE,kBAAC,UAAD;EAAa;EAAK,WAAWD,EAAG,8BAA8BE,EAA2B,KAAK,GAAG,SAASI,CAAS;EAAnH,UAAA;GACGC;GACAC,KACC,kBAACH,GAAD;IAAS,WAAU;IAAnB,UAAA,CACGI,KAAQ,kBAACC,GAAD;KAAY;KAAM,MAAK;KAAK,WAAU;IAAqB,CAAA,GACpE,kBAAC,QAAD;KAAM,WAAU;KAAY,UAAAF;IAAY,CAAA,CACjC;;GAEVG,KAAQ,kBAAC,OAAD;IAAK,WAAU;IAA4E,UAAAA;GAAU,CAAA;GAC9G,kBAAC,OAAD;IAAK,WAAU;IAA4C,UAAAC;GAAa,CAAA;EAClE;;AAEZ,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAW,cAAc"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "./cn-CidVUKMm.js";
|
|
3
|
+
import { i as t } from "./context-BELWW79w.js";
|
|
4
|
+
import { n } from "./button-BHKAE6ui.js";
|
|
5
|
+
import { t as r } from "./icon-button-Bw67oKtx.js";
|
|
6
|
+
import { forwardRef as i } from "react";
|
|
7
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
8
|
+
import { ArrowLeft01Icon as s, ArrowRight01Icon as c } from "@hugeicons/core-free-icons";
|
|
9
|
+
//#region src/components/pagination/pagination.tsx
|
|
10
|
+
var l = { variant: {
|
|
11
|
+
"load-more": { classes: "" },
|
|
12
|
+
cursor: { classes: "" },
|
|
13
|
+
pages: { classes: "" }
|
|
14
|
+
} }, u = { variant: "load-more" }, d = /* @__PURE__ */ i(function({ variant: i = "load-more", hasMore: l, hasPrevious: u, loading: d, onLoadMore: f, onNext: p, onPrevious: m, page: h = 1, pageCount: g = 1, onPageChange: _, className: v }, y) {
|
|
15
|
+
let b = t(), x = b("pagination.label", "Pagination"), S = b("pagination.previous", "Previous page"), C = b("pagination.next", "Next page"), w = b("pagination.loadMore", "Load more");
|
|
16
|
+
if (i === "load-more") return l ? /* @__PURE__ */ a("nav", {
|
|
17
|
+
ref: y,
|
|
18
|
+
"aria-label": x,
|
|
19
|
+
className: e("flex items-center justify-center gap-12 py-12", v),
|
|
20
|
+
children: /* @__PURE__ */ a(n, {
|
|
21
|
+
variant: "ghost",
|
|
22
|
+
size: "sm",
|
|
23
|
+
loading: d,
|
|
24
|
+
onClick: f,
|
|
25
|
+
reserveLabels: [w],
|
|
26
|
+
children: w
|
|
27
|
+
})
|
|
28
|
+
}) : null;
|
|
29
|
+
if (i === "cursor") return /* @__PURE__ */ o("nav", {
|
|
30
|
+
ref: y,
|
|
31
|
+
"aria-label": x,
|
|
32
|
+
className: e("flex items-center gap-8", v),
|
|
33
|
+
children: [/* @__PURE__ */ a(r, {
|
|
34
|
+
icon: s,
|
|
35
|
+
"aria-label": S,
|
|
36
|
+
variant: "secondary",
|
|
37
|
+
disabled: !u,
|
|
38
|
+
onClick: m
|
|
39
|
+
}), /* @__PURE__ */ a(r, {
|
|
40
|
+
icon: c,
|
|
41
|
+
"aria-label": C,
|
|
42
|
+
variant: "secondary",
|
|
43
|
+
disabled: !l,
|
|
44
|
+
onClick: p
|
|
45
|
+
})]
|
|
46
|
+
});
|
|
47
|
+
let T = Array.from({ length: g }, (e, t) => t + 1).filter((e) => e === 1 || e === g || Math.abs(e - h) <= 1);
|
|
48
|
+
return /* @__PURE__ */ o("nav", {
|
|
49
|
+
ref: y,
|
|
50
|
+
"aria-label": x,
|
|
51
|
+
className: e("flex items-center gap-4", v),
|
|
52
|
+
children: [
|
|
53
|
+
/* @__PURE__ */ a(r, {
|
|
54
|
+
icon: s,
|
|
55
|
+
"aria-label": S,
|
|
56
|
+
disabled: h <= 1,
|
|
57
|
+
onClick: () => _?.(h - 1)
|
|
58
|
+
}),
|
|
59
|
+
T.map((t, n) => /* @__PURE__ */ o("span", {
|
|
60
|
+
className: "flex items-center gap-4",
|
|
61
|
+
children: [n > 0 && t - (T[n - 1] ?? t) > 1 && /* @__PURE__ */ a("span", {
|
|
62
|
+
className: "w-24 text-center text-fg-tertiary",
|
|
63
|
+
children: "…"
|
|
64
|
+
}), /* @__PURE__ */ a("button", {
|
|
65
|
+
type: "button",
|
|
66
|
+
"aria-current": t === h ? "page" : void 0,
|
|
67
|
+
onClick: () => _?.(t),
|
|
68
|
+
className: e("inline-flex h-32 min-w-32 cursor-pointer items-center justify-center rounded-pill px-8 text-body font-medium tabular transition-control focus-ring", t === h ? "bg-fill-2 text-fg" : "text-fg-secondary hover:bg-fill-1 hover:text-fg"),
|
|
69
|
+
children: t
|
|
70
|
+
})]
|
|
71
|
+
}, t)),
|
|
72
|
+
/* @__PURE__ */ a(r, {
|
|
73
|
+
icon: c,
|
|
74
|
+
"aria-label": C,
|
|
75
|
+
disabled: h >= g,
|
|
76
|
+
onClick: () => _?.(h + 1)
|
|
77
|
+
})
|
|
78
|
+
]
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
process.env.NODE_ENV !== "production" && (d.displayName = "Pagination");
|
|
82
|
+
//#endregion
|
|
83
|
+
export { l as n, d as r, u as t };
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=pagination-DYdLm18-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination-DYdLm18-.js","names":["__icon_ArrowLeft01Icon","__icon_ArrowRight01Icon","cn","useUiText","IconButton","KAESO_PAGINATION_VARIANTS","KAESO_PAGINATION_DEFAULT_VARIANTS","Pagination","t","label","previous","next","loadMore","variant","hasMore","className","Button","onLoadMore","ArrowLeft01Icon","hasPrevious","onPrevious","ArrowRight01Icon","onNext","pages","pageCount","i","p","page","onPageChange"],"sources":["../../src/components/pagination/pagination.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { ArrowLeft01Icon as __icon_ArrowLeft01Icon, ArrowRight01Icon as __icon_ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { Button } from \"../button/button.js\";\nimport { IconButton } from \"../icon-button/icon-button.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_PAGINATION_VARIANTS = {\n variant: {\n \"load-more\": { classes: \"\" },\n cursor: { classes: \"\" },\n pages: { classes: \"\" },\n },\n} as const;\nexport const KAESO_PAGINATION_DEFAULT_VARIANTS = { variant: \"load-more\" } as const;\n\nexport interface PaginationProps {\n variant?: keyof typeof KAESO_PAGINATION_VARIANTS.variant | undefined;\n hasMore?: boolean | undefined;\n hasPrevious?: boolean | undefined;\n loading?: boolean | undefined;\n onLoadMore?: (() => void) | undefined;\n onNext?: (() => void) | undefined;\n onPrevious?: (() => void) | undefined;\n page?: number | undefined;\n pageCount?: number | undefined;\n onPageChange?: ((page: number) => void) | undefined;\n className?: string | undefined;\n}\n\nexport const Pagination = /* @__PURE__ */ forwardRef<HTMLElement, PaginationProps>(function Pagination(\n { variant = \"load-more\", hasMore, hasPrevious, loading, onLoadMore, onNext, onPrevious, page = 1, pageCount = 1, onPageChange, className },\n ref,\n) {\n const t = useUiText();\n const label = t(\"pagination.label\", \"Pagination\");\n const previous = t(\"pagination.previous\", \"Previous page\");\n const next = t(\"pagination.next\", \"Next page\");\n const loadMore = t(\"pagination.loadMore\", \"Load more\");\n\n if (variant === \"load-more\") {\n if (!hasMore) return null;\n return (\n <nav ref={ref} aria-label={label} className={cn(\"flex items-center justify-center gap-12 py-12\", className)}>\n <Button variant=\"ghost\" size=\"sm\" loading={loading} onClick={onLoadMore} reserveLabels={[loadMore]}>\n {loadMore}\n </Button>\n </nav>\n );\n }\n if (variant === \"cursor\") {\n return (\n <nav ref={ref} aria-label={label} className={cn(\"flex items-center gap-8\", className)}>\n <IconButton icon={__icon_ArrowLeft01Icon} aria-label={previous} variant=\"secondary\" disabled={!hasPrevious} onClick={onPrevious} />\n <IconButton icon={__icon_ArrowRight01Icon} aria-label={next} variant=\"secondary\" disabled={!hasMore} onClick={onNext} />\n </nav>\n );\n }\n const pages = Array.from({ length: pageCount }, (_, i) => i + 1).filter((p) => p === 1 || p === pageCount || Math.abs(p - page) <= 1);\n return (\n <nav ref={ref} aria-label={label} className={cn(\"flex items-center gap-4\", className)}>\n <IconButton icon={__icon_ArrowLeft01Icon} aria-label={previous} disabled={page <= 1} onClick={() => onPageChange?.(page - 1)} />\n {pages.map((p, i) => (\n <span key={p} className=\"flex items-center gap-4\">\n {i > 0 && p - (pages[i - 1] ?? p) > 1 && <span className=\"w-24 text-center text-fg-tertiary\">…</span>}\n <button\n type=\"button\"\n aria-current={p === page ? \"page\" : undefined}\n onClick={() => onPageChange?.(p)}\n className={cn(\n \"inline-flex h-32 min-w-32 cursor-pointer items-center justify-center rounded-pill px-8 text-body font-medium tabular transition-control focus-ring\",\n p === page ? \"bg-fill-2 text-fg\" : \"text-fg-secondary hover:bg-fill-1 hover:text-fg\",\n )}\n >\n {p}\n </button>\n </span>\n ))}\n <IconButton icon={__icon_ArrowRight01Icon} aria-label={next} disabled={page >= pageCount} onClick={() => onPageChange?.(page + 1)} />\n </nav>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Pagination.displayName = \"Pagination\";\n"],"mappings":";;;;;;;;;AAOA,IAAaK,IAA4B,EACvC,SAAS;CACP,aAAa,EAAE,SAAS,GAAG;CAC3B,QAAQ,EAAE,SAAS,GAAG;CACtB,OAAO,EAAE,SAAS,GAAG;AACvB,EACF,GACaC,IAAoC,EAAE,SAAS,YAAY,GAgB3DC,IAA6B,kBAAyC,SACjF,EAAE,aAAU,aAAa,YAAS,gBAAa,YAAS,eAAY,WAAQ,eAAY,UAAO,GAAG,eAAY,GAAG,iBAAc,gBAC/H,GACA;CACA,IAAMC,IAAIL,EAAU,GACdM,IAAQD,EAAE,oBAAoB,YAAY,GAC1CE,IAAWF,EAAE,uBAAuB,eAAe,GACnDG,IAAOH,EAAE,mBAAmB,WAAW,GACvCI,IAAWJ,EAAE,uBAAuB,WAAW;CAErD,IAAIK,MAAY,aAEd,OADKC,IAEH,kBAAC,OAAD;EAAU;EAAK,cAAYL;EAAO,WAAWP,EAAG,iDAAiDa,CAAS;EACxG,UAAA,kBAACC,GAAD;GAAQ,SAAQ;GAAQ,MAAK;GAAc;GAAS,SAASC;GAAY,eAAe,CAACL,CAAQ;GAC9F,UAAAA;EACK,CAAA;CACL,CAAA,IANc;CASvB,IAAIC,MAAY,UACd,OACE,kBAAC,OAAD;EAAU;EAAK,cAAYJ;EAAO,WAAWP,EAAG,2BAA2Ba,CAAS;EAApF,UAAA,CACE,kBAACX,GAAD;GAAY,MAAMJ;GAAwB,cAAYU;GAAU,SAAQ;GAAY,UAAU,CAACS;GAAa,SAASC;EAAa,CAAA,GAClI,kBAAChB,GAAD;GAAY,MAAMH;GAAyB,cAAYU;GAAM,SAAQ;GAAY,UAAU,CAACG;GAAS,SAASQ;EAAS,CAAA,CACpH;;CAGT,IAAMC,IAAQ,MAAM,KAAK,EAAE,QAAQC,EAAU,IAAI,GAAG,MAAMC,IAAI,CAAC,CAAC,CAAC,QAAQ,MAAMC,MAAM,KAAKA,MAAMF,KAAa,KAAK,IAAIE,IAAIC,CAAI,KAAK,CAAC;CACpI,OACE,kBAAC,OAAD;EAAU;EAAK,cAAYlB;EAAO,WAAWP,EAAG,2BAA2Ba,CAAS;EAApF,UAAA;GACE,kBAACX,GAAD;IAAY,MAAMJ;IAAwB,cAAYU;IAAU,UAAUiB,KAAQ;IAAG,eAAeC,IAAeD,IAAO,CAAC;GAAI,CAAA;GAC9HJ,EAAM,KAAK,GAAG,MACb,kBAAC,QAAD;IAAc,WAAU;IAAxB,UAAA,CACGE,IAAI,KAAKC,KAAKH,EAAME,IAAI,MAAMC,KAAK,KAAK,kBAAC,QAAD;KAAM,WAAU;KAAoC,UAAA;IAAO,CAAA,GACpG,kBAAC,UAAD;KACE,MAAK;KACL,gBAAcA,MAAMC,IAAO,SAAS,KAAA;KACpC,eAAeC,IAAeF,CAAC;KAC/B,WAAWxB,EACT,sJACAwB,MAAMC,IAAO,sBAAsB,iDACrC;KAEC,UAAAD;IACK,CAAA,CACJ;GAbK,GAAAA,CAaL,CACP;GACD,kBAACtB,GAAD;IAAY,MAAMH;IAAyB,cAAYU;IAAM,UAAUgB,KAAQH;IAAW,eAAeI,IAAeD,IAAO,CAAC;GAAI,CAAA;EACjI;;AAET,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAW,cAAc"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "./cn-CidVUKMm.js";
|
|
3
|
+
import { n as t, r as n } from "./portal-context-BBbzDKmY.js";
|
|
4
|
+
import { t as r } from "./inset-BLMdxX4I.js";
|
|
5
|
+
import { n as i, r as a, t as o } from "./popover-root-D3q89WNF.js";
|
|
6
|
+
import { forwardRef as s } from "react";
|
|
7
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
8
|
+
import { Popover as u } from "@base-ui/react/popover";
|
|
9
|
+
//#region src/components/popover/popover.tsx
|
|
10
|
+
var d = { padding: {
|
|
11
|
+
form: { classes: "p-12" },
|
|
12
|
+
list: { classes: "p-6" },
|
|
13
|
+
none: { classes: "p-0" }
|
|
14
|
+
} }, f = { padding: "form" }, p = "z-50 rounded-popover bg-raised text-body text-fg shadow-raised outline-none popup-motion max-h-(--available-height) overflow-auto scrollbar-quiet", m = /* @__PURE__ */ s(function({ children: i, side: a = "bottom", align: o = "start", sideOffset: s = 6, padding: f = "form", title: m, className: h, "aria-label": g }, _) {
|
|
15
|
+
return /* @__PURE__ */ c(u.Portal, {
|
|
16
|
+
container: n(),
|
|
17
|
+
children: /* @__PURE__ */ c(u.Positioner, {
|
|
18
|
+
positionMethod: "fixed",
|
|
19
|
+
collisionBoundary: t(),
|
|
20
|
+
side: a,
|
|
21
|
+
align: o,
|
|
22
|
+
sideOffset: s,
|
|
23
|
+
collisionPadding: 8,
|
|
24
|
+
className: "z-50 outline-none",
|
|
25
|
+
children: /* @__PURE__ */ l(u.Popup, {
|
|
26
|
+
ref: _,
|
|
27
|
+
...g ? { "aria-label": g } : {},
|
|
28
|
+
className: e(p, d.padding[f].classes, h),
|
|
29
|
+
children: [m && /* @__PURE__ */ c(u.Title, {
|
|
30
|
+
className: "mb-8 text-body font-semibold text-fg",
|
|
31
|
+
children: m
|
|
32
|
+
}), /* @__PURE__ */ c(r, {
|
|
33
|
+
inset: !1,
|
|
34
|
+
children: i
|
|
35
|
+
})]
|
|
36
|
+
})
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
process.env.NODE_ENV !== "production" && (m.displayName = "Popover.Content");
|
|
41
|
+
var h = /* @__PURE__ */ Object.assign(i, {
|
|
42
|
+
Trigger: a,
|
|
43
|
+
Content: m,
|
|
44
|
+
Close: o
|
|
45
|
+
});
|
|
46
|
+
process.env.NODE_ENV !== "production" && (h.displayName = "Popover");
|
|
47
|
+
//#endregion
|
|
48
|
+
export { h as i, d as n, p as r, f as t };
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=popover-BE7VO-a4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover-BE7VO-a4.js","names":["BasePopover","Popover","cn","pageBoundary","usePortalContainer","InsetContent","PopoverRoot","PopoverTrigger","PopoverClose","KAESO_POPOVER_VARIANTS","KAESO_POPOVER_DEFAULT_VARIANTS","POPOVER_POPUP","Content","ariaLabel","Popover","padding","className","title","Popover$1"],"sources":["../../src/components/popover/popover.tsx"],"sourcesContent":["import { InsetContent } from \"../../utils/inset.js\";\nimport { pageBoundary, usePortalContainer } from \"../../utils/portal-context.js\";\nimport { forwardRef, type ReactNode } from \"react\";\nimport { Popover as BasePopover } from \"@base-ui/react/popover\";\nimport { cn } from \"../../utils/cn.js\";\nimport { PopoverClose, PopoverRoot, PopoverTrigger } from \"./popover-root.js\";\n\nexport type { PopoverProps } from \"./popover-root.js\";\n\nexport const KAESO_POPOVER_VARIANTS = {\n padding: {\n form: { classes: \"p-12\" },\n list: { classes: \"p-6\" },\n none: { classes: \"p-0\" },\n },\n} as const;\nexport const KAESO_POPOVER_DEFAULT_VARIANTS = { padding: \"form\" } as const;\n\ntype Side = \"top\" | \"bottom\" | \"left\" | \"right\";\ntype Align = \"start\" | \"center\" | \"end\";\n\nexport const POPOVER_POPUP =\n \"z-50 rounded-popover bg-raised text-body text-fg shadow-raised outline-none popup-motion max-h-(--available-height) overflow-auto scrollbar-quiet\";\n\nexport interface PopoverContentProps {\n children: ReactNode;\n side?: Side | undefined;\n align?: Align | undefined;\n sideOffset?: number | undefined;\n padding?: keyof typeof KAESO_POPOVER_VARIANTS.padding | undefined;\n title?: ReactNode | undefined;\n \"aria-label\"?: string | undefined;\n className?: string | undefined;\n}\n\nconst Content = /* @__PURE__ */ forwardRef<HTMLDivElement, PopoverContentProps>(function PopoverContent(\n { children, side = \"bottom\", align = \"start\", sideOffset = 6, padding = \"form\", title, className, \"aria-label\": ariaLabel },\n ref,\n) {\n return (\n <BasePopover.Portal container={usePortalContainer()}>\n <BasePopover.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 <BasePopover.Popup\n ref={ref}\n {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}\n className={cn(POPOVER_POPUP, KAESO_POPOVER_VARIANTS.padding[padding].classes, className)}\n >\n {title && <BasePopover.Title className=\"mb-8 text-body font-semibold text-fg\">{title}</BasePopover.Title>}\n <InsetContent inset={false}>{children}</InsetContent>\n </BasePopover.Popup>\n </BasePopover.Positioner>\n </BasePopover.Portal>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Content.displayName = \"Popover.Content\";\n\nexport const Popover = /* @__PURE__ */ Object.assign(PopoverRoot, { Trigger: PopoverTrigger, Content, Close: PopoverClose });\nif (process.env.NODE_ENV !== \"production\") Popover.displayName = \"Popover\";\n"],"mappings":";;;;;;;;;AASA,IAAaS,IAAyB,EACpC,SAAS;CACP,MAAM,EAAE,SAAS,OAAO;CACxB,MAAM,EAAE,SAAS,MAAM;CACvB,MAAM,EAAE,SAAS,MAAM;AACzB,EACF,GACaC,IAAiC,EAAE,SAAS,OAAO,GAKnDC,IACX,qJAaIC,IAA0B,kBAAgD,SAC9E,EAAE,aAAU,UAAO,UAAU,WAAQ,SAAS,gBAAa,GAAG,aAAU,QAAQ,UAAO,cAAW,cAAcC,KAChH,GACA;CACA,OACE,kBAACb,EAAY,QAAb;EAAoB,WAAWI,EAAmB;EAChD,UAAA,kBAACJ,EAAY,YAAb;GACE,gBAAe;GACf,mBAAmBG,EAAa;GAC1B;GACC;GACK;GACZ,kBAAkB;GAClB,WAAU;GAEV,UAAA,kBAACH,EAAY,OAAb;IACO;IACL,GAAKa,IAAY,EAAE,cAAcA,EAAU,IAAI,CAAC;IAChD,WAAWX,EAAGS,GAAeF,EAAuB,QAAQM,EAAQ,CAAC,SAASC,CAAS;IAHzF,UAAA,CAKGC,KAAS,kBAACjB,EAAY,OAAb;KAAmB,WAAU;KAAwC,UAAAiB;IAAyB,CAAA,GACxG,kBAACZ,GAAD;KAAc,OAAO;KAAQ;IAAuB,CAAA,CACnC;;EACG,CAAA;CACN,CAAA;AAExB,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAQ,cAAc;AAEjE,IAAaJ,IAA0B,uBAAO,OAAOK,GAAa;CAAE,SAASC;CAAgB;CAAS,OAAOC;AAAa,CAAC;AAC3H,QAAA,IAAA,aAA6B,iBAAc,EAAQ,cAAc"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
3
|
+
import { Popover as t } from "@base-ui/react/popover";
|
|
4
|
+
//#region src/components/popover/popover-root.tsx
|
|
5
|
+
function n({ open: n, defaultOpen: r, onOpenChange: i, trapFocus: a, children: o }) {
|
|
6
|
+
return /* @__PURE__ */ e(t.Root, {
|
|
7
|
+
...n === void 0 ? {} : { open: n },
|
|
8
|
+
...r === void 0 ? {} : { defaultOpen: r },
|
|
9
|
+
...i ? { onOpenChange: (e) => i(e) } : {},
|
|
10
|
+
modal: a ? "trap-focus" : !1,
|
|
11
|
+
children: o
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
process.env.NODE_ENV !== "production" && (n.displayName = "Popover");
|
|
15
|
+
function r({ children: n }) {
|
|
16
|
+
return /* @__PURE__ */ e(t.Trigger, { render: n });
|
|
17
|
+
}
|
|
18
|
+
process.env.NODE_ENV !== "production" && (r.displayName = "Popover.Trigger");
|
|
19
|
+
function i({ children: n }) {
|
|
20
|
+
return /* @__PURE__ */ e(t.Close, { render: n });
|
|
21
|
+
}
|
|
22
|
+
process.env.NODE_ENV !== "production" && (i.displayName = "Popover.Close");
|
|
23
|
+
//#endregion
|
|
24
|
+
export { n, r, i as t };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=popover-root-D3q89WNF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover-root-D3q89WNF.js","names":["BasePopover","PopoverRoot","Popover","open","defaultOpen","onOpenChange","o","trapFocus","PopoverTrigger","children","PopoverClose"],"sources":["../../src/components/popover/popover-root.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from \"react\";\nimport { Popover as BasePopover } from \"@base-ui/react/popover\";\n\nexport interface PopoverProps {\n children: ReactNode;\n open?: boolean | undefined;\n defaultOpen?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n trapFocus?: boolean | undefined;\n}\n\nexport function PopoverRoot({ open, defaultOpen, onOpenChange, trapFocus, children }: PopoverProps) {\n return (\n <BasePopover.Root\n {...(open !== undefined ? { open } : {})}\n {...(defaultOpen !== undefined ? { defaultOpen } : {})}\n {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}\n modal={trapFocus ? \"trap-focus\" : false}\n >\n {children}\n </BasePopover.Root>\n );\n}\nif (process.env.NODE_ENV !== \"production\") PopoverRoot.displayName = \"Popover\";\n\nexport function PopoverTrigger({ children }: { children: ReactElement }) {\n return <BasePopover.Trigger render={children} />;\n}\nif (process.env.NODE_ENV !== \"production\") PopoverTrigger.displayName = \"Popover.Trigger\";\n\nexport function PopoverClose({ children }: { children: ReactElement }) {\n return <BasePopover.Close render={children} />;\n}\nif (process.env.NODE_ENV !== \"production\") PopoverClose.displayName = \"Popover.Close\";\n"],"mappings":";;;;AAWA,SAAgBC,EAAY,EAAE,SAAM,gBAAa,iBAAc,cAAW,eAA0B;CAClG,OACE,kBAACD,EAAY,MAAb;EACE,GAAKG,MAAS,KAAA,IAAuB,CAAC,IAAZ,EAAE,QAAK;EACjC,GAAKC,MAAgB,KAAA,IAA8B,CAAC,IAAnB,EAAE,eAAY;EAC/C,GAAKC,IAAe,EAAE,eAAe,MAAeA,EAAaC,CAAC,EAAE,IAAI,CAAC;EACzE,OAAOC,IAAY,eAAe;EAEjC;CACe,CAAA;AAEtB;AACA,QAAA,IAAA,aAA6B,iBAAc,EAAY,cAAc;AAErE,SAAgBC,EAAe,EAAE,eAAwC;CACvE,OAAO,kBAACR,EAAY,SAAb,EAAqB,QAAQS,EAAW,CAAA;AACjD;AACA,QAAA,IAAA,aAA6B,iBAAc,EAAe,cAAc;AAExE,SAAgBC,EAAa,EAAE,eAAwC;CACrE,OAAO,kBAACV,EAAY,OAAb,EAAmB,QAAQS,EAAW,CAAA;AAC/C;AACA,QAAA,IAAA,aAA6B,iBAAc,EAAa,cAAc"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { createContext as e, use as t, useCallback as n, useState as r } from "react";
|
|
3
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
4
|
+
//#region src/utils/portal-context.tsx
|
|
5
|
+
var o = /* @__PURE__ */ e(null);
|
|
6
|
+
function s({ children: e, className: t }) {
|
|
7
|
+
let [s] = r(() => {
|
|
8
|
+
if (typeof document > "u") return null;
|
|
9
|
+
let e = document.createElement("div");
|
|
10
|
+
return e.setAttribute("data-portal-container", ""), e;
|
|
11
|
+
}), c = n((e) => {
|
|
12
|
+
e && s && s.parentNode !== e && e.appendChild(s);
|
|
13
|
+
}, [s]);
|
|
14
|
+
return /* @__PURE__ */ a(o.Provider, {
|
|
15
|
+
value: s,
|
|
16
|
+
children: [e, /* @__PURE__ */ i("div", {
|
|
17
|
+
ref: c,
|
|
18
|
+
className: t ?? "absolute top-0 left-0 size-0",
|
|
19
|
+
"data-portal-host": ""
|
|
20
|
+
})]
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
process.env.NODE_ENV !== "production" && (s.displayName = "PortalContainer");
|
|
24
|
+
function c() {
|
|
25
|
+
return t(o) ?? void 0;
|
|
26
|
+
}
|
|
27
|
+
function l() {
|
|
28
|
+
return typeof document > "u" ? "clipping-ancestors" : document.documentElement;
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { l as n, c as r, s as t };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=portal-context-BBbzDKmY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal-context-BBbzDKmY.js","names":["PortalCtx","PortalContainer","el","useState","node","attach","useCallback","host","children","className","usePortalContainer","use","pageBoundary"],"sources":["../../src/utils/portal-context.tsx"],"sourcesContent":["import { createContext, use, useCallback, useState, type ReactNode } from \"react\";\n\nconst PortalCtx = /* @__PURE__ */ createContext<HTMLElement | null>(null);\n\nexport function PortalContainer({ children, className }: { children: ReactNode; className?: string }) {\n const [el] = useState<HTMLDivElement | null>(() => {\n if (typeof document === \"undefined\") return null;\n const node = document.createElement(\"div\");\n node.setAttribute(\"data-portal-container\", \"\");\n return node;\n });\n const attach = useCallback(\n (host: HTMLDivElement | null) => {\n if (host && el && el.parentNode !== host) host.appendChild(el);\n },\n [el],\n );\n return (\n <PortalCtx.Provider value={el}>\n {children}\n <div ref={attach} className={className ?? \"absolute top-0 left-0 size-0\"} data-portal-host=\"\" />\n </PortalCtx.Provider>\n );\n}\nif (process.env.NODE_ENV !== \"production\") PortalContainer.displayName = \"PortalContainer\";\n\nexport function usePortalContainer(): HTMLElement | undefined {\n return use(PortalCtx) ?? undefined;\n}\n\nexport function pageBoundary(): Element | \"clipping-ancestors\" {\n return typeof document === \"undefined\" ? \"clipping-ancestors\" : document.documentElement;\n}\n"],"mappings":";;;;AAEA,IAAMA,IAA4B,kBAAkC,IAAI;AAExE,SAAgBC,EAAgB,EAAE,aAAU,gBAA0D;CACpG,IAAM,CAACC,KAAMC,QAAsC;EACjD,IAAI,OAAO,WAAa,KAAa,OAAO;EAC5C,IAAMC,IAAO,SAAS,cAAc,KAAK;EAEzC,OADAA,EAAK,aAAa,yBAAyB,EAAE,GACtCA;CACT,CAAC,GACKC,IAASC,GACZ,MAAgC;EAC/B,AAAIC,KAAQL,KAAMA,EAAG,eAAeK,KAAMA,EAAK,YAAYL,CAAE;CAC/D,GACA,CAACA,CAAE,CACL;CACA,OACE,kBAACF,EAAU,UAAX;EAAoB,OAAOE;EAA3B,UAAA,CACGM,GACD,kBAAC,OAAD;GAAK,KAAKH;GAAQ,WAAWI,KAAa;GAAgC,oBAAiB;EAAI,CAAA,CAC7E;;AAExB;AACA,QAAA,IAAA,aAA6B,iBAAc,EAAgB,cAAc;AAEzE,SAAgBC,IAA8C;CAC5D,OAAOC,EAAIX,CAAS,KAAK,KAAA;AAC3B;AAEA,SAAgBY,IAA+C;CAC7D,OAAO,OAAO,WAAa,MAAc,uBAAuB,SAAS;AAC3E"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "./cn-CidVUKMm.js";
|
|
3
|
+
import { t } from "./labelled-D5udSPUI.js";
|
|
4
|
+
import { createContext as n, forwardRef as r, useContext as i, useId as a } from "react";
|
|
5
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
6
|
+
import { Radio as c } from "@base-ui/react/radio";
|
|
7
|
+
import { RadioGroup as l } from "@base-ui/react/radio-group";
|
|
8
|
+
//#region src/components/radio/radio.tsx
|
|
9
|
+
var u = { variant: {
|
|
10
|
+
default: { classes: "flex flex-col" },
|
|
11
|
+
cards: { classes: "flex flex-col overflow-hidden rounded-group bg-raised shadow-xs" }
|
|
12
|
+
} }, d = { variant: "default" }, f = /* @__PURE__ */ n({ variant: "default" }), p = /* @__PURE__ */ r(function({ value: t, defaultValue: n, onValueChange: r, disabled: i, name: a, variant: s = "default", orientation: c = "vertical", className: d, children: p, ...m }, h) {
|
|
13
|
+
return /* @__PURE__ */ o(f.Provider, {
|
|
14
|
+
value: { variant: s },
|
|
15
|
+
children: /* @__PURE__ */ o(l, {
|
|
16
|
+
ref: h,
|
|
17
|
+
...t === void 0 ? {} : { value: t },
|
|
18
|
+
...n === void 0 ? {} : { defaultValue: n },
|
|
19
|
+
...r ? { onValueChange: (e) => r(String(e)) } : {},
|
|
20
|
+
...i === void 0 ? {} : { disabled: i },
|
|
21
|
+
...a ? { name: a } : {},
|
|
22
|
+
className: e(u.variant[s].classes, c === "horizontal" && s === "default" && "flex-row flex-wrap gap-x-24", d),
|
|
23
|
+
...m,
|
|
24
|
+
children: p
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
process.env.NODE_ENV !== "production" && (p.displayName = "RadioGroup");
|
|
29
|
+
var m = /* @__PURE__ */ r(function({ value: t, disabled: n, id: r, className: i, "aria-label": a, "aria-labelledby": s, "aria-describedby": l, "data-force": u }, d) {
|
|
30
|
+
return /* @__PURE__ */ o(c.Root, {
|
|
31
|
+
ref: d,
|
|
32
|
+
value: t,
|
|
33
|
+
...n === void 0 ? {} : { disabled: n },
|
|
34
|
+
...r ? { id: r } : {},
|
|
35
|
+
...a ? { "aria-label": a } : {},
|
|
36
|
+
...s ? { "aria-labelledby": s } : {},
|
|
37
|
+
...l ? { "aria-describedby": l } : {},
|
|
38
|
+
...u ? { "data-force": u } : {},
|
|
39
|
+
className: e("relative inline-flex size-18 shrink-0 cursor-pointer items-center justify-center rounded-pill bg-raised shadow-selector radio-donut focus-ring tap-target", "not-checked:hover:shadow-selector-hover disabled:cursor-not-allowed disabled:bg-fill-1 disabled:shadow-none", i)
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
process.env.NODE_ENV !== "production" && (m.displayName = "Radio.Circle");
|
|
43
|
+
var h = /* @__PURE__ */ r(function({ label: n, description: r, id: c, className: l, ...u }, d) {
|
|
44
|
+
let { variant: p } = i(f), h = a(), g = c ?? `k-radio-${h}`, _ = t(g, n, r, u);
|
|
45
|
+
return p === "cards" ? /* @__PURE__ */ s("label", {
|
|
46
|
+
htmlFor: g,
|
|
47
|
+
className: e("flex min-h-56 cursor-pointer items-center gap-16 px-20 py-12 transition-control hover:bg-fill-1 not-first:hairline-t has-[:disabled]:cursor-not-allowed", l),
|
|
48
|
+
children: [/* @__PURE__ */ s("span", {
|
|
49
|
+
className: "flex min-w-0 flex-1 flex-col gap-2",
|
|
50
|
+
children: [/* @__PURE__ */ o("span", {
|
|
51
|
+
id: _.labelId,
|
|
52
|
+
className: e("text-body-lg font-medium text-fg", u.disabled && "text-fg-disabled"),
|
|
53
|
+
children: n
|
|
54
|
+
}), r && /* @__PURE__ */ o("span", {
|
|
55
|
+
id: _.descriptionId,
|
|
56
|
+
className: "text-small text-fg-secondary",
|
|
57
|
+
children: r
|
|
58
|
+
})]
|
|
59
|
+
}), /* @__PURE__ */ o(m, {
|
|
60
|
+
ref: d,
|
|
61
|
+
id: g,
|
|
62
|
+
...u,
|
|
63
|
+
..._.aria
|
|
64
|
+
})]
|
|
65
|
+
}) : n ? /* @__PURE__ */ s("label", {
|
|
66
|
+
htmlFor: g,
|
|
67
|
+
className: e("inline-flex min-h-32 cursor-pointer items-start gap-10 py-6 select-none", u.disabled && "cursor-not-allowed", l),
|
|
68
|
+
children: [/* @__PURE__ */ o("span", {
|
|
69
|
+
className: "flex h-20 items-center",
|
|
70
|
+
children: /* @__PURE__ */ o(m, {
|
|
71
|
+
ref: d,
|
|
72
|
+
id: g,
|
|
73
|
+
...u,
|
|
74
|
+
..._.aria
|
|
75
|
+
})
|
|
76
|
+
}), /* @__PURE__ */ s("span", {
|
|
77
|
+
className: "flex flex-col",
|
|
78
|
+
children: [/* @__PURE__ */ o("span", {
|
|
79
|
+
id: _.labelId,
|
|
80
|
+
className: e("text-body text-fg", u.disabled && "text-fg-disabled"),
|
|
81
|
+
children: n
|
|
82
|
+
}), r && /* @__PURE__ */ o("span", {
|
|
83
|
+
id: _.descriptionId,
|
|
84
|
+
className: "text-small text-fg-secondary",
|
|
85
|
+
children: r
|
|
86
|
+
})]
|
|
87
|
+
})]
|
|
88
|
+
}) : /* @__PURE__ */ o(m, {
|
|
89
|
+
ref: d,
|
|
90
|
+
id: g,
|
|
91
|
+
className: l,
|
|
92
|
+
...u
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
process.env.NODE_ENV !== "production" && (h.displayName = "Radio");
|
|
96
|
+
var g = /* @__PURE__ */ Object.assign(h, {
|
|
97
|
+
Group: p,
|
|
98
|
+
Circle: m
|
|
99
|
+
}), _ = p;
|
|
100
|
+
function v(e) {
|
|
101
|
+
return /* @__PURE__ */ o(p, {
|
|
102
|
+
variant: "cards",
|
|
103
|
+
...e
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
process.env.NODE_ENV !== "production" && (v.displayName = "RadioCards");
|
|
107
|
+
//#endregion
|
|
108
|
+
export { m as a, v as i, u as n, _ as o, g as r, d as t };
|
|
109
|
+
|
|
110
|
+
//# sourceMappingURL=radio-CUxbLCvD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-CUxbLCvD.js","names":["RadioGroup","BaseRadioGroup","BaseRadio","Radio","cn","KAESO_RADIO_VARIANTS","KAESO_RADIO_DEFAULT_VARIANTS","Ctx","Group","props","RadioGroup","value","defaultValue","onValueChange","v","disabled","name","variant","orientation","className","RadioCircle","ariaLabel","labelledBy","describedBy","force","Radio","id","Root","useContext","auto","useId","rid","named","labelled","label","description","Radio$1","RadioGroup$1","RadioCards"],"sources":["../../src/components/radio/radio.tsx"],"sourcesContent":["import { createContext, forwardRef, useContext, useId, type ReactNode } from \"react\";\nimport { Radio as BaseRadio } from \"@base-ui/react/radio\";\nimport { RadioGroup as BaseRadioGroup } from \"@base-ui/react/radio-group\";\nimport { cn } from \"../../utils/cn.js\";\nimport { labelled } from \"./labelled.js\";\n\nexport const KAESO_RADIO_VARIANTS = {\n variant: {\n default: { classes: \"flex flex-col\" },\n cards: {\n classes: \"flex flex-col overflow-hidden rounded-group bg-raised shadow-xs\",\n },\n },\n} as const;\nexport const KAESO_RADIO_DEFAULT_VARIANTS = { variant: \"default\" } as const;\n\nconst Ctx = /* @__PURE__ */ createContext<{ variant: keyof typeof KAESO_RADIO_VARIANTS.variant }>({ variant: \"default\" });\n\nexport interface RadioGroupProps {\n value?: string | undefined;\n defaultValue?: string | undefined;\n onValueChange?: ((value: string) => void) | undefined;\n disabled?: boolean | undefined;\n name?: string | undefined;\n variant?: keyof typeof KAESO_RADIO_VARIANTS.variant | undefined;\n orientation?: \"vertical\" | \"horizontal\" | undefined;\n \"aria-label\"?: string | undefined;\n \"aria-labelledby\"?: string | undefined;\n className?: string | undefined;\n children: ReactNode;\n}\n\nconst Group = /* @__PURE__ */ forwardRef<HTMLDivElement, RadioGroupProps>(function RadioGroup(\n { value, defaultValue, onValueChange, disabled, name, variant = \"default\", orientation = \"vertical\", className, children, ...props },\n ref,\n) {\n return (\n <Ctx.Provider value={{ variant }}>\n <BaseRadioGroup\n ref={ref}\n {...(value !== undefined ? { value } : {})}\n {...(defaultValue !== undefined ? { defaultValue } : {})}\n {...(onValueChange ? { onValueChange: (v: unknown) => onValueChange(String(v)) } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(name ? { name } : {})}\n className={cn(\n KAESO_RADIO_VARIANTS.variant[variant].classes,\n orientation === \"horizontal\" && variant === \"default\" && \"flex-row flex-wrap gap-x-24\",\n className,\n )}\n {...props}\n >\n {children}\n </BaseRadioGroup>\n </Ctx.Provider>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Group.displayName = \"RadioGroup\";\n\nexport interface RadioProps {\n value: string;\n label?: ReactNode | undefined;\n description?: ReactNode | undefined;\n disabled?: boolean | undefined;\n id?: string | undefined;\n \"aria-label\"?: string | undefined;\n \"aria-labelledby\"?: string | undefined;\n \"aria-describedby\"?: string | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nexport const RadioCircle = /* @__PURE__ */ forwardRef<HTMLButtonElement, RadioProps>(function RadioCircle(\n { value, disabled, id, className, \"aria-label\": ariaLabel, \"aria-labelledby\": labelledBy, \"aria-describedby\": describedBy, \"data-force\": force },\n ref,\n) {\n return (\n <BaseRadio.Root\n ref={ref}\n value={value}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(id ? { id } : {})}\n {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}\n {...(labelledBy ? { \"aria-labelledby\": labelledBy } : {})}\n {...(describedBy ? { \"aria-describedby\": describedBy } : {})}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"relative inline-flex size-18 shrink-0 cursor-pointer items-center justify-center rounded-pill bg-raised shadow-selector radio-donut focus-ring tap-target\",\n \"not-checked:hover:shadow-selector-hover disabled:cursor-not-allowed disabled:bg-fill-1 disabled:shadow-none\",\n className,\n )}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") RadioCircle.displayName = \"Radio.Circle\";\n\nconst Root = /* @__PURE__ */ forwardRef<HTMLButtonElement, RadioProps>(function Radio({ label, description, id, className, ...props }, ref) {\n const { variant } = useContext(Ctx);\n const auto = useId();\n const rid = id ?? `k-radio-${auto}`;\n const named = labelled(rid, label, description, props);\n if (variant === \"cards\") {\n return (\n <label\n htmlFor={rid}\n className={cn(\n \"flex min-h-56 cursor-pointer items-center gap-16 px-20 py-12 transition-control hover:bg-fill-1 not-first:hairline-t has-[:disabled]:cursor-not-allowed\",\n className,\n )}\n >\n <span className=\"flex min-w-0 flex-1 flex-col gap-2\">\n <span id={named.labelId} className={cn(\"text-body-lg font-medium text-fg\", props.disabled && \"text-fg-disabled\")}>\n {label}\n </span>\n {description && (\n <span id={named.descriptionId} className=\"text-small text-fg-secondary\">\n {description}\n </span>\n )}\n </span>\n <RadioCircle ref={ref} id={rid} {...props} {...named.aria} />\n </label>\n );\n }\n if (!label) return <RadioCircle ref={ref} id={rid} className={className} {...props} />;\n return (\n <label\n htmlFor={rid}\n className={cn(\"inline-flex min-h-32 cursor-pointer items-start gap-10 py-6 select-none\", props.disabled && \"cursor-not-allowed\", className)}\n >\n <span className=\"flex h-20 items-center\">\n <RadioCircle ref={ref} id={rid} {...props} {...named.aria} />\n </span>\n <span className=\"flex flex-col\">\n <span id={named.labelId} className={cn(\"text-body text-fg\", props.disabled && \"text-fg-disabled\")}>\n {label}\n </span>\n {description && (\n <span id={named.descriptionId} className=\"text-small text-fg-secondary\">\n {description}\n </span>\n )}\n </span>\n </label>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Root.displayName = \"Radio\";\n\nexport const Radio = /* @__PURE__ */ Object.assign(Root, { Group, Circle: RadioCircle });\nexport const RadioGroup = Group;\nexport function RadioCards(props: Omit<RadioGroupProps, \"variant\">) {\n return <Group variant=\"cards\" {...props} />;\n}\nif (process.env.NODE_ENV !== \"production\") RadioCards.displayName = \"RadioCards\";\n"],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { i as e } from "./styles-Btvg2DCf.js";
|
|
3
|
+
import { t } from "./cn-CidVUKMm.js";
|
|
4
|
+
import { i as n } from "./context-BELWW79w.js";
|
|
5
|
+
import { n as r } from "./button-BHKAE6ui.js";
|
|
6
|
+
import { i } from "./popover-BE7VO-a4.js";
|
|
7
|
+
import { t as a } from "./calendar-B5SSTE56.js";
|
|
8
|
+
import { t as o } from "./iso-field-CznqNVrH.js";
|
|
9
|
+
import { useState as s, useSyncExternalStore as c } from "react";
|
|
10
|
+
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
11
|
+
//#region src/components/date-picker/range-popup.tsx
|
|
12
|
+
var d = "(max-width: 767px)";
|
|
13
|
+
function f(e) {
|
|
14
|
+
if (typeof window > "u" || !window.matchMedia) return () => {};
|
|
15
|
+
let t = window.matchMedia(d);
|
|
16
|
+
return t.addEventListener("change", e), () => t.removeEventListener("change", e);
|
|
17
|
+
}
|
|
18
|
+
var p = () => typeof window < "u" && !!window.matchMedia?.(d).matches, m = () => !c(f, p, () => !1), h = (e) => new Date(e.getFullYear(), e.getMonth(), 1), g = (e, t) => new Date(e.getFullYear(), e.getMonth() + t, 1), _ = (e, t) => e?.toDateString() === t?.toDateString();
|
|
19
|
+
function v({ range: c, preset: d, presets: f, onPick: p, onClose: v, weekStartsOn: y, disabledDays: b }) {
|
|
20
|
+
let x = m(), S = n(), C = x ? 2 : 1, [w, T] = s(c ?? void 0), [E, D] = s(d === null), [O, k] = s(() => h(c?.to ?? c?.from ?? /* @__PURE__ */ new Date())), A = g(O, 1 - C), j = (e) => e >= A && h(e) <= O, M = E ? null : d, N = (e) => {
|
|
21
|
+
T(e), D(!0);
|
|
22
|
+
}, P = (e, t) => {
|
|
23
|
+
if (b?.(t)) return !1;
|
|
24
|
+
let n = e === "from" ? w?.to : w?.from;
|
|
25
|
+
return N(e === "from" ? {
|
|
26
|
+
from: t,
|
|
27
|
+
to: n && n < t ? t : n
|
|
28
|
+
} : {
|
|
29
|
+
from: n && n > t ? t : n,
|
|
30
|
+
to: t
|
|
31
|
+
}), j(t) || k(e === "to" || C === 1 ? h(t) : g(h(t), C - 1)), !0;
|
|
32
|
+
}, F = _(w?.from, c?.from) && _(w?.to ?? w?.from, c?.to), I = t(e, "cursor-pointer hover:bg-fill-1 focus-ring-inset aria-selected:bg-fill-2", x && "coarse:min-h-40");
|
|
33
|
+
return /* @__PURE__ */ l(i.Content, {
|
|
34
|
+
padding: "none",
|
|
35
|
+
"aria-label": S("datePicker.chooseRange", "Choose a date range"),
|
|
36
|
+
className: t(!x && "w-360 max-w-(--available-width)"),
|
|
37
|
+
children: /* @__PURE__ */ u("div", {
|
|
38
|
+
className: t("flex", !x && "flex-col"),
|
|
39
|
+
children: [/* @__PURE__ */ u("div", {
|
|
40
|
+
className: t("shrink-0 gap-2 p-6", x ? "flex min-w-160 flex-col hairline-r" : "grid grid-cols-2 hairline-b"),
|
|
41
|
+
role: "listbox",
|
|
42
|
+
"aria-label": S("datePicker.presets", "Presets"),
|
|
43
|
+
children: [f.map((e) => {
|
|
44
|
+
let t = e.id ?? e.label;
|
|
45
|
+
return /* @__PURE__ */ l("button", {
|
|
46
|
+
type: "button",
|
|
47
|
+
role: "option",
|
|
48
|
+
"aria-selected": M === t,
|
|
49
|
+
className: I,
|
|
50
|
+
onClick: () => p(e.range(), t),
|
|
51
|
+
children: e.label
|
|
52
|
+
}, t);
|
|
53
|
+
}), /* @__PURE__ */ l("button", {
|
|
54
|
+
type: "button",
|
|
55
|
+
role: "option",
|
|
56
|
+
"aria-selected": M === null,
|
|
57
|
+
className: I,
|
|
58
|
+
onClick: () => D(!0),
|
|
59
|
+
children: S("datePicker.custom", "Custom")
|
|
60
|
+
})]
|
|
61
|
+
}), /* @__PURE__ */ u("div", {
|
|
62
|
+
className: t("flex flex-col p-12", !x && "items-center"),
|
|
63
|
+
children: [/* @__PURE__ */ l(a, {
|
|
64
|
+
mode: "range",
|
|
65
|
+
numberOfMonths: C,
|
|
66
|
+
selected: w,
|
|
67
|
+
month: A,
|
|
68
|
+
onMonthChange: (e) => k(g(e, C - 1)),
|
|
69
|
+
onSelect: (e) => N(e),
|
|
70
|
+
weekStartsOn: y,
|
|
71
|
+
disabled: b
|
|
72
|
+
}), /* @__PURE__ */ u("div", {
|
|
73
|
+
className: "mt-12 flex items-center gap-8 self-stretch",
|
|
74
|
+
children: [
|
|
75
|
+
/* @__PURE__ */ l(o, {
|
|
76
|
+
label: S("datePicker.startDate", "Start date"),
|
|
77
|
+
value: w?.from,
|
|
78
|
+
onCommit: (e) => P("from", e)
|
|
79
|
+
}),
|
|
80
|
+
/* @__PURE__ */ l("span", {
|
|
81
|
+
className: "text-fg-tertiary",
|
|
82
|
+
"aria-hidden": !0,
|
|
83
|
+
children: "–"
|
|
84
|
+
}),
|
|
85
|
+
/* @__PURE__ */ l(o, {
|
|
86
|
+
label: S("datePicker.endDate", "End date"),
|
|
87
|
+
value: w?.to,
|
|
88
|
+
onCommit: (e) => P("to", e)
|
|
89
|
+
}),
|
|
90
|
+
/* @__PURE__ */ l(r, {
|
|
91
|
+
size: "sm",
|
|
92
|
+
variant: "primary",
|
|
93
|
+
disabled: !w?.from,
|
|
94
|
+
onClick: () => {
|
|
95
|
+
w?.from && (F && !E ? v() : p({
|
|
96
|
+
from: w.from,
|
|
97
|
+
to: w.to ?? w.from
|
|
98
|
+
}, null));
|
|
99
|
+
},
|
|
100
|
+
children: S("datePicker.apply", "Apply")
|
|
101
|
+
})
|
|
102
|
+
]
|
|
103
|
+
})]
|
|
104
|
+
})]
|
|
105
|
+
})
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
//#endregion
|
|
109
|
+
export { v as RangePopup };
|
|
110
|
+
|
|
111
|
+
//# sourceMappingURL=range-popup-AbRzgHtY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"range-popup-AbRzgHtY.js","names":["MENU_ITEM","useUiText","Button","Calendar","IsoField","NARROW","subscribeNarrow","q","onChange","isNarrow","useWide","useSyncExternalStore","monthOf","d","addMonths","n","sameDay","a","b","RangePopup","wide","t","months","draft","setDraft","useState","range","custom","setCustom","preset","last","setLast","first","shows","selected","edit","next","typed","disabledDays","other","which","unchanged","item","cn","Popover","presets","id","p","onPick","m","r","onClose"],"sources":["../../src/components/date-picker/range-popup.tsx"],"sourcesContent":["import { useState, useSyncExternalStore } from \"react\";\nimport type { DateRange } from \"react-day-picker\";\nimport { Calendar, type CalendarProps } from \"../calendar/calendar.js\";\nimport { cn } from \"../../utils/cn.js\";\nimport { Popover } from \"../popover/popover.js\";\nimport { Button } from \"../button/button.js\";\nimport { MENU_ITEM } from \"../menu/styles.js\";\nimport { IsoField } from \"./iso-field.js\";\nimport type { DateRangePreset } from \"./date-picker.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport interface RangePopupProps {\n range: DateRange | null;\n preset: string | null;\n presets: DateRangePreset[];\n onPick: (range: DateRange, preset: string | null) => void;\n onClose: () => void;\n weekStartsOn: CalendarProps[\"weekStartsOn\"];\n disabledDays: ((date: Date) => boolean) | undefined;\n}\n\nconst NARROW = \"(max-width: 767px)\";\nfunction subscribeNarrow(onChange: () => void) {\n if (typeof window === \"undefined\" || !window.matchMedia) return () => {};\n const q = window.matchMedia(NARROW);\n q.addEventListener(\"change\", onChange);\n return () => q.removeEventListener(\"change\", onChange);\n}\nconst isNarrow = () => typeof window !== \"undefined\" && !!window.matchMedia?.(NARROW).matches;\nconst useWide = () => !useSyncExternalStore(subscribeNarrow, isNarrow, () => false);\n\nconst monthOf = (d: Date) => new Date(d.getFullYear(), d.getMonth(), 1);\nconst addMonths = (d: Date, n: number) => new Date(d.getFullYear(), d.getMonth() + n, 1);\nconst sameDay = (a: Date | undefined, b: Date | undefined) => a?.toDateString() === b?.toDateString();\n\nexport function RangePopup({ range, preset, presets, onPick, onClose, weekStartsOn, disabledDays }: RangePopupProps) {\n const wide = useWide();\n const t = useUiText();\n const months = wide ? 2 : 1;\n const [draft, setDraft] = useState<DateRange | undefined>(range ?? undefined);\n const [custom, setCustom] = useState(preset === null);\n const [last, setLast] = useState(() => monthOf(range?.to ?? range?.from ?? new Date()));\n const first = addMonths(last, 1 - months);\n const shows = (d: Date) => d >= first && monthOf(d) <= last;\n const selected = custom ? null : preset;\n const edit = (next: DateRange | undefined) => {\n setDraft(next);\n setCustom(true);\n };\n const typed = (which: \"from\" | \"to\", d: Date) => {\n if (disabledDays?.(d)) return false;\n const other = which === \"from\" ? draft?.to : draft?.from;\n const next = which === \"from\" ? { from: d, to: other && other < d ? d : other } : { from: other && other > d ? d : other, to: d };\n edit(next);\n if (!shows(d)) setLast(which === \"to\" || months === 1 ? monthOf(d) : addMonths(monthOf(d), months - 1));\n return true;\n };\n const unchanged = sameDay(draft?.from, range?.from) && sameDay(draft?.to ?? draft?.from, range?.to);\n const item = cn(MENU_ITEM, \"cursor-pointer hover:bg-fill-1 focus-ring-inset aria-selected:bg-fill-2\", wide && \"coarse:min-h-40\");\n\n return (\n <Popover.Content padding=\"none\" aria-label={t(\"datePicker.chooseRange\", \"Choose a date range\")} className={cn(!wide && \"w-360 max-w-(--available-width)\")}>\n <div className={cn(\"flex\", !wide && \"flex-col\")}>\n <div\n className={cn(\"shrink-0 gap-2 p-6\", wide ? \"flex min-w-160 flex-col hairline-r\" : \"grid grid-cols-2 hairline-b\")}\n role=\"listbox\"\n aria-label={t(\"datePicker.presets\", \"Presets\")}\n >\n {presets.map((p) => {\n const id = p.id ?? p.label;\n return (\n <button key={id} type=\"button\" role=\"option\" aria-selected={selected === id} className={item} onClick={() => onPick(p.range(), id)}>\n {p.label}\n </button>\n );\n })}\n <button type=\"button\" role=\"option\" aria-selected={selected === null} className={item} onClick={() => setCustom(true)}>\n {t(\"datePicker.custom\", \"Custom\")}\n </button>\n </div>\n <div className={cn(\"flex flex-col p-12\", !wide && \"items-center\")}>\n <Calendar\n mode=\"range\"\n numberOfMonths={months}\n selected={draft}\n month={first}\n onMonthChange={(m) => setLast(addMonths(m, months - 1))}\n onSelect={(r) => edit(r as DateRange | undefined)}\n weekStartsOn={weekStartsOn}\n disabled={disabledDays}\n />\n <div className=\"mt-12 flex items-center gap-8 self-stretch\">\n <IsoField label={t(\"datePicker.startDate\", \"Start date\")} value={draft?.from} onCommit={(d) => typed(\"from\", d)} />\n <span className=\"text-fg-tertiary\" aria-hidden>\n –\n </span>\n <IsoField label={t(\"datePicker.endDate\", \"End date\")} value={draft?.to} onCommit={(d) => typed(\"to\", d)} />\n <Button\n size=\"sm\"\n variant=\"primary\"\n disabled={!draft?.from}\n onClick={() => {\n if (!draft?.from) return;\n if (unchanged && !custom) onClose();\n else onPick({ from: draft.from, to: draft.to ?? draft.from }, null);\n }}\n >\n {t(\"datePicker.apply\", \"Apply\")}\n </Button>\n </div>\n </div>\n </div>\n </Popover.Content>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useRef as e } from "react";
|
|
3
|
+
//#region src/utils/restore-focus.ts
|
|
4
|
+
function t() {
|
|
5
|
+
if (typeof document > "u") return null;
|
|
6
|
+
let e = document.activeElement;
|
|
7
|
+
return e instanceof HTMLElement && e !== document.body ? e : null;
|
|
8
|
+
}
|
|
9
|
+
function n(n, r = () => !0) {
|
|
10
|
+
let i = e(null), a = e(!1);
|
|
11
|
+
return n && !a.current && (i.current = t()), n !== void 0 && (a.current = n), {
|
|
12
|
+
initialFocus: () => r(),
|
|
13
|
+
finalFocus: () => n !== void 0 && i.current?.isConnected ? i.current : !0
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { n as t };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=restore-focus-Cap1Q-R3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restore-focus-Cap1Q-R3.js","names":["focused","a","useRestoreFocus","opener","useRef","wasOpen","open","first"],"sources":["../../src/utils/restore-focus.ts"],"sourcesContent":["import { useRef } from \"react\";\n\nfunction focused(): HTMLElement | null {\n if (typeof document === \"undefined\") return null;\n const a = document.activeElement;\n return a instanceof HTMLElement && a !== document.body ? a : null;\n}\n\nexport function useRestoreFocus(open: boolean | undefined, first: () => HTMLElement | boolean = () => true) {\n const opener = useRef<HTMLElement | null>(null);\n const wasOpen = useRef(false);\n if (open && !wasOpen.current) opener.current = focused();\n if (open !== undefined) wasOpen.current = open;\n return {\n initialFocus: () => first(),\n finalFocus: () => (open !== undefined && opener.current?.isConnected ? opener.current : true),\n };\n}\n"],"mappings":";;;AAEA,SAASA,IAA8B;CACrC,IAAI,OAAO,WAAa,KAAa,OAAO;CAC5C,IAAMC,IAAI,SAAS;CACnB,OAAOA,aAAa,eAAeA,MAAM,SAAS,OAAOA,IAAI;AAC/D;AAEA,SAAgBC,EAAgB,GAA2B,UAA2C,IAAM;CAC1G,IAAMC,IAASC,EAA2B,IAAI,GACxCC,IAAUD,EAAO,EAAK;CAG5B,OAFIE,KAAQ,CAACD,EAAQ,YAAS,EAAO,UAAUL,EAAQ,IACnDM,MAAS,KAAA,MAAW,EAAQ,UAAUA,IACnC;EACL,oBAAoBC,EAAM;EAC1B,kBAAmBD,MAAS,KAAA,KAAaH,EAAO,SAAS,cAAcA,EAAO,UAAU;CAC1F;AACF"}
|