@shepai/cli 1.12.0 → 1.14.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/dist/eslint.config.mjs +28 -0
- package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
- package/dist/src/presentation/web/app/layout.js +2 -1
- package/dist/src/presentation/web/app/page.js +1 -1
- package/dist/src/presentation/web/app/version/page.js +1 -1
- package/dist/src/presentation/web/components/common/elapsed-time/elapsed-time.d.ts +7 -0
- package/dist/src/presentation/web/components/common/elapsed-time/elapsed-time.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/elapsed-time/elapsed-time.js +23 -0
- package/dist/src/presentation/web/components/common/elapsed-time/elapsed-time.stories.d.ts +10 -0
- package/dist/src/presentation/web/components/common/elapsed-time/elapsed-time.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/elapsed-time/elapsed-time.stories.js +30 -0
- package/dist/src/presentation/web/components/common/elapsed-time/index.d.ts +2 -0
- package/dist/src/presentation/web/components/common/elapsed-time/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/elapsed-time/index.js +1 -0
- package/dist/src/presentation/web/components/common/empty-state/empty-state.d.ts +9 -0
- package/dist/src/presentation/web/components/common/empty-state/empty-state.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/empty-state/empty-state.js +5 -0
- package/dist/src/presentation/web/components/common/empty-state/empty-state.stories.d.ts +11 -0
- package/dist/src/presentation/web/components/common/empty-state/empty-state.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/empty-state/empty-state.stories.js +45 -0
- package/dist/src/presentation/web/components/common/empty-state/index.d.ts +2 -0
- package/dist/src/presentation/web/components/common/empty-state/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/empty-state/index.js +1 -0
- package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.d.ts +10 -0
- package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.js +9 -0
- package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts +10 -0
- package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.js +42 -0
- package/dist/src/presentation/web/components/common/feature-list-item/index.d.ts +3 -0
- package/dist/src/presentation/web/components/common/feature-list-item/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-list-item/index.js +1 -0
- package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.d.ts +8 -0
- package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.js +13 -0
- package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.stories.d.ts +12 -0
- package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.stories.js +45 -0
- package/dist/src/presentation/web/components/common/feature-status-badges/index.d.ts +3 -0
- package/dist/src/presentation/web/components/common/feature-status-badges/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-status-badges/index.js +1 -0
- package/dist/src/presentation/web/components/common/feature-status-config.d.ts +11 -0
- package/dist/src/presentation/web/components/common/feature-status-config.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-status-config.js +22 -0
- package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.d.ts +8 -0
- package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.js +5 -0
- package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.stories.d.ts +9 -0
- package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.stories.js +37 -0
- package/dist/src/presentation/web/components/common/feature-status-group/index.d.ts +3 -0
- package/dist/src/presentation/web/components/common/feature-status-group/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/feature-status-group/index.js +1 -0
- package/dist/src/presentation/web/components/common/loading-skeleton/index.d.ts +2 -0
- package/dist/src/presentation/web/components/common/loading-skeleton/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/loading-skeleton/index.js +1 -0
- package/dist/src/presentation/web/components/common/loading-skeleton/loading-skeleton.d.ts +14 -0
- package/dist/src/presentation/web/components/common/loading-skeleton/loading-skeleton.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/loading-skeleton/loading-skeleton.js +13 -0
- package/dist/src/presentation/web/components/common/loading-skeleton/loading-skeleton.stories.d.ts +11 -0
- package/dist/src/presentation/web/components/common/loading-skeleton/loading-skeleton.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/loading-skeleton/loading-skeleton.stories.js +48 -0
- package/dist/src/presentation/web/components/common/page-header/index.d.ts +2 -0
- package/dist/src/presentation/web/components/common/page-header/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/page-header/index.js +1 -0
- package/dist/src/presentation/web/components/common/page-header/page-header.d.ts +8 -0
- package/dist/src/presentation/web/components/common/page-header/page-header.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/page-header/page-header.js +5 -0
- package/dist/src/presentation/web/components/common/page-header/page-header.stories.d.ts +25 -0
- package/dist/src/presentation/web/components/common/page-header/page-header.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/page-header/page-header.stories.js +46 -0
- package/dist/src/presentation/web/components/common/shep-logo/index.d.ts +3 -0
- package/dist/src/presentation/web/components/common/shep-logo/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/shep-logo/index.js +1 -0
- package/dist/src/presentation/web/components/common/shep-logo/shep-logo.d.ts +6 -0
- package/dist/src/presentation/web/components/common/shep-logo/shep-logo.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/shep-logo/shep-logo.js +5 -0
- package/dist/src/presentation/web/components/common/shep-logo/shep-logo.stories.d.ts +9 -0
- package/dist/src/presentation/web/components/common/shep-logo/shep-logo.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/shep-logo/shep-logo.stories.js +21 -0
- package/dist/src/presentation/web/components/common/sidebar-collapse-toggle/index.d.ts +3 -0
- package/dist/src/presentation/web/components/common/sidebar-collapse-toggle/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/sidebar-collapse-toggle/index.js +1 -0
- package/dist/src/presentation/web/components/common/sidebar-collapse-toggle/sidebar-collapse-toggle.d.ts +5 -0
- package/dist/src/presentation/web/components/common/sidebar-collapse-toggle/sidebar-collapse-toggle.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/sidebar-collapse-toggle/sidebar-collapse-toggle.js +11 -0
- package/dist/src/presentation/web/components/common/sidebar-collapse-toggle/sidebar-collapse-toggle.stories.d.ts +8 -0
- package/dist/src/presentation/web/components/common/sidebar-collapse-toggle/sidebar-collapse-toggle.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/sidebar-collapse-toggle/sidebar-collapse-toggle.stories.js +21 -0
- package/dist/src/presentation/web/components/common/sidebar-nav-item/index.d.ts +3 -0
- package/dist/src/presentation/web/components/common/sidebar-nav-item/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/sidebar-nav-item/index.js +1 -0
- package/dist/src/presentation/web/components/common/sidebar-nav-item/sidebar-nav-item.d.ts +9 -0
- package/dist/src/presentation/web/components/common/sidebar-nav-item/sidebar-nav-item.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/sidebar-nav-item/sidebar-nav-item.js +6 -0
- package/dist/src/presentation/web/components/common/sidebar-nav-item/sidebar-nav-item.stories.d.ts +11 -0
- package/dist/src/presentation/web/components/common/sidebar-nav-item/sidebar-nav-item.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/sidebar-nav-item/sidebar-nav-item.stories.js +53 -0
- package/dist/src/presentation/web/components/common/sidebar-section-header/index.d.ts +3 -0
- package/dist/src/presentation/web/components/common/sidebar-section-header/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/sidebar-section-header/index.js +1 -0
- package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.d.ts +8 -0
- package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.js +11 -0
- package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.stories.d.ts +8 -0
- package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.stories.js +31 -0
- package/dist/src/presentation/web/components/common/theme-toggle/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/theme-toggle/theme-toggle.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/theme-toggle/theme-toggle.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/{features → common}/theme-toggle/theme-toggle.stories.js +1 -1
- package/dist/src/presentation/web/{app → components/features}/version/version-page-client.d.ts +1 -1
- package/dist/src/presentation/web/components/features/version/version-page-client.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/version/version-page-client.js +13 -0
- package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts +7 -0
- package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -0
- package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +9 -0
- package/dist/src/presentation/web/components/layouts/app-shell/index.d.ts +2 -0
- package/dist/src/presentation/web/components/layouts/app-shell/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/layouts/app-shell/index.js +1 -0
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts +17 -0
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -0
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +34 -0
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts +11 -0
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +61 -0
- package/dist/src/presentation/web/components/layouts/app-sidebar/index.d.ts +3 -0
- package/dist/src/presentation/web/components/layouts/app-sidebar/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/layouts/app-sidebar/index.js +1 -0
- package/dist/src/presentation/web/components/layouts/dashboard-layout/dashboard-layout.d.ts +13 -0
- package/dist/src/presentation/web/components/layouts/dashboard-layout/dashboard-layout.d.ts.map +1 -0
- package/dist/src/presentation/web/components/layouts/dashboard-layout/dashboard-layout.js +7 -0
- package/dist/src/presentation/web/components/layouts/dashboard-layout/dashboard-layout.stories.d.ts +9 -0
- package/dist/src/presentation/web/components/layouts/dashboard-layout/dashboard-layout.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/layouts/dashboard-layout/dashboard-layout.stories.js +41 -0
- package/dist/src/presentation/web/components/layouts/dashboard-layout/index.d.ts +2 -0
- package/dist/src/presentation/web/components/layouts/dashboard-layout/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/layouts/dashboard-layout/index.js +1 -0
- package/dist/src/presentation/web/components/layouts/header/header.d.ts +10 -0
- package/dist/src/presentation/web/components/layouts/header/header.d.ts.map +1 -0
- package/dist/src/presentation/web/components/layouts/header/header.js +5 -0
- package/dist/src/presentation/web/components/layouts/header/header.stories.d.ts +10 -0
- package/dist/src/presentation/web/components/layouts/header/header.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/layouts/header/header.stories.js +35 -0
- package/dist/src/presentation/web/components/layouts/header/index.d.ts +2 -0
- package/dist/src/presentation/web/components/layouts/header/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/layouts/header/index.js +1 -0
- package/dist/src/presentation/web/components/layouts/sidebar/index.d.ts +3 -0
- package/dist/src/presentation/web/components/layouts/sidebar/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/layouts/sidebar/index.js +1 -0
- package/dist/src/presentation/web/components/layouts/sidebar/sidebar.d.ts +14 -0
- package/dist/src/presentation/web/components/layouts/sidebar/sidebar.d.ts.map +1 -0
- package/dist/src/presentation/web/components/layouts/sidebar/sidebar.js +11 -0
- package/dist/src/presentation/web/components/layouts/sidebar/sidebar.stories.d.ts +10 -0
- package/dist/src/presentation/web/components/layouts/sidebar/sidebar.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/layouts/sidebar/sidebar.stories.js +44 -0
- package/dist/src/presentation/web/components/ui/accordion.stories.js +1 -1
- package/dist/src/presentation/web/components/ui/alert.js +1 -1
- package/dist/src/presentation/web/components/ui/alert.stories.js +1 -1
- package/dist/src/presentation/web/components/ui/badge.js +4 -4
- package/dist/src/presentation/web/components/ui/badge.stories.js +1 -1
- package/dist/src/presentation/web/components/ui/button.d.ts +3 -4
- package/dist/src/presentation/web/components/ui/button.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/button.js +18 -16
- package/dist/src/presentation/web/components/ui/button.stories.js +1 -1
- package/dist/src/presentation/web/components/ui/card.stories.js +1 -1
- package/dist/src/presentation/web/components/ui/dialog.stories.js +1 -1
- package/dist/src/presentation/web/components/ui/input.d.ts +1 -1
- package/dist/src/presentation/web/components/ui/input.d.ts.map +1 -1
- package/dist/src/presentation/web/components/ui/input.js +3 -5
- package/dist/src/presentation/web/components/ui/input.stories.js +1 -1
- package/dist/src/presentation/web/components/ui/label.js +1 -1
- package/dist/src/presentation/web/components/ui/label.stories.js +1 -1
- package/dist/src/presentation/web/components/ui/popover.stories.js +1 -1
- package/dist/src/presentation/web/components/ui/scroll-area.d.ts +6 -0
- package/dist/src/presentation/web/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/src/presentation/web/components/ui/scroll-area.js +11 -0
- package/dist/src/presentation/web/components/ui/select.stories.js +1 -1
- package/dist/src/presentation/web/components/ui/separator.d.ts +5 -0
- package/dist/src/presentation/web/components/ui/separator.d.ts.map +1 -0
- package/dist/src/presentation/web/components/ui/separator.js +8 -0
- package/dist/src/presentation/web/components/ui/sheet.d.ts +15 -0
- package/dist/src/presentation/web/components/ui/sheet.d.ts.map +1 -0
- package/dist/src/presentation/web/components/ui/sheet.js +40 -0
- package/dist/src/presentation/web/components/ui/sidebar.d.ts +70 -0
- package/dist/src/presentation/web/components/ui/sidebar.d.ts.map +1 -0
- package/dist/src/presentation/web/components/ui/sidebar.js +211 -0
- package/dist/src/presentation/web/components/ui/skeleton.d.ts +3 -0
- package/dist/src/presentation/web/components/ui/skeleton.d.ts.map +1 -0
- package/dist/src/presentation/web/components/ui/skeleton.js +6 -0
- package/dist/src/presentation/web/components/ui/sonner.stories.js +1 -1
- package/dist/src/presentation/web/components/ui/tabs.stories.js +1 -1
- package/dist/src/presentation/web/components/ui/tooltip.d.ts +8 -0
- package/dist/src/presentation/web/components/ui/tooltip.d.ts.map +1 -0
- package/dist/src/presentation/web/components/ui/tooltip.js +17 -0
- package/dist/src/presentation/web/hooks/use-deferred-mount.d.ts +10 -0
- package/dist/src/presentation/web/hooks/use-deferred-mount.d.ts.map +1 -0
- package/dist/src/presentation/web/hooks/use-deferred-mount.js +23 -0
- package/dist/src/presentation/web/hooks/use-mobile.d.ts +2 -0
- package/dist/src/presentation/web/hooks/use-mobile.d.ts.map +1 -0
- package/dist/src/presentation/web/hooks/use-mobile.js +15 -0
- package/dist/src/presentation/web/hooks/useTheme.d.ts +1 -2
- package/dist/src/presentation/web/hooks/useTheme.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/useTheme.js +5 -6
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +12 -7
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +5 -5
- package/web/.next/cache/.previewinfo +1 -1
- package/web/.next/cache/.rscinfo +1 -1
- package/web/.next/cache/.tsbuildinfo +1 -1
- package/web/.next/cache/config.json +3 -3
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/next-server.js.nft.json +1 -1
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +1 -1
- package/web/.next/required-server-files.json +1 -1
- package/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
- package/web/.next/server/app/_global-error/page.js +1 -1
- package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +7 -7
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
- package/web/.next/server/app/_not-found/page.js +2 -2
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_not-found.html +2 -2
- package/web/.next/server/app/_not-found.rsc +13 -12
- package/web/.next/server/app/_not-found.segments/_full.segment.rsc +13 -12
- package/web/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
- package/web/.next/server/app/_not-found.segments/_index.segment.rsc +5 -4
- package/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/web/.next/server/app/index.html +2 -2
- package/web/.next/server/app/index.rsc +14 -13
- package/web/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/web/.next/server/app/index.segments/_full.segment.rsc +14 -13
- package/web/.next/server/app/index.segments/_head.segment.rsc +3 -3
- package/web/.next/server/app/index.segments/_index.segment.rsc +5 -4
- package/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/web/.next/server/app/page/build-manifest.json +3 -3
- package/web/.next/server/app/page.js +2 -2
- package/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/build-manifest.json +3 -3
- package/web/.next/server/app/version/page.js +3 -3
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version.html +2 -2
- package/web/.next/server/app/version.rsc +14 -13
- package/web/.next/server/app/version.segments/_full.segment.rsc +14 -13
- package/web/.next/server/app/version.segments/_head.segment.rsc +3 -3
- package/web/.next/server/app/version.segments/_index.segment.rsc +5 -4
- package/web/.next/server/app/version.segments/_tree.segment.rsc +2 -2
- package/web/.next/server/app/version.segments/version/__PAGE__.segment.rsc +3 -3
- package/web/.next/server/app/version.segments/version.segment.rsc +3 -3
- package/web/.next/server/chunks/ssr/{403f9_next_dist_2ff794b1._.js → 403f9_next_dist_esm_ceb2fa1e._.js} +2 -2
- package/web/.next/server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18ff2ebf._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18ff2ebf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__2328b471._.js → [root-of-the-server]__479da921._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__479da921._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__3acee9dd._.js → [root-of-the-server]__659cf841._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__659cf841._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ab31d101._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ab31d101._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ccf8a903._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ccf8a903._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0f02ab66._.js +1 -1
- package/web/.next/server/chunks/ssr/_0f02ab66._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_19be0743._.js +3 -0
- package/web/.next/server/chunks/ssr/_19be0743._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_4582f3c3._.js +3 -0
- package/web/.next/server/chunks/ssr/_4582f3c3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_a0c04017._.js +10 -0
- package/web/.next/server/chunks/ssr/_a0c04017._.js.map +1 -0
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_version_version-page-client_tsx_fe9db753._.js +3 -0
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_version_version-page-client_tsx_fe9db753._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{node_modules__pnpm_522e4103._.js → node_modules__pnpm_0ce0b44d._.js} +2 -2
- package/web/.next/server/chunks/ssr/{node_modules__pnpm_522e4103._.js.map → node_modules__pnpm_0ce0b44d._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_372075f9._.js +13 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_372075f9._.js.map +1 -0
- package/web/.next/server/middleware-build-manifest.js +3 -3
- package/web/.next/server/pages/404.html +2 -2
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +1 -1
- package/web/.next/static/chunks/07f00e2e73d322d2.js +4 -0
- package/web/.next/static/chunks/33854795ae473cf1.css +1 -0
- package/web/.next/static/chunks/{b3cc49b27e09fa39.js → 37bc3e283f734dca.js} +1 -1
- package/web/.next/static/chunks/5130d7093ad39f4a.js +5 -0
- package/web/.next/static/chunks/523c5cfe0570712c.js +1 -0
- package/web/.next/static/chunks/df7d29673e0ac11d.js +1 -0
- package/web/.next/static/chunks/ef1296dbe67d5aae.js +1 -0
- package/web/.next/static/chunks/{turbopack-76ba02c6b131eee4.js → turbopack-a5a88a85e7ac8e8d.js} +1 -1
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- package/web/package.json +2 -1
- package/dist/src/presentation/web/app/version/version-page-client.d.ts.map +0 -1
- package/dist/src/presentation/web/app/version/version-page-client.js +0 -13
- package/dist/src/presentation/web/components/features/index.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/index.js +0 -2
- package/dist/src/presentation/web/components/features/theme-toggle/index.d.ts +0 -2
- package/dist/src/presentation/web/components/features/theme-toggle/index.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/theme-toggle/theme-toggle.d.ts.map +0 -1
- package/dist/src/presentation/web/components/features/theme-toggle/theme-toggle.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/ui/index.d.ts +0 -13
- package/dist/src/presentation/web/components/ui/index.d.ts.map +0 -1
- package/dist/src/presentation/web/components/ui/index.js +0 -14
- package/web/.next/server/chunks/ssr/403f9_next_dist_2ff794b1._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__205a2636._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__205a2636._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2328b471._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3acee9dd._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8297ff30._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8297ff30._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d6257aad._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d6257aad._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_ccea5183._.js +0 -3
- package/web/.next/server/chunks/ssr/_ccea5183._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_layout_tsx_aa3a06bd._.js +0 -13
- package/web/.next/server/chunks/ssr/src_presentation_web_app_layout_tsx_aa3a06bd._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_version_version-page-client_tsx_bd5ab0cf._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_app_version_version-page-client_tsx_bd5ab0cf._.js.map +0 -1
- package/web/.next/static/chunks/51816495a9eb288c.css +0 -1
- package/web/.next/static/chunks/71462f20e38a4262.js +0 -4
- package/web/.next/static/chunks/86484b9b4aa9f859.js +0 -1
- package/web/.next/static/chunks/8ec8e211eedf31cc.js +0 -1
- /package/dist/src/presentation/web/components/{features → common/theme-toggle}/index.d.ts +0 -0
- /package/dist/src/presentation/web/components/{features → common}/theme-toggle/index.js +0 -0
- /package/dist/src/presentation/web/components/{features → common}/theme-toggle/theme-toggle.d.ts +0 -0
- /package/dist/src/presentation/web/components/{features → common}/theme-toggle/theme-toggle.js +0 -0
- /package/dist/src/presentation/web/components/{features → common}/theme-toggle/theme-toggle.stories.d.ts +0 -0
- /package/web/.next/static/{oYqPsC4DYjduQ_8Je-FJh → fDnQnLH8dIxn_WXo-1RJ-}/_buildManifest.js +0 -0
- /package/web/.next/static/{oYqPsC4DYjduQ_8Je-FJh → fDnQnLH8dIxn_WXo-1RJ-}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{oYqPsC4DYjduQ_8Je-FJh → fDnQnLH8dIxn_WXo-1RJ-}/_ssgManifest.js +0 -0
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { Slot } from 'radix-ui';
|
|
4
2
|
import { cva } from 'class-variance-authority';
|
|
3
|
+
import { Slot } from 'radix-ui';
|
|
5
4
|
import { cn } from '../../lib/utils';
|
|
6
|
-
const buttonVariants = cva(
|
|
5
|
+
const buttonVariants = cva("focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
|
|
7
6
|
variants: {
|
|
8
7
|
variant: {
|
|
9
|
-
default: 'bg-primary text-primary-foreground
|
|
10
|
-
destructive: 'bg-destructive
|
|
11
|
-
outline: '
|
|
12
|
-
secondary: 'bg-secondary text-secondary-foreground
|
|
13
|
-
ghost: 'hover:bg-accent hover:text-accent-foreground',
|
|
8
|
+
default: 'bg-primary text-primary-foreground hover:bg-primary/90',
|
|
9
|
+
destructive: 'bg-destructive hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 text-white',
|
|
10
|
+
outline: 'bg-background hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 border shadow-xs',
|
|
11
|
+
secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',
|
|
12
|
+
ghost: 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',
|
|
14
13
|
link: 'text-primary underline-offset-4 hover:underline',
|
|
15
14
|
},
|
|
16
15
|
size: {
|
|
17
|
-
default: 'h-9 px-4 py-2',
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
default: 'h-9 px-4 py-2 has-[>svg]:px-3',
|
|
17
|
+
xs: "h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",
|
|
18
|
+
sm: 'h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5',
|
|
19
|
+
lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',
|
|
20
|
+
icon: 'size-9',
|
|
21
|
+
'icon-xs': "size-6 rounded-md [&_svg:not([class*='size-'])]:size-3",
|
|
22
|
+
'icon-sm': 'size-8',
|
|
23
|
+
'icon-lg': 'size-10',
|
|
21
24
|
},
|
|
22
25
|
},
|
|
23
26
|
defaultVariants: {
|
|
@@ -25,9 +28,8 @@ const buttonVariants = cva('inline-flex items-center justify-center gap-2 whites
|
|
|
25
28
|
size: 'default',
|
|
26
29
|
},
|
|
27
30
|
});
|
|
28
|
-
|
|
31
|
+
function Button({ className, variant = 'default', size = 'default', asChild = false, ...props }) {
|
|
29
32
|
const Comp = asChild ? Slot.Root : 'button';
|
|
30
|
-
return (_jsx(Comp, { className: cn(buttonVariants({ variant, size, className })),
|
|
31
|
-
}
|
|
32
|
-
Button.displayName = 'Button';
|
|
33
|
+
return (_jsx(Comp, { "data-slot": "button", "data-variant": variant, "data-size": size, className: cn(buttonVariants({ variant, size, className })), ...props }));
|
|
34
|
+
}
|
|
33
35
|
export { Button, buttonVariants };
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from './card';
|
|
3
3
|
import { Button } from './button';
|
|
4
4
|
const meta = {
|
|
5
|
-
title: '
|
|
5
|
+
title: 'Primitives/Card',
|
|
6
6
|
component: Card,
|
|
7
7
|
parameters: {
|
|
8
8
|
layout: 'centered',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
declare
|
|
2
|
+
declare function Input({ className, type, ...props }: React.ComponentProps<'input'>): import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export { Input };
|
|
4
4
|
//# sourceMappingURL=input.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/components/ui/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/components/ui/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,2CAc1E;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import * as React from 'react';
|
|
3
2
|
import { cn } from '../../lib/utils';
|
|
4
|
-
|
|
5
|
-
return (_jsx("input", { type: type, className: cn('
|
|
6
|
-
}
|
|
7
|
-
Input.displayName = 'Input';
|
|
3
|
+
function Input({ className, type, ...props }) {
|
|
4
|
+
return (_jsx("input", { type: type, "data-slot": "input", className: cn('file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm', 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]', 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive', className), ...props }));
|
|
5
|
+
}
|
|
8
6
|
export { Input };
|
|
@@ -4,7 +4,7 @@ import * as React from 'react';
|
|
|
4
4
|
import { Label as LabelPrimitive } from 'radix-ui';
|
|
5
5
|
import { cva } from 'class-variance-authority';
|
|
6
6
|
import { cn } from '../../lib/utils';
|
|
7
|
-
const labelVariants = cva('text-sm font-medium
|
|
7
|
+
const labelVariants = cva('text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70');
|
|
8
8
|
const Label = React.forwardRef(({ className, ...props }, ref) => (_jsx(LabelPrimitive.Root, { ref: ref, className: cn(labelVariants(), className), ...props })));
|
|
9
9
|
Label.displayName = LabelPrimitive.Root.displayName;
|
|
10
10
|
export { Label };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';
|
|
3
|
+
declare function ScrollArea({ className, children, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function ScrollBar({ className, orientation, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export { ScrollArea, ScrollBar };
|
|
6
|
+
//# sourceMappingURL=scroll-area.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll-area.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/components/ui/scroll-area.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAI7D,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,2CAiBvD;AAED,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,WAAwB,EACxB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,2CAmBtE;AAED,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';
|
|
4
|
+
import { cn } from '../../lib/utils';
|
|
5
|
+
function ScrollArea({ className, children, ...props }) {
|
|
6
|
+
return (_jsxs(ScrollAreaPrimitive.Root, { "data-slot": "scroll-area", className: cn('relative', className), ...props, children: [_jsx(ScrollAreaPrimitive.Viewport, { "data-slot": "scroll-area-viewport", className: "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1", children: children }), _jsx(ScrollBar, {}), _jsx(ScrollAreaPrimitive.Corner, {})] }));
|
|
7
|
+
}
|
|
8
|
+
function ScrollBar({ className, orientation = 'vertical', ...props }) {
|
|
9
|
+
return (_jsx(ScrollAreaPrimitive.ScrollAreaScrollbar, { "data-slot": "scroll-area-scrollbar", orientation: orientation, className: cn('flex touch-none p-px transition-colors select-none', orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent', orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent', className), ...props, children: _jsx(ScrollAreaPrimitive.ScrollAreaThumb, { "data-slot": "scroll-area-thumb", className: "bg-border relative flex-1 rounded-full" }) }));
|
|
10
|
+
}
|
|
11
|
+
export { ScrollArea, ScrollBar };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue, } from './select';
|
|
3
3
|
const meta = {
|
|
4
|
-
title: '
|
|
4
|
+
title: 'Primitives/Select',
|
|
5
5
|
component: Select,
|
|
6
6
|
parameters: {
|
|
7
7
|
layout: 'centered',
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Separator as SeparatorPrimitive } from 'radix-ui';
|
|
3
|
+
declare function Separator({ className, orientation, decorative, ...props }: React.ComponentProps<typeof SeparatorPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export { Separator };
|
|
5
|
+
//# sourceMappingURL=separator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"separator.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/components/ui/separator.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAI3D,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,WAA0B,EAC1B,UAAiB,EACjB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,2CAatD;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { Separator as SeparatorPrimitive } from 'radix-ui';
|
|
4
|
+
import { cn } from '../../lib/utils';
|
|
5
|
+
function Separator({ className, orientation = 'horizontal', decorative = true, ...props }) {
|
|
6
|
+
return (_jsx(SeparatorPrimitive.Root, { "data-slot": "separator", decorative: decorative, orientation: orientation, className: cn('bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px', className), ...props }));
|
|
7
|
+
}
|
|
8
|
+
export { Separator };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Dialog as SheetPrimitive } from 'radix-ui';
|
|
3
|
+
declare function Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function SheetContent({ className, children, side, showCloseButton, ...props }: React.ComponentProps<typeof SheetPrimitive.Content> & {
|
|
7
|
+
side?: 'top' | 'right' | 'bottom' | 'left';
|
|
8
|
+
showCloseButton?: boolean;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
declare function SheetHeader({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare function SheetFooter({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare function SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare function SheetDescription({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, };
|
|
15
|
+
//# sourceMappingURL=sheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/components/ui/sheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,UAAU,CAAC;AAIpD,iBAAS,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,2CAE5E;AAED,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,2CAEtF;AAED,iBAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,2CAElF;AAsBD,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,IAAc,EACd,eAAsB,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,GAAG;IACvD,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,2CA8BA;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQxE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQxE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,2CAQ7F;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,WAAW,CAAC,2CAQzD;AAED,OAAO,EACL,KAAK,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { XIcon } from 'lucide-react';
|
|
4
|
+
import { Dialog as SheetPrimitive } from 'radix-ui';
|
|
5
|
+
import { cn } from '../../lib/utils';
|
|
6
|
+
function Sheet({ ...props }) {
|
|
7
|
+
return _jsx(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
|
|
8
|
+
}
|
|
9
|
+
function SheetTrigger({ ...props }) {
|
|
10
|
+
return _jsx(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
|
|
11
|
+
}
|
|
12
|
+
function SheetClose({ ...props }) {
|
|
13
|
+
return _jsx(SheetPrimitive.Close, { "data-slot": "sheet-close", ...props });
|
|
14
|
+
}
|
|
15
|
+
function SheetPortal({ ...props }) {
|
|
16
|
+
return _jsx(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
|
|
17
|
+
}
|
|
18
|
+
function SheetOverlay({ className, ...props }) {
|
|
19
|
+
return (_jsx(SheetPrimitive.Overlay, { "data-slot": "sheet-overlay", className: cn('data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50', className), ...props }));
|
|
20
|
+
}
|
|
21
|
+
function SheetContent({ className, children, side = 'right', showCloseButton = true, ...props }) {
|
|
22
|
+
return (_jsxs(SheetPortal, { children: [_jsx(SheetOverlay, {}), _jsxs(SheetPrimitive.Content, { "data-slot": "sheet-content", className: cn('bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500', side === 'right' &&
|
|
23
|
+
'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm', side === 'left' &&
|
|
24
|
+
'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm', side === 'top' &&
|
|
25
|
+
'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b', side === 'bottom' &&
|
|
26
|
+
'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t', className), ...props, children: [children, showCloseButton ? (_jsxs(SheetPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [_jsx(XIcon, { className: "size-4" }), _jsx("span", { className: "sr-only", children: "Close" })] })) : null] })] }));
|
|
27
|
+
}
|
|
28
|
+
function SheetHeader({ className, ...props }) {
|
|
29
|
+
return (_jsx("div", { "data-slot": "sheet-header", className: cn('flex flex-col gap-1.5 p-4', className), ...props }));
|
|
30
|
+
}
|
|
31
|
+
function SheetFooter({ className, ...props }) {
|
|
32
|
+
return (_jsx("div", { "data-slot": "sheet-footer", className: cn('mt-auto flex flex-col gap-2 p-4', className), ...props }));
|
|
33
|
+
}
|
|
34
|
+
function SheetTitle({ className, ...props }) {
|
|
35
|
+
return (_jsx(SheetPrimitive.Title, { "data-slot": "sheet-title", className: cn('text-foreground font-semibold', className), ...props }));
|
|
36
|
+
}
|
|
37
|
+
function SheetDescription({ className, ...props }) {
|
|
38
|
+
return (_jsx(SheetPrimitive.Description, { "data-slot": "sheet-description", className: cn('text-muted-foreground text-sm', className), ...props }));
|
|
39
|
+
}
|
|
40
|
+
export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { Button } from '../ui/button';
|
|
4
|
+
import { Input } from '../ui/input';
|
|
5
|
+
import { Separator } from '../ui/separator';
|
|
6
|
+
import { TooltipContent } from '../ui/tooltip';
|
|
7
|
+
interface SidebarContextProps {
|
|
8
|
+
state: 'expanded' | 'collapsed';
|
|
9
|
+
open: boolean;
|
|
10
|
+
setOpen: (open: boolean) => void;
|
|
11
|
+
openMobile: boolean;
|
|
12
|
+
setOpenMobile: (open: boolean) => void;
|
|
13
|
+
isMobile: boolean;
|
|
14
|
+
toggleSidebar: () => void;
|
|
15
|
+
}
|
|
16
|
+
declare function useSidebar(): SidebarContextProps;
|
|
17
|
+
declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: React.ComponentProps<'div'> & {
|
|
18
|
+
defaultOpen?: boolean;
|
|
19
|
+
open?: boolean;
|
|
20
|
+
onOpenChange?: (open: boolean) => void;
|
|
21
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
declare function Sidebar({ side, variant, collapsible, className, children, ...props }: React.ComponentProps<'div'> & {
|
|
23
|
+
side?: 'left' | 'right';
|
|
24
|
+
variant?: 'sidebar' | 'floating' | 'inset';
|
|
25
|
+
collapsible?: 'offcanvas' | 'icon' | 'none';
|
|
26
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
declare function SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
declare function SidebarRail({ className, ...props }: React.ComponentProps<'button'>): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
declare function SidebarInset({ className, ...props }: React.ComponentProps<'main'>): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
declare function SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
declare function SidebarHeader({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
declare function SidebarFooter({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
declare function SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
declare function SidebarContent({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
declare function SidebarGroup({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
declare function SidebarGroupLabel({ className, asChild, ...props }: React.ComponentProps<'div'> & {
|
|
37
|
+
asChild?: boolean;
|
|
38
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
declare function SidebarGroupAction({ className, asChild, ...props }: React.ComponentProps<'button'> & {
|
|
40
|
+
asChild?: boolean;
|
|
41
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
declare function SidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
declare function SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>): import("react/jsx-runtime").JSX.Element;
|
|
44
|
+
declare function SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
declare const sidebarMenuButtonVariants: (props?: ({
|
|
46
|
+
variant?: "default" | "outline" | null | undefined;
|
|
47
|
+
size?: "default" | "sm" | "lg" | null | undefined;
|
|
48
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
49
|
+
declare function SidebarMenuButton({ asChild, isActive, variant, size, tooltip, className, ...props }: React.ComponentProps<'button'> & {
|
|
50
|
+
asChild?: boolean;
|
|
51
|
+
isActive?: boolean;
|
|
52
|
+
tooltip?: string | React.ComponentProps<typeof TooltipContent>;
|
|
53
|
+
} & VariantProps<typeof sidebarMenuButtonVariants>): import("react/jsx-runtime").JSX.Element;
|
|
54
|
+
declare function SidebarMenuAction({ className, asChild, showOnHover, ...props }: React.ComponentProps<'button'> & {
|
|
55
|
+
asChild?: boolean;
|
|
56
|
+
showOnHover?: boolean;
|
|
57
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
58
|
+
declare function SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
59
|
+
declare function SidebarMenuSkeleton({ className, showIcon, ...props }: React.ComponentProps<'div'> & {
|
|
60
|
+
showIcon?: boolean;
|
|
61
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
62
|
+
declare function SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>): import("react/jsx-runtime").JSX.Element;
|
|
63
|
+
declare function SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>): import("react/jsx-runtime").JSX.Element;
|
|
64
|
+
declare function SidebarMenuSubButton({ asChild, size, isActive, className, ...props }: React.ComponentProps<'a'> & {
|
|
65
|
+
asChild?: boolean;
|
|
66
|
+
size?: 'sm' | 'md';
|
|
67
|
+
isActive?: boolean;
|
|
68
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
69
|
+
export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar, };
|
|
70
|
+
//# sourceMappingURL=sidebar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/components/ui/sidebar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { cva } from 'class-variance-authority';
|
|
5
|
+
import { PanelLeftIcon } from 'lucide-react';
|
|
6
|
+
import { Slot } from 'radix-ui';
|
|
7
|
+
import { useIsMobile } from '../../hooks/use-mobile';
|
|
8
|
+
import { cn } from '../../lib/utils';
|
|
9
|
+
import { Button } from '../ui/button';
|
|
10
|
+
import { Input } from '../ui/input';
|
|
11
|
+
import { Separator } from '../ui/separator';
|
|
12
|
+
import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, } from '../ui/sheet';
|
|
13
|
+
import { Skeleton } from '../ui/skeleton';
|
|
14
|
+
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../ui/tooltip';
|
|
15
|
+
const SIDEBAR_COOKIE_NAME = 'sidebar_state';
|
|
16
|
+
const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
17
|
+
const SIDEBAR_WIDTH = '16rem';
|
|
18
|
+
const SIDEBAR_WIDTH_MOBILE = '18rem';
|
|
19
|
+
const SIDEBAR_WIDTH_ICON = '3rem';
|
|
20
|
+
const SIDEBAR_KEYBOARD_SHORTCUT = 'b';
|
|
21
|
+
const SidebarContext = React.createContext(null);
|
|
22
|
+
function useSidebar() {
|
|
23
|
+
const context = React.useContext(SidebarContext);
|
|
24
|
+
if (!context) {
|
|
25
|
+
throw new Error('useSidebar must be used within a SidebarProvider.');
|
|
26
|
+
}
|
|
27
|
+
return context;
|
|
28
|
+
}
|
|
29
|
+
function SidebarProvider({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }) {
|
|
30
|
+
const isMobile = useIsMobile();
|
|
31
|
+
const [openMobile, setOpenMobile] = React.useState(false);
|
|
32
|
+
// This is the internal state of the sidebar.
|
|
33
|
+
// We use openProp and setOpenProp for control from outside the component.
|
|
34
|
+
const [_open, _setOpen] = React.useState(defaultOpen);
|
|
35
|
+
const open = openProp ?? _open;
|
|
36
|
+
const setOpen = React.useCallback((value) => {
|
|
37
|
+
const openState = typeof value === 'function' ? value(open) : value;
|
|
38
|
+
if (setOpenProp) {
|
|
39
|
+
setOpenProp(openState);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
_setOpen(openState);
|
|
43
|
+
}
|
|
44
|
+
// This sets the cookie to keep the sidebar state.
|
|
45
|
+
document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
|
|
46
|
+
}, [setOpenProp, open]);
|
|
47
|
+
// Helper to toggle the sidebar.
|
|
48
|
+
const toggleSidebar = React.useCallback(() => {
|
|
49
|
+
return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);
|
|
50
|
+
}, [isMobile, setOpen, setOpenMobile]);
|
|
51
|
+
// Adds a keyboard shortcut to toggle the sidebar.
|
|
52
|
+
React.useEffect(() => {
|
|
53
|
+
const handleKeyDown = (event) => {
|
|
54
|
+
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
55
|
+
event.preventDefault();
|
|
56
|
+
toggleSidebar();
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
window.addEventListener('keydown', handleKeyDown);
|
|
60
|
+
return () => window.removeEventListener('keydown', handleKeyDown);
|
|
61
|
+
}, [toggleSidebar]);
|
|
62
|
+
// We add a state so that we can do data-state="expanded" or "collapsed".
|
|
63
|
+
// This makes it easier to style the sidebar with Tailwind classes.
|
|
64
|
+
const state = open ? 'expanded' : 'collapsed';
|
|
65
|
+
const contextValue = React.useMemo(() => ({
|
|
66
|
+
state,
|
|
67
|
+
open,
|
|
68
|
+
setOpen,
|
|
69
|
+
isMobile,
|
|
70
|
+
openMobile,
|
|
71
|
+
setOpenMobile,
|
|
72
|
+
toggleSidebar,
|
|
73
|
+
}), [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]);
|
|
74
|
+
return (_jsx(SidebarContext.Provider, { value: contextValue, children: _jsx(TooltipProvider, { delayDuration: 0, children: _jsx("div", { "data-slot": "sidebar-wrapper", style: {
|
|
75
|
+
'--sidebar-width': SIDEBAR_WIDTH,
|
|
76
|
+
'--sidebar-width-icon': SIDEBAR_WIDTH_ICON,
|
|
77
|
+
...style,
|
|
78
|
+
}, className: cn('group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full', className), ...props, children: children }) }) }));
|
|
79
|
+
}
|
|
80
|
+
function Sidebar({ side = 'left', variant = 'sidebar', collapsible = 'offcanvas', className, children, ...props }) {
|
|
81
|
+
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
82
|
+
if (collapsible === 'none') {
|
|
83
|
+
return (_jsx("div", { "data-slot": "sidebar", className: cn('bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col', className), ...props, children: children }));
|
|
84
|
+
}
|
|
85
|
+
if (isMobile) {
|
|
86
|
+
return (_jsx(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: _jsxs(SheetContent, { "data-sidebar": "sidebar", "data-slot": "sidebar", "data-mobile": "true", className: "bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden", style: {
|
|
87
|
+
'--sidebar-width': SIDEBAR_WIDTH_MOBILE,
|
|
88
|
+
}, side: side, children: [_jsxs(SheetHeader, { className: "sr-only", children: [_jsx(SheetTitle, { children: "Sidebar" }), _jsx(SheetDescription, { children: "Displays the mobile sidebar." })] }), _jsx("div", { className: "flex h-full w-full flex-col", children: children })] }) }));
|
|
89
|
+
}
|
|
90
|
+
return (_jsxs("div", { className: "group peer text-sidebar-foreground hidden md:block", "data-state": state, "data-collapsible": state === 'collapsed' ? collapsible : '', "data-variant": variant, "data-side": side, "data-slot": "sidebar", children: [_jsx("div", { "data-slot": "sidebar-gap", className: cn('relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear', 'group-data-[collapsible=offcanvas]:w-0', 'group-data-[side=right]:rotate-180', variant === 'floating' || variant === 'inset'
|
|
91
|
+
? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'
|
|
92
|
+
: 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)') }), _jsx("div", { "data-slot": "sidebar-container", className: cn('fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex', side === 'left'
|
|
93
|
+
? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'
|
|
94
|
+
: 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',
|
|
95
|
+
// Adjust the padding for floating and inset variants.
|
|
96
|
+
variant === 'floating' || variant === 'inset'
|
|
97
|
+
? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'
|
|
98
|
+
: 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l', className), ...props, children: _jsx("div", { "data-sidebar": "sidebar", "data-slot": "sidebar-inner", className: "bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm", children: children }) })] }));
|
|
99
|
+
}
|
|
100
|
+
function SidebarTrigger({ className, onClick, ...props }) {
|
|
101
|
+
const { toggleSidebar } = useSidebar();
|
|
102
|
+
return (_jsxs(Button, { "data-sidebar": "trigger", "data-slot": "sidebar-trigger", variant: "ghost", size: "icon", className: cn('size-7', className), onClick: (event) => {
|
|
103
|
+
onClick?.(event);
|
|
104
|
+
toggleSidebar();
|
|
105
|
+
}, ...props, children: [_jsx(PanelLeftIcon, {}), _jsx("span", { className: "sr-only", children: "Toggle Sidebar" })] }));
|
|
106
|
+
}
|
|
107
|
+
function SidebarRail({ className, ...props }) {
|
|
108
|
+
const { toggleSidebar } = useSidebar();
|
|
109
|
+
return (_jsx("button", { "data-sidebar": "rail", "data-slot": "sidebar-rail", "aria-label": "Toggle Sidebar", tabIndex: -1, onClick: toggleSidebar, title: "Toggle Sidebar", className: cn('hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex', 'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize', '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize', 'hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full', '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2', '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2', className), ...props }));
|
|
110
|
+
}
|
|
111
|
+
function SidebarInset({ className, ...props }) {
|
|
112
|
+
return (_jsx("main", { "data-slot": "sidebar-inset", className: cn('bg-background relative flex w-full flex-1 flex-col', 'md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2', className), ...props }));
|
|
113
|
+
}
|
|
114
|
+
function SidebarInput({ className, ...props }) {
|
|
115
|
+
return (_jsx(Input, { "data-slot": "sidebar-input", "data-sidebar": "input", className: cn('bg-background h-8 w-full shadow-none', className), ...props }));
|
|
116
|
+
}
|
|
117
|
+
function SidebarHeader({ className, ...props }) {
|
|
118
|
+
return (_jsx("div", { "data-slot": "sidebar-header", "data-sidebar": "header", className: cn('flex flex-col gap-2 p-2', className), ...props }));
|
|
119
|
+
}
|
|
120
|
+
function SidebarFooter({ className, ...props }) {
|
|
121
|
+
return (_jsx("div", { "data-slot": "sidebar-footer", "data-sidebar": "footer", className: cn('flex flex-col gap-2 p-2', className), ...props }));
|
|
122
|
+
}
|
|
123
|
+
function SidebarSeparator({ className, ...props }) {
|
|
124
|
+
return (_jsx(Separator, { "data-slot": "sidebar-separator", "data-sidebar": "separator", className: cn('bg-sidebar-border mx-2 w-auto', className), ...props }));
|
|
125
|
+
}
|
|
126
|
+
function SidebarContent({ className, ...props }) {
|
|
127
|
+
return (_jsx("div", { "data-slot": "sidebar-content", "data-sidebar": "content", className: cn('flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden', className), ...props }));
|
|
128
|
+
}
|
|
129
|
+
function SidebarGroup({ className, ...props }) {
|
|
130
|
+
return (_jsx("div", { "data-slot": "sidebar-group", "data-sidebar": "group", className: cn('relative flex w-full min-w-0 flex-col p-2', className), ...props }));
|
|
131
|
+
}
|
|
132
|
+
function SidebarGroupLabel({ className, asChild = false, ...props }) {
|
|
133
|
+
const Comp = asChild ? Slot.Root : 'div';
|
|
134
|
+
return (_jsx(Comp, { "data-slot": "sidebar-group-label", "data-sidebar": "group-label", className: cn('text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0', 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0', className), ...props }));
|
|
135
|
+
}
|
|
136
|
+
function SidebarGroupAction({ className, asChild = false, ...props }) {
|
|
137
|
+
const Comp = asChild ? Slot.Root : 'button';
|
|
138
|
+
return (_jsx(Comp, { "data-slot": "sidebar-group-action", "data-sidebar": "group-action", className: cn('text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',
|
|
139
|
+
// Increases the hit area of the button on mobile.
|
|
140
|
+
'after:absolute after:-inset-2 md:after:hidden', 'group-data-[collapsible=icon]:hidden', className), ...props }));
|
|
141
|
+
}
|
|
142
|
+
function SidebarGroupContent({ className, ...props }) {
|
|
143
|
+
return (_jsx("div", { "data-slot": "sidebar-group-content", "data-sidebar": "group-content", className: cn('w-full text-sm', className), ...props }));
|
|
144
|
+
}
|
|
145
|
+
function SidebarMenu({ className, ...props }) {
|
|
146
|
+
return (_jsx("ul", { "data-slot": "sidebar-menu", "data-sidebar": "menu", className: cn('flex w-full min-w-0 flex-col gap-1', className), ...props }));
|
|
147
|
+
}
|
|
148
|
+
function SidebarMenuItem({ className, ...props }) {
|
|
149
|
+
return (_jsx("li", { "data-slot": "sidebar-menu-item", "data-sidebar": "menu-item", className: cn('group/menu-item relative', className), ...props }));
|
|
150
|
+
}
|
|
151
|
+
const sidebarMenuButtonVariants = cva('peer/menu-button ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0', {
|
|
152
|
+
variants: {
|
|
153
|
+
variant: {
|
|
154
|
+
default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',
|
|
155
|
+
outline: 'bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',
|
|
156
|
+
},
|
|
157
|
+
size: {
|
|
158
|
+
default: 'h-8 text-sm',
|
|
159
|
+
sm: 'h-7 text-xs',
|
|
160
|
+
lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
defaultVariants: {
|
|
164
|
+
variant: 'default',
|
|
165
|
+
size: 'default',
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
function SidebarMenuButton({ asChild = false, isActive = false, variant = 'default', size = 'default', tooltip, className, ...props }) {
|
|
169
|
+
const Comp = asChild ? Slot.Root : 'button';
|
|
170
|
+
const { isMobile, state } = useSidebar();
|
|
171
|
+
const button = (_jsx(Comp, { "data-slot": "sidebar-menu-button", "data-sidebar": "menu-button", "data-size": size, "data-active": isActive, className: cn(sidebarMenuButtonVariants({ variant, size }), className), ...props }));
|
|
172
|
+
if (!tooltip) {
|
|
173
|
+
return button;
|
|
174
|
+
}
|
|
175
|
+
if (typeof tooltip === 'string') {
|
|
176
|
+
tooltip = {
|
|
177
|
+
children: tooltip,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: button }), _jsx(TooltipContent, { side: "right", align: "center", hidden: state !== 'collapsed' || isMobile, ...tooltip })] }));
|
|
181
|
+
}
|
|
182
|
+
function SidebarMenuAction({ className, asChild = false, showOnHover = false, ...props }) {
|
|
183
|
+
const Comp = asChild ? Slot.Root : 'button';
|
|
184
|
+
return (_jsx(Comp, { "data-slot": "sidebar-menu-action", "data-sidebar": "menu-action", className: cn('text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',
|
|
185
|
+
// Increases the hit area of the button on mobile.
|
|
186
|
+
'after:absolute after:-inset-2 md:after:hidden', 'peer-data-[size=sm]/menu-button:top-1', 'peer-data-[size=default]/menu-button:top-1.5', 'peer-data-[size=lg]/menu-button:top-2.5', 'group-data-[collapsible=icon]:hidden', showOnHover &&
|
|
187
|
+
'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0', className), ...props }));
|
|
188
|
+
}
|
|
189
|
+
function SidebarMenuBadge({ className, ...props }) {
|
|
190
|
+
return (_jsx("div", { "data-slot": "sidebar-menu-badge", "data-sidebar": "menu-badge", className: cn('text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none', 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground', 'peer-data-[size=sm]/menu-button:top-1', 'peer-data-[size=default]/menu-button:top-1.5', 'peer-data-[size=lg]/menu-button:top-2.5', 'group-data-[collapsible=icon]:hidden', className), ...props }));
|
|
191
|
+
}
|
|
192
|
+
function SidebarMenuSkeleton({ className, showIcon = false, ...props }) {
|
|
193
|
+
// Random width between 50 to 90%.
|
|
194
|
+
const width = React.useMemo(() => {
|
|
195
|
+
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
196
|
+
}, []);
|
|
197
|
+
return (_jsxs("div", { "data-slot": "sidebar-menu-skeleton", "data-sidebar": "menu-skeleton", className: cn('flex h-8 items-center gap-2 rounded-md px-2', className), ...props, children: [showIcon ? (_jsx(Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" })) : null, _jsx(Skeleton, { className: "h-4 max-w-(--skeleton-width) flex-1", "data-sidebar": "menu-skeleton-text", style: {
|
|
198
|
+
'--skeleton-width': width,
|
|
199
|
+
} })] }));
|
|
200
|
+
}
|
|
201
|
+
function SidebarMenuSub({ className, ...props }) {
|
|
202
|
+
return (_jsx("ul", { "data-slot": "sidebar-menu-sub", "data-sidebar": "menu-sub", className: cn('border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5', 'group-data-[collapsible=icon]:hidden', className), ...props }));
|
|
203
|
+
}
|
|
204
|
+
function SidebarMenuSubItem({ className, ...props }) {
|
|
205
|
+
return (_jsx("li", { "data-slot": "sidebar-menu-sub-item", "data-sidebar": "menu-sub-item", className: cn('group/menu-sub-item relative', className), ...props }));
|
|
206
|
+
}
|
|
207
|
+
function SidebarMenuSubButton({ asChild = false, size = 'md', isActive = false, className, ...props }) {
|
|
208
|
+
const Comp = asChild ? Slot.Root : 'a';
|
|
209
|
+
return (_jsx(Comp, { "data-slot": "sidebar-menu-sub-button", "data-sidebar": "menu-sub-button", "data-size": size, "data-active": isActive, className: cn('text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0', 'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground', size === 'sm' && 'text-xs', size === 'md' && 'text-sm', 'group-data-[collapsible=icon]:hidden', className), ...props }));
|
|
210
|
+
}
|
|
211
|
+
export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar, };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/components/ui/skeleton.tsx"],"names":[],"mappings":"AAEA,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQrE;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../lib/utils';
|
|
3
|
+
function Skeleton({ className, ...props }) {
|
|
4
|
+
return (_jsx("div", { "data-slot": "skeleton", className: cn('bg-accent animate-pulse rounded-md', className), ...props }));
|
|
5
|
+
}
|
|
6
|
+
export { Skeleton };
|