livemark 0.7.2 → 0.9.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/README.md +115 -4
- package/package.json +15 -14
- package/source/actions/changelog/build.ts +245 -0
- package/source/actions/changelog/build.unit.ts +69 -0
- package/source/actions/config/define.ts +11 -0
- package/source/actions/config/define.unit.ts +33 -0
- package/source/actions/config/load.ts +22 -0
- package/source/actions/config/load.unit.ts +30 -0
- package/source/commands/build.ts +21 -0
- package/source/commands/escape.ts +77 -0
- package/source/commands/preview.ts +25 -0
- package/source/commands/start.ts +26 -0
- package/{build/website → source}/components/Article.tsx +44 -44
- package/{build/website → source}/components/Callout.tsx +1 -1
- package/{build/website → source}/components/Layout.tsx +3 -14
- package/{build/website → source}/components/LinkButton.tsx +1 -1
- package/{build/website → source}/components/PageToolbar.tsx +21 -8
- package/{build/website → source}/components/Section.tsx +1 -1
- package/{build/website → source}/components/SectionHeader.tsx +1 -1
- package/{build/website/components/MiniSidebar.tsx → source/components/Sidebar.tsx} +21 -5
- package/{build/website/components/Sidebar.tsx → source/components/SidebarArticles.tsx} +22 -55
- package/source/components/SidebarPosts.tsx +129 -0
- package/source/components/SidebarReleases.tsx +85 -0
- package/{build/website → source}/content-collections.ts +12 -3
- package/{build/website → source}/elements/accordion.tsx +1 -1
- package/{build/website → source}/elements/alert-dialog.tsx +1 -1
- package/{build/website → source}/elements/alert.tsx +1 -1
- package/{build/website → source}/elements/aspect-ratio.tsx +1 -1
- package/{build/website → source}/elements/avatar.tsx +1 -1
- package/{build/website → source}/elements/badge.tsx +1 -1
- package/{build/website → source}/elements/breadcrumb.tsx +1 -1
- package/{build/website → source}/elements/button-group.tsx +1 -1
- package/{build/website → source}/elements/button.tsx +1 -1
- package/{build/website → source}/elements/calendar.tsx +1 -1
- package/{build/website → source}/elements/card.tsx +1 -1
- package/{build/website → source}/elements/carousel.tsx +1 -1
- package/{build/website → source}/elements/chart.tsx +1 -1
- package/{build/website → source}/elements/checkbox.tsx +1 -1
- package/{build/website → source}/elements/command.tsx +1 -1
- package/{build/website → source}/elements/context-menu.tsx +1 -1
- package/{build/website → source}/elements/dialog.tsx +1 -1
- package/{build/website → source}/elements/drawer.tsx +1 -1
- package/{build/website → source}/elements/dropdown-menu.tsx +1 -1
- package/{build/website → source}/elements/empty.tsx +1 -1
- package/{build/website → source}/elements/field.tsx +1 -1
- package/{build/website → source}/elements/hover-card.tsx +1 -1
- package/{build/website → source}/elements/input-group.tsx +1 -1
- package/{build/website → source}/elements/input-otp.tsx +1 -1
- package/{build/website → source}/elements/input.tsx +1 -1
- package/{build/website → source}/elements/item.tsx +1 -1
- package/{build/website → source}/elements/kbd.tsx +1 -1
- package/{build/website → source}/elements/label.tsx +1 -1
- package/{build/website → source}/elements/menubar.tsx +1 -1
- package/{build/website → source}/elements/native-select.tsx +1 -1
- package/{build/website → source}/elements/navigation-menu.tsx +1 -1
- package/{build/website → source}/elements/pagination.tsx +1 -1
- package/{build/website → source}/elements/popover.tsx +1 -1
- package/{build/website → source}/elements/progress.tsx +1 -1
- package/{build/website → source}/elements/radio-group.tsx +1 -1
- package/{build/website → source}/elements/resizable.tsx +1 -1
- package/{build/website → source}/elements/scroll-area.tsx +1 -1
- package/{build/website → source}/elements/select.tsx +1 -1
- package/{build/website → source}/elements/separator.tsx +1 -1
- package/{build/website → source}/elements/sheet.tsx +1 -1
- package/{build/website → source}/elements/sidebar.tsx +7 -4
- package/{build/website → source}/elements/skeleton.tsx +1 -1
- package/{build/website → source}/elements/slider.tsx +1 -1
- package/{build/website → source}/elements/spinner.tsx +1 -1
- package/{build/website → source}/elements/switch.tsx +1 -1
- package/{build/website → source}/elements/table.tsx +1 -1
- package/{build/website → source}/elements/tabs.tsx +1 -1
- package/{build/website → source}/elements/textarea.tsx +1 -1
- package/{build/website → source}/elements/toggle-group.tsx +1 -1
- package/{build/website → source}/elements/toggle.tsx +1 -1
- package/{build/website → source}/elements/tooltip.tsx +1 -1
- package/source/entrypoints/main.ts +12 -0
- package/{build/website → source}/env.d.ts +1 -1
- package/source/helpers/program.ts +6 -0
- package/{build/website → source}/helpers/section.ts +1 -1
- package/source/hooks/media.ts +29 -0
- package/source/index.ts +1 -0
- package/{build/website → source}/models/article.ts +5 -0
- package/source/models/config.ts +51 -0
- package/source/models/link.ts +11 -0
- package/source/models/patch.ts +9 -0
- package/source/models/section.ts +45 -0
- package/source/models/theme.ts +74 -0
- package/source/program.ts +18 -0
- package/source/settings.ts +6 -0
- package/{build/website → source}/vite.config.ts +14 -9
- package/{build → target}/actions/changelog/build.d.ts +1 -0
- package/target/actions/changelog/build.js +187 -0
- package/target/actions/changelog/build.unit.js +66 -0
- package/target/actions/config/define.js +8 -0
- package/target/actions/config/define.unit.js +29 -0
- package/target/actions/config/load.js +25 -0
- package/target/actions/config/load.unit.js +23 -0
- package/target/client.d.ts +1 -0
- package/target/client.js +6 -0
- package/target/commands/build.js +14 -0
- package/target/commands/escape.js +56 -0
- package/target/commands/preview.js +18 -0
- package/target/commands/start.js +19 -0
- package/target/components/Abbr.d.ts +5 -0
- package/target/components/Abbr.js +9 -0
- package/target/components/AnsiCode.d.ts +4 -0
- package/target/components/AnsiCode.js +6 -0
- package/target/components/Article.d.ts +5 -0
- package/target/components/Article.js +104 -0
- package/target/components/BackToTop.d.ts +3 -0
- package/target/components/BackToTop.js +19 -0
- package/target/components/Banner.d.ts +2 -0
- package/target/components/Banner.js +12 -0
- package/target/components/BlogIndex.d.ts +4 -0
- package/target/components/BlogIndex.js +62 -0
- package/target/components/Breadcrumbs.d.ts +1 -0
- package/target/components/Breadcrumbs.js +13 -0
- package/target/components/Callout.d.ts +8 -0
- package/target/components/Callout.js +43 -0
- package/target/components/Card.d.ts +7 -0
- package/target/components/Card.js +17 -0
- package/target/components/Cards.d.ts +4 -0
- package/target/components/Cards.js +6 -0
- package/target/components/ChangelogIndex.d.ts +4 -0
- package/target/components/ChangelogIndex.js +57 -0
- package/target/components/CodeBlock.d.ts +1 -0
- package/target/components/CodeBlock.js +47 -0
- package/target/components/CodeTabs.d.ts +6 -0
- package/target/components/CodeTabs.js +49 -0
- package/target/components/Column.d.ts +4 -0
- package/target/components/Column.js +6 -0
- package/target/components/Columns.d.ts +5 -0
- package/target/components/Columns.js +10 -0
- package/target/components/Content.d.ts +3 -0
- package/target/components/Content.js +5 -0
- package/target/components/ContentTab.d.ts +5 -0
- package/target/components/ContentTab.js +6 -0
- package/target/components/ContentTabs.d.ts +5 -0
- package/target/components/ContentTabs.js +47 -0
- package/target/components/DefaultCatchBoundary.d.ts +2 -0
- package/target/components/DefaultCatchBoundary.js +20 -0
- package/target/components/DefinitionList.d.ts +7 -0
- package/target/components/DefinitionList.js +14 -0
- package/target/components/Details.d.ts +5 -0
- package/target/components/Details.js +13 -0
- package/target/components/FileTree.d.ts +4 -0
- package/target/components/FileTree.js +17 -0
- package/target/components/Footer.d.ts +2 -0
- package/target/components/Footer.js +9 -0
- package/target/components/FootnoteRef.d.ts +3 -0
- package/target/components/FootnoteRef.js +31 -0
- package/target/components/Heading.d.ts +8 -0
- package/target/components/Heading.js +18 -0
- package/target/components/InlineBadge.d.ts +5 -0
- package/target/components/InlineBadge.js +7 -0
- package/target/components/InlineIcon.d.ts +5 -0
- package/target/components/InlineIcon.js +10 -0
- package/target/components/InlineToc.d.ts +4 -0
- package/target/components/InlineToc.js +14 -0
- package/target/components/Layout.d.ts +4 -0
- package/target/components/Layout.js +65 -0
- package/target/components/LinkButton.d.ts +7 -0
- package/target/components/LinkButton.js +11 -0
- package/target/components/Mermaid.d.ts +4 -0
- package/target/components/Mermaid.js +8 -0
- package/target/components/MermaidRenderer.d.ts +4 -0
- package/target/components/MermaidRenderer.js +32 -0
- package/target/components/NotFound.d.ts +3 -0
- package/target/components/NotFound.js +10 -0
- package/target/components/PackageTabs.d.ts +9 -0
- package/target/components/PackageTabs.js +28 -0
- package/target/components/PageToolbar.d.ts +7 -0
- package/target/components/PageToolbar.js +34 -0
- package/target/components/PrevNext.d.ts +4 -0
- package/target/components/PrevNext.js +34 -0
- package/target/components/Search.d.ts +2 -0
- package/target/components/Search.js +16 -0
- package/target/components/SearchDialog.d.ts +5 -0
- package/target/components/SearchDialog.js +139 -0
- package/target/components/Section.d.ts +5 -0
- package/target/components/Section.js +8 -0
- package/target/components/SectionHeader.d.ts +7 -0
- package/target/components/SectionHeader.js +7 -0
- package/target/components/Sidebar.d.ts +4 -0
- package/target/components/Sidebar.js +33 -0
- package/target/components/SidebarArticles.d.ts +2 -0
- package/target/components/SidebarArticles.js +45 -0
- package/target/components/SidebarLinks.d.ts +4 -0
- package/target/components/SidebarLinks.js +26 -0
- package/target/components/SidebarPosts.d.ts +2 -0
- package/target/components/SidebarPosts.js +53 -0
- package/target/components/SidebarReleases.d.ts +2 -0
- package/target/components/SidebarReleases.js +35 -0
- package/target/components/SidebarSections.d.ts +4 -0
- package/target/components/SidebarSections.js +36 -0
- package/target/components/SiteTitle.d.ts +2 -0
- package/target/components/SiteTitle.js +12 -0
- package/target/components/SortableTable.d.ts +5 -0
- package/target/components/SortableTable.js +63 -0
- package/target/components/SoundCloud.d.ts +4 -0
- package/target/components/SoundCloud.js +7 -0
- package/target/components/TagIndex.d.ts +5 -0
- package/target/components/TagIndex.js +64 -0
- package/target/components/Theme.d.ts +1 -0
- package/target/components/Theme.js +21 -0
- package/target/components/Toc.d.ts +12 -0
- package/target/components/Toc.js +128 -0
- package/target/components/YouTube.d.ts +4 -0
- package/target/components/YouTube.js +6 -0
- package/target/components/ZoomImage.d.ts +4 -0
- package/target/components/ZoomImage.js +26 -0
- package/target/content/article.d.ts +43 -0
- package/target/content/article.js +54 -0
- package/target/content/tag.d.ts +2 -0
- package/target/content/tag.js +30 -0
- package/target/content-collections.d.ts +2 -0
- package/target/content-collections.js +200 -0
- package/target/elements/accordion.d.ts +6 -0
- package/target/elements/accordion.js +19 -0
- package/target/elements/alert-dialog.d.ts +18 -0
- package/target/elements/alert-dialog.js +44 -0
- package/target/elements/alert.d.ts +9 -0
- package/target/elements/alert.js +28 -0
- package/target/elements/aspect-ratio.d.ts +4 -0
- package/target/elements/aspect-ratio.js +9 -0
- package/target/elements/avatar.d.ts +11 -0
- package/target/elements/avatar.js +23 -0
- package/target/elements/badge.d.ts +7 -0
- package/target/elements/badge.js +34 -0
- package/target/elements/breadcrumb.d.ts +9 -0
- package/target/elements/breadcrumb.js +39 -0
- package/target/elements/button-group.d.ts +10 -0
- package/target/elements/button-group.js +37 -0
- package/target/elements/button.d.ts +8 -0
- package/target/elements/button.js +35 -0
- package/target/elements/calendar.d.ts +10 -0
- package/target/elements/calendar.js +76 -0
- package/target/elements/card.d.ts +11 -0
- package/target/elements/card.js +25 -0
- package/target/elements/carousel.d.ts +28 -0
- package/target/elements/carousel.js +95 -0
- package/target/elements/chart.d.ts +44 -0
- package/target/elements/chart.js +140 -0
- package/target/elements/checkbox.d.ts +3 -0
- package/target/elements/checkbox.js +9 -0
- package/target/elements/collapsible.d.ts +5 -0
- package/target/elements/collapsible.js +13 -0
- package/target/elements/command.d.ts +23 -0
- package/target/elements/command.js +42 -0
- package/target/elements/context-menu.d.ts +29 -0
- package/target/elements/context-menu.js +54 -0
- package/target/elements/dialog.d.ts +16 -0
- package/target/elements/dialog.js +41 -0
- package/target/elements/direction.d.ts +1 -0
- package/target/elements/direction.js +2 -0
- package/target/elements/drawer.d.ts +12 -0
- package/target/elements/drawer.js +38 -0
- package/target/elements/dropdown-menu.d.ts +24 -0
- package/target/elements/dropdown-menu.js +54 -0
- package/target/elements/empty.d.ts +11 -0
- package/target/elements/empty.js +34 -0
- package/target/elements/field.d.ts +24 -0
- package/target/elements/field.js +69 -0
- package/target/elements/hover-card.d.ts +5 -0
- package/target/elements/hover-card.js +14 -0
- package/target/elements/input-group.d.ts +18 -0
- package/target/elements/input-group.js +60 -0
- package/target/elements/input-otp.d.ts +11 -0
- package/target/elements/input-otp.js +21 -0
- package/target/elements/input.d.ts +2 -0
- package/target/elements/input.js +8 -0
- package/target/elements/item.d.ts +21 -0
- package/target/elements/item.js +79 -0
- package/target/elements/kbd.d.ts +3 -0
- package/target/elements/kbd.js +10 -0
- package/target/elements/label.d.ts +2 -0
- package/target/elements/label.js +8 -0
- package/target/elements/menubar.d.ts +29 -0
- package/target/elements/menubar.js +58 -0
- package/target/elements/native-select.d.ts +8 -0
- package/target/elements/native-select.js +16 -0
- package/target/elements/navigation-menu.d.ts +11 -0
- package/target/elements/navigation-menu.js +34 -0
- package/target/elements/pagination.d.ts +17 -0
- package/target/elements/pagination.js +33 -0
- package/target/elements/popover.d.ts +9 -0
- package/target/elements/popover.js +23 -0
- package/target/elements/progress.d.ts +7 -0
- package/target/elements/progress.js +21 -0
- package/target/elements/radio-group.d.ts +5 -0
- package/target/elements/radio-group.js +12 -0
- package/target/elements/resizable.d.ts +7 -0
- package/target/elements/resizable.js +14 -0
- package/target/elements/scroll-area.d.ts +4 -0
- package/target/elements/scroll-area.js +13 -0
- package/target/elements/select.d.ts +15 -0
- package/target/elements/select.js +39 -0
- package/target/elements/separator.d.ts +3 -0
- package/target/elements/separator.js +8 -0
- package/target/elements/sheet.d.ts +13 -0
- package/target/elements/sheet.js +41 -0
- package/target/elements/sidebar.d.ts +63 -0
- package/target/elements/sidebar.js +272 -0
- package/target/elements/skeleton.d.ts +2 -0
- package/target/elements/skeleton.js +7 -0
- package/target/elements/slider.d.ts +3 -0
- package/target/elements/slider.js +15 -0
- package/target/elements/sonner.d.ts +3 -0
- package/target/elements/sonner.js +23 -0
- package/target/elements/spinner.d.ts +2 -0
- package/target/elements/spinner.js +8 -0
- package/target/elements/switch.d.ts +5 -0
- package/target/elements/switch.js +8 -0
- package/target/elements/table.d.ts +9 -0
- package/target/elements/table.js +28 -0
- package/target/elements/tabs.d.ts +10 -0
- package/target/elements/tabs.js +29 -0
- package/target/elements/textarea.d.ts +2 -0
- package/target/elements/textarea.js +7 -0
- package/target/elements/toggle-group.d.ts +10 -0
- package/target/elements/toggle-group.js +24 -0
- package/target/elements/toggle.d.ts +8 -0
- package/target/elements/toggle.js +26 -0
- package/target/elements/tooltip.d.ts +6 -0
- package/target/elements/tooltip.js +18 -0
- package/target/entrypoints/main.js +12 -0
- package/target/helpers/article-icon.d.ts +3 -0
- package/target/helpers/article-icon.js +34 -0
- package/target/helpers/article.d.ts +24 -0
- package/target/helpers/article.js +73 -0
- package/target/helpers/changelog-source.d.ts +7 -0
- package/target/helpers/changelog-source.js +16 -0
- package/target/helpers/changelog-source.unit.d.ts +1 -0
- package/target/helpers/changelog-source.unit.js +33 -0
- package/target/helpers/dynamic-icon-resolver.d.ts +5 -0
- package/target/helpers/dynamic-icon-resolver.js +17 -0
- package/target/helpers/dynamic-icon.d.ts +5 -0
- package/target/helpers/dynamic-icon.js +8 -0
- package/target/helpers/favicon.d.ts +2 -0
- package/target/helpers/favicon.js +11 -0
- package/target/helpers/model.d.ts +3 -0
- package/target/helpers/model.js +4 -0
- package/target/helpers/program.js +5 -0
- package/target/helpers/resolve-asset-path.d.ts +2 -0
- package/target/helpers/resolve-asset-path.js +9 -0
- package/target/helpers/resolve-includes.d.ts +2 -0
- package/target/helpers/resolve-includes.js +113 -0
- package/target/helpers/resolve-includes.unit.d.ts +1 -0
- package/target/helpers/resolve-includes.unit.js +76 -0
- package/target/helpers/search-text.d.ts +2 -0
- package/target/helpers/search-text.js +16 -0
- package/target/helpers/section.d.ts +13 -0
- package/target/helpers/section.js +39 -0
- package/target/helpers/section.unit.d.ts +1 -0
- package/target/helpers/section.unit.js +62 -0
- package/target/helpers/theme.d.ts +5 -0
- package/target/helpers/theme.js +23 -0
- package/target/helpers/toc-context.d.ts +5 -0
- package/target/helpers/toc-context.js +8 -0
- package/target/helpers/toc.d.ts +3 -0
- package/target/helpers/toc.js +41 -0
- package/target/helpers/toc.unit.d.ts +1 -0
- package/target/helpers/toc.unit.js +65 -0
- package/target/hooks/in-view.d.ts +4 -0
- package/target/hooks/in-view.js +23 -0
- package/target/hooks/media.d.ts +6 -0
- package/target/hooks/media.js +25 -0
- package/target/index.js +2 -0
- package/target/models/article.d.ts +58 -0
- package/target/models/article.js +21 -0
- package/{build → target}/models/config.d.ts +10 -0
- package/target/models/config.js +34 -0
- package/target/models/link.js +9 -0
- package/{build → target}/models/patch.d.ts +5 -0
- package/target/models/patch.js +7 -0
- package/target/models/section.js +26 -0
- package/target/models/theme.js +73 -0
- package/target/models/toc.d.ts +5 -0
- package/target/models/toc.js +2 -0
- package/target/plugins/rehype-inline-code.d.ts +19 -0
- package/target/plugins/rehype-inline-code.js +55 -0
- package/target/plugins/rehype-task-list-a11y.d.ts +10 -0
- package/target/plugins/rehype-task-list-a11y.js +29 -0
- package/target/plugins/remark-abbr.d.ts +6 -0
- package/target/plugins/remark-abbr.js +39 -0
- package/target/plugins/remark-abbr.unit.d.ts +1 -0
- package/target/plugins/remark-abbr.unit.js +79 -0
- package/target/plugins/remark-ansi.d.ts +8 -0
- package/target/plugins/remark-ansi.js +239 -0
- package/target/plugins/remark-ansi.unit.d.ts +1 -0
- package/target/plugins/remark-ansi.unit.js +134 -0
- package/target/plugins/remark-badge.d.ts +6 -0
- package/target/plugins/remark-badge.js +43 -0
- package/target/plugins/remark-badge.unit.d.ts +1 -0
- package/target/plugins/remark-badge.unit.js +76 -0
- package/target/plugins/remark-button.d.ts +6 -0
- package/target/plugins/remark-button.js +52 -0
- package/target/plugins/remark-button.unit.d.ts +1 -0
- package/target/plugins/remark-button.unit.js +105 -0
- package/target/plugins/remark-callout.d.ts +4 -0
- package/target/plugins/remark-callout.js +39 -0
- package/target/plugins/remark-card.d.ts +4 -0
- package/target/plugins/remark-card.js +66 -0
- package/target/plugins/remark-code-tabs.d.ts +4 -0
- package/target/plugins/remark-code-tabs.js +72 -0
- package/target/plugins/remark-columns.d.ts +4 -0
- package/target/plugins/remark-columns.js +54 -0
- package/target/plugins/remark-custom-heading-id.d.ts +14 -0
- package/target/plugins/remark-custom-heading-id.js +54 -0
- package/target/plugins/remark-custom-heading-id.unit.d.ts +1 -0
- package/target/plugins/remark-custom-heading-id.unit.js +91 -0
- package/target/plugins/remark-deflist.d.ts +4 -0
- package/target/plugins/remark-deflist.js +31 -0
- package/target/plugins/remark-details.d.ts +4 -0
- package/target/plugins/remark-details.js +33 -0
- package/target/plugins/remark-filetree.d.ts +12 -0
- package/target/plugins/remark-filetree.js +61 -0
- package/target/plugins/remark-filetree.unit.d.ts +1 -0
- package/target/plugins/remark-filetree.unit.js +87 -0
- package/target/plugins/remark-github-callout.d.ts +4 -0
- package/target/plugins/remark-github-callout.js +62 -0
- package/target/plugins/remark-icon.d.ts +4 -0
- package/target/plugins/remark-icon.js +36 -0
- package/target/plugins/remark-image.d.ts +9 -0
- package/target/plugins/remark-image.js +26 -0
- package/target/plugins/remark-media.d.ts +6 -0
- package/target/plugins/remark-media.js +52 -0
- package/target/plugins/remark-media.unit.d.ts +1 -0
- package/target/plugins/remark-media.unit.js +54 -0
- package/target/plugins/remark-mermaid.d.ts +4 -0
- package/target/plugins/remark-mermaid.js +20 -0
- package/target/plugins/remark-npm.d.ts +4 -0
- package/target/plugins/remark-npm.js +32 -0
- package/target/plugins/remark-steps.d.ts +6 -0
- package/target/plugins/remark-steps.js +30 -0
- package/target/plugins/remark-steps.unit.d.ts +1 -0
- package/target/plugins/remark-steps.unit.js +65 -0
- package/target/plugins/remark-tab.d.ts +6 -0
- package/target/plugins/remark-tab.js +76 -0
- package/target/plugins/remark-tab.unit.d.ts +1 -0
- package/target/plugins/remark-tab.unit.js +156 -0
- package/target/plugins/remark-toc.d.ts +6 -0
- package/target/plugins/remark-toc.js +33 -0
- package/target/plugins/remark-toc.unit.d.ts +1 -0
- package/target/plugins/remark-toc.unit.js +57 -0
- package/target/plugins/shiki-icon.d.ts +16 -0
- package/target/plugins/shiki-icon.js +66 -0
- package/target/plugins/shiki-line-highlight.d.ts +27 -0
- package/target/plugins/shiki-line-highlight.js +140 -0
- package/target/plugins/vite-livemark.d.ts +13 -0
- package/target/plugins/vite-livemark.js +76 -0
- package/target/program.js +18 -0
- package/target/routeTree.gen.d.ts +57 -0
- package/target/routeTree.gen.js +27 -0
- package/target/router.d.ts +6 -0
- package/target/router.js +26 -0
- package/target/routes/$.d.ts +1 -0
- package/target/routes/$.js +85 -0
- package/target/routes/__root.d.ts +1 -0
- package/target/routes/__root.js +69 -0
- package/target/server.d.ts +2 -0
- package/target/server.js +7 -0
- package/target/settings.js +7 -0
- package/target/utils/style.d.ts +2 -0
- package/target/utils/style.js +6 -0
- package/target/vite.config.d.ts +2 -0
- package/target/vite.config.js +67 -0
- package/build/actions/changelog/build.js +0 -158
- package/build/actions/changelog/build.unit.js +0 -66
- package/build/actions/config/define.js +0 -8
- package/build/actions/config/define.unit.js +0 -29
- package/build/actions/config/load.js +0 -25
- package/build/actions/config/load.unit.js +0 -23
- package/build/commands/build.js +0 -14
- package/build/commands/escape.js +0 -56
- package/build/commands/preview.js +0 -18
- package/build/commands/start.js +0 -19
- package/build/docs/markdown/includes/example.d.ts +0 -58
- package/build/docs/markdown/includes/example.js +0 -5
- package/build/entrypoints/main.js +0 -12
- package/build/helpers/program.js +0 -5
- package/build/index.js +0 -2
- package/build/livemark.config.d.ts +0 -58
- package/build/livemark.config.js +0 -25
- package/build/models/config.js +0 -34
- package/build/models/link.js +0 -9
- package/build/models/patch.js +0 -7
- package/build/models/section.js +0 -26
- package/build/models/theme.js +0 -73
- package/build/package.json +0 -138
- package/build/program.js +0 -18
- package/build/settings.js +0 -7
- package/build/vite.config.d.ts +0 -2
- package/build/vite.config.js +0 -48
- package/build/website/components/BlogSidebar.tsx +0 -162
- package/build/website/components/ChangelogSidebar.tsx +0 -120
- package/build/website/hooks/media.ts +0 -19
- package/build/website/routeTree.gen.ts +0 -86
- /package/{build/website → source}/assets/logo.svg +0 -0
- /package/{build/website → source}/client.tsx +0 -0
- /package/{build/website → source}/components/Abbr.tsx +0 -0
- /package/{build/website → source}/components/AnsiCode.tsx +0 -0
- /package/{build/website → source}/components/BackToTop.tsx +0 -0
- /package/{build/website → source}/components/Banner.tsx +0 -0
- /package/{build/website → source}/components/BlogIndex.tsx +0 -0
- /package/{build/website → source}/components/Breadcrumbs.tsx +0 -0
- /package/{build/website → source}/components/Card.tsx +0 -0
- /package/{build/website → source}/components/Cards.tsx +0 -0
- /package/{build/website → source}/components/ChangelogIndex.tsx +0 -0
- /package/{build/website → source}/components/CodeBlock.tsx +0 -0
- /package/{build/website → source}/components/CodeTabs.tsx +0 -0
- /package/{build/website → source}/components/Column.tsx +0 -0
- /package/{build/website → source}/components/Columns.tsx +0 -0
- /package/{build/website → source}/components/Content.tsx +0 -0
- /package/{build/website → source}/components/ContentTab.tsx +0 -0
- /package/{build/website → source}/components/ContentTabs.tsx +0 -0
- /package/{build/website → source}/components/DefaultCatchBoundary.tsx +0 -0
- /package/{build/website → source}/components/DefinitionList.tsx +0 -0
- /package/{build/website → source}/components/Details.tsx +0 -0
- /package/{build/website → source}/components/FileTree.tsx +0 -0
- /package/{build/website → source}/components/Footer.tsx +0 -0
- /package/{build/website → source}/components/FootnoteRef.tsx +0 -0
- /package/{build/website → source}/components/Heading.tsx +0 -0
- /package/{build/website → source}/components/InlineBadge.tsx +0 -0
- /package/{build/website → source}/components/InlineIcon.tsx +0 -0
- /package/{build/website → source}/components/InlineToc.tsx +0 -0
- /package/{build/website → source}/components/Mermaid.tsx +0 -0
- /package/{build/website → source}/components/MermaidRenderer.tsx +0 -0
- /package/{build/website → source}/components/NotFound.tsx +0 -0
- /package/{build/website → source}/components/PackageTabs.tsx +0 -0
- /package/{build/website → source}/components/PrevNext.tsx +0 -0
- /package/{build/website → source}/components/Search.tsx +0 -0
- /package/{build/website → source}/components/SearchDialog.tsx +0 -0
- /package/{build/website → source}/components/SidebarLinks.tsx +0 -0
- /package/{build/website → source}/components/SidebarSections.tsx +0 -0
- /package/{build/website → source}/components/SiteTitle.tsx +0 -0
- /package/{build/website → source}/components/SortableTable.tsx +0 -0
- /package/{build/website → source}/components/SoundCloud.tsx +0 -0
- /package/{build/website → source}/components/TagIndex.tsx +0 -0
- /package/{build/website → source}/components/Theme.tsx +0 -0
- /package/{build/website → source}/components/Toc.tsx +0 -0
- /package/{build/website → source}/components/YouTube.tsx +0 -0
- /package/{build/website → source}/components/ZoomImage.tsx +0 -0
- /package/{build/website → source}/content/article.ts +0 -0
- /package/{build/website → source}/content/tag.ts +0 -0
- /package/{build/website → source}/elements/collapsible.tsx +0 -0
- /package/{build/website → source}/elements/direction.tsx +0 -0
- /package/{build/website → source}/elements/sonner.tsx +0 -0
- /package/{build/website → source}/helpers/article-icon.ts +0 -0
- /package/{build/website → source}/helpers/article.ts +0 -0
- /package/{build/website → source}/helpers/changelog-source.ts +0 -0
- /package/{build/website → source}/helpers/changelog-source.unit.ts +0 -0
- /package/{build/website → source}/helpers/dynamic-icon-resolver.tsx +0 -0
- /package/{build/website → source}/helpers/dynamic-icon.tsx +0 -0
- /package/{build/website → source}/helpers/favicon.ts +0 -0
- /package/{build/website → source}/helpers/model.ts +0 -0
- /package/{build/website → source}/helpers/resolve-asset-path.ts +0 -0
- /package/{build/website → source}/helpers/resolve-includes.ts +0 -0
- /package/{build/website → source}/helpers/resolve-includes.unit.ts +0 -0
- /package/{build/website → source}/helpers/search-text.ts +0 -0
- /package/{build/website → source}/helpers/section.unit.ts +0 -0
- /package/{build/website → source}/helpers/theme.ts +0 -0
- /package/{build/website → source}/helpers/toc-context.ts +0 -0
- /package/{build/website → source}/helpers/toc.ts +0 -0
- /package/{build/website → source}/helpers/toc.unit.ts +0 -0
- /package/{build/website → source}/hooks/in-view.ts +0 -0
- /package/{build/website → source}/models/toc.ts +0 -0
- /package/{build/website → source}/plugins/rehype-inline-code.ts +0 -0
- /package/{build/website → source}/plugins/rehype-task-list-a11y.ts +0 -0
- /package/{build/website → source}/plugins/remark-abbr.ts +0 -0
- /package/{build/website → source}/plugins/remark-abbr.unit.ts +0 -0
- /package/{build/website → source}/plugins/remark-ansi.ts +0 -0
- /package/{build/website → source}/plugins/remark-ansi.unit.ts +0 -0
- /package/{build/website → source}/plugins/remark-badge.ts +0 -0
- /package/{build/website → source}/plugins/remark-badge.unit.ts +0 -0
- /package/{build/website → source}/plugins/remark-button.ts +0 -0
- /package/{build/website → source}/plugins/remark-button.unit.ts +0 -0
- /package/{build/website → source}/plugins/remark-callout.ts +0 -0
- /package/{build/website → source}/plugins/remark-card.ts +0 -0
- /package/{build/website → source}/plugins/remark-code-tabs.ts +0 -0
- /package/{build/website → source}/plugins/remark-columns.ts +0 -0
- /package/{build/website → source}/plugins/remark-custom-heading-id.ts +0 -0
- /package/{build/website → source}/plugins/remark-custom-heading-id.unit.ts +0 -0
- /package/{build/website → source}/plugins/remark-deflist.ts +0 -0
- /package/{build/website → source}/plugins/remark-details.ts +0 -0
- /package/{build/website → source}/plugins/remark-filetree.ts +0 -0
- /package/{build/website → source}/plugins/remark-filetree.unit.ts +0 -0
- /package/{build/website → source}/plugins/remark-github-callout.ts +0 -0
- /package/{build/website → source}/plugins/remark-icon.ts +0 -0
- /package/{build/website → source}/plugins/remark-image.ts +0 -0
- /package/{build/website → source}/plugins/remark-media.ts +0 -0
- /package/{build/website → source}/plugins/remark-media.unit.ts +0 -0
- /package/{build/website → source}/plugins/remark-mermaid.ts +0 -0
- /package/{build/website → source}/plugins/remark-npm.ts +0 -0
- /package/{build/website → source}/plugins/remark-steps.ts +0 -0
- /package/{build/website → source}/plugins/remark-steps.unit.ts +0 -0
- /package/{build/website → source}/plugins/remark-tab.ts +0 -0
- /package/{build/website → source}/plugins/remark-tab.unit.ts +0 -0
- /package/{build/website → source}/plugins/remark-toc.ts +0 -0
- /package/{build/website → source}/plugins/remark-toc.unit.ts +0 -0
- /package/{build/website → source}/plugins/shiki-icon.ts +0 -0
- /package/{build/website → source}/plugins/shiki-line-highlight.ts +0 -0
- /package/{build/website → source}/plugins/vite-livemark.ts +0 -0
- /package/{build/website → source}/router.tsx +0 -0
- /package/{build/website → source}/routes/$.tsx +0 -0
- /package/{build/website → source}/routes/__root.tsx +0 -0
- /package/{build/website → source}/server.ts +0 -0
- /package/{build/website → source}/styles/general.css +0 -0
- /package/{build/website → source}/styles/markdown.css +0 -0
- /package/{build/website/helpers → source/utils}/style.ts +0 -0
- /package/{build → target}/actions/changelog/build.unit.d.ts +0 -0
- /package/{build → target}/actions/config/define.d.ts +0 -0
- /package/{build → target}/actions/config/define.unit.d.ts +0 -0
- /package/{build → target}/actions/config/load.d.ts +0 -0
- /package/{build → target}/actions/config/load.unit.d.ts +0 -0
- /package/{build → target}/commands/build.d.ts +0 -0
- /package/{build → target}/commands/escape.d.ts +0 -0
- /package/{build → target}/commands/preview.d.ts +0 -0
- /package/{build → target}/commands/start.d.ts +0 -0
- /package/{build → target}/entrypoints/main.d.ts +0 -0
- /package/{build → target}/helpers/program.d.ts +0 -0
- /package/{build → target}/index.d.ts +0 -0
- /package/{build → target}/models/link.d.ts +0 -0
- /package/{build → target}/models/section.d.ts +0 -0
- /package/{build → target}/models/theme.d.ts +0 -0
- /package/{build → target}/program.d.ts +0 -0
- /package/{build → target}/settings.d.ts +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { CircleCheckIcon, InfoIcon, Loader2Icon, OctagonXIcon, TriangleAlertIcon, } from "lucide-react";
|
|
3
|
+
import { Toaster as Sonner } from "sonner";
|
|
4
|
+
const Toaster = ({ ...props }) => {
|
|
5
|
+
return (_jsx(Sonner, { theme: "dark", className: "toaster group", icons: {
|
|
6
|
+
success: _jsx(CircleCheckIcon, { className: "size-4" }),
|
|
7
|
+
info: _jsx(InfoIcon, { className: "size-4" }),
|
|
8
|
+
warning: _jsx(TriangleAlertIcon, { className: "size-4" }),
|
|
9
|
+
error: _jsx(OctagonXIcon, { className: "size-4" }),
|
|
10
|
+
loading: _jsx(Loader2Icon, { className: "size-4 animate-spin" }),
|
|
11
|
+
}, style: {
|
|
12
|
+
"--normal-bg": "var(--popover)",
|
|
13
|
+
"--normal-text": "var(--popover-foreground)",
|
|
14
|
+
"--normal-border": "var(--border)",
|
|
15
|
+
"--border-radius": "var(--radius)",
|
|
16
|
+
}, toastOptions: {
|
|
17
|
+
classNames: {
|
|
18
|
+
toast: "cn-toast",
|
|
19
|
+
},
|
|
20
|
+
}, ...props }));
|
|
21
|
+
};
|
|
22
|
+
export { Toaster };
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2VsZW1lbnRzL3Nvbm5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQ2YsUUFBUSxFQUNSLFdBQVcsRUFDWCxZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sY0FBYyxDQUFBO0FBQ3JCLE9BQU8sRUFBRSxPQUFPLElBQUksTUFBTSxFQUFxQixNQUFNLFFBQVEsQ0FBQTtBQUU3RCxNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQWdCLEVBQUUsRUFBRTtJQUM3QyxPQUFPLENBQ0wsS0FBQyxNQUFNLElBQ0wsS0FBSyxFQUFDLE1BQU0sRUFDWixTQUFTLEVBQUMsZUFBZSxFQUN6QixLQUFLLEVBQUU7WUFDTCxPQUFPLEVBQUUsS0FBQyxlQUFlLElBQUMsU0FBUyxFQUFDLFFBQVEsR0FBRztZQUMvQyxJQUFJLEVBQUUsS0FBQyxRQUFRLElBQUMsU0FBUyxFQUFDLFFBQVEsR0FBRztZQUNyQyxPQUFPLEVBQUUsS0FBQyxpQkFBaUIsSUFBQyxTQUFTLEVBQUMsUUFBUSxHQUFHO1lBQ2pELEtBQUssRUFBRSxLQUFDLFlBQVksSUFBQyxTQUFTLEVBQUMsUUFBUSxHQUFHO1lBQzFDLE9BQU8sRUFBRSxLQUFDLFdBQVcsSUFBQyxTQUFTLEVBQUMscUJBQXFCLEdBQUc7U0FDekQsRUFDRCxLQUFLLEVBQ0g7WUFDRSxhQUFhLEVBQUUsZ0JBQWdCO1lBQy9CLGVBQWUsRUFBRSwyQkFBMkI7WUFDNUMsaUJBQWlCLEVBQUUsZUFBZTtZQUNsQyxpQkFBaUIsRUFBRSxlQUFlO1NBQ1osRUFFMUIsWUFBWSxFQUFFO1lBQ1osVUFBVSxFQUFFO2dCQUNWLEtBQUssRUFBRSxVQUFVO2FBQ2xCO1NBQ0YsS0FDRyxLQUFLLEdBQ1QsQ0FDSCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2lyY2xlQ2hlY2tJY29uLFxuICBJbmZvSWNvbixcbiAgTG9hZGVyMkljb24sXG4gIE9jdGFnb25YSWNvbixcbiAgVHJpYW5nbGVBbGVydEljb24sXG59IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuaW1wb3J0IHsgVG9hc3RlciBhcyBTb25uZXIsIHR5cGUgVG9hc3RlclByb3BzIH0gZnJvbSBcInNvbm5lclwiXG5cbmNvbnN0IFRvYXN0ZXIgPSAoeyAuLi5wcm9wcyB9OiBUb2FzdGVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U29ubmVyXG4gICAgICB0aGVtZT1cImRhcmtcIlxuICAgICAgY2xhc3NOYW1lPVwidG9hc3RlciBncm91cFwiXG4gICAgICBpY29ucz17e1xuICAgICAgICBzdWNjZXNzOiA8Q2lyY2xlQ2hlY2tJY29uIGNsYXNzTmFtZT1cInNpemUtNFwiIC8+LFxuICAgICAgICBpbmZvOiA8SW5mb0ljb24gY2xhc3NOYW1lPVwic2l6ZS00XCIgLz4sXG4gICAgICAgIHdhcm5pbmc6IDxUcmlhbmdsZUFsZXJ0SWNvbiBjbGFzc05hbWU9XCJzaXplLTRcIiAvPixcbiAgICAgICAgZXJyb3I6IDxPY3RhZ29uWEljb24gY2xhc3NOYW1lPVwic2l6ZS00XCIgLz4sXG4gICAgICAgIGxvYWRpbmc6IDxMb2FkZXIySWNvbiBjbGFzc05hbWU9XCJzaXplLTQgYW5pbWF0ZS1zcGluXCIgLz4sXG4gICAgICB9fVxuICAgICAgc3R5bGU9e1xuICAgICAgICB7XG4gICAgICAgICAgXCItLW5vcm1hbC1iZ1wiOiBcInZhcigtLXBvcG92ZXIpXCIsXG4gICAgICAgICAgXCItLW5vcm1hbC10ZXh0XCI6IFwidmFyKC0tcG9wb3Zlci1mb3JlZ3JvdW5kKVwiLFxuICAgICAgICAgIFwiLS1ub3JtYWwtYm9yZGVyXCI6IFwidmFyKC0tYm9yZGVyKVwiLFxuICAgICAgICAgIFwiLS1ib3JkZXItcmFkaXVzXCI6IFwidmFyKC0tcmFkaXVzKVwiLFxuICAgICAgICB9IGFzIFJlYWN0LkNTU1Byb3BlcnRpZXNcbiAgICAgIH1cbiAgICAgIHRvYXN0T3B0aW9ucz17e1xuICAgICAgICBjbGFzc05hbWVzOiB7XG4gICAgICAgICAgdG9hc3Q6IFwiY24tdG9hc3RcIixcbiAgICAgICAgfSxcbiAgICAgIH19XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufVxuXG5leHBvcnQgeyBUb2FzdGVyIH1cbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Loader2Icon } from "lucide-react";
|
|
3
|
+
import { cn } from "../utils/style.js";
|
|
4
|
+
function Spinner({ className, ...props }) {
|
|
5
|
+
return (_jsx(Loader2Icon, { role: "status", "aria-label": "Loading", className: cn("size-4 animate-spin", className), ...props }));
|
|
6
|
+
}
|
|
7
|
+
export { Spinner };
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9lbGVtZW50cy9zcGlubmVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFdEMsU0FBUyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLEVBQStCO0lBQ25FLE9BQU8sQ0FDTCxLQUFDLFdBQVcsSUFDVixJQUFJLEVBQUMsUUFBUSxnQkFDRixTQUFTLEVBQ3BCLFNBQVMsRUFBRSxFQUFFLENBQUMscUJBQXFCLEVBQUUsU0FBUyxDQUFDLEtBQzNDLEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9hZGVyMkljb24gfSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcblxuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vdXRpbHMvc3R5bGUudHNcIlxuXG5mdW5jdGlvbiBTcGlubmVyKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9OiBSZWFjdC5Db21wb25lbnRQcm9wczxcInN2Z1wiPikge1xuICByZXR1cm4gKFxuICAgIDxMb2FkZXIySWNvblxuICAgICAgcm9sZT1cInN0YXR1c1wiXG4gICAgICBhcmlhLWxhYmVsPVwiTG9hZGluZ1wiXG4gICAgICBjbGFzc05hbWU9e2NuKFwic2l6ZS00IGFuaW1hdGUtc3BpblwiLCBjbGFzc05hbWUpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cblxuZXhwb3J0IHsgU3Bpbm5lciB9XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Switch as SwitchPrimitive } from "@base-ui/react/switch";
|
|
3
|
+
import { cn } from "../utils/style.js";
|
|
4
|
+
function Switch({ className, size = "default", ...props }) {
|
|
5
|
+
return (_jsx(SwitchPrimitive.Root, { "data-slot": "switch", "data-size": size, className: cn("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50", className), ...props, children: _jsx(SwitchPrimitive.Thumb, { "data-slot": "switch-thumb", className: "pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground" }) }));
|
|
6
|
+
}
|
|
7
|
+
export { Switch };
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2VsZW1lbnRzL3N3aXRjaC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFFakUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXRDLFNBQVMsTUFBTSxDQUFDLEVBQ2QsU0FBUyxFQUNULElBQUksR0FBRyxTQUFTLEVBQ2hCLEdBQUcsS0FBSyxFQUdUO0lBQ0MsT0FBTyxDQUNMLEtBQUMsZUFBZSxDQUFDLElBQUksaUJBQ1QsUUFBUSxlQUNQLElBQUksRUFDZixTQUFTLEVBQUUsRUFBRSxDQUNYLCtwQkFBK3BCLEVBQy9wQixTQUFTLENBQ1YsS0FDRyxLQUFLLFlBRVQsS0FBQyxlQUFlLENBQUMsS0FBSyxpQkFDVixjQUFjLEVBQ3hCLFNBQVMsRUFBQywrZUFBK2UsR0FDemYsR0FDbUIsQ0FDeEIsQ0FBQTtBQUNILENBQUM7QUFFRCxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTd2l0Y2ggYXMgU3dpdGNoUHJpbWl0aXZlIH0gZnJvbSBcIkBiYXNlLXVpL3JlYWN0L3N3aXRjaFwiXG5cbmltcG9ydCB7IGNuIH0gZnJvbSBcIi4uL3V0aWxzL3N0eWxlLnRzXCJcblxuZnVuY3Rpb24gU3dpdGNoKHtcbiAgY2xhc3NOYW1lLFxuICBzaXplID0gXCJkZWZhdWx0XCIsXG4gIC4uLnByb3BzXG59OiBTd2l0Y2hQcmltaXRpdmUuUm9vdC5Qcm9wcyAmIHtcbiAgc2l6ZT86IFwic21cIiB8IFwiZGVmYXVsdFwiXG59KSB7XG4gIHJldHVybiAoXG4gICAgPFN3aXRjaFByaW1pdGl2ZS5Sb290XG4gICAgICBkYXRhLXNsb3Q9XCJzd2l0Y2hcIlxuICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgXCJwZWVyIGdyb3VwL3N3aXRjaCByZWxhdGl2ZSBpbmxpbmUtZmxleCBzaHJpbmstMCBpdGVtcy1jZW50ZXIgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgc2hhZG93LXhzIHRyYW5zaXRpb24tYWxsIG91dGxpbmUtbm9uZSBhZnRlcjphYnNvbHV0ZSBhZnRlcjotaW5zZXQteC0zIGFmdGVyOi1pbnNldC15LTIgZm9jdXMtdmlzaWJsZTpib3JkZXItcmluZyBmb2N1cy12aXNpYmxlOnJpbmctMyBmb2N1cy12aXNpYmxlOnJpbmctcmluZy81MCBhcmlhLWludmFsaWQ6Ym9yZGVyLWRlc3RydWN0aXZlIGFyaWEtaW52YWxpZDpyaW5nLTMgYXJpYS1pbnZhbGlkOnJpbmctZGVzdHJ1Y3RpdmUvMjAgZGF0YS1bc2l6ZT1kZWZhdWx0XTpoLVsxOC40cHhdIGRhdGEtW3NpemU9ZGVmYXVsdF06dy1bMzJweF0gZGF0YS1bc2l6ZT1zbV06aC1bMTRweF0gZGF0YS1bc2l6ZT1zbV06dy1bMjRweF0gZGFyazphcmlhLWludmFsaWQ6Ym9yZGVyLWRlc3RydWN0aXZlLzUwIGRhcms6YXJpYS1pbnZhbGlkOnJpbmctZGVzdHJ1Y3RpdmUvNDAgZGF0YS1jaGVja2VkOmJnLXByaW1hcnkgZGF0YS11bmNoZWNrZWQ6YmctaW5wdXQgZGFyazpkYXRhLXVuY2hlY2tlZDpiZy1pbnB1dC84MCBkYXRhLWRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkYXRhLWRpc2FibGVkOm9wYWNpdHktNTBcIixcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICA8U3dpdGNoUHJpbWl0aXZlLlRodW1iXG4gICAgICAgIGRhdGEtc2xvdD1cInN3aXRjaC10aHVtYlwiXG4gICAgICAgIGNsYXNzTmFtZT1cInBvaW50ZXItZXZlbnRzLW5vbmUgYmxvY2sgcm91bmRlZC1mdWxsIGJnLWJhY2tncm91bmQgcmluZy0wIHRyYW5zaXRpb24tdHJhbnNmb3JtIGdyb3VwLWRhdGEtW3NpemU9ZGVmYXVsdF0vc3dpdGNoOnNpemUtNCBncm91cC1kYXRhLVtzaXplPXNtXS9zd2l0Y2g6c2l6ZS0zIGdyb3VwLWRhdGEtW3NpemU9ZGVmYXVsdF0vc3dpdGNoOmRhdGEtY2hlY2tlZDp0cmFuc2xhdGUteC1bY2FsYygxMDAlLTJweCldIGdyb3VwLWRhdGEtW3NpemU9c21dL3N3aXRjaDpkYXRhLWNoZWNrZWQ6dHJhbnNsYXRlLXgtW2NhbGMoMTAwJS0ycHgpXSBkYXJrOmRhdGEtY2hlY2tlZDpiZy1wcmltYXJ5LWZvcmVncm91bmQgZ3JvdXAtZGF0YS1bc2l6ZT1kZWZhdWx0XS9zd2l0Y2g6ZGF0YS11bmNoZWNrZWQ6dHJhbnNsYXRlLXgtMCBncm91cC1kYXRhLVtzaXplPXNtXS9zd2l0Y2g6ZGF0YS11bmNoZWNrZWQ6dHJhbnNsYXRlLXgtMCBkYXJrOmRhdGEtdW5jaGVja2VkOmJnLWZvcmVncm91bmRcIlxuICAgICAgLz5cbiAgICA8L1N3aXRjaFByaW1pdGl2ZS5Sb290PlxuICApXG59XG5cbmV4cG9ydCB7IFN3aXRjaCB9XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare function Table({ className, ...props }: React.ComponentProps<"table">): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare function TableHeader({ className, ...props }: React.ComponentProps<"thead">): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare function TableBody({ className, ...props }: React.ComponentProps<"tbody">): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function TableRow({ className, ...props }: React.ComponentProps<"tr">): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function TableHead({ className, ...props }: React.ComponentProps<"th">): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function TableCell({ className, ...props }: React.ComponentProps<"td">): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function TableCaption({ className, ...props }: React.ComponentProps<"caption">): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../utils/style.js";
|
|
3
|
+
function Table({ className, ...props }) {
|
|
4
|
+
return (_jsx("div", { "data-slot": "table-container", className: "relative w-full overflow-x-auto", children: _jsx("table", { "data-slot": "table", className: cn("w-full caption-bottom text-sm", className), ...props }) }));
|
|
5
|
+
}
|
|
6
|
+
function TableHeader({ className, ...props }) {
|
|
7
|
+
return (_jsx("thead", { "data-slot": "table-header", className: cn("[&_tr]:border-b", className), ...props }));
|
|
8
|
+
}
|
|
9
|
+
function TableBody({ className, ...props }) {
|
|
10
|
+
return (_jsx("tbody", { "data-slot": "table-body", className: cn("[&_tr:last-child]:border-0", className), ...props }));
|
|
11
|
+
}
|
|
12
|
+
function TableFooter({ className, ...props }) {
|
|
13
|
+
return (_jsx("tfoot", { "data-slot": "table-footer", className: cn("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0", className), ...props }));
|
|
14
|
+
}
|
|
15
|
+
function TableRow({ className, ...props }) {
|
|
16
|
+
return (_jsx("tr", { "data-slot": "table-row", className: cn("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", className), ...props }));
|
|
17
|
+
}
|
|
18
|
+
function TableHead({ className, ...props }) {
|
|
19
|
+
return (_jsx("th", { "data-slot": "table-head", className: cn("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0", className), ...props }));
|
|
20
|
+
}
|
|
21
|
+
function TableCell({ className, ...props }) {
|
|
22
|
+
return (_jsx("td", { "data-slot": "table-cell", className: cn("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0", className), ...props }));
|
|
23
|
+
}
|
|
24
|
+
function TableCaption({ className, ...props }) {
|
|
25
|
+
return (_jsx("caption", { "data-slot": "table-caption", className: cn("text-muted-foreground mt-4 text-sm", className), ...props }));
|
|
26
|
+
}
|
|
27
|
+
export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, };
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvZWxlbWVudHMvdGFibGUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFdEMsU0FBUyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLEVBQWlDO0lBQ25FLE9BQU8sQ0FDTCwyQkFDWSxpQkFBaUIsRUFDM0IsU0FBUyxFQUFDLGlDQUFpQyxZQUUzQyw2QkFDWSxPQUFPLEVBQ2pCLFNBQVMsRUFBRSxFQUFFLENBQUMsK0JBQStCLEVBQUUsU0FBUyxDQUFDLEtBQ3JELEtBQUssR0FDVCxHQUNFLENBQ1AsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBaUM7SUFDekUsT0FBTyxDQUNMLDZCQUNZLGNBQWMsRUFDeEIsU0FBUyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLENBQUMsS0FDdkMsS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBaUM7SUFDdkUsT0FBTyxDQUNMLDZCQUNZLFlBQVksRUFDdEIsU0FBUyxFQUFFLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxTQUFTLENBQUMsS0FDbEQsS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBaUM7SUFDekUsT0FBTyxDQUNMLDZCQUNZLGNBQWMsRUFDeEIsU0FBUyxFQUFFLEVBQUUsQ0FDWCx5REFBeUQsRUFDekQsU0FBUyxDQUNWLEtBQ0csS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBOEI7SUFDbkUsT0FBTyxDQUNMLDBCQUNZLFdBQVcsRUFDckIsU0FBUyxFQUFFLEVBQUUsQ0FDWCw2RUFBNkUsRUFDN0UsU0FBUyxDQUNWLEtBQ0csS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBOEI7SUFDcEUsT0FBTyxDQUNMLDBCQUNZLFlBQVksRUFDdEIsU0FBUyxFQUFFLEVBQUUsQ0FDWCw4R0FBOEcsRUFDOUcsU0FBUyxDQUNWLEtBQ0csS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBOEI7SUFDcEUsT0FBTyxDQUNMLDBCQUNZLFlBQVksRUFDdEIsU0FBUyxFQUFFLEVBQUUsQ0FDWCxrRUFBa0UsRUFDbEUsU0FBUyxDQUNWLEtBQ0csS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxFQUNwQixTQUFTLEVBQ1QsR0FBRyxLQUFLLEVBQ3dCO0lBQ2hDLE9BQU8sQ0FDTCwrQkFDWSxlQUFlLEVBQ3pCLFNBQVMsRUFBRSxFQUFFLENBQUMsb0NBQW9DLEVBQUUsU0FBUyxDQUFDLEtBQzFELEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsT0FBTyxFQUNMLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFNBQVMsRUFDVCxZQUFZLEdBQ2IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNuIH0gZnJvbSBcIi4uL3V0aWxzL3N0eWxlLnRzXCJcblxuZnVuY3Rpb24gVGFibGUoeyBjbGFzc05hbWUsIC4uLnByb3BzIH06IFJlYWN0LkNvbXBvbmVudFByb3BzPFwidGFibGVcIj4pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXNsb3Q9XCJ0YWJsZS1jb250YWluZXJcIlxuICAgICAgY2xhc3NOYW1lPVwicmVsYXRpdmUgdy1mdWxsIG92ZXJmbG93LXgtYXV0b1wiXG4gICAgPlxuICAgICAgPHRhYmxlXG4gICAgICAgIGRhdGEtc2xvdD1cInRhYmxlXCJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcInctZnVsbCBjYXB0aW9uLWJvdHRvbSB0ZXh0LXNtXCIsIGNsYXNzTmFtZSl9XG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZnVuY3Rpb24gVGFibGVIZWFkZXIoeyBjbGFzc05hbWUsIC4uLnByb3BzIH06IFJlYWN0LkNvbXBvbmVudFByb3BzPFwidGhlYWRcIj4pIHtcbiAgcmV0dXJuIChcbiAgICA8dGhlYWRcbiAgICAgIGRhdGEtc2xvdD1cInRhYmxlLWhlYWRlclwiXG4gICAgICBjbGFzc05hbWU9e2NuKFwiWyZfdHJdOmJvcmRlci1iXCIsIGNsYXNzTmFtZSl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufVxuXG5mdW5jdGlvbiBUYWJsZUJvZHkoeyBjbGFzc05hbWUsIC4uLnByb3BzIH06IFJlYWN0LkNvbXBvbmVudFByb3BzPFwidGJvZHlcIj4pIHtcbiAgcmV0dXJuIChcbiAgICA8dGJvZHlcbiAgICAgIGRhdGEtc2xvdD1cInRhYmxlLWJvZHlcIlxuICAgICAgY2xhc3NOYW1lPXtjbihcIlsmX3RyOmxhc3QtY2hpbGRdOmJvcmRlci0wXCIsIGNsYXNzTmFtZSl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufVxuXG5mdW5jdGlvbiBUYWJsZUZvb3Rlcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogUmVhY3QuQ29tcG9uZW50UHJvcHM8XCJ0Zm9vdFwiPikge1xuICByZXR1cm4gKFxuICAgIDx0Zm9vdFxuICAgICAgZGF0YS1zbG90PVwidGFibGUtZm9vdGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgIFwiYmctbXV0ZWQvNTAgYm9yZGVyLXQgZm9udC1tZWRpdW0gWyY+dHJdOmxhc3Q6Ym9yZGVyLWItMFwiLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICApfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cblxuZnVuY3Rpb24gVGFibGVSb3coeyBjbGFzc05hbWUsIC4uLnByb3BzIH06IFJlYWN0LkNvbXBvbmVudFByb3BzPFwidHJcIj4pIHtcbiAgcmV0dXJuIChcbiAgICA8dHJcbiAgICAgIGRhdGEtc2xvdD1cInRhYmxlLXJvd1wiXG4gICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICBcImhvdmVyOmJnLW11dGVkLzUwIGRhdGEtW3N0YXRlPXNlbGVjdGVkXTpiZy1tdXRlZCBib3JkZXItYiB0cmFuc2l0aW9uLWNvbG9yc1wiLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICApfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cblxuZnVuY3Rpb24gVGFibGVIZWFkKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9OiBSZWFjdC5Db21wb25lbnRQcm9wczxcInRoXCI+KSB7XG4gIHJldHVybiAoXG4gICAgPHRoXG4gICAgICBkYXRhLXNsb3Q9XCJ0YWJsZS1oZWFkXCJcbiAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgIFwidGV4dC1mb3JlZ3JvdW5kIGgtMTAgcHgtMiB0ZXh0LWxlZnQgYWxpZ24tbWlkZGxlIGZvbnQtbWVkaXVtIHdoaXRlc3BhY2Utbm93cmFwIFsmOmhhcyhbcm9sZT1jaGVja2JveF0pXTpwci0wXCIsXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufVxuXG5mdW5jdGlvbiBUYWJsZUNlbGwoeyBjbGFzc05hbWUsIC4uLnByb3BzIH06IFJlYWN0LkNvbXBvbmVudFByb3BzPFwidGRcIj4pIHtcbiAgcmV0dXJuIChcbiAgICA8dGRcbiAgICAgIGRhdGEtc2xvdD1cInRhYmxlLWNlbGxcIlxuICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgXCJwLTIgYWxpZ24tbWlkZGxlIHdoaXRlc3BhY2Utbm93cmFwIFsmOmhhcyhbcm9sZT1jaGVja2JveF0pXTpwci0wXCIsXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufVxuXG5mdW5jdGlvbiBUYWJsZUNhcHRpb24oe1xuICBjbGFzc05hbWUsXG4gIC4uLnByb3BzXG59OiBSZWFjdC5Db21wb25lbnRQcm9wczxcImNhcHRpb25cIj4pIHtcbiAgcmV0dXJuIChcbiAgICA8Y2FwdGlvblxuICAgICAgZGF0YS1zbG90PVwidGFibGUtY2FwdGlvblwiXG4gICAgICBjbGFzc05hbWU9e2NuKFwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG10LTQgdGV4dC1zbVwiLCBjbGFzc05hbWUpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cblxuZXhwb3J0IHtcbiAgVGFibGUsXG4gIFRhYmxlSGVhZGVyLFxuICBUYWJsZUJvZHksXG4gIFRhYmxlRm9vdGVyLFxuICBUYWJsZUhlYWQsXG4gIFRhYmxlUm93LFxuICBUYWJsZUNlbGwsXG4gIFRhYmxlQ2FwdGlvbixcbn1cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Tabs as TabsPrimitive } from "@base-ui/react/tabs";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
declare function Tabs({ className, orientation, ...props }: TabsPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare const tabsListVariants: (props?: ({
|
|
5
|
+
variant?: "default" | "line" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
declare function TabsList({ className, variant, ...props }: TabsPrimitive.List.Props & VariantProps<typeof tabsListVariants>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function TabsTrigger({ className, ...props }: TabsPrimitive.Tab.Props): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare function TabsContent({ className, ...props }: TabsPrimitive.Panel.Props): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Tabs as TabsPrimitive } from "@base-ui/react/tabs";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { cn } from "../utils/style.js";
|
|
5
|
+
function Tabs({ className, orientation = "horizontal", ...props }) {
|
|
6
|
+
return (_jsx(TabsPrimitive.Root, { "data-slot": "tabs", "data-orientation": orientation, className: cn("gap-2 group/tabs flex data-[orientation=horizontal]:flex-col", className), ...props }));
|
|
7
|
+
}
|
|
8
|
+
const tabsListVariants = cva("rounded-lg p-[3px] group-data-horizontal/tabs:h-9 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col", {
|
|
9
|
+
variants: {
|
|
10
|
+
variant: {
|
|
11
|
+
default: "bg-muted",
|
|
12
|
+
line: "gap-1 bg-transparent",
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
defaultVariants: {
|
|
16
|
+
variant: "default",
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
function TabsList({ className, variant = "default", ...props }) {
|
|
20
|
+
return (_jsx(TabsPrimitive.List, { "data-slot": "tabs-list", "data-variant": variant, className: cn(tabsListVariants({ variant }), className), ...props }));
|
|
21
|
+
}
|
|
22
|
+
function TabsTrigger({ className, ...props }) {
|
|
23
|
+
return (_jsx(TabsPrimitive.Tab, { "data-slot": "tabs-trigger", className: cn("gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg:not([class*='size-'])]:size-4 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 hover:text-foreground dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent", "data-active:bg-background dark:data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 data-active:text-foreground", "after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100", className), ...props }));
|
|
24
|
+
}
|
|
25
|
+
function TabsContent({ className, ...props }) {
|
|
26
|
+
return (_jsx(TabsPrimitive.Panel, { "data-slot": "tabs-content", className: cn("text-sm flex-1 outline-none", className), ...props }));
|
|
27
|
+
}
|
|
28
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants };
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9lbGVtZW50cy90YWJzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksSUFBSSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsR0FBRyxFQUFxQixNQUFNLDBCQUEwQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUV0QyxTQUFTLElBQUksQ0FBQyxFQUNaLFNBQVMsRUFDVCxXQUFXLEdBQUcsWUFBWSxFQUMxQixHQUFHLEtBQUssRUFDaUI7SUFDekIsT0FBTyxDQUNMLEtBQUMsYUFBYSxDQUFDLElBQUksaUJBQ1AsTUFBTSxzQkFDRSxXQUFXLEVBQzdCLFNBQVMsRUFBRSxFQUFFLENBQ1gsOERBQThELEVBQzlELFNBQVMsQ0FDVixLQUNHLEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQzFCLHFRQUFxUSxFQUNyUTtJQUNFLFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRTtZQUNQLE9BQU8sRUFBRSxVQUFVO1lBQ25CLElBQUksRUFBRSxzQkFBc0I7U0FDN0I7S0FDRjtJQUNELGVBQWUsRUFBRTtRQUNmLE9BQU8sRUFBRSxTQUFTO0tBQ25CO0NBQ0YsQ0FDRixDQUFBO0FBRUQsU0FBUyxRQUFRLENBQUMsRUFDaEIsU0FBUyxFQUNULE9BQU8sR0FBRyxTQUFTLEVBQ25CLEdBQUcsS0FBSyxFQUN5RDtJQUNqRSxPQUFPLENBQ0wsS0FBQyxhQUFhLENBQUMsSUFBSSxpQkFDUCxXQUFXLGtCQUNQLE9BQU8sRUFDckIsU0FBUyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLEtBQ25ELEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLEVBQTJCO0lBQ25FLE9BQU8sQ0FDTCxLQUFDLGFBQWEsQ0FBQyxHQUFHLGlCQUNOLGNBQWMsRUFDeEIsU0FBUyxFQUFFLEVBQUUsQ0FDWCxrekJBQWt6QixFQUNsekIsK1BBQStQLEVBQy9QLG1KQUFtSixFQUNuSiwwZEFBMGQsRUFDMWQsU0FBUyxDQUNWLEtBQ0csS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBNkI7SUFDckUsT0FBTyxDQUNMLEtBQUMsYUFBYSxDQUFDLEtBQUssaUJBQ1IsY0FBYyxFQUN4QixTQUFTLEVBQUUsRUFBRSxDQUFDLDZCQUE2QixFQUFFLFNBQVMsQ0FBQyxLQUNuRCxLQUFLLEdBQ1QsQ0FDSCxDQUFBO0FBQ0gsQ0FBQztBQUVELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYnMgYXMgVGFic1ByaW1pdGl2ZSB9IGZyb20gXCJAYmFzZS11aS9yZWFjdC90YWJzXCJcbmltcG9ydCB7IGN2YSwgdHlwZSBWYXJpYW50UHJvcHMgfSBmcm9tIFwiY2xhc3MtdmFyaWFuY2UtYXV0aG9yaXR5XCJcbmltcG9ydCB7IGNuIH0gZnJvbSBcIi4uL3V0aWxzL3N0eWxlLnRzXCJcblxuZnVuY3Rpb24gVGFicyh7XG4gIGNsYXNzTmFtZSxcbiAgb3JpZW50YXRpb24gPSBcImhvcml6b250YWxcIixcbiAgLi4ucHJvcHNcbn06IFRhYnNQcmltaXRpdmUuUm9vdC5Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxUYWJzUHJpbWl0aXZlLlJvb3RcbiAgICAgIGRhdGEtc2xvdD1cInRhYnNcIlxuICAgICAgZGF0YS1vcmllbnRhdGlvbj17b3JpZW50YXRpb259XG4gICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICBcImdhcC0yIGdyb3VwL3RhYnMgZmxleCBkYXRhLVtvcmllbnRhdGlvbj1ob3Jpem9udGFsXTpmbGV4LWNvbFwiLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICApfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cblxuY29uc3QgdGFic0xpc3RWYXJpYW50cyA9IGN2YShcbiAgXCJyb3VuZGVkLWxnIHAtWzNweF0gZ3JvdXAtZGF0YS1ob3Jpem9udGFsL3RhYnM6aC05IGRhdGEtW3ZhcmlhbnQ9bGluZV06cm91bmRlZC1ub25lIGdyb3VwL3RhYnMtbGlzdCB0ZXh0LW11dGVkLWZvcmVncm91bmQgaW5saW5lLWZsZXggdy1maXQgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdyb3VwLWRhdGEtW29yaWVudGF0aW9uPXZlcnRpY2FsXS90YWJzOmgtZml0IGdyb3VwLWRhdGEtW29yaWVudGF0aW9uPXZlcnRpY2FsXS90YWJzOmZsZXgtY29sXCIsXG4gIHtcbiAgICB2YXJpYW50czoge1xuICAgICAgdmFyaWFudDoge1xuICAgICAgICBkZWZhdWx0OiBcImJnLW11dGVkXCIsXG4gICAgICAgIGxpbmU6IFwiZ2FwLTEgYmctdHJhbnNwYXJlbnRcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZWZhdWx0VmFyaWFudHM6IHtcbiAgICAgIHZhcmlhbnQ6IFwiZGVmYXVsdFwiLFxuICAgIH0sXG4gIH0sXG4pXG5cbmZ1bmN0aW9uIFRhYnNMaXN0KHtcbiAgY2xhc3NOYW1lLFxuICB2YXJpYW50ID0gXCJkZWZhdWx0XCIsXG4gIC4uLnByb3BzXG59OiBUYWJzUHJpbWl0aXZlLkxpc3QuUHJvcHMgJiBWYXJpYW50UHJvcHM8dHlwZW9mIHRhYnNMaXN0VmFyaWFudHM+KSB7XG4gIHJldHVybiAoXG4gICAgPFRhYnNQcmltaXRpdmUuTGlzdFxuICAgICAgZGF0YS1zbG90PVwidGFicy1saXN0XCJcbiAgICAgIGRhdGEtdmFyaWFudD17dmFyaWFudH1cbiAgICAgIGNsYXNzTmFtZT17Y24odGFic0xpc3RWYXJpYW50cyh7IHZhcmlhbnQgfSksIGNsYXNzTmFtZSl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufVxuXG5mdW5jdGlvbiBUYWJzVHJpZ2dlcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogVGFic1ByaW1pdGl2ZS5UYWIuUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8VGFic1ByaW1pdGl2ZS5UYWJcbiAgICAgIGRhdGEtc2xvdD1cInRhYnMtdHJpZ2dlclwiXG4gICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICBcImdhcC0xLjUgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXRyYW5zcGFyZW50IHB4LTIgcHktMSB0ZXh0LXNtIGZvbnQtbWVkaXVtIGdyb3VwLWRhdGEtW3ZhcmlhbnQ9ZGVmYXVsdF0vdGFicy1saXN0OmRhdGEtYWN0aXZlOnNoYWRvdy1zbSBncm91cC1kYXRhLVt2YXJpYW50PWxpbmVdL3RhYnMtbGlzdDpkYXRhLWFjdGl2ZTpzaGFkb3ctbm9uZSBbJl9zdmc6bm90KFtjbGFzcyo9J3NpemUtJ10pXTpzaXplLTQgZm9jdXMtdmlzaWJsZTpib3JkZXItcmluZyBmb2N1cy12aXNpYmxlOnJpbmctcmluZy81MCBmb2N1cy12aXNpYmxlOm91dGxpbmUtcmluZyB0ZXh0LWZvcmVncm91bmQvNjAgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kIGRhcms6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGRhcms6aG92ZXI6dGV4dC1mb3JlZ3JvdW5kIHJlbGF0aXZlIGlubGluZS1mbGV4IGgtW2NhbGMoMTAwJS0xcHgpXSBmbGV4LTEgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHdoaXRlc3BhY2Utbm93cmFwIHRyYW5zaXRpb24tYWxsIGdyb3VwLWRhdGEtW29yaWVudGF0aW9uPXZlcnRpY2FsXS90YWJzOnctZnVsbCBncm91cC1kYXRhLVtvcmllbnRhdGlvbj12ZXJ0aWNhbF0vdGFiczpqdXN0aWZ5LXN0YXJ0IGZvY3VzLXZpc2libGU6cmluZy1bM3B4XSBmb2N1cy12aXNpYmxlOm91dGxpbmUtMSBkaXNhYmxlZDpwb2ludGVyLWV2ZW50cy1ub25lIGRpc2FibGVkOm9wYWNpdHktNTAgYXJpYS1kaXNhYmxlZDpwb2ludGVyLWV2ZW50cy1ub25lIGFyaWEtZGlzYWJsZWQ6b3BhY2l0eS01MCBbJl9zdmddOnBvaW50ZXItZXZlbnRzLW5vbmUgWyZfc3ZnXTpzaHJpbmstMFwiLFxuICAgICAgICBcImdyb3VwLWRhdGEtW3ZhcmlhbnQ9bGluZV0vdGFicy1saXN0OmJnLXRyYW5zcGFyZW50IGdyb3VwLWRhdGEtW3ZhcmlhbnQ9bGluZV0vdGFicy1saXN0OmRhdGEtYWN0aXZlOmJnLXRyYW5zcGFyZW50IGRhcms6Z3JvdXAtZGF0YS1bdmFyaWFudD1saW5lXS90YWJzLWxpc3Q6ZGF0YS1hY3RpdmU6Ym9yZGVyLXRyYW5zcGFyZW50IGRhcms6Z3JvdXAtZGF0YS1bdmFyaWFudD1saW5lXS90YWJzLWxpc3Q6ZGF0YS1hY3RpdmU6YmctdHJhbnNwYXJlbnRcIixcbiAgICAgICAgXCJkYXRhLWFjdGl2ZTpiZy1iYWNrZ3JvdW5kIGRhcms6ZGF0YS1hY3RpdmU6dGV4dC1mb3JlZ3JvdW5kIGRhcms6ZGF0YS1hY3RpdmU6Ym9yZGVyLWlucHV0IGRhcms6ZGF0YS1hY3RpdmU6YmctaW5wdXQvMzAgZGF0YS1hY3RpdmU6dGV4dC1mb3JlZ3JvdW5kXCIsXG4gICAgICAgIFwiYWZ0ZXI6YmctZm9yZWdyb3VuZCBhZnRlcjphYnNvbHV0ZSBhZnRlcjpvcGFjaXR5LTAgYWZ0ZXI6dHJhbnNpdGlvbi1vcGFjaXR5IGdyb3VwLWRhdGEtW29yaWVudGF0aW9uPWhvcml6b250YWxdL3RhYnM6YWZ0ZXI6aW5zZXQteC0wIGdyb3VwLWRhdGEtW29yaWVudGF0aW9uPWhvcml6b250YWxdL3RhYnM6YWZ0ZXI6Ym90dG9tLVstNXB4XSBncm91cC1kYXRhLVtvcmllbnRhdGlvbj1ob3Jpem9udGFsXS90YWJzOmFmdGVyOmgtMC41IGdyb3VwLWRhdGEtW29yaWVudGF0aW9uPXZlcnRpY2FsXS90YWJzOmFmdGVyOmluc2V0LXktMCBncm91cC1kYXRhLVtvcmllbnRhdGlvbj12ZXJ0aWNhbF0vdGFiczphZnRlcjotcmlnaHQtMSBncm91cC1kYXRhLVtvcmllbnRhdGlvbj12ZXJ0aWNhbF0vdGFiczphZnRlcjp3LTAuNSBncm91cC1kYXRhLVt2YXJpYW50PWxpbmVdL3RhYnMtbGlzdDpkYXRhLWFjdGl2ZTphZnRlcjpvcGFjaXR5LTEwMFwiLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICApfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cblxuZnVuY3Rpb24gVGFic0NvbnRlbnQoeyBjbGFzc05hbWUsIC4uLnByb3BzIH06IFRhYnNQcmltaXRpdmUuUGFuZWwuUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8VGFic1ByaW1pdGl2ZS5QYW5lbFxuICAgICAgZGF0YS1zbG90PVwidGFicy1jb250ZW50XCJcbiAgICAgIGNsYXNzTmFtZT17Y24oXCJ0ZXh0LXNtIGZsZXgtMSBvdXRsaW5lLW5vbmVcIiwgY2xhc3NOYW1lKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApXG59XG5cbmV4cG9ydCB7IFRhYnMsIFRhYnNMaXN0LCBUYWJzVHJpZ2dlciwgVGFic0NvbnRlbnQsIHRhYnNMaXN0VmFyaWFudHMgfVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../utils/style.js";
|
|
3
|
+
function Textarea({ className, ...props }) {
|
|
4
|
+
return (_jsx("textarea", { "data-slot": "textarea", className: cn("border-input dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border bg-transparent px-2.5 py-2 text-base shadow-xs transition-[color,box-shadow] focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full outline-none disabled:cursor-not-allowed disabled:opacity-50", className), ...props }));
|
|
5
|
+
}
|
|
6
|
+
export { Textarea };
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvZWxlbWVudHMvdGV4dGFyZWEudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFdEMsU0FBUyxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLEVBQW9DO0lBQ3pFLE9BQU8sQ0FDTCxnQ0FDWSxVQUFVLEVBQ3BCLFNBQVMsRUFBRSxFQUFFLENBQ1gsdWdCQUF1Z0IsRUFDdmdCLFNBQVMsQ0FDVixLQUNHLEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vdXRpbHMvc3R5bGUudHNcIlxuXG5mdW5jdGlvbiBUZXh0YXJlYSh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogUmVhY3QuQ29tcG9uZW50UHJvcHM8XCJ0ZXh0YXJlYVwiPikge1xuICByZXR1cm4gKFxuICAgIDx0ZXh0YXJlYVxuICAgICAgZGF0YS1zbG90PVwidGV4dGFyZWFcIlxuICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgXCJib3JkZXItaW5wdXQgZGFyazpiZy1pbnB1dC8zMCBmb2N1cy12aXNpYmxlOmJvcmRlci1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1yaW5nLzUwIGFyaWEtaW52YWxpZDpyaW5nLWRlc3RydWN0aXZlLzIwIGRhcms6YXJpYS1pbnZhbGlkOnJpbmctZGVzdHJ1Y3RpdmUvNDAgYXJpYS1pbnZhbGlkOmJvcmRlci1kZXN0cnVjdGl2ZSBkYXJrOmFyaWEtaW52YWxpZDpib3JkZXItZGVzdHJ1Y3RpdmUvNTAgcm91bmRlZC1tZCBib3JkZXIgYmctdHJhbnNwYXJlbnQgcHgtMi41IHB5LTIgdGV4dC1iYXNlIHNoYWRvdy14cyB0cmFuc2l0aW9uLVtjb2xvcixib3gtc2hhZG93XSBmb2N1cy12aXNpYmxlOnJpbmctWzNweF0gYXJpYS1pbnZhbGlkOnJpbmctWzNweF0gbWQ6dGV4dC1zbSBwbGFjZWhvbGRlcjp0ZXh0LW11dGVkLWZvcmVncm91bmQgZmxleCBmaWVsZC1zaXppbmctY29udGVudCBtaW4taC0xNiB3LWZ1bGwgb3V0bGluZS1ub25lIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwXCIsXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufVxuXG5leHBvcnQgeyBUZXh0YXJlYSB9XG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Toggle as TogglePrimitive } from "@base-ui/react/toggle";
|
|
2
|
+
import { ToggleGroup as ToggleGroupPrimitive } from "@base-ui/react/toggle-group";
|
|
3
|
+
import { type VariantProps } from "class-variance-authority";
|
|
4
|
+
import { toggleVariants } from "./toggle.tsx";
|
|
5
|
+
declare function ToggleGroup({ className, variant, size, spacing, orientation, children, ...props }: ToggleGroupPrimitive.Props & VariantProps<typeof toggleVariants> & {
|
|
6
|
+
spacing?: number;
|
|
7
|
+
orientation?: "horizontal" | "vertical";
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare function ToggleGroupItem({ className, children, variant, size, ...props }: TogglePrimitive.Props & VariantProps<typeof toggleVariants>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export { ToggleGroup, ToggleGroupItem };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { Toggle as TogglePrimitive } from "@base-ui/react/toggle";
|
|
4
|
+
import { ToggleGroup as ToggleGroupPrimitive } from "@base-ui/react/toggle-group";
|
|
5
|
+
import { cn } from "../utils/style.js";
|
|
6
|
+
import { toggleVariants } from "./toggle.js";
|
|
7
|
+
const ToggleGroupContext = React.createContext({
|
|
8
|
+
size: "default",
|
|
9
|
+
variant: "default",
|
|
10
|
+
spacing: 0,
|
|
11
|
+
orientation: "horizontal",
|
|
12
|
+
});
|
|
13
|
+
function ToggleGroup({ className, variant, size, spacing = 0, orientation = "horizontal", children, ...props }) {
|
|
14
|
+
return (_jsx(ToggleGroupPrimitive, { "data-slot": "toggle-group", "data-variant": variant, "data-size": size, "data-spacing": spacing, "data-orientation": orientation, style: { "--gap": spacing }, className: cn("group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=0]:data-[variant=outline]:shadow-xs data-vertical:flex-col data-vertical:items-stretch", className), ...props, children: _jsx(ToggleGroupContext.Provider, { value: { variant, size, spacing, orientation }, children: children }) }));
|
|
15
|
+
}
|
|
16
|
+
function ToggleGroupItem({ className, children, variant = "default", size = "default", ...props }) {
|
|
17
|
+
const context = React.useContext(ToggleGroupContext);
|
|
18
|
+
return (_jsx(TogglePrimitive, { "data-slot": "toggle-group-item", "data-variant": context.variant || variant, "data-size": context.size || size, "data-spacing": context.spacing, className: cn("shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 group-data-[spacing=0]/toggle-group:shadow-none focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pr-1.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:pl-1.5 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-md group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-md group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-md group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-md data-[state=on]:bg-muted group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t", toggleVariants({
|
|
19
|
+
variant: context.variant || variant,
|
|
20
|
+
size: context.size || size,
|
|
21
|
+
}), className), ...props, children: children }));
|
|
22
|
+
}
|
|
23
|
+
export { ToggleGroup, ToggleGroupItem };
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2VsZW1lbnRzL3RvZ2dsZS1ncm91cC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQzlCLE9BQU8sRUFBRSxNQUFNLElBQUksZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDakUsT0FBTyxFQUFFLFdBQVcsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBR2pGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYyxDQUFBO0FBRTdDLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FLNUM7SUFDQSxJQUFJLEVBQUUsU0FBUztJQUNmLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsV0FBVyxFQUFFLFlBQVk7Q0FDMUIsQ0FBQyxDQUFBO0FBRUYsU0FBUyxXQUFXLENBQUMsRUFDbkIsU0FBUyxFQUNULE9BQU8sRUFDUCxJQUFJLEVBQ0osT0FBTyxHQUFHLENBQUMsRUFDWCxXQUFXLEdBQUcsWUFBWSxFQUMxQixRQUFRLEVBQ1IsR0FBRyxLQUFLLEVBS1A7SUFDRCxPQUFPLENBQ0wsS0FBQyxvQkFBb0IsaUJBQ1QsY0FBYyxrQkFDVixPQUFPLGVBQ1YsSUFBSSxrQkFDRCxPQUFPLHNCQUNILFdBQVcsRUFDN0IsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBeUIsRUFDbEQsU0FBUyxFQUFFLEVBQUUsQ0FDWCxpTUFBaU0sRUFDak0sU0FBUyxDQUNWLEtBQ0csS0FBSyxZQUVULEtBQUMsa0JBQWtCLENBQUMsUUFBUSxJQUMxQixLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFFN0MsUUFBUSxHQUNtQixHQUNULENBQ3hCLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixPQUFPLEdBQUcsU0FBUyxFQUNuQixJQUFJLEdBQUcsU0FBUyxFQUNoQixHQUFHLEtBQUssRUFDb0Q7SUFDNUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBRXBELE9BQU8sQ0FDTCxLQUFDLGVBQWUsaUJBQ0osbUJBQW1CLGtCQUNmLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxlQUM3QixPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksa0JBQ2pCLE9BQU8sQ0FBQyxPQUFPLEVBQzdCLFNBQVMsRUFBRSxFQUFFLENBQ1gsMjhCQUEyOEIsRUFDMzhCLGNBQWMsQ0FBQztZQUNiLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU87WUFDbkMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSTtTQUMzQixDQUFDLEVBQ0YsU0FBUyxDQUNWLEtBQ0csS0FBSyxZQUVSLFFBQVEsR0FDTyxDQUNuQixDQUFBO0FBQ0gsQ0FBQztBQUVELE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHsgVG9nZ2xlIGFzIFRvZ2dsZVByaW1pdGl2ZSB9IGZyb20gXCJAYmFzZS11aS9yZWFjdC90b2dnbGVcIlxuaW1wb3J0IHsgVG9nZ2xlR3JvdXAgYXMgVG9nZ2xlR3JvdXBQcmltaXRpdmUgfSBmcm9tIFwiQGJhc2UtdWkvcmVhY3QvdG9nZ2xlLWdyb3VwXCJcbmltcG9ydCB7IHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSBcImNsYXNzLXZhcmlhbmNlLWF1dGhvcml0eVwiXG5cbmltcG9ydCB7IGNuIH0gZnJvbSBcIi4uL3V0aWxzL3N0eWxlLnRzXCJcbmltcG9ydCB7IHRvZ2dsZVZhcmlhbnRzIH0gZnJvbSBcIi4vdG9nZ2xlLnRzeFwiXG5cbmNvbnN0IFRvZ2dsZUdyb3VwQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8XG4gIFZhcmlhbnRQcm9wczx0eXBlb2YgdG9nZ2xlVmFyaWFudHM+ICYge1xuICAgIHNwYWNpbmc/OiBudW1iZXJcbiAgICBvcmllbnRhdGlvbj86IFwiaG9yaXpvbnRhbFwiIHwgXCJ2ZXJ0aWNhbFwiXG4gIH1cbj4oe1xuICBzaXplOiBcImRlZmF1bHRcIixcbiAgdmFyaWFudDogXCJkZWZhdWx0XCIsXG4gIHNwYWNpbmc6IDAsXG4gIG9yaWVudGF0aW9uOiBcImhvcml6b250YWxcIixcbn0pXG5cbmZ1bmN0aW9uIFRvZ2dsZUdyb3VwKHtcbiAgY2xhc3NOYW1lLFxuICB2YXJpYW50LFxuICBzaXplLFxuICBzcGFjaW5nID0gMCxcbiAgb3JpZW50YXRpb24gPSBcImhvcml6b250YWxcIixcbiAgY2hpbGRyZW4sXG4gIC4uLnByb3BzXG59OiBUb2dnbGVHcm91cFByaW1pdGl2ZS5Qcm9wcyAmXG4gIFZhcmlhbnRQcm9wczx0eXBlb2YgdG9nZ2xlVmFyaWFudHM+ICYge1xuICAgIHNwYWNpbmc/OiBudW1iZXJcbiAgICBvcmllbnRhdGlvbj86IFwiaG9yaXpvbnRhbFwiIHwgXCJ2ZXJ0aWNhbFwiXG4gIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8VG9nZ2xlR3JvdXBQcmltaXRpdmVcbiAgICAgIGRhdGEtc2xvdD1cInRvZ2dsZS1ncm91cFwiXG4gICAgICBkYXRhLXZhcmlhbnQ9e3ZhcmlhbnR9XG4gICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICBkYXRhLXNwYWNpbmc9e3NwYWNpbmd9XG4gICAgICBkYXRhLW9yaWVudGF0aW9uPXtvcmllbnRhdGlvbn1cbiAgICAgIHN0eWxlPXt7IFwiLS1nYXBcIjogc3BhY2luZyB9IGFzIFJlYWN0LkNTU1Byb3BlcnRpZXN9XG4gICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICBcImdyb3VwL3RvZ2dsZS1ncm91cCBmbGV4IHctZml0IGZsZXgtcm93IGl0ZW1zLWNlbnRlciBnYXAtWy0tc3BhY2luZyh2YXIoLS1nYXApKV0gcm91bmRlZC1tZCBkYXRhLVtzcGFjaW5nPTBdOmRhdGEtW3ZhcmlhbnQ9b3V0bGluZV06c2hhZG93LXhzIGRhdGEtdmVydGljYWw6ZmxleC1jb2wgZGF0YS12ZXJ0aWNhbDppdGVtcy1zdHJldGNoXCIsXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgPlxuICAgICAgPFRvZ2dsZUdyb3VwQ29udGV4dC5Qcm92aWRlclxuICAgICAgICB2YWx1ZT17eyB2YXJpYW50LCBzaXplLCBzcGFjaW5nLCBvcmllbnRhdGlvbiB9fVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1RvZ2dsZUdyb3VwQ29udGV4dC5Qcm92aWRlcj5cbiAgICA8L1RvZ2dsZUdyb3VwUHJpbWl0aXZlPlxuICApXG59XG5cbmZ1bmN0aW9uIFRvZ2dsZUdyb3VwSXRlbSh7XG4gIGNsYXNzTmFtZSxcbiAgY2hpbGRyZW4sXG4gIHZhcmlhbnQgPSBcImRlZmF1bHRcIixcbiAgc2l6ZSA9IFwiZGVmYXVsdFwiLFxuICAuLi5wcm9wc1xufTogVG9nZ2xlUHJpbWl0aXZlLlByb3BzICYgVmFyaWFudFByb3BzPHR5cGVvZiB0b2dnbGVWYXJpYW50cz4pIHtcbiAgY29uc3QgY29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoVG9nZ2xlR3JvdXBDb250ZXh0KVxuXG4gIHJldHVybiAoXG4gICAgPFRvZ2dsZVByaW1pdGl2ZVxuICAgICAgZGF0YS1zbG90PVwidG9nZ2xlLWdyb3VwLWl0ZW1cIlxuICAgICAgZGF0YS12YXJpYW50PXtjb250ZXh0LnZhcmlhbnQgfHwgdmFyaWFudH1cbiAgICAgIGRhdGEtc2l6ZT17Y29udGV4dC5zaXplIHx8IHNpemV9XG4gICAgICBkYXRhLXNwYWNpbmc9e2NvbnRleHQuc3BhY2luZ31cbiAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgIFwic2hyaW5rLTAgZ3JvdXAtZGF0YS1bc3BhY2luZz0wXS90b2dnbGUtZ3JvdXA6cm91bmRlZC1ub25lIGdyb3VwLWRhdGEtW3NwYWNpbmc9MF0vdG9nZ2xlLWdyb3VwOnB4LTIgZ3JvdXAtZGF0YS1bc3BhY2luZz0wXS90b2dnbGUtZ3JvdXA6c2hhZG93LW5vbmUgZm9jdXM6ei0xMCBmb2N1cy12aXNpYmxlOnotMTAgZ3JvdXAtZGF0YS1bc3BhY2luZz0wXS90b2dnbGUtZ3JvdXA6aGFzLWRhdGEtW2ljb249aW5saW5lLWVuZF06cHItMS41IGdyb3VwLWRhdGEtW3NwYWNpbmc9MF0vdG9nZ2xlLWdyb3VwOmhhcy1kYXRhLVtpY29uPWlubGluZS1zdGFydF06cGwtMS41IGdyb3VwLWRhdGEtaG9yaXpvbnRhbC90b2dnbGUtZ3JvdXA6ZGF0YS1bc3BhY2luZz0wXTpmaXJzdDpyb3VuZGVkLWwtbWQgZ3JvdXAtZGF0YS12ZXJ0aWNhbC90b2dnbGUtZ3JvdXA6ZGF0YS1bc3BhY2luZz0wXTpmaXJzdDpyb3VuZGVkLXQtbWQgZ3JvdXAtZGF0YS1ob3Jpem9udGFsL3RvZ2dsZS1ncm91cDpkYXRhLVtzcGFjaW5nPTBdOmxhc3Q6cm91bmRlZC1yLW1kIGdyb3VwLWRhdGEtdmVydGljYWwvdG9nZ2xlLWdyb3VwOmRhdGEtW3NwYWNpbmc9MF06bGFzdDpyb3VuZGVkLWItbWQgZGF0YS1bc3RhdGU9b25dOmJnLW11dGVkIGdyb3VwLWRhdGEtaG9yaXpvbnRhbC90b2dnbGUtZ3JvdXA6ZGF0YS1bc3BhY2luZz0wXTpkYXRhLVt2YXJpYW50PW91dGxpbmVdOmJvcmRlci1sLTAgZ3JvdXAtZGF0YS12ZXJ0aWNhbC90b2dnbGUtZ3JvdXA6ZGF0YS1bc3BhY2luZz0wXTpkYXRhLVt2YXJpYW50PW91dGxpbmVdOmJvcmRlci10LTAgZ3JvdXAtZGF0YS1ob3Jpem9udGFsL3RvZ2dsZS1ncm91cDpkYXRhLVtzcGFjaW5nPTBdOmRhdGEtW3ZhcmlhbnQ9b3V0bGluZV06Zmlyc3Q6Ym9yZGVyLWwgZ3JvdXAtZGF0YS12ZXJ0aWNhbC90b2dnbGUtZ3JvdXA6ZGF0YS1bc3BhY2luZz0wXTpkYXRhLVt2YXJpYW50PW91dGxpbmVdOmZpcnN0OmJvcmRlci10XCIsXG4gICAgICAgIHRvZ2dsZVZhcmlhbnRzKHtcbiAgICAgICAgICB2YXJpYW50OiBjb250ZXh0LnZhcmlhbnQgfHwgdmFyaWFudCxcbiAgICAgICAgICBzaXplOiBjb250ZXh0LnNpemUgfHwgc2l6ZSxcbiAgICAgICAgfSksXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvVG9nZ2xlUHJpbWl0aXZlPlxuICApXG59XG5cbmV4cG9ydCB7IFRvZ2dsZUdyb3VwLCBUb2dnbGVHcm91cEl0ZW0gfVxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Toggle as TogglePrimitive } from "@base-ui/react/toggle";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
declare const toggleVariants: (props?: ({
|
|
4
|
+
variant?: "default" | "outline" | null | undefined;
|
|
5
|
+
size?: "default" | "lg" | "sm" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
declare function Toggle({ className, variant, size, ...props }: TogglePrimitive.Props & VariantProps<typeof toggleVariants>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export { Toggle, toggleVariants };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Toggle as TogglePrimitive } from "@base-ui/react/toggle";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { cn } from "../utils/style.js";
|
|
5
|
+
const toggleVariants = cva("group/toggle inline-flex items-center justify-center gap-1 rounded-md text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
|
|
6
|
+
variants: {
|
|
7
|
+
variant: {
|
|
8
|
+
default: "bg-transparent",
|
|
9
|
+
outline: "border border-input bg-transparent shadow-xs hover:bg-muted",
|
|
10
|
+
},
|
|
11
|
+
size: {
|
|
12
|
+
default: "h-9 min-w-9 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
|
|
13
|
+
sm: "h-8 min-w-8 px-2.5 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5",
|
|
14
|
+
lg: "h-10 min-w-10 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
defaultVariants: {
|
|
18
|
+
variant: "default",
|
|
19
|
+
size: "default",
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
function Toggle({ className, variant = "default", size = "default", ...props }) {
|
|
23
|
+
return (_jsx(TogglePrimitive, { "data-slot": "toggle", className: cn(toggleVariants({ variant, size, className })), ...props }));
|
|
24
|
+
}
|
|
25
|
+
export { Toggle, toggleVariants };
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2VsZW1lbnRzL3RvZ2dsZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDakUsT0FBTyxFQUFFLEdBQUcsRUFBcUIsTUFBTSwwQkFBMEIsQ0FBQTtBQUVqRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFdEMsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUN4QiwyZ0JBQTJnQixFQUMzZ0I7SUFDRSxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLE9BQU8sRUFBRSw2REFBNkQ7U0FDdkU7UUFDRCxJQUFJLEVBQUU7WUFDSixPQUFPLEVBQ0wsc0ZBQXNGO1lBQ3hGLEVBQUUsRUFBRSwwRkFBMEY7WUFDOUYsRUFBRSxFQUFFLHdGQUF3RjtTQUM3RjtLQUNGO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsT0FBTyxFQUFFLFNBQVM7UUFDbEIsSUFBSSxFQUFFLFNBQVM7S0FDaEI7Q0FDRixDQUNGLENBQUE7QUFFRCxTQUFTLE1BQU0sQ0FBQyxFQUNkLFNBQVMsRUFDVCxPQUFPLEdBQUcsU0FBUyxFQUNuQixJQUFJLEdBQUcsU0FBUyxFQUNoQixHQUFHLEtBQUssRUFDb0Q7SUFDNUQsT0FBTyxDQUNMLEtBQUMsZUFBZSxpQkFDSixRQUFRLEVBQ2xCLFNBQVMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQ3ZELEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvZ2dsZSBhcyBUb2dnbGVQcmltaXRpdmUgfSBmcm9tIFwiQGJhc2UtdWkvcmVhY3QvdG9nZ2xlXCJcbmltcG9ydCB7IGN2YSwgdHlwZSBWYXJpYW50UHJvcHMgfSBmcm9tIFwiY2xhc3MtdmFyaWFuY2UtYXV0aG9yaXR5XCJcblxuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vdXRpbHMvc3R5bGUudHNcIlxuXG5jb25zdCB0b2dnbGVWYXJpYW50cyA9IGN2YShcbiAgXCJncm91cC90b2dnbGUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xIHJvdW5kZWQtbWQgdGV4dC1zbSBmb250LW1lZGl1bSB3aGl0ZXNwYWNlLW5vd3JhcCB0cmFuc2l0aW9uLVtjb2xvcixib3gtc2hhZG93XSBvdXRsaW5lLW5vbmUgaG92ZXI6YmctbXV0ZWQgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kIGZvY3VzLXZpc2libGU6Ym9yZGVyLXJpbmcgZm9jdXMtdmlzaWJsZTpyaW5nLVszcHhdIGZvY3VzLXZpc2libGU6cmluZy1yaW5nLzUwIGRpc2FibGVkOnBvaW50ZXItZXZlbnRzLW5vbmUgZGlzYWJsZWQ6b3BhY2l0eS01MCBhcmlhLWludmFsaWQ6Ym9yZGVyLWRlc3RydWN0aXZlIGFyaWEtaW52YWxpZDpyaW5nLWRlc3RydWN0aXZlLzIwIGFyaWEtcHJlc3NlZDpiZy1tdXRlZCBkYXJrOmFyaWEtaW52YWxpZDpyaW5nLWRlc3RydWN0aXZlLzQwIFsmX3N2Z106cG9pbnRlci1ldmVudHMtbm9uZSBbJl9zdmddOnNocmluay0wIFsmX3N2Zzpub3QoW2NsYXNzKj0nc2l6ZS0nXSldOnNpemUtNFwiLFxuICB7XG4gICAgdmFyaWFudHM6IHtcbiAgICAgIHZhcmlhbnQ6IHtcbiAgICAgICAgZGVmYXVsdDogXCJiZy10cmFuc3BhcmVudFwiLFxuICAgICAgICBvdXRsaW5lOiBcImJvcmRlciBib3JkZXItaW5wdXQgYmctdHJhbnNwYXJlbnQgc2hhZG93LXhzIGhvdmVyOmJnLW11dGVkXCIsXG4gICAgICB9LFxuICAgICAgc2l6ZToge1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIFwiaC05IG1pbi13LTkgcHgtMi41IGhhcy1kYXRhLVtpY29uPWlubGluZS1lbmRdOnByLTIgaGFzLWRhdGEtW2ljb249aW5saW5lLXN0YXJ0XTpwbC0yXCIsXG4gICAgICAgIHNtOiBcImgtOCBtaW4tdy04IHB4LTIuNSBoYXMtZGF0YS1baWNvbj1pbmxpbmUtZW5kXTpwci0xLjUgaGFzLWRhdGEtW2ljb249aW5saW5lLXN0YXJ0XTpwbC0xLjVcIixcbiAgICAgICAgbGc6IFwiaC0xMCBtaW4tdy0xMCBweC0yLjUgaGFzLWRhdGEtW2ljb249aW5saW5lLWVuZF06cHItMiBoYXMtZGF0YS1baWNvbj1pbmxpbmUtc3RhcnRdOnBsLTJcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZWZhdWx0VmFyaWFudHM6IHtcbiAgICAgIHZhcmlhbnQ6IFwiZGVmYXVsdFwiLFxuICAgICAgc2l6ZTogXCJkZWZhdWx0XCIsXG4gICAgfSxcbiAgfSxcbilcblxuZnVuY3Rpb24gVG9nZ2xlKHtcbiAgY2xhc3NOYW1lLFxuICB2YXJpYW50ID0gXCJkZWZhdWx0XCIsXG4gIHNpemUgPSBcImRlZmF1bHRcIixcbiAgLi4ucHJvcHNcbn06IFRvZ2dsZVByaW1pdGl2ZS5Qcm9wcyAmIFZhcmlhbnRQcm9wczx0eXBlb2YgdG9nZ2xlVmFyaWFudHM+KSB7XG4gIHJldHVybiAoXG4gICAgPFRvZ2dsZVByaW1pdGl2ZVxuICAgICAgZGF0YS1zbG90PVwidG9nZ2xlXCJcbiAgICAgIGNsYXNzTmFtZT17Y24odG9nZ2xlVmFyaWFudHMoeyB2YXJpYW50LCBzaXplLCBjbGFzc05hbWUgfSkpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cblxuZXhwb3J0IHsgVG9nZ2xlLCB0b2dnbGVWYXJpYW50cyB9XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip";
|
|
2
|
+
declare function TooltipProvider({ delay, ...props }: TooltipPrimitive.Provider.Props): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare function Tooltip({ ...props }: TooltipPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function TooltipContent({ className, side, sideOffset, align, alignOffset, children, ...props }: TooltipPrimitive.Popup.Props & Pick<TooltipPrimitive.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip";
|
|
3
|
+
import { cn } from "../utils/style.js";
|
|
4
|
+
function TooltipProvider({ delay = 0, ...props }) {
|
|
5
|
+
return (_jsx(TooltipPrimitive.Provider, { "data-slot": "tooltip-provider", delay: delay, ...props }));
|
|
6
|
+
}
|
|
7
|
+
function Tooltip({ ...props }) {
|
|
8
|
+
return (_jsx(TooltipProvider, { children: _jsx(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props }) }));
|
|
9
|
+
}
|
|
10
|
+
function TooltipTrigger({ ...props }) {
|
|
11
|
+
return _jsx(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
12
|
+
}
|
|
13
|
+
function TooltipContent({ className, side = "top", sideOffset = 4, align = "center", alignOffset = 0, children, ...props }) {
|
|
14
|
+
return (_jsx(TooltipPrimitive.Portal, { children: _jsx(TooltipPrimitive.Positioner, { align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, className: "isolate z-50", children: _jsxs(TooltipPrimitive.Popup, { "data-slot": "tooltip-content", className: cn("data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 rounded-md px-3 py-1.5 text-xs data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 bg-foreground text-background z-50 w-fit max-w-xs origin-(--transform-origin)", className), ...props, children: [children, _jsx(TooltipPrimitive.Arrow, { className: "size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 bg-foreground fill-foreground z-50 data-[side=bottom]:top-1 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5" })
|
|
15
|
+
] }) }) }));
|
|
16
|
+
}
|
|
17
|
+
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9lbGVtZW50cy90b29sdGlwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE9BQU8sSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUV0QyxTQUFTLGVBQWUsQ0FBQyxFQUN2QixLQUFLLEdBQUcsQ0FBQyxFQUNULEdBQUcsS0FBSyxFQUN3QjtJQUNoQyxPQUFPLENBQ0wsS0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLGlCQUNkLGtCQUFrQixFQUM1QixLQUFLLEVBQUUsS0FBSyxLQUNSLEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxPQUFPLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBK0I7SUFDeEQsT0FBTyxDQUNMLEtBQUMsZUFBZSxjQUNkLEtBQUMsZ0JBQWdCLENBQUMsSUFBSSxpQkFBVyxTQUFTLEtBQUssS0FBSyxHQUFJLEdBQ3hDLENBQ25CLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBa0M7SUFDbEUsT0FBTyxLQUFDLGdCQUFnQixDQUFDLE9BQU8saUJBQVcsaUJBQWlCLEtBQUssS0FBSyxHQUFJLENBQUE7QUFDNUUsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFDLEVBQ3RCLFNBQVMsRUFDVCxJQUFJLEdBQUcsS0FBSyxFQUNaLFVBQVUsR0FBRyxDQUFDLEVBQ2QsS0FBSyxHQUFHLFFBQVEsRUFDaEIsV0FBVyxHQUFHLENBQUMsRUFDZixRQUFRLEVBQ1IsR0FBRyxLQUFLLEVBS1A7SUFDRCxPQUFPLENBQ0wsS0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLGNBQ3RCLEtBQUMsZ0JBQWdCLENBQUMsVUFBVSxJQUMxQixLQUFLLEVBQUUsS0FBSyxFQUNaLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLElBQUksRUFBRSxJQUFJLEVBQ1YsVUFBVSxFQUFFLFVBQVUsRUFDdEIsU0FBUyxFQUFDLGNBQWMsWUFFeEIsTUFBQyxnQkFBZ0IsQ0FBQyxLQUFLLGlCQUNYLGlCQUFpQixFQUMzQixTQUFTLEVBQUUsRUFBRSxDQUNYLHdsQkFBd2xCLEVBQ3hsQixTQUFTLENBQ1YsS0FDRyxLQUFLLGFBRVIsUUFBUSxFQUNULEtBQUMsZ0JBQWdCLENBQUMsS0FBSyxJQUFDLFNBQVMsRUFBQyw0aEJBQTRoQixHQUFHO29CQUMxaUIsR0FDRyxHQUNOLENBQzNCLENBQUE7QUFDSCxDQUFDO0FBRUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVG9vbHRpcCBhcyBUb29sdGlwUHJpbWl0aXZlIH0gZnJvbSBcIkBiYXNlLXVpL3JlYWN0L3Rvb2x0aXBcIlxuaW1wb3J0IHsgY24gfSBmcm9tIFwiLi4vdXRpbHMvc3R5bGUudHNcIlxuXG5mdW5jdGlvbiBUb29sdGlwUHJvdmlkZXIoe1xuICBkZWxheSA9IDAsXG4gIC4uLnByb3BzXG59OiBUb29sdGlwUHJpbWl0aXZlLlByb3ZpZGVyLlByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPFRvb2x0aXBQcmltaXRpdmUuUHJvdmlkZXJcbiAgICAgIGRhdGEtc2xvdD1cInRvb2x0aXAtcHJvdmlkZXJcIlxuICAgICAgZGVsYXk9e2RlbGF5fVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cblxuZnVuY3Rpb24gVG9vbHRpcCh7IC4uLnByb3BzIH06IFRvb2x0aXBQcmltaXRpdmUuUm9vdC5Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxUb29sdGlwUHJvdmlkZXI+XG4gICAgICA8VG9vbHRpcFByaW1pdGl2ZS5Sb290IGRhdGEtc2xvdD1cInRvb2x0aXBcIiB7Li4ucHJvcHN9IC8+XG4gICAgPC9Ub29sdGlwUHJvdmlkZXI+XG4gIClcbn1cblxuZnVuY3Rpb24gVG9vbHRpcFRyaWdnZXIoeyAuLi5wcm9wcyB9OiBUb29sdGlwUHJpbWl0aXZlLlRyaWdnZXIuUHJvcHMpIHtcbiAgcmV0dXJuIDxUb29sdGlwUHJpbWl0aXZlLlRyaWdnZXIgZGF0YS1zbG90PVwidG9vbHRpcC10cmlnZ2VyXCIgey4uLnByb3BzfSAvPlxufVxuXG5mdW5jdGlvbiBUb29sdGlwQ29udGVudCh7XG4gIGNsYXNzTmFtZSxcbiAgc2lkZSA9IFwidG9wXCIsXG4gIHNpZGVPZmZzZXQgPSA0LFxuICBhbGlnbiA9IFwiY2VudGVyXCIsXG4gIGFsaWduT2Zmc2V0ID0gMCxcbiAgY2hpbGRyZW4sXG4gIC4uLnByb3BzXG59OiBUb29sdGlwUHJpbWl0aXZlLlBvcHVwLlByb3BzICZcbiAgUGljazxcbiAgICBUb29sdGlwUHJpbWl0aXZlLlBvc2l0aW9uZXIuUHJvcHMsXG4gICAgXCJhbGlnblwiIHwgXCJhbGlnbk9mZnNldFwiIHwgXCJzaWRlXCIgfCBcInNpZGVPZmZzZXRcIlxuICA+KSB7XG4gIHJldHVybiAoXG4gICAgPFRvb2x0aXBQcmltaXRpdmUuUG9ydGFsPlxuICAgICAgPFRvb2x0aXBQcmltaXRpdmUuUG9zaXRpb25lclxuICAgICAgICBhbGlnbj17YWxpZ259XG4gICAgICAgIGFsaWduT2Zmc2V0PXthbGlnbk9mZnNldH1cbiAgICAgICAgc2lkZT17c2lkZX1cbiAgICAgICAgc2lkZU9mZnNldD17c2lkZU9mZnNldH1cbiAgICAgICAgY2xhc3NOYW1lPVwiaXNvbGF0ZSB6LTUwXCJcbiAgICAgID5cbiAgICAgICAgPFRvb2x0aXBQcmltaXRpdmUuUG9wdXBcbiAgICAgICAgICBkYXRhLXNsb3Q9XCJ0b29sdGlwLWNvbnRlbnRcIlxuICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICBcImRhdGEtb3BlbjphbmltYXRlLWluIGRhdGEtb3BlbjpmYWRlLWluLTAgZGF0YS1vcGVuOnpvb20taW4tOTUgZGF0YS1bc3RhdGU9ZGVsYXllZC1vcGVuXTphbmltYXRlLWluIGRhdGEtW3N0YXRlPWRlbGF5ZWQtb3Blbl06ZmFkZS1pbi0wIGRhdGEtW3N0YXRlPWRlbGF5ZWQtb3Blbl06em9vbS1pbi05NSBkYXRhLWNsb3NlZDphbmltYXRlLW91dCBkYXRhLWNsb3NlZDpmYWRlLW91dC0wIGRhdGEtY2xvc2VkOnpvb20tb3V0LTk1IGRhdGEtW3NpZGU9Ym90dG9tXTpzbGlkZS1pbi1mcm9tLXRvcC0yIGRhdGEtW3NpZGU9bGVmdF06c2xpZGUtaW4tZnJvbS1yaWdodC0yIGRhdGEtW3NpZGU9cmlnaHRdOnNsaWRlLWluLWZyb20tbGVmdC0yIGRhdGEtW3NpZGU9dG9wXTpzbGlkZS1pbi1mcm9tLWJvdHRvbS0yIHJvdW5kZWQtbWQgcHgtMyBweS0xLjUgdGV4dC14cyBkYXRhLVtzaWRlPWlubGluZS1zdGFydF06c2xpZGUtaW4tZnJvbS1yaWdodC0yIGRhdGEtW3NpZGU9aW5saW5lLWVuZF06c2xpZGUtaW4tZnJvbS1sZWZ0LTIgYmctZm9yZWdyb3VuZCB0ZXh0LWJhY2tncm91bmQgei01MCB3LWZpdCBtYXgtdy14cyBvcmlnaW4tKC0tdHJhbnNmb3JtLW9yaWdpbilcIixcbiAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICApfVxuICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8VG9vbHRpcFByaW1pdGl2ZS5BcnJvdyBjbGFzc05hbWU9XCJzaXplLTIuNSB0cmFuc2xhdGUteS1bY2FsYygtNTAlXy1fMnB4KV0gcm90YXRlLTQ1IHJvdW5kZWQtWzJweF0gZGF0YS1bc2lkZT1pbmxpbmUtc3RhcnRdOnRvcC0xLzIhIGRhdGEtW3NpZGU9aW5saW5lLXN0YXJ0XTotcmlnaHQtMSBkYXRhLVtzaWRlPWlubGluZS1zdGFydF06LXRyYW5zbGF0ZS15LTEvMiBkYXRhLVtzaWRlPWlubGluZS1lbmRdOnRvcC0xLzIhIGRhdGEtW3NpZGU9aW5saW5lLWVuZF06LWxlZnQtMSBkYXRhLVtzaWRlPWlubGluZS1lbmRdOi10cmFuc2xhdGUteS0xLzIgYmctZm9yZWdyb3VuZCBmaWxsLWZvcmVncm91bmQgei01MCBkYXRhLVtzaWRlPWJvdHRvbV06dG9wLTEgZGF0YS1bc2lkZT1sZWZ0XTp0b3AtMS8yISBkYXRhLVtzaWRlPWxlZnRdOi1yaWdodC0xIGRhdGEtW3NpZGU9bGVmdF06LXRyYW5zbGF0ZS15LTEvMiBkYXRhLVtzaWRlPXJpZ2h0XTp0b3AtMS8yISBkYXRhLVtzaWRlPXJpZ2h0XTotbGVmdC0xIGRhdGEtW3NpZGU9cmlnaHRdOi10cmFuc2xhdGUteS0xLzIgZGF0YS1bc2lkZT10b3BdOi1ib3R0b20tMi41XCIgLz5cbiAgICAgICAgPC9Ub29sdGlwUHJpbWl0aXZlLlBvcHVwPlxuICAgICAgPC9Ub29sdGlwUHJpbWl0aXZlLlBvc2l0aW9uZXI+XG4gICAgPC9Ub29sdGlwUHJpbWl0aXZlLlBvcnRhbD5cbiAgKVxufVxuXG5leHBvcnQgeyBUb29sdGlwLCBUb29sdGlwVHJpZ2dlciwgVG9vbHRpcENvbnRlbnQsIFRvb2x0aXBQcm92aWRlciB9XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
process.removeAllListeners("warning");
|
|
3
|
+
process.on("warning", warning => {
|
|
4
|
+
if (warning.name === "ExperimentalWarning") {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
console.warn(warning);
|
|
8
|
+
});
|
|
9
|
+
const { program } = await import("../program.js");
|
|
10
|
+
program.parse();
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9lbnRyeXBvaW50cy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUE7QUFDckMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEVBQUU7SUFDOUIsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLHFCQUFxQixFQUFFLENBQUM7UUFDM0MsT0FBTTtJQUNSLENBQUM7SUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3ZCLENBQUMsQ0FBQyxDQUFBO0FBRUYsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBQ2pELE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxucHJvY2Vzcy5yZW1vdmVBbGxMaXN0ZW5lcnMoXCJ3YXJuaW5nXCIpXG5wcm9jZXNzLm9uKFwid2FybmluZ1wiLCB3YXJuaW5nID0+IHtcbiAgaWYgKHdhcm5pbmcubmFtZSA9PT0gXCJFeHBlcmltZW50YWxXYXJuaW5nXCIpIHtcbiAgICByZXR1cm5cbiAgfVxuICBjb25zb2xlLndhcm4od2FybmluZylcbn0pXG5cbmNvbnN0IHsgcHJvZ3JhbSB9ID0gYXdhaXQgaW1wb3J0KFwiLi4vcHJvZ3JhbS50c1wiKVxucHJvZ3JhbS5wYXJzZSgpXG4iXX0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Binary, Blocks, BrainCircuit, Bug, Cloud, Code, Cpu, Database, FileCode, GitBranch, Globe, HardDrive, Layers, Network, Rocket, Server, Shield, SlidersHorizontal, Terminal, Webhook, Zap, } from "lucide-react";
|
|
2
|
+
export const articleIcons = {
|
|
3
|
+
binary: Binary,
|
|
4
|
+
blocks: Blocks,
|
|
5
|
+
"brain-circuit": BrainCircuit,
|
|
6
|
+
bug: Bug,
|
|
7
|
+
cloud: Cloud,
|
|
8
|
+
code: Code,
|
|
9
|
+
cpu: Cpu,
|
|
10
|
+
database: Database,
|
|
11
|
+
"file-code": FileCode,
|
|
12
|
+
"git-branch": GitBranch,
|
|
13
|
+
globe: Globe,
|
|
14
|
+
"hard-drive": HardDrive,
|
|
15
|
+
layers: Layers,
|
|
16
|
+
network: Network,
|
|
17
|
+
rocket: Rocket,
|
|
18
|
+
server: Server,
|
|
19
|
+
shield: Shield,
|
|
20
|
+
"sliders-horizontal": SlidersHorizontal,
|
|
21
|
+
terminal: Terminal,
|
|
22
|
+
webhook: Webhook,
|
|
23
|
+
zap: Zap,
|
|
24
|
+
};
|
|
25
|
+
const defaultIconNames = Object.keys(articleIcons);
|
|
26
|
+
/** Deterministic icon name based on article path */
|
|
27
|
+
export function pickDefaultIcon(path) {
|
|
28
|
+
let hash = 0;
|
|
29
|
+
for (let i = 0; i < path.length; i++) {
|
|
30
|
+
hash = (hash * 31 + path.charCodeAt(i)) | 0;
|
|
31
|
+
}
|
|
32
|
+
return defaultIconNames[Math.abs(hash) % defaultIconNames.length];
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS1pY29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2hlbHBlcnMvYXJ0aWNsZS1pY29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFlBQVksRUFDWixHQUFHLEVBQ0gsS0FBSyxFQUNMLElBQUksRUFDSixHQUFHLEVBQ0gsUUFBUSxFQUNSLFFBQVEsRUFDUixTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sT0FBTyxFQUNQLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNOLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsT0FBTyxFQUNQLEdBQUcsR0FDSixNQUFNLGNBQWMsQ0FBQTtBQUVyQixNQUFNLENBQUMsTUFBTSxZQUFZLEdBR3JCO0lBQ0YsTUFBTSxFQUFFLE1BQU07SUFDZCxNQUFNLEVBQUUsTUFBTTtJQUNkLGVBQWUsRUFBRSxZQUFZO0lBQzdCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsS0FBSyxFQUFFLEtBQUs7SUFDWixJQUFJLEVBQUUsSUFBSTtJQUNWLEdBQUcsRUFBRSxHQUFHO0lBQ1IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsV0FBVyxFQUFFLFFBQVE7SUFDckIsWUFBWSxFQUFFLFNBQVM7SUFDdkIsS0FBSyxFQUFFLEtBQUs7SUFDWixZQUFZLEVBQUUsU0FBUztJQUN2QixNQUFNLEVBQUUsTUFBTTtJQUNkLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLE1BQU0sRUFBRSxNQUFNO0lBQ2QsTUFBTSxFQUFFLE1BQU07SUFDZCxNQUFNLEVBQUUsTUFBTTtJQUNkLG9CQUFvQixFQUFFLGlCQUFpQjtJQUN2QyxRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsT0FBTztJQUNoQixHQUFHLEVBQUUsR0FBRztDQUNULENBQUE7QUFFRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7QUFFbEQsb0RBQW9EO0FBQ3BELE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBWTtJQUMxQyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUE7SUFDWixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3JDLElBQUksR0FBRyxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBRSxDQUFBO0FBQ3BFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCaW5hcnksXG4gIEJsb2NrcyxcbiAgQnJhaW5DaXJjdWl0LFxuICBCdWcsXG4gIENsb3VkLFxuICBDb2RlLFxuICBDcHUsXG4gIERhdGFiYXNlLFxuICBGaWxlQ29kZSxcbiAgR2l0QnJhbmNoLFxuICBHbG9iZSxcbiAgSGFyZERyaXZlLFxuICBMYXllcnMsXG4gIE5ldHdvcmssXG4gIFJvY2tldCxcbiAgU2VydmVyLFxuICBTaGllbGQsXG4gIFNsaWRlcnNIb3Jpem9udGFsLFxuICBUZXJtaW5hbCxcbiAgV2ViaG9vayxcbiAgWmFwLFxufSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcblxuZXhwb3J0IGNvbnN0IGFydGljbGVJY29uczogUmVjb3JkPFxuICBzdHJpbmcsXG4gIFJlYWN0LkNvbXBvbmVudFR5cGU8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+XG4+ID0ge1xuICBiaW5hcnk6IEJpbmFyeSxcbiAgYmxvY2tzOiBCbG9ja3MsXG4gIFwiYnJhaW4tY2lyY3VpdFwiOiBCcmFpbkNpcmN1aXQsXG4gIGJ1ZzogQnVnLFxuICBjbG91ZDogQ2xvdWQsXG4gIGNvZGU6IENvZGUsXG4gIGNwdTogQ3B1LFxuICBkYXRhYmFzZTogRGF0YWJhc2UsXG4gIFwiZmlsZS1jb2RlXCI6IEZpbGVDb2RlLFxuICBcImdpdC1icmFuY2hcIjogR2l0QnJhbmNoLFxuICBnbG9iZTogR2xvYmUsXG4gIFwiaGFyZC1kcml2ZVwiOiBIYXJkRHJpdmUsXG4gIGxheWVyczogTGF5ZXJzLFxuICBuZXR3b3JrOiBOZXR3b3JrLFxuICByb2NrZXQ6IFJvY2tldCxcbiAgc2VydmVyOiBTZXJ2ZXIsXG4gIHNoaWVsZDogU2hpZWxkLFxuICBcInNsaWRlcnMtaG9yaXpvbnRhbFwiOiBTbGlkZXJzSG9yaXpvbnRhbCxcbiAgdGVybWluYWw6IFRlcm1pbmFsLFxuICB3ZWJob29rOiBXZWJob29rLFxuICB6YXA6IFphcCxcbn1cblxuY29uc3QgZGVmYXVsdEljb25OYW1lcyA9IE9iamVjdC5rZXlzKGFydGljbGVJY29ucylcblxuLyoqIERldGVybWluaXN0aWMgaWNvbiBuYW1lIGJhc2VkIG9uIGFydGljbGUgcGF0aCAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBpY2tEZWZhdWx0SWNvbihwYXRoOiBzdHJpbmcpIHtcbiAgbGV0IGhhc2ggPSAwXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aC5sZW5ndGg7IGkrKykge1xuICAgIGhhc2ggPSAoaGFzaCAqIDMxICsgcGF0aC5jaGFyQ29kZUF0KGkpKSB8IDBcbiAgfVxuICByZXR1cm4gZGVmYXVsdEljb25OYW1lc1tNYXRoLmFicyhoYXNoKSAlIGRlZmF1bHRJY29uTmFtZXMubGVuZ3RoXSFcbn1cbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ArticleGroup, ArticleNode } from "../models/article.ts";
|
|
2
|
+
/** Build a tree from a flat sorted list of articles based on path hierarchy */
|
|
3
|
+
export declare function buildArticleTree(articles: {
|
|
4
|
+
path: string;
|
|
5
|
+
title: string;
|
|
6
|
+
label?: string;
|
|
7
|
+
icon: string;
|
|
8
|
+
}[]): ArticleNode[];
|
|
9
|
+
/**
|
|
10
|
+
* Partition root nodes into sidebar sections.
|
|
11
|
+
*
|
|
12
|
+
* Walks root nodes in sort order. A root whose article has a `group` field
|
|
13
|
+
* opens a new section; subsequent roots without `group` append to the current
|
|
14
|
+
* section. Roots before the first `group` field land in a single leading
|
|
15
|
+
* section with `name: undefined` (rendered without a label).
|
|
16
|
+
*
|
|
17
|
+
* `group` on non-root articles is ignored — only roots gate section boundaries.
|
|
18
|
+
*/
|
|
19
|
+
export declare function groupArticleTree(tree: ArticleNode[], articles: {
|
|
20
|
+
path: string;
|
|
21
|
+
group?: string;
|
|
22
|
+
}[]): ArticleGroup[];
|
|
23
|
+
/** Depth-first flatten of an article tree into a list of paths */
|
|
24
|
+
export declare function flattenArticleTree(nodes: ArticleNode[]): string[];
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/** Build a tree from a flat sorted list of articles based on path hierarchy */
|
|
2
|
+
export function buildArticleTree(articles) {
|
|
3
|
+
const nodeMap = new Map();
|
|
4
|
+
for (const article of articles) {
|
|
5
|
+
nodeMap.set(article.path, {
|
|
6
|
+
path: article.path,
|
|
7
|
+
title: article.title,
|
|
8
|
+
label: article.label,
|
|
9
|
+
icon: article.icon,
|
|
10
|
+
children: [],
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
const roots = [];
|
|
14
|
+
for (const article of articles) {
|
|
15
|
+
const node = nodeMap.get(article.path);
|
|
16
|
+
if (!node)
|
|
17
|
+
continue;
|
|
18
|
+
const trimmed = article.path.replace(/\/$/, "");
|
|
19
|
+
const lastSlash = trimmed.lastIndexOf("/");
|
|
20
|
+
const parentPath = lastSlash > 0 ? `${trimmed.slice(0, lastSlash)}/` : "";
|
|
21
|
+
const parent = parentPath ? nodeMap.get(parentPath) : undefined;
|
|
22
|
+
if (parent) {
|
|
23
|
+
parent.children.push(node);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
roots.push(node);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return roots;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Partition root nodes into sidebar sections.
|
|
33
|
+
*
|
|
34
|
+
* Walks root nodes in sort order. A root whose article has a `group` field
|
|
35
|
+
* opens a new section; subsequent roots without `group` append to the current
|
|
36
|
+
* section. Roots before the first `group` field land in a single leading
|
|
37
|
+
* section with `name: undefined` (rendered without a label).
|
|
38
|
+
*
|
|
39
|
+
* `group` on non-root articles is ignored — only roots gate section boundaries.
|
|
40
|
+
*/
|
|
41
|
+
export function groupArticleTree(tree, articles) {
|
|
42
|
+
const groupByPathname = new Map();
|
|
43
|
+
for (const article of articles) {
|
|
44
|
+
groupByPathname.set(article.path, article.group);
|
|
45
|
+
}
|
|
46
|
+
const sections = [];
|
|
47
|
+
let current;
|
|
48
|
+
for (const node of tree) {
|
|
49
|
+
const group = groupByPathname.get(node.path);
|
|
50
|
+
if (group) {
|
|
51
|
+
current = { name: group, nodes: [node] };
|
|
52
|
+
sections.push(current);
|
|
53
|
+
}
|
|
54
|
+
else if (current) {
|
|
55
|
+
current.nodes.push(node);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
current = { name: undefined, nodes: [node] };
|
|
59
|
+
sections.push(current);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return sections;
|
|
63
|
+
}
|
|
64
|
+
/** Depth-first flatten of an article tree into a list of paths */
|
|
65
|
+
export function flattenArticleTree(nodes) {
|
|
66
|
+
const result = [];
|
|
67
|
+
for (const node of nodes) {
|
|
68
|
+
result.push(node.path);
|
|
69
|
+
result.push(...flattenArticleTree(node.children));
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9oZWxwZXJzL2FydGljbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsK0VBQStFO0FBQy9FLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsUUFLRztJQUVILE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFBO0lBRTlDLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7UUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ3hCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDcEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1lBQ3BCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixRQUFRLEVBQUUsRUFBRTtTQUNiLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBa0IsRUFBRSxDQUFBO0lBRS9CLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7UUFDL0IsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDdEMsSUFBSSxDQUFDLElBQUk7WUFBRSxTQUFRO1FBQ25CLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUMvQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzFDLE1BQU0sVUFBVSxHQUFHLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1FBQ3pFLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO1FBRS9ELElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM1QixDQUFDO2FBQU0sQ0FBQztZQUNOLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLElBQW1CLEVBQ25CLFFBQTRDO0lBRTVDLE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFBO0lBQzdELEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7UUFDL0IsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQW1CLEVBQUUsQ0FBQTtJQUNuQyxJQUFJLE9BQWlDLENBQUE7SUFFckMsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN4QixNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM1QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsT0FBTyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFBO1lBQ3hDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDeEIsQ0FBQzthQUFNLElBQUksT0FBTyxFQUFFLENBQUM7WUFDbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDMUIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUE7WUFDNUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUM7QUFFRCxrRUFBa0U7QUFDbEUsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEtBQW9CO0lBQ3JELE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQTtJQUMzQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUNuRCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBcnRpY2xlR3JvdXAsIEFydGljbGVOb2RlIH0gZnJvbSBcIi4uL21vZGVscy9hcnRpY2xlLnRzXCJcblxuLyoqIEJ1aWxkIGEgdHJlZSBmcm9tIGEgZmxhdCBzb3J0ZWQgbGlzdCBvZiBhcnRpY2xlcyBiYXNlZCBvbiBwYXRoIGhpZXJhcmNoeSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQXJ0aWNsZVRyZWUoXG4gIGFydGljbGVzOiB7XG4gICAgcGF0aDogc3RyaW5nXG4gICAgdGl0bGU6IHN0cmluZ1xuICAgIGxhYmVsPzogc3RyaW5nXG4gICAgaWNvbjogc3RyaW5nXG4gIH1bXSxcbikge1xuICBjb25zdCBub2RlTWFwID0gbmV3IE1hcDxzdHJpbmcsIEFydGljbGVOb2RlPigpXG5cbiAgZm9yIChjb25zdCBhcnRpY2xlIG9mIGFydGljbGVzKSB7XG4gICAgbm9kZU1hcC5zZXQoYXJ0aWNsZS5wYXRoLCB7XG4gICAgICBwYXRoOiBhcnRpY2xlLnBhdGgsXG4gICAgICB0aXRsZTogYXJ0aWNsZS50aXRsZSxcbiAgICAgIGxhYmVsOiBhcnRpY2xlLmxhYmVsLFxuICAgICAgaWNvbjogYXJ0aWNsZS5pY29uLFxuICAgICAgY2hpbGRyZW46IFtdLFxuICAgIH0pXG4gIH1cblxuICBjb25zdCByb290czogQXJ0aWNsZU5vZGVbXSA9IFtdXG5cbiAgZm9yIChjb25zdCBhcnRpY2xlIG9mIGFydGljbGVzKSB7XG4gICAgY29uc3Qgbm9kZSA9IG5vZGVNYXAuZ2V0KGFydGljbGUucGF0aClcbiAgICBpZiAoIW5vZGUpIGNvbnRpbnVlXG4gICAgY29uc3QgdHJpbW1lZCA9IGFydGljbGUucGF0aC5yZXBsYWNlKC9cXC8kLywgXCJcIilcbiAgICBjb25zdCBsYXN0U2xhc2ggPSB0cmltbWVkLmxhc3RJbmRleE9mKFwiL1wiKVxuICAgIGNvbnN0IHBhcmVudFBhdGggPSBsYXN0U2xhc2ggPiAwID8gYCR7dHJpbW1lZC5zbGljZSgwLCBsYXN0U2xhc2gpfS9gIDogXCJcIlxuICAgIGNvbnN0IHBhcmVudCA9IHBhcmVudFBhdGggPyBub2RlTWFwLmdldChwYXJlbnRQYXRoKSA6IHVuZGVmaW5lZFxuXG4gICAgaWYgKHBhcmVudCkge1xuICAgICAgcGFyZW50LmNoaWxkcmVuLnB1c2gobm9kZSlcbiAgICB9IGVsc2Uge1xuICAgICAgcm9vdHMucHVzaChub2RlKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByb290c1xufVxuXG4vKipcbiAqIFBhcnRpdGlvbiByb290IG5vZGVzIGludG8gc2lkZWJhciBzZWN0aW9ucy5cbiAqXG4gKiBXYWxrcyByb290IG5vZGVzIGluIHNvcnQgb3JkZXIuIEEgcm9vdCB3aG9zZSBhcnRpY2xlIGhhcyBhIGBncm91cGAgZmllbGRcbiAqIG9wZW5zIGEgbmV3IHNlY3Rpb247IHN1YnNlcXVlbnQgcm9vdHMgd2l0aG91dCBgZ3JvdXBgIGFwcGVuZCB0byB0aGUgY3VycmVudFxuICogc2VjdGlvbi4gUm9vdHMgYmVmb3JlIHRoZSBmaXJzdCBgZ3JvdXBgIGZpZWxkIGxhbmQgaW4gYSBzaW5nbGUgbGVhZGluZ1xuICogc2VjdGlvbiB3aXRoIGBuYW1lOiB1bmRlZmluZWRgIChyZW5kZXJlZCB3aXRob3V0IGEgbGFiZWwpLlxuICpcbiAqIGBncm91cGAgb24gbm9uLXJvb3QgYXJ0aWNsZXMgaXMgaWdub3JlZCDigJQgb25seSByb290cyBnYXRlIHNlY3Rpb24gYm91bmRhcmllcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwQXJ0aWNsZVRyZWUoXG4gIHRyZWU6IEFydGljbGVOb2RlW10sXG4gIGFydGljbGVzOiB7IHBhdGg6IHN0cmluZzsgZ3JvdXA/OiBzdHJpbmcgfVtdLFxuKTogQXJ0aWNsZUdyb3VwW10ge1xuICBjb25zdCBncm91cEJ5UGF0aG5hbWUgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPigpXG4gIGZvciAoY29uc3QgYXJ0aWNsZSBvZiBhcnRpY2xlcykge1xuICAgIGdyb3VwQnlQYXRobmFtZS5zZXQoYXJ0aWNsZS5wYXRoLCBhcnRpY2xlLmdyb3VwKVxuICB9XG5cbiAgY29uc3Qgc2VjdGlvbnM6IEFydGljbGVHcm91cFtdID0gW11cbiAgbGV0IGN1cnJlbnQ6IEFydGljbGVHcm91cCB8IHVuZGVmaW5lZFxuXG4gIGZvciAoY29uc3Qgbm9kZSBvZiB0cmVlKSB7XG4gICAgY29uc3QgZ3JvdXAgPSBncm91cEJ5UGF0aG5hbWUuZ2V0KG5vZGUucGF0aClcbiAgICBpZiAoZ3JvdXApIHtcbiAgICAgIGN1cnJlbnQgPSB7IG5hbWU6IGdyb3VwLCBub2RlczogW25vZGVdIH1cbiAgICAgIHNlY3Rpb25zLnB1c2goY3VycmVudClcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnQpIHtcbiAgICAgIGN1cnJlbnQubm9kZXMucHVzaChub2RlKVxuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyZW50ID0geyBuYW1lOiB1bmRlZmluZWQsIG5vZGVzOiBbbm9kZV0gfVxuICAgICAgc2VjdGlvbnMucHVzaChjdXJyZW50KVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzZWN0aW9uc1xufVxuXG4vKiogRGVwdGgtZmlyc3QgZmxhdHRlbiBvZiBhbiBhcnRpY2xlIHRyZWUgaW50byBhIGxpc3Qgb2YgcGF0aHMgKi9cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuQXJ0aWNsZVRyZWUobm9kZXM6IEFydGljbGVOb2RlW10pIHtcbiAgY29uc3QgcmVzdWx0OiBzdHJpbmdbXSA9IFtdXG4gIGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xuICAgIHJlc3VsdC5wdXNoKG5vZGUucGF0aClcbiAgICByZXN1bHQucHVzaCguLi5mbGF0dGVuQXJ0aWNsZVRyZWUobm9kZS5jaGlsZHJlbikpXG4gIH1cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Returns true if a changelog source string is a GitHub repo URL */
|
|
2
|
+
export declare function isGitHubUrl(source: string): boolean;
|
|
3
|
+
/** Extract `{ owner, repo }` from a GitHub URL. Returns undefined if unparseable */
|
|
4
|
+
export declare function parseGitHubRepo(source: string): {
|
|
5
|
+
owner: string;
|
|
6
|
+
repo: string;
|
|
7
|
+
} | undefined;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** Returns true if a changelog source string is a GitHub repo URL */
|
|
2
|
+
export function isGitHubUrl(source) {
|
|
3
|
+
return /^(https?:\/\/)?(www\.)?github\.com\//.test(source);
|
|
4
|
+
}
|
|
5
|
+
/** Extract `{ owner, repo }` from a GitHub URL. Returns undefined if unparseable */
|
|
6
|
+
export function parseGitHubRepo(source) {
|
|
7
|
+
const match = source.match(/^(?:https?:\/\/)?(?:www\.)?github\.com\/([^/]+)\/([^/#?]+)/);
|
|
8
|
+
if (!match)
|
|
9
|
+
return undefined;
|
|
10
|
+
const owner = match[1];
|
|
11
|
+
const repo = match[2]?.replace(/\.git$/, "");
|
|
12
|
+
if (!owner || !repo)
|
|
13
|
+
return undefined;
|
|
14
|
+
return { owner, repo };
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlbG9nLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9oZWxwZXJzL2NoYW5nZWxvZy1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUVBQXFFO0FBQ3JFLE1BQU0sVUFBVSxXQUFXLENBQUMsTUFBYztJQUN4QyxPQUFPLHNDQUFzQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUM1RCxDQUFDO0FBRUQsb0ZBQW9GO0FBQ3BGLE1BQU0sVUFBVSxlQUFlLENBQUMsTUFBYztJQUM1QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUN4Qiw0REFBNEQsQ0FDN0QsQ0FBQTtJQUNELElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxTQUFTLENBQUE7SUFDNUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3RCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQzVDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxTQUFTLENBQUE7SUFDckMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQTtBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFJldHVybnMgdHJ1ZSBpZiBhIGNoYW5nZWxvZyBzb3VyY2Ugc3RyaW5nIGlzIGEgR2l0SHViIHJlcG8gVVJMICovXG5leHBvcnQgZnVuY3Rpb24gaXNHaXRIdWJVcmwoc291cmNlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIC9eKGh0dHBzPzpcXC9cXC8pPyh3d3dcXC4pP2dpdGh1YlxcLmNvbVxcLy8udGVzdChzb3VyY2UpXG59XG5cbi8qKiBFeHRyYWN0IGB7IG93bmVyLCByZXBvIH1gIGZyb20gYSBHaXRIdWIgVVJMLiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB1bnBhcnNlYWJsZSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlR2l0SHViUmVwbyhzb3VyY2U6IHN0cmluZykge1xuICBjb25zdCBtYXRjaCA9IHNvdXJjZS5tYXRjaChcbiAgICAvXig/Omh0dHBzPzpcXC9cXC8pPyg/Ond3d1xcLik/Z2l0aHViXFwuY29tXFwvKFteL10rKVxcLyhbXi8jP10rKS8sXG4gIClcbiAgaWYgKCFtYXRjaCkgcmV0dXJuIHVuZGVmaW5lZFxuICBjb25zdCBvd25lciA9IG1hdGNoWzFdXG4gIGNvbnN0IHJlcG8gPSBtYXRjaFsyXT8ucmVwbGFjZSgvXFwuZ2l0JC8sIFwiXCIpXG4gIGlmICghb3duZXIgfHwgIXJlcG8pIHJldHVybiB1bmRlZmluZWRcbiAgcmV0dXJuIHsgb3duZXIsIHJlcG8gfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { describe, expect, it } from "vite-plus/test";
|
|
2
|
+
import { isGitHubUrl, parseGitHubRepo } from "./changelog-source.js";
|
|
3
|
+
describe("isGitHubUrl", () => {
|
|
4
|
+
it("recognizes https github URLs", () => {
|
|
5
|
+
expect(isGitHubUrl("https://github.com/foo/bar")).toBe(true);
|
|
6
|
+
});
|
|
7
|
+
it("recognizes bare github.com URLs", () => {
|
|
8
|
+
expect(isGitHubUrl("github.com/foo/bar")).toBe(true);
|
|
9
|
+
});
|
|
10
|
+
it("rejects local paths", () => {
|
|
11
|
+
expect(isGitHubUrl("CHANGELOG.md")).toBe(false);
|
|
12
|
+
expect(isGitHubUrl("./CHANGELOG.md")).toBe(false);
|
|
13
|
+
expect(isGitHubUrl("docs/CHANGELOG.md")).toBe(false);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
describe("parseGitHubRepo", () => {
|
|
17
|
+
it("extracts owner and repo from https URL", () => {
|
|
18
|
+
expect(parseGitHubRepo("https://github.com/datisthq/livemark")).toEqual({
|
|
19
|
+
owner: "datisthq",
|
|
20
|
+
repo: "livemark",
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
it("strips .git suffix", () => {
|
|
24
|
+
expect(parseGitHubRepo("https://github.com/foo/bar.git")).toEqual({
|
|
25
|
+
owner: "foo",
|
|
26
|
+
repo: "bar",
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
it("returns undefined for non-github input", () => {
|
|
30
|
+
expect(parseGitHubRepo("CHANGELOG.md")).toBeUndefined();
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlbG9nLXNvdXJjZS51bml0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2hlbHBlcnMvY2hhbmdlbG9nLXNvdXJjZS51bml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFFcEUsUUFBUSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7SUFDM0IsRUFBRSxDQUFDLDhCQUE4QixFQUFFLEdBQUcsRUFBRTtRQUN0QyxNQUFNLENBQUMsV0FBVyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDOUQsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO1FBQ3pDLE1BQU0sQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN0RCxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7UUFDN0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMvQyxNQUFNLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDakQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3RELENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFDLENBQUE7QUFFRixRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO0lBQy9CLEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRSxHQUFHLEVBQUU7UUFDaEQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3RFLEtBQUssRUFBRSxVQUFVO1lBQ2pCLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRTtRQUM1QixNQUFNLENBQUMsZUFBZSxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDaEUsS0FBSyxFQUFFLEtBQUs7WUFDWixJQUFJLEVBQUUsS0FBSztTQUNaLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLHdDQUF3QyxFQUFFLEdBQUcsRUFBRTtRQUNoRCxNQUFNLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDekQsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2NyaWJlLCBleHBlY3QsIGl0IH0gZnJvbSBcInZpdGUtcGx1cy90ZXN0XCJcbmltcG9ydCB7IGlzR2l0SHViVXJsLCBwYXJzZUdpdEh1YlJlcG8gfSBmcm9tIFwiLi9jaGFuZ2Vsb2ctc291cmNlLnRzXCJcblxuZGVzY3JpYmUoXCJpc0dpdEh1YlVybFwiLCAoKSA9PiB7XG4gIGl0KFwicmVjb2duaXplcyBodHRwcyBnaXRodWIgVVJMc1wiLCAoKSA9PiB7XG4gICAgZXhwZWN0KGlzR2l0SHViVXJsKFwiaHR0cHM6Ly9naXRodWIuY29tL2Zvby9iYXJcIikpLnRvQmUodHJ1ZSlcbiAgfSlcblxuICBpdChcInJlY29nbml6ZXMgYmFyZSBnaXRodWIuY29tIFVSTHNcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChpc0dpdEh1YlVybChcImdpdGh1Yi5jb20vZm9vL2JhclwiKSkudG9CZSh0cnVlKVxuICB9KVxuXG4gIGl0KFwicmVqZWN0cyBsb2NhbCBwYXRoc1wiLCAoKSA9PiB7XG4gICAgZXhwZWN0KGlzR2l0SHViVXJsKFwiQ0hBTkdFTE9HLm1kXCIpKS50b0JlKGZhbHNlKVxuICAgIGV4cGVjdChpc0dpdEh1YlVybChcIi4vQ0hBTkdFTE9HLm1kXCIpKS50b0JlKGZhbHNlKVxuICAgIGV4cGVjdChpc0dpdEh1YlVybChcImRvY3MvQ0hBTkdFTE9HLm1kXCIpKS50b0JlKGZhbHNlKVxuICB9KVxufSlcblxuZGVzY3JpYmUoXCJwYXJzZUdpdEh1YlJlcG9cIiwgKCkgPT4ge1xuICBpdChcImV4dHJhY3RzIG93bmVyIGFuZCByZXBvIGZyb20gaHR0cHMgVVJMXCIsICgpID0+IHtcbiAgICBleHBlY3QocGFyc2VHaXRIdWJSZXBvKFwiaHR0cHM6Ly9naXRodWIuY29tL2RhdGlzdGhxL2xpdmVtYXJrXCIpKS50b0VxdWFsKHtcbiAgICAgIG93bmVyOiBcImRhdGlzdGhxXCIsXG4gICAgICByZXBvOiBcImxpdmVtYXJrXCIsXG4gICAgfSlcbiAgfSlcblxuICBpdChcInN0cmlwcyAuZ2l0IHN1ZmZpeFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KHBhcnNlR2l0SHViUmVwbyhcImh0dHBzOi8vZ2l0aHViLmNvbS9mb28vYmFyLmdpdFwiKSkudG9FcXVhbCh7XG4gICAgICBvd25lcjogXCJmb29cIixcbiAgICAgIHJlcG86IFwiYmFyXCIsXG4gICAgfSlcbiAgfSlcblxuICBpdChcInJldHVybnMgdW5kZWZpbmVkIGZvciBub24tZ2l0aHViIGlucHV0XCIsICgpID0+IHtcbiAgICBleHBlY3QocGFyc2VHaXRIdWJSZXBvKFwiQ0hBTkdFTE9HLm1kXCIpKS50b0JlVW5kZWZpbmVkKClcbiAgfSlcbn0pXG4iXX0=
|