@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,467 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "./cn-CidVUKMm.js";
|
|
3
|
+
import { i as t, n } from "./context-BELWW79w.js";
|
|
4
|
+
import { n as r } from "./button-BHKAE6ui.js";
|
|
5
|
+
import { r as i } from "./skeleton-kfuqdl1a.js";
|
|
6
|
+
import { useEffect as a, useLayoutEffect as o, useRef as s, useState as c } from "react";
|
|
7
|
+
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
8
|
+
import { tokenKindSeries as d, tokenKindTint as f } from "@logicplanes/kaeso-tokens";
|
|
9
|
+
//#region src/components/charts/core.tsx
|
|
10
|
+
function p(e, t) {
|
|
11
|
+
return t.every(Number.isInteger) ? e.filter(Number.isInteger) : e;
|
|
12
|
+
}
|
|
13
|
+
var m = [
|
|
14
|
+
"var(--k-viz-1)",
|
|
15
|
+
"var(--k-viz-2)",
|
|
16
|
+
"var(--k-viz-3)",
|
|
17
|
+
"var(--k-viz-4)",
|
|
18
|
+
"var(--k-viz-5)",
|
|
19
|
+
"var(--k-viz-6)",
|
|
20
|
+
"var(--k-viz-7)",
|
|
21
|
+
"var(--k-viz-8)"
|
|
22
|
+
], h = [
|
|
23
|
+
"var(--k-viz-thin-1)",
|
|
24
|
+
"var(--k-viz-thin-2)",
|
|
25
|
+
"var(--k-viz-thin-3)",
|
|
26
|
+
"var(--k-viz-thin-4)",
|
|
27
|
+
"var(--k-viz-thin-5)",
|
|
28
|
+
"var(--k-viz-thin-6)",
|
|
29
|
+
"var(--k-viz-thin-7)",
|
|
30
|
+
"var(--k-viz-thin-8)"
|
|
31
|
+
];
|
|
32
|
+
function g(e) {
|
|
33
|
+
let t = 2166136261;
|
|
34
|
+
for (let n = 0; n < e.length; n++) t = Math.imul(t ^ e.charCodeAt(n), 16777619);
|
|
35
|
+
return Math.abs(t);
|
|
36
|
+
}
|
|
37
|
+
var _ = {
|
|
38
|
+
1: 6,
|
|
39
|
+
6: 1,
|
|
40
|
+
2: 5,
|
|
41
|
+
5: 2,
|
|
42
|
+
3: 7,
|
|
43
|
+
7: 3
|
|
44
|
+
};
|
|
45
|
+
function v(e) {
|
|
46
|
+
return g(e) % m.length;
|
|
47
|
+
}
|
|
48
|
+
function y(e) {
|
|
49
|
+
let t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Set(), r = (e) => n.has(e) || _[e] !== void 0 && n.has(_[e]);
|
|
50
|
+
for (let i of e) {
|
|
51
|
+
if (t.has(i)) continue;
|
|
52
|
+
let e = v(i);
|
|
53
|
+
if (r(e)) {
|
|
54
|
+
let t = [...m.keys()];
|
|
55
|
+
e = t.find((e) => !r(e)) ?? t.find((e) => !n.has(e)) ?? e;
|
|
56
|
+
}
|
|
57
|
+
n.add(e), t.set(i, e);
|
|
58
|
+
}
|
|
59
|
+
return t;
|
|
60
|
+
}
|
|
61
|
+
function b(e, t = !1) {
|
|
62
|
+
return new Map([...y(e)].map(([e, n]) => [e, (t ? h : m)[n]]));
|
|
63
|
+
}
|
|
64
|
+
var x = (e, t = !1) => (t ? h : m)[v(e)], S = (e, t = !1) => f[e] ? "var(--k-viz-1-soft)" : (t ? h : m)[d[e] - 1], C = [
|
|
65
|
+
"input",
|
|
66
|
+
"cacheRead",
|
|
67
|
+
"cacheWrite",
|
|
68
|
+
"output",
|
|
69
|
+
"reasoning"
|
|
70
|
+
];
|
|
71
|
+
function w(e, t = n) {
|
|
72
|
+
switch (e) {
|
|
73
|
+
case "input": return t("tokenKind.input", "Input");
|
|
74
|
+
case "output": return t("tokenKind.output", "Output");
|
|
75
|
+
case "cacheRead": return t("tokenKind.cacheRead", "Cache read");
|
|
76
|
+
case "cacheWrite": return t("tokenKind.cacheWrite", "Cache write");
|
|
77
|
+
case "reasoning": return t("tokenKind.reasoning", "Reasoning");
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function T() {
|
|
81
|
+
let e = s(null), [t, n] = c({
|
|
82
|
+
width: 0,
|
|
83
|
+
height: 0
|
|
84
|
+
});
|
|
85
|
+
return o(() => {
|
|
86
|
+
let t = e.current;
|
|
87
|
+
if (!t) return;
|
|
88
|
+
let r = () => n({
|
|
89
|
+
width: Math.round(t.clientWidth),
|
|
90
|
+
height: Math.round(t.clientHeight)
|
|
91
|
+
});
|
|
92
|
+
if (r(), typeof ResizeObserver > "u") return;
|
|
93
|
+
let i = new ResizeObserver(r);
|
|
94
|
+
return i.observe(t), () => i.disconnect();
|
|
95
|
+
}, []), [e, t];
|
|
96
|
+
}
|
|
97
|
+
var E = (e) => 1 - (1 - e) ** 3, D = () => typeof matchMedia < "u" && matchMedia("(prefers-reduced-motion: reduce)").matches, O = (e, t, n) => n >= 1 ? t : t.map((t, r) => (e[r] ?? t) + (t - (e[r] ?? t)) * E(n));
|
|
98
|
+
function k(e, t) {
|
|
99
|
+
return e.length === t.length && e.some((e) => e !== 0) && t.some((e) => e !== 0) && e.some((e, n) => e !== t[n]) && !D();
|
|
100
|
+
}
|
|
101
|
+
function A(e, t = !1) {
|
|
102
|
+
let n = e.join(","), [r, i] = c({
|
|
103
|
+
key: n,
|
|
104
|
+
from: e,
|
|
105
|
+
to: e,
|
|
106
|
+
t: 1,
|
|
107
|
+
still: t
|
|
108
|
+
}), o = r;
|
|
109
|
+
if (r.key !== n || r.still !== t) {
|
|
110
|
+
let a = O(r.from, r.to, r.t);
|
|
111
|
+
o = !t && !r.still && k(a, e) ? {
|
|
112
|
+
key: n,
|
|
113
|
+
from: a,
|
|
114
|
+
to: e,
|
|
115
|
+
t: 0,
|
|
116
|
+
still: t
|
|
117
|
+
} : {
|
|
118
|
+
key: n,
|
|
119
|
+
from: e,
|
|
120
|
+
to: e,
|
|
121
|
+
t: 1,
|
|
122
|
+
still: t
|
|
123
|
+
}, i(o);
|
|
124
|
+
}
|
|
125
|
+
let s = o.t < 1;
|
|
126
|
+
return a(() => {
|
|
127
|
+
if (!s) return;
|
|
128
|
+
let e = performance.now(), t = 0, r = () => {
|
|
129
|
+
let a = Math.max(0, Math.min(1, (performance.now() - e) / 240));
|
|
130
|
+
i((e) => e.key === n ? {
|
|
131
|
+
...e,
|
|
132
|
+
t: a
|
|
133
|
+
} : e), a < 1 && (t = requestAnimationFrame(r));
|
|
134
|
+
};
|
|
135
|
+
return t = requestAnimationFrame(r), () => cancelAnimationFrame(t);
|
|
136
|
+
}, [n, s]), O(o.from, o.to, o.t);
|
|
137
|
+
}
|
|
138
|
+
function j(e, t, n = !1) {
|
|
139
|
+
let r = e.some((e) => e !== 0), i = A(r ? [...e, t] : e, n);
|
|
140
|
+
return r ? {
|
|
141
|
+
values: i.slice(0, -1),
|
|
142
|
+
top: i[i.length - 1] ?? t
|
|
143
|
+
} : {
|
|
144
|
+
values: i,
|
|
145
|
+
top: t
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
function M({ label: n, height: a, children: o, table: s, legend: d, state: f = {}, className: p, toggle: m = !0 }) {
|
|
149
|
+
let [h, g] = c(!1), _ = t();
|
|
150
|
+
return /* @__PURE__ */ u("figure", {
|
|
151
|
+
className: e("flex min-w-0 flex-col gap-12", p),
|
|
152
|
+
"aria-label": n,
|
|
153
|
+
children: [
|
|
154
|
+
f.error ? /* @__PURE__ */ u("div", {
|
|
155
|
+
className: "flex flex-col items-center justify-center gap-8 text-center",
|
|
156
|
+
style: { height: a },
|
|
157
|
+
children: [/* @__PURE__ */ l("p", {
|
|
158
|
+
className: "text-body text-fg-secondary",
|
|
159
|
+
children: _("chartFrame.loadFailed", "Couldn't load this chart")
|
|
160
|
+
}), f.onRetry && /* @__PURE__ */ l(r, {
|
|
161
|
+
size: "sm",
|
|
162
|
+
onClick: f.onRetry,
|
|
163
|
+
children: _("chartFrame.tryAgain", "Try again")
|
|
164
|
+
})]
|
|
165
|
+
}) : h && s ? /* @__PURE__ */ l("div", {
|
|
166
|
+
className: "overflow-auto scrollbar-quiet",
|
|
167
|
+
style: { minHeight: a },
|
|
168
|
+
children: /* @__PURE__ */ l(N, { table: s })
|
|
169
|
+
}) : /* @__PURE__ */ u("div", {
|
|
170
|
+
className: "relative",
|
|
171
|
+
style: { height: a },
|
|
172
|
+
children: [
|
|
173
|
+
o,
|
|
174
|
+
f.loading && /* @__PURE__ */ l(i, { className: "absolute inset-x-0 bottom-0 h-2 rounded-pill" }),
|
|
175
|
+
f.empty && !f.loading && /* @__PURE__ */ l("div", {
|
|
176
|
+
className: "absolute inset-0 flex items-center justify-center text-body text-fg-secondary",
|
|
177
|
+
children: f.emptyText ?? _("chartFrame.noData", "No data for this period")
|
|
178
|
+
})
|
|
179
|
+
]
|
|
180
|
+
}),
|
|
181
|
+
(d || m && s) && /* @__PURE__ */ u("div", {
|
|
182
|
+
className: "flex flex-wrap items-center gap-12",
|
|
183
|
+
children: [/* @__PURE__ */ l("div", {
|
|
184
|
+
className: "min-w-0 flex-1",
|
|
185
|
+
children: !h && d
|
|
186
|
+
}), m && s && /* @__PURE__ */ l("button", {
|
|
187
|
+
type: "button",
|
|
188
|
+
onClick: () => g((e) => !e),
|
|
189
|
+
"aria-pressed": h,
|
|
190
|
+
className: "relative inline-flex h-28 cursor-pointer items-center rounded-pill px-10 text-small font-medium text-fg-secondary transition-control hover:bg-fill-1 hover:text-fg focus-ring tap-target",
|
|
191
|
+
children: h ? _("chartFrame.viewAsChart", "View as chart") : _("chartFrame.viewAsTable", "View as table")
|
|
192
|
+
})]
|
|
193
|
+
}),
|
|
194
|
+
s && !h && /* @__PURE__ */ l("div", {
|
|
195
|
+
className: "sr-only",
|
|
196
|
+
children: /* @__PURE__ */ l(N, {
|
|
197
|
+
table: s,
|
|
198
|
+
caption: n
|
|
199
|
+
})
|
|
200
|
+
})
|
|
201
|
+
]
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
function N({ table: t, caption: n }) {
|
|
205
|
+
return /* @__PURE__ */ u("table", {
|
|
206
|
+
className: "w-full text-body",
|
|
207
|
+
children: [
|
|
208
|
+
n && /* @__PURE__ */ l("caption", {
|
|
209
|
+
className: "sr-only",
|
|
210
|
+
children: n
|
|
211
|
+
}),
|
|
212
|
+
/* @__PURE__ */ l("thead", { children: /* @__PURE__ */ l("tr", {
|
|
213
|
+
className: "hairline-b-strong",
|
|
214
|
+
children: t.columns.map((t, n) => /* @__PURE__ */ l("th", {
|
|
215
|
+
scope: "col",
|
|
216
|
+
className: e("h-36 px-12 text-caption font-medium text-fg-secondary first:pl-0", n > 0 ? "text-right" : "text-left"),
|
|
217
|
+
children: t
|
|
218
|
+
}, t))
|
|
219
|
+
}) }),
|
|
220
|
+
/* @__PURE__ */ l("tbody", { children: t.rows.map((t, n) => /* @__PURE__ */ l("tr", {
|
|
221
|
+
className: "hairline-b",
|
|
222
|
+
children: t.map((t, n) => /* @__PURE__ */ l("td", {
|
|
223
|
+
className: e("h-36 px-12 first:pl-0", n > 0 ? "text-right tabular" : "text-left"),
|
|
224
|
+
children: t
|
|
225
|
+
}, n))
|
|
226
|
+
}, n)) })
|
|
227
|
+
]
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
function P({ color: t, shape: n = "square", off: r }) {
|
|
231
|
+
return /* @__PURE__ */ l("span", {
|
|
232
|
+
"aria-hidden": !0,
|
|
233
|
+
className: e("shrink-0 transition-control", n === "line" ? "h-2 w-12 rounded-pill" : "size-10 rounded-bar", r && "opacity-30"),
|
|
234
|
+
style: { background: t }
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
process.env.NODE_ENV !== "production" && (P.displayName = "Swatch");
|
|
238
|
+
var F = (e) => (t) => e(t).replace(/[.,]00(?=\D*$)/, "");
|
|
239
|
+
function I(e, t, n = 4) {
|
|
240
|
+
for (let r = n; r >= 1; r--) {
|
|
241
|
+
let n = e.ticks(r);
|
|
242
|
+
if (new Set(n.map(t)).size === n.length) return n;
|
|
243
|
+
}
|
|
244
|
+
let [r = 0, i = 0] = e.domain();
|
|
245
|
+
return t(r) === t(i) ? [r] : [r, i];
|
|
246
|
+
}
|
|
247
|
+
function L(e) {
|
|
248
|
+
if (e instanceof Date) return Number.isNaN(e.getTime()) ? NaN : Date.UTC(e.getFullYear(), e.getMonth(), e.getDate()) / 864e5;
|
|
249
|
+
let t = /^(\d{4})-(\d{2})-(\d{2})/.exec(e);
|
|
250
|
+
return t ? Date.UTC(Number(t[1]), Number(t[2]) - 1, Number(t[3])) / 864e5 : NaN;
|
|
251
|
+
}
|
|
252
|
+
var R = (e) => (/* @__PURE__ */ new Date(e * 864e5)).getUTCFullYear();
|
|
253
|
+
function z(e) {
|
|
254
|
+
let t = e.map(L), n = [];
|
|
255
|
+
return t.forEach((e, r) => {
|
|
256
|
+
let i = r > 0 ? t[r - 1] : t.length > 1 ? 2 * e - t[1] : NaN;
|
|
257
|
+
Number.isFinite(e) && Number.isFinite(i) && R(e) !== R(i) && n.push(r);
|
|
258
|
+
}), n;
|
|
259
|
+
}
|
|
260
|
+
var B = /[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\u3000-\u303f\uff00-\uffef]/u;
|
|
261
|
+
function V(e) {
|
|
262
|
+
let t = 0;
|
|
263
|
+
for (let n of e) t += B.test(n) ? 1 : /\p{Lu}/u.test(n) ? .8 : /\p{Ll}/u.test(n) ? .6 : /\p{Nd}/u.test(n) ? .66 : /\s/.test(n) ? .3 : .4;
|
|
264
|
+
return t * q.label.fontSize;
|
|
265
|
+
}
|
|
266
|
+
var H = 8;
|
|
267
|
+
function U(e, t) {
|
|
268
|
+
let n = e.map((e) => {
|
|
269
|
+
let n = V(e.label), r = e.at - n / 2 < 0 ? "start" : e.at + n / 2 > t ? "end" : "middle", i = r === "start" ? Math.max(e.at, 0) : e.at, a = r === "start" ? i : r === "end" ? i - n : i - n / 2;
|
|
270
|
+
return {
|
|
271
|
+
key: e.key,
|
|
272
|
+
x: i,
|
|
273
|
+
anchor: r,
|
|
274
|
+
label: e.label,
|
|
275
|
+
left: a,
|
|
276
|
+
right: a + n
|
|
277
|
+
};
|
|
278
|
+
}), r = (e, t) => !e || !t || e.right + H <= t.left;
|
|
279
|
+
n.length > 2 && !r(n[0], n[1]) && n.splice(1, 1), n.length > 2 && !r(n[n.length - 2], n[n.length - 1]) && n.splice(n.length - 2, 1);
|
|
280
|
+
let i = [];
|
|
281
|
+
for (let e of n) r(i[i.length - 1], e) && i.push(e);
|
|
282
|
+
return i.map(({ key: e, x: t, anchor: n, label: r }) => ({
|
|
283
|
+
key: e,
|
|
284
|
+
x: t,
|
|
285
|
+
anchor: n,
|
|
286
|
+
label: r
|
|
287
|
+
}));
|
|
288
|
+
}
|
|
289
|
+
function W(e, t, n = {
|
|
290
|
+
start: Infinity,
|
|
291
|
+
end: Infinity
|
|
292
|
+
}, r) {
|
|
293
|
+
let i = e.length;
|
|
294
|
+
if (i === 0) return [];
|
|
295
|
+
let a = (r) => V(e[r]) / 2 <= Math.min(n.start + r * t, n.end + (i - 1 - r) * t) + 1e-6, o = Math.max(48, Math.max(...e.map(V)) + 16), s = t > 0 ? Math.max(1, Math.ceil(o / t - 1e-6)) : i, c = r && r.length === i ? z(r) : [], l = s;
|
|
296
|
+
for (let e = s; s > 1 && e <= s * 2; e++) if (c.every((t) => (t - c[0]) % e === 0)) {
|
|
297
|
+
l = e;
|
|
298
|
+
break;
|
|
299
|
+
}
|
|
300
|
+
let u = (e) => [
|
|
301
|
+
c.filter((t) => t % l === e && a(t)).length,
|
|
302
|
+
(i - 1) % l === e && a(i - 1) ? 1 : 0,
|
|
303
|
+
e === 0 && a(0) ? 1 : 0,
|
|
304
|
+
i - 1 - (i - 1 - e) % l
|
|
305
|
+
], d = 0;
|
|
306
|
+
for (let e = 1; e < Math.min(l, i); e++) {
|
|
307
|
+
let t = u(e), n = u(d), r = t.findIndex((e, t) => e !== n[t]);
|
|
308
|
+
r >= 0 && t[r] > n[r] && (d = e);
|
|
309
|
+
}
|
|
310
|
+
let f = [];
|
|
311
|
+
for (let e = d; e < i; e += l) a(e) && f.push(e);
|
|
312
|
+
return f;
|
|
313
|
+
}
|
|
314
|
+
function G({ items: n, hidden: r, onToggle: i, onHover: a, shape: o = "square" }) {
|
|
315
|
+
let s = t();
|
|
316
|
+
return /* @__PURE__ */ l("ul", {
|
|
317
|
+
className: "flex flex-wrap items-center gap-4",
|
|
318
|
+
"aria-label": s("chartLegend.label", "Legend"),
|
|
319
|
+
children: n.map((t) => {
|
|
320
|
+
let n = r?.has(t.id);
|
|
321
|
+
return /* @__PURE__ */ l("li", { children: /* @__PURE__ */ u(i ? "button" : "span", {
|
|
322
|
+
...i ? {
|
|
323
|
+
type: "button",
|
|
324
|
+
"aria-pressed": !n,
|
|
325
|
+
onClick: () => i(t.id)
|
|
326
|
+
} : {},
|
|
327
|
+
onMouseEnter: () => a?.(t.id),
|
|
328
|
+
onMouseLeave: () => a?.(null),
|
|
329
|
+
onFocus: () => a?.(t.id),
|
|
330
|
+
onBlur: () => a?.(null),
|
|
331
|
+
className: e("inline-flex h-28 items-center gap-8 rounded-pill px-10 text-small font-medium transition-control", i && "relative cursor-pointer hover:bg-fill-1 focus-ring tap-target", n ? "text-fg-tertiary" : "text-fg"),
|
|
332
|
+
children: [
|
|
333
|
+
/* @__PURE__ */ l(P, {
|
|
334
|
+
color: t.color,
|
|
335
|
+
shape: o,
|
|
336
|
+
off: n
|
|
337
|
+
}),
|
|
338
|
+
t.label,
|
|
339
|
+
t.value !== void 0 && /* @__PURE__ */ l("span", {
|
|
340
|
+
className: "text-fg-secondary tabular",
|
|
341
|
+
children: t.value
|
|
342
|
+
})
|
|
343
|
+
]
|
|
344
|
+
}) }, t.id);
|
|
345
|
+
})
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
process.env.NODE_ENV !== "production" && (G.displayName = "Legend");
|
|
349
|
+
function K({ x: t, xLeft: n = t, y: r, width: i, heading: a, rows: d, visible: f }) {
|
|
350
|
+
let p = s(null), [m, h] = c(0);
|
|
351
|
+
o(() => {
|
|
352
|
+
let e = p.current?.offsetWidth ?? 0;
|
|
353
|
+
e !== m && h(e);
|
|
354
|
+
}, [
|
|
355
|
+
m,
|
|
356
|
+
a,
|
|
357
|
+
d,
|
|
358
|
+
f
|
|
359
|
+
]);
|
|
360
|
+
let g = t > i / 2, _ = g ? n - 16 - m : t + 16, v = m ? Math.round(Math.max(0, Math.min(_, i - m))) : void 0;
|
|
361
|
+
return /* @__PURE__ */ u("div", {
|
|
362
|
+
ref: p,
|
|
363
|
+
role: "presentation",
|
|
364
|
+
"aria-hidden": !0,
|
|
365
|
+
className: e("pointer-events-none absolute z-10 w-max min-w-200 max-w-360 rounded-tooltip bg-raised p-10 text-small shadow-raised opacity-motion", f && m ? "opacity-100" : "opacity-0"),
|
|
366
|
+
style: {
|
|
367
|
+
...v === void 0 ? g ? { right: Math.round(i - n + 16) } : { left: Math.round(t + 16) } : { left: v },
|
|
368
|
+
top: Math.round(Math.max(0, r - 24))
|
|
369
|
+
},
|
|
370
|
+
children: [/* @__PURE__ */ l("div", {
|
|
371
|
+
className: "mb-6 text-caption font-medium text-fg tabular",
|
|
372
|
+
children: a
|
|
373
|
+
}), /* @__PURE__ */ l("div", {
|
|
374
|
+
className: "flex flex-col gap-4",
|
|
375
|
+
children: d.map((e) => /* @__PURE__ */ u("div", {
|
|
376
|
+
className: "flex items-center gap-8",
|
|
377
|
+
children: [
|
|
378
|
+
/* @__PURE__ */ l(P, { color: e.color }),
|
|
379
|
+
/* @__PURE__ */ l("span", {
|
|
380
|
+
className: "min-w-0 flex-1 truncate pr-12 text-fg-secondary",
|
|
381
|
+
children: e.label
|
|
382
|
+
}),
|
|
383
|
+
/* @__PURE__ */ l("span", {
|
|
384
|
+
className: "font-medium text-fg tabular",
|
|
385
|
+
children: e.value
|
|
386
|
+
}),
|
|
387
|
+
e.share !== void 0 && /* @__PURE__ */ l("span", {
|
|
388
|
+
className: "w-40 text-right text-fg-tertiary tabular",
|
|
389
|
+
children: e.share
|
|
390
|
+
})
|
|
391
|
+
]
|
|
392
|
+
}, e.id))
|
|
393
|
+
})]
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
process.env.NODE_ENV !== "production" && (K.displayName = "ChartTooltip");
|
|
397
|
+
var q = {
|
|
398
|
+
grid: {
|
|
399
|
+
stroke: "var(--k-line)",
|
|
400
|
+
strokeDasharray: "3 3",
|
|
401
|
+
strokeWidth: 1
|
|
402
|
+
},
|
|
403
|
+
baseline: {
|
|
404
|
+
stroke: "var(--k-line-strong)",
|
|
405
|
+
strokeWidth: 1
|
|
406
|
+
},
|
|
407
|
+
label: {
|
|
408
|
+
fill: "var(--k-text-tertiary)",
|
|
409
|
+
fontSize: 12,
|
|
410
|
+
fontWeight: 500,
|
|
411
|
+
style: { fontVariantNumeric: "tabular-nums" }
|
|
412
|
+
}
|
|
413
|
+
}, J = { chrome: { default: { classes: "" } } }, Y = { chrome: "default" };
|
|
414
|
+
function X(e, t, n, { vertical: r = !1, start: i = n - 1 } = {}) {
|
|
415
|
+
if (n <= 0) return;
|
|
416
|
+
let a = r ? "ArrowUp" : "ArrowLeft", o = r ? "ArrowDown" : "ArrowRight";
|
|
417
|
+
if (e === a) return t === null ? i : Math.max(0, t - 1);
|
|
418
|
+
if (e === o) return t === null ? i : Math.min(n - 1, t + 1);
|
|
419
|
+
if (e === "Home") return 0;
|
|
420
|
+
if (e === "End") return n - 1;
|
|
421
|
+
if (e === "Escape") return t === null ? void 0 : null;
|
|
422
|
+
}
|
|
423
|
+
function Z(e, t = {}) {
|
|
424
|
+
let [n, r] = c(null), i = t.start ?? e - 1;
|
|
425
|
+
return {
|
|
426
|
+
index: n !== null && n < e ? n : null,
|
|
427
|
+
props: {
|
|
428
|
+
tabIndex: e > 0 ? 0 : -1,
|
|
429
|
+
onFocus: (e) => {
|
|
430
|
+
if (e.target !== e.currentTarget) return;
|
|
431
|
+
let t = !0;
|
|
432
|
+
try {
|
|
433
|
+
t = e.currentTarget.matches(":focus-visible");
|
|
434
|
+
} catch {}
|
|
435
|
+
t && !document.documentElement.hasAttribute("data-k-pointer") && r(Math.max(0, i));
|
|
436
|
+
},
|
|
437
|
+
onBlur: () => r(null),
|
|
438
|
+
onKeyDown: (a) => {
|
|
439
|
+
let o = X(a.key, n, e, {
|
|
440
|
+
vertical: !!t.vertical,
|
|
441
|
+
start: i
|
|
442
|
+
});
|
|
443
|
+
o !== void 0 && (a.preventDefault(), o === null && a.stopPropagation(), r(o));
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
};
|
|
447
|
+
}
|
|
448
|
+
function Q({ children: e }) {
|
|
449
|
+
return /* @__PURE__ */ l("div", {
|
|
450
|
+
className: "sr-only",
|
|
451
|
+
"aria-live": "polite",
|
|
452
|
+
"aria-atomic": !0,
|
|
453
|
+
children: e
|
|
454
|
+
});
|
|
455
|
+
}
|
|
456
|
+
process.env.NODE_ENV !== "production" && (Q.displayName = "ChartLive");
|
|
457
|
+
var $ = (e, t, r = n) => r("chart.liveLine", "{heading}: {values}", {
|
|
458
|
+
heading: String(e),
|
|
459
|
+
values: t.map((e) => r("chart.liveValue", "{label} {value}", {
|
|
460
|
+
label: String(e.label),
|
|
461
|
+
value: String(e.value)
|
|
462
|
+
})).join(r("chart.listSeparator", ", "))
|
|
463
|
+
});
|
|
464
|
+
//#endregion
|
|
465
|
+
export { p as A, S as C, T as D, Z as E, A as O, F as S, k as T, U as _, Y as a, b, P as c, h as d, y as f, $ as g, V as h, K as i, z as j, j as k, C as l, X as m, M as n, J as o, W as p, Q as r, G as s, q as t, m as u, I as v, w, v as x, x as y };
|
|
466
|
+
|
|
467
|
+
//# sourceMappingURL=core-Bgefcs3z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-Bgefcs3z.js","names":["cn","useUiText","Button","Skeleton","wholeTicks","values","ticks","VIZ","VIZ_THIN","hash","h","i","s","NEAR","seriesIndex","id","assignSeries","out","used","clash","k","ids","keys","seriesColors","thin","seriesColor","tokenKindColor","tokenKindTint","tokenKindSeries","TOKEN_KIND_ORDER","tokenKindLabel","englishText","kind","useSize","ref","useRef","size","setSize","useState","useLayoutEffect","el","set","ro","ease","t","reducedMotion","mix","to","from","v","tweens","useTweened","key","tween","setTween","current","still","drawn","running","useEffect","start","raf","step","useTweenedScale","any","top","ChartFrame","asTable","setAsTable","className","label","state","table","height","DataTablePlain","children","legend","toggle","caption","c","r","j","Swatch","shape","off","color","tickLabel","format","readableTicks","n","count","scale","lo","hi","dayNumber","d","m","yearOfDay","yearStarts","days","dates","prev","WIDE","labelWidth","em","ch","AXIS","LABEL_GAP","placeTimeLabels","placed","width","anchor","right","x","left","clear","a","b","kept","l","axisLabelIndexes","labels","fits","edges","room","every","starts","stride","score","p","best","Legend","items","hidden","it","onToggle","onHover","ChartTooltip","own","setOwn","w","heading","rows","visible","flip","wanted","xLeft","y","KAESO_CHARTS_VARIANTS","KAESO_CHARTS_DEFAULT_VARIANTS","chartKeyIndex","back","vertical","forward","index","useChartKeys","setIndex","options","keyboard","next","e","ChartLive","liveLine"],"sources":["../../src/components/charts/core.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport { useEffect, useLayoutEffect, useRef, useState, type ReactNode, type RefObject } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { tokenKindSeries, tokenKindTint } from \"@logicplanes/kaeso-tokens\";\nimport { Skeleton } from \"../skeleton/skeleton.js\";\nimport { Button } from \"../button/button.js\";\nimport { englishText, useUiText, type UiText } from \"../../i18n/context.js\";\n\nexport function wholeTicks(ticks: number[], values: number[]): number[] {\n return values.every(Number.isInteger) ? ticks.filter(Number.isInteger) : ticks;\n}\nexport const VIZ = [\n \"var(--k-viz-1)\",\n \"var(--k-viz-2)\",\n \"var(--k-viz-3)\",\n \"var(--k-viz-4)\",\n \"var(--k-viz-5)\",\n \"var(--k-viz-6)\",\n \"var(--k-viz-7)\",\n \"var(--k-viz-8)\",\n] as const;\nexport const VIZ_THIN = [\n \"var(--k-viz-thin-1)\",\n \"var(--k-viz-thin-2)\",\n \"var(--k-viz-thin-3)\",\n \"var(--k-viz-thin-4)\",\n \"var(--k-viz-thin-5)\",\n \"var(--k-viz-thin-6)\",\n \"var(--k-viz-thin-7)\",\n \"var(--k-viz-thin-8)\",\n] as const;\n\nfunction hash(s: string) {\n let h = 2166136261;\n for (let i = 0; i < s.length; i++) h = Math.imul(h ^ s.charCodeAt(i), 16777619);\n return Math.abs(h);\n}\nconst NEAR: Record<number, number> = { 1: 6, 6: 1, 2: 5, 5: 2, 3: 7, 7: 3 };\n\nexport function seriesIndex(id: string): number {\n return hash(id) % VIZ.length;\n}\n\nexport function assignSeries(ids: string[]): Map<string, number> {\n const out = new Map<string, number>();\n const used = new Set<number>();\n const clash = (k: number) => used.has(k) || (NEAR[k] !== undefined && used.has(NEAR[k]!));\n for (const id of ids) {\n if (out.has(id)) continue;\n let i = seriesIndex(id);\n if (clash(i)) {\n const keys = [...VIZ.keys()];\n i = keys.find((k) => !clash(k)) ?? keys.find((k) => !used.has(k)) ?? i;\n }\n used.add(i);\n out.set(id, i);\n }\n return out;\n}\n\nexport function seriesColors(ids: string[], thin = false): Map<string, string> {\n return new Map([...assignSeries(ids)].map(([id, i]) => [id, (thin ? VIZ_THIN : VIZ)[i]!]));\n}\n\nexport const seriesColor = (id: string, thin = false) => (thin ? VIZ_THIN : VIZ)[seriesIndex(id)]!;\n\nexport type TokenKind = keyof typeof tokenKindSeries;\nexport const tokenKindColor = (k: TokenKind, thin = false) => {\n if (tokenKindTint[k]) return \"var(--k-viz-1-soft)\";\n return (thin ? VIZ_THIN : VIZ)[tokenKindSeries[k] - 1]!;\n};\nexport const TOKEN_KIND_ORDER: TokenKind[] = [\"input\", \"cacheRead\", \"cacheWrite\", \"output\", \"reasoning\"];\nexport function tokenKindLabel(kind: TokenKind, t: UiText = englishText): string {\n switch (kind) {\n case \"input\":\n return t(\"tokenKind.input\", \"Input\");\n case \"output\":\n return t(\"tokenKind.output\", \"Output\");\n case \"cacheRead\":\n return t(\"tokenKind.cacheRead\", \"Cache read\");\n case \"cacheWrite\":\n return t(\"tokenKind.cacheWrite\", \"Cache write\");\n case \"reasoning\":\n return t(\"tokenKind.reasoning\", \"Reasoning\");\n }\n}\n\nexport function useSize<T extends HTMLElement>(): [RefObject<T | null>, { width: number; height: number }] {\n const ref = useRef<T | null>(null);\n const [size, setSize] = useState({ width: 0, height: 0 });\n useLayoutEffect(() => {\n const el = ref.current;\n if (!el) return;\n const set = () => setSize({ width: Math.round(el.clientWidth), height: Math.round(el.clientHeight) });\n set();\n if (typeof ResizeObserver === \"undefined\") return;\n const ro = new ResizeObserver(set);\n ro.observe(el);\n return () => ro.disconnect();\n }, []);\n return [ref, size];\n}\n\nconst ease = (t: number) => 1 - Math.pow(1 - t, 3);\nconst reducedMotion = () => typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\nconst mix = (from: number[], to: number[], t: number) => (t >= 1 ? to : to.map((v, i) => (from[i] ?? v) + (v - (from[i] ?? v)) * ease(t)));\n\nexport function tweens(from: number[], to: number[]): boolean {\n return from.length === to.length && from.some((v) => v !== 0) && to.some((v) => v !== 0) && from.some((v, i) => v !== to[i]) && !reducedMotion();\n}\n\nexport function useTweened(values: number[], still = false): number[] {\n const key = values.join(\",\");\n const [tween, setTween] = useState({ key, from: values, to: values, t: 1, still });\n let current = tween;\n if (tween.key !== key || tween.still !== still) {\n const drawn = mix(tween.from, tween.to, tween.t);\n const animate = !still && !tween.still && tweens(drawn, values);\n current = animate ? { key, from: drawn, to: values, t: 0, still } : { key, from: values, to: values, t: 1, still };\n setTween(current);\n }\n const running = current.t < 1;\n useEffect(() => {\n if (!running) return;\n const start = performance.now();\n let raf = 0;\n const step = () => {\n const t = Math.max(0, Math.min(1, (performance.now() - start) / 240));\n setTween((s) => (s.key === key ? { ...s, t } : s));\n if (t < 1) raf = requestAnimationFrame(step);\n };\n raf = requestAnimationFrame(step);\n return () => cancelAnimationFrame(raf);\n }, [key, running]);\n return mix(current.from, current.to, current.t);\n}\n\nexport function useTweenedScale(values: number[], top: number, still = false): { values: number[]; top: number } {\n const any = values.some((v) => v !== 0);\n const drawn = useTweened(any ? [...values, top] : values, still);\n return any ? { values: drawn.slice(0, -1), top: drawn[drawn.length - 1] ?? top } : { values: drawn, top };\n}\n\nexport interface ChartState {\n loading?: boolean | undefined;\n error?: ReactNode | undefined;\n onRetry?: (() => void) | undefined;\n empty?: boolean | undefined;\n emptyText?: ReactNode | undefined;\n}\n\nexport interface TableData {\n columns: string[];\n rows: (string | number)[][];\n}\n\nexport function ChartFrame({\n label,\n height,\n children,\n table,\n legend,\n state = {},\n className,\n toggle = true,\n}: {\n label: string;\n height: number;\n children: ReactNode;\n table?: TableData | undefined;\n legend?: ReactNode | undefined;\n state?: ChartState | undefined;\n className?: string | undefined;\n toggle?: boolean | undefined;\n}) {\n const [asTable, setAsTable] = useState(false);\n const t = useUiText();\n return (\n <figure className={cn(\"flex min-w-0 flex-col gap-12\", className)} aria-label={label}>\n {state.error ? (\n <div className=\"flex flex-col items-center justify-center gap-8 text-center\" style={{ height }}>\n <p className=\"text-body text-fg-secondary\">{t(\"chartFrame.loadFailed\", \"Couldn't load this chart\")}</p>\n {state.onRetry && (\n <Button size=\"sm\" onClick={state.onRetry}>\n {t(\"chartFrame.tryAgain\", \"Try again\")}\n </Button>\n )}\n </div>\n ) : asTable && table ? (\n <div className=\"overflow-auto scrollbar-quiet\" style={{ minHeight: height }}>\n <DataTablePlain table={table} />\n </div>\n ) : (\n <div className=\"relative\" style={{ height }}>\n {children}\n {state.loading && <Skeleton className=\"absolute inset-x-0 bottom-0 h-2 rounded-pill\" />}\n {state.empty && !state.loading && (\n <div className=\"absolute inset-0 flex items-center justify-center text-body text-fg-secondary\">\n {state.emptyText ?? t(\"chartFrame.noData\", \"No data for this period\")}\n </div>\n )}\n </div>\n )}\n {(legend || (toggle && table)) && (\n <div className=\"flex flex-wrap items-center gap-12\">\n <div className=\"min-w-0 flex-1\">{!asTable && legend}</div>\n {toggle && table && (\n <button\n type=\"button\"\n onClick={() => setAsTable((v) => !v)}\n aria-pressed={asTable}\n className=\"relative inline-flex h-28 cursor-pointer items-center rounded-pill px-10 text-small font-medium text-fg-secondary transition-control hover:bg-fill-1 hover:text-fg focus-ring tap-target\"\n >\n {asTable ? t(\"chartFrame.viewAsChart\", \"View as chart\") : t(\"chartFrame.viewAsTable\", \"View as table\")}\n </button>\n )}\n </div>\n )}\n {table && !asTable && (\n <div className=\"sr-only\">\n <DataTablePlain table={table} caption={label} />\n </div>\n )}\n </figure>\n );\n}\n\nfunction DataTablePlain({ table, caption }: { table: TableData; caption?: string | undefined }) {\n return (\n <table className=\"w-full text-body\">\n {caption && <caption className=\"sr-only\">{caption}</caption>}\n <thead>\n <tr className=\"hairline-b-strong\">\n {table.columns.map((c, i) => (\n <th key={c} scope=\"col\" className={cn(\"h-36 px-12 text-caption font-medium text-fg-secondary first:pl-0\", i > 0 ? \"text-right\" : \"text-left\")}>\n {c}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {table.rows.map((r, i) => (\n <tr key={i} className=\"hairline-b\">\n {r.map((v, j) => (\n <td key={j} className={cn(\"h-36 px-12 first:pl-0\", j > 0 ? \"text-right tabular\" : \"text-left\")}>\n {v}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n}\n\nexport interface LegendItem {\n id: string;\n label: ReactNode;\n color: string;\n value?: ReactNode | undefined;\n}\n\nexport function Swatch({ color, shape = \"square\", off }: { color: string; shape?: \"square\" | \"line\" | undefined; off?: boolean | undefined }) {\n return (\n <span\n aria-hidden\n className={cn(\"shrink-0 transition-control\", shape === \"line\" ? \"h-2 w-12 rounded-pill\" : \"size-10 rounded-bar\", off && \"opacity-30\")}\n style={{ background: color }}\n />\n );\n}\nif (process.env.NODE_ENV !== \"production\") Swatch.displayName = \"Swatch\";\n\nexport const tickLabel = (format: (v: number) => string) => (v: number) => format(v).replace(/[.,]00(?=\\D*$)/, \"\");\n\nexport function readableTicks(scale: { ticks: (count: number) => number[]; domain: () => number[] }, label: (v: number) => string, count = 4): number[] {\n for (let n = count; n >= 1; n--) {\n const ticks = scale.ticks(n);\n if (new Set(ticks.map(label)).size === ticks.length) return ticks;\n }\n const [lo = 0, hi = 0] = scale.domain();\n return label(lo) === label(hi) ? [lo] : [lo, hi];\n}\n\nexport type AxisDate = Date | string;\n\nfunction dayNumber(d: AxisDate): number {\n if (d instanceof Date) return Number.isNaN(d.getTime()) ? NaN : Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()) / 86_400_000;\n const m = /^(\\d{4})-(\\d{2})-(\\d{2})/.exec(d);\n return m ? Date.UTC(Number(m[1]), Number(m[2]) - 1, Number(m[3])) / 86_400_000 : NaN;\n}\nconst yearOfDay = (n: number) => new Date(n * 86_400_000).getUTCFullYear();\n\nexport function yearStarts(dates: readonly AxisDate[]): number[] {\n const days = dates.map(dayNumber);\n const out: number[] = [];\n days.forEach((d, i) => {\n const prev = i > 0 ? days[i - 1]! : days.length > 1 ? 2 * d - days[1]! : NaN;\n if (Number.isFinite(d) && Number.isFinite(prev) && yearOfDay(d) !== yearOfDay(prev)) out.push(i);\n });\n return out;\n}\n\nconst WIDE = /[\\p{Script=Han}\\p{Script=Hiragana}\\p{Script=Katakana}\\p{Script=Hangul}\\u3000-\\u303f\\uff00-\\uffef]/u;\n\nexport function labelWidth(label: string): number {\n let em = 0;\n for (const ch of label) em += WIDE.test(ch) ? 1 : /\\p{Lu}/u.test(ch) ? 0.8 : /\\p{Ll}/u.test(ch) ? 0.6 : /\\p{Nd}/u.test(ch) ? 0.66 : /\\s/.test(ch) ? 0.3 : 0.4;\n return em * AXIS.label.fontSize;\n}\n\nconst LABEL_GAP = 8;\n\nexport function placeTimeLabels(\n ticks: { key: number; at: number; label: string }[],\n right: number,\n): { key: number; x: number; anchor: \"start\" | \"middle\" | \"end\"; label: string }[] {\n const placed = ticks.map((t) => {\n const width = labelWidth(t.label);\n const anchor: \"start\" | \"middle\" | \"end\" = t.at - width / 2 < 0 ? \"start\" : t.at + width / 2 > right ? \"end\" : \"middle\";\n const x = anchor === \"start\" ? Math.max(t.at, 0) : t.at;\n const left = anchor === \"start\" ? x : anchor === \"end\" ? x - width : x - width / 2;\n return { key: t.key, x, anchor, label: t.label, left, right: left + width };\n });\n const clear = (a: { right: number } | undefined, b: { left: number } | undefined) => !a || !b || a.right + LABEL_GAP <= b.left;\n if (placed.length > 2 && !clear(placed[0], placed[1])) placed.splice(1, 1);\n if (placed.length > 2 && !clear(placed[placed.length - 2], placed[placed.length - 1])) placed.splice(placed.length - 2, 1);\n const kept: typeof placed = [];\n for (const l of placed) if (clear(kept[kept.length - 1], l)) kept.push(l);\n return kept.map(({ key, x, anchor, label }) => ({ key, x, anchor, label }));\n}\n\nexport function axisLabelIndexes(\n labels: string[],\n step: number,\n edges: { start: number; end: number } = { start: Infinity, end: Infinity },\n dates?: readonly AxisDate[] | undefined,\n): number[] {\n const n = labels.length;\n if (n === 0) return [];\n const fits = (i: number) => labelWidth(labels[i]!) / 2 <= Math.min(edges.start + i * step, edges.end + (n - 1 - i) * step) + 1e-6;\n const room = Math.max(48, Math.max(...labels.map(labelWidth)) + 16);\n const every = step > 0 ? Math.max(1, Math.ceil(room / step - 1e-6)) : n;\n const starts = dates && dates.length === n ? yearStarts(dates) : [];\n let stride = every;\n for (let s = every; every > 1 && s <= every * 2; s++) {\n if (starts.every((i) => (i - starts[0]!) % s === 0)) {\n stride = s;\n break;\n }\n }\n const score = (p: number) => [\n starts.filter((i) => i % stride === p && fits(i)).length,\n (n - 1) % stride === p && fits(n - 1) ? 1 : 0,\n p === 0 && fits(0) ? 1 : 0,\n n - 1 - ((n - 1 - p) % stride),\n ];\n let best = 0;\n for (let p = 1; p < Math.min(stride, n); p++) {\n const a = score(p);\n const b = score(best);\n const k = a.findIndex((v, j) => v !== b[j]);\n if (k >= 0 && a[k]! > b[k]!) best = p;\n }\n const out: number[] = [];\n for (let i = best; i < n; i += stride) if (fits(i)) out.push(i);\n return out;\n}\n\nexport function Legend({\n items,\n hidden,\n onToggle,\n onHover,\n shape = \"square\",\n}: {\n items: LegendItem[];\n hidden?: Set<string> | undefined;\n onToggle?: ((id: string) => void) | undefined;\n onHover?: ((id: string | null) => void) | undefined;\n shape?: \"square\" | \"line\" | undefined;\n}) {\n const t = useUiText();\n return (\n <ul className=\"flex flex-wrap items-center gap-4\" aria-label={t(\"chartLegend.label\", \"Legend\")}>\n {items.map((it) => {\n const off = hidden?.has(it.id);\n const Comp = onToggle ? \"button\" : \"span\";\n return (\n <li key={it.id}>\n <Comp\n {...(onToggle ? { type: \"button\" as const, \"aria-pressed\": !off, onClick: () => onToggle(it.id) } : {})}\n onMouseEnter={() => onHover?.(it.id)}\n onMouseLeave={() => onHover?.(null)}\n onFocus={() => onHover?.(it.id)}\n onBlur={() => onHover?.(null)}\n className={cn(\n \"inline-flex h-28 items-center gap-8 rounded-pill px-10 text-small font-medium transition-control\",\n onToggle && \"relative cursor-pointer hover:bg-fill-1 focus-ring tap-target\",\n off ? \"text-fg-tertiary\" : \"text-fg\",\n )}\n >\n <Swatch color={it.color} shape={shape} off={off} />\n {it.label}\n {it.value !== undefined && <span className=\"text-fg-secondary tabular\">{it.value}</span>}\n </Comp>\n </li>\n );\n })}\n </ul>\n );\n}\nif (process.env.NODE_ENV !== \"production\") Legend.displayName = \"Legend\";\n\nexport interface TooltipRow {\n id: string;\n label: ReactNode;\n color: string;\n value: ReactNode;\n share?: ReactNode | undefined;\n}\n\nexport function ChartTooltip({\n x,\n xLeft = x,\n y,\n width,\n heading,\n rows,\n visible,\n}: {\n x: number;\n xLeft?: number | undefined;\n y: number;\n width: number;\n heading: ReactNode;\n rows: TooltipRow[];\n visible: boolean;\n}) {\n const el = useRef<HTMLDivElement | null>(null);\n const [own, setOwn] = useState(0);\n useLayoutEffect(() => {\n const w = el.current?.offsetWidth ?? 0;\n if (w !== own) setOwn(w);\n }, [own, heading, rows, visible]);\n const flip = x > width / 2;\n const wanted = flip ? xLeft - 16 - own : x + 16;\n const left = own ? Math.round(Math.max(0, Math.min(wanted, width - own))) : undefined;\n return (\n <div\n ref={el}\n role=\"presentation\"\n aria-hidden\n className={cn(\n \"pointer-events-none absolute z-10 w-max min-w-200 max-w-360 rounded-tooltip bg-raised p-10 text-small shadow-raised opacity-motion\",\n visible && own ? \"opacity-100\" : \"opacity-0\",\n )}\n style={{\n ...(left !== undefined ? { left } : flip ? { right: Math.round(width - xLeft + 16) } : { left: Math.round(x + 16) }),\n top: Math.round(Math.max(0, y - 24)),\n }}\n >\n <div className=\"mb-6 text-caption font-medium text-fg tabular\">{heading}</div>\n <div className=\"flex flex-col gap-4\">\n {rows.map((r) => (\n <div key={r.id} className=\"flex items-center gap-8\">\n <Swatch color={r.color} />\n <span className=\"min-w-0 flex-1 truncate pr-12 text-fg-secondary\">{r.label}</span>\n <span className=\"font-medium text-fg tabular\">{r.value}</span>\n {r.share !== undefined && <span className=\"w-40 text-right text-fg-tertiary tabular\">{r.share}</span>}\n </div>\n ))}\n </div>\n </div>\n );\n}\nif (process.env.NODE_ENV !== \"production\") ChartTooltip.displayName = \"ChartTooltip\";\n\nexport const AXIS = {\n grid: { stroke: \"var(--k-line)\", strokeDasharray: \"3 3\", strokeWidth: 1 },\n baseline: { stroke: \"var(--k-line-strong)\", strokeWidth: 1 },\n label: { fill: \"var(--k-text-tertiary)\", fontSize: 12, fontWeight: 500, style: { fontVariantNumeric: \"tabular-nums\" as const } },\n};\n\nexport const KAESO_CHARTS_VARIANTS = {\n chrome: { default: { classes: \"\" } },\n} as const;\nexport const KAESO_CHARTS_DEFAULT_VARIANTS = { chrome: \"default\" } as const;\n\nexport function chartKeyIndex(\n key: string,\n index: number | null,\n count: number,\n { vertical = false, start = count - 1 }: { vertical?: boolean | undefined; start?: number | undefined } = {},\n): number | null | undefined {\n if (count <= 0) return undefined;\n const back = vertical ? \"ArrowUp\" : \"ArrowLeft\";\n const forward = vertical ? \"ArrowDown\" : \"ArrowRight\";\n if (key === back) return index === null ? start : Math.max(0, index - 1);\n if (key === forward) return index === null ? start : Math.min(count - 1, index + 1);\n if (key === \"Home\") return 0;\n if (key === \"End\") return count - 1;\n if (key === \"Escape\") return index === null ? undefined : null;\n return undefined;\n}\n\nexport function useChartKeys(count: number, options: { vertical?: boolean | undefined; start?: number | undefined } = {}) {\n const [index, setIndex] = useState<number | null>(null);\n const start = options.start ?? count - 1;\n const props = {\n tabIndex: count > 0 ? 0 : -1,\n onFocus: (e: React.FocusEvent<HTMLElement>) => {\n if (e.target !== e.currentTarget) return;\n let keyboard = true;\n try {\n keyboard = e.currentTarget.matches(\":focus-visible\");\n } catch {}\n if (keyboard && !document.documentElement.hasAttribute(\"data-k-pointer\")) setIndex(Math.max(0, start));\n },\n onBlur: () => setIndex(null),\n onKeyDown: (e: React.KeyboardEvent<HTMLElement>) => {\n const next = chartKeyIndex(e.key, index, count, { vertical: !!options.vertical, start });\n if (next === undefined) return;\n e.preventDefault();\n if (next === null) e.stopPropagation();\n setIndex(next);\n },\n };\n return { index: index !== null && index < count ? index : null, props };\n}\n\nexport function ChartLive({ children }: { children?: ReactNode | undefined }) {\n return (\n <div className=\"sr-only\" aria-live=\"polite\" aria-atomic>\n {children}\n </div>\n );\n}\nif (process.env.NODE_ENV !== \"production\") ChartLive.displayName = \"ChartLive\";\n\nexport const liveLine = (heading: ReactNode, rows: { label: ReactNode; value: ReactNode }[], t: UiText = englishText) =>\n t(\"chart.liveLine\", \"{heading}: {values}\", {\n heading: String(heading),\n values: rows.map((r) => t(\"chart.liveValue\", \"{label} {value}\", { label: String(r.label), value: String(r.value) })).join(t(\"chart.listSeparator\", \", \")),\n });\n"],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { i as e } from "./context-BELWW79w.js";
|
|
3
|
+
import { i as t } from "./popover-BE7VO-a4.js";
|
|
4
|
+
import { t as n } from "./calendar-B5SSTE56.js";
|
|
5
|
+
import { t as r } from "./iso-field-CznqNVrH.js";
|
|
6
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
7
|
+
//#region src/components/date-picker/date-popup.tsx
|
|
8
|
+
function o({ date: o, onDateChange: s, onClose: c, weekStartsOn: l, disabledDays: u }) {
|
|
9
|
+
let d = e();
|
|
10
|
+
return /* @__PURE__ */ a(t.Content, {
|
|
11
|
+
padding: "form",
|
|
12
|
+
"aria-label": d("datePicker.chooseDate", "Choose a date"),
|
|
13
|
+
children: [/* @__PURE__ */ i(n, {
|
|
14
|
+
mode: "single",
|
|
15
|
+
selected: o ?? void 0,
|
|
16
|
+
...o ? { defaultMonth: o } : {},
|
|
17
|
+
onSelect: (e) => {
|
|
18
|
+
s(e ?? null), e && c();
|
|
19
|
+
},
|
|
20
|
+
weekStartsOn: l,
|
|
21
|
+
disabled: u
|
|
22
|
+
}), /* @__PURE__ */ i("div", {
|
|
23
|
+
className: "mt-12 flex gap-8",
|
|
24
|
+
children: /* @__PURE__ */ i(r, {
|
|
25
|
+
label: d("datePicker.date", "Date"),
|
|
26
|
+
value: o ?? void 0,
|
|
27
|
+
onCommit: (e) => !u?.(e) && (s(e), !0)
|
|
28
|
+
})
|
|
29
|
+
})]
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { o as DatePopup };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=date-popup-Er1oQwtU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-popup-Er1oQwtU.js","names":["useUiText","Popover","Calendar","IsoField","DatePopup","t","date","onDateChange","d","onClose","disabledDays"],"sources":["../../src/components/date-picker/date-popup.tsx"],"sourcesContent":["import { Calendar, type CalendarProps } from \"../calendar/calendar.js\";\nimport { Popover } from \"../popover/popover.js\";\nimport { IsoField } from \"./iso-field.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport interface DatePopupProps {\n date: Date | null;\n onDateChange: (date: Date | null) => void;\n onClose: () => void;\n weekStartsOn: CalendarProps[\"weekStartsOn\"];\n disabledDays: ((date: Date) => boolean) | undefined;\n}\n\nexport function DatePopup({ date, onDateChange, onClose, weekStartsOn, disabledDays }: DatePopupProps) {\n const t = useUiText();\n return (\n <Popover.Content padding=\"form\" aria-label={t(\"datePicker.chooseDate\", \"Choose a date\")}>\n <Calendar\n mode=\"single\"\n selected={date ?? undefined}\n {...(date ? { defaultMonth: date } : {})}\n onSelect={(d) => {\n onDateChange((d as Date | undefined) ?? null);\n if (d) onClose();\n }}\n weekStartsOn={weekStartsOn}\n disabled={disabledDays}\n />\n <div className=\"mt-12 flex gap-8\">\n <IsoField\n label={t(\"datePicker.date\", \"Date\")}\n value={date ?? undefined}\n onCommit={(d) => {\n if (disabledDays?.(d)) return false;\n onDateChange(d);\n return true;\n }}\n />\n </div>\n </Popover.Content>\n );\n}\n"],"mappings":";;;;;;;AAaA,SAAgBI,EAAU,EAAE,SAAM,iBAAc,YAAS,iBAAc,mBAAgC;CACrG,IAAMC,IAAIL,EAAU;CACpB,OACE,kBAACC,EAAQ,SAAT;EAAiB,SAAQ;EAAO,cAAYI,EAAE,yBAAyB,eAAe;EAAtF,UAAA,CACE,kBAACH,GAAD;GACE,MAAK;GACL,UAAUI,KAAQ,KAAA;GAClB,GAAKA,IAAO,EAAE,cAAcA,EAAK,IAAI,CAAC;GACtC,WAAW,MAAM;IAEf,AADAC,EAAcC,KAA0B,IAAI,GACxCA,KAAGC,EAAQ;GACjB;GACc;GACd,UAAUC;EACX,CAAA,GACD,kBAAC,OAAD;GAAK,WAAU;GACb,UAAA,kBAACP,GAAD;IACE,OAAOE,EAAE,mBAAmB,MAAM;IAClC,OAAOC,KAAQ,KAAA;IACf,WAAW,MACT,CAAII,IAAeF,CAAC,MACpBD,EAAaC,CAAC,GACP;GAEV,CAAA;EACE,CAAA,CACU;;AAErB"}
|