@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
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import Link from 'next/link';
|
|
4
|
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '../../ui/card';
|
|
5
|
+
import { Badge } from '../../ui/badge';
|
|
6
|
+
import { Button } from '../../ui/button';
|
|
7
|
+
import { Tabs, TabsContent, TabsList, TabsTrigger } from '../../ui/tabs';
|
|
8
|
+
function InfoRow({ label, value, badge, badgeVariant = 'secondary' }) {
|
|
9
|
+
return (_jsxs("div", { className: "flex items-center justify-between py-2", children: [_jsx("span", { className: "text-muted-foreground text-sm", children: label }), badge ? (_jsx(Badge, { variant: badgeVariant, children: value })) : (_jsx("span", { className: "font-mono text-sm", children: value }))] }));
|
|
10
|
+
}
|
|
11
|
+
export default function VersionPageClient({ versionInfo, systemInfo }) {
|
|
12
|
+
return (_jsx("div", { className: "flex flex-col items-center justify-center p-4", children: _jsxs("div", { className: "w-full max-w-2xl space-y-6", children: [_jsxs("div", { className: "text-center", children: [_jsx("h1", { className: "text-3xl font-bold tracking-tight", children: versionInfo.name }), _jsx("p", { className: "text-muted-foreground mt-2", children: versionInfo.description }), _jsx("div", { className: "mt-4", children: _jsxs(Badge, { variant: "default", "data-testid": "version-badge", children: ["v", versionInfo.version] }) })] }), _jsxs(Tabs, { defaultValue: "overview", className: "w-full", children: [_jsxs(TabsList, { className: "grid w-full grid-cols-3", children: [_jsx(TabsTrigger, { value: "overview", children: "Overview" }), _jsx(TabsTrigger, { value: "system", children: "System" }), _jsx(TabsTrigger, { value: "features", children: "Features" })] }), _jsx(TabsContent, { value: "overview", children: _jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Package Information" }), _jsx(CardDescription, { children: "Details about the Shep AI CLI package" })] }), _jsxs(CardContent, { className: "space-y-1", children: [_jsx(InfoRow, { label: "Package", value: versionInfo.name }), _jsx(InfoRow, { label: "Version", value: `v${versionInfo.version}`, badge: true, badgeVariant: "default" }), _jsx(InfoRow, { label: "License", value: "MIT", badge: true, badgeVariant: "outline" }), _jsx(InfoRow, { label: "Author", value: "Shep AI" })] })] }) }), _jsx(TabsContent, { value: "system", children: _jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "System Information" }), _jsx(CardDescription, { children: "Runtime environment details" })] }), _jsxs(CardContent, { className: "space-y-1", children: [_jsx(InfoRow, { label: "Node.js", value: systemInfo.nodeVersion, badge: true, badgeVariant: "secondary" }), _jsx(InfoRow, { label: "Platform", value: `${systemInfo.platform} ${systemInfo.arch}` })] })] }) }), _jsx(TabsContent, { value: "features", children: _jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Key Features" }), _jsx(CardDescription, { children: "What Shep AI can do for you" })] }), _jsx(CardContent, { children: _jsxs("ul", { className: "space-y-2 text-sm", children: [_jsxs("li", { className: "flex items-center gap-2", children: [_jsx(Badge, { variant: "outline", children: "AI" }), _jsx("span", { children: "Autonomous code generation" })] }), _jsxs("li", { className: "flex items-center gap-2", children: [_jsx(Badge, { variant: "outline", children: "SDLC" }), _jsx("span", { children: "Full development lifecycle automation" })] }), _jsxs("li", { className: "flex items-center gap-2", children: [_jsx(Badge, { variant: "outline", children: "CLI" }), _jsx("span", { children: "Powerful command-line interface" })] }), _jsxs("li", { className: "flex items-center gap-2", children: [_jsx(Badge, { variant: "outline", children: "Web" }), _jsx("span", { children: "Modern web UI dashboard" })] })] }) })] }) })] }), _jsxs("div", { className: "flex justify-center gap-4", children: [_jsx(Button, { asChild: true, variant: "outline", children: _jsx(Link, { href: "/", children: "Back to Home" }) }), _jsx(Button, { asChild: true, children: _jsx("a", { href: "https://github.com/shep-ai/cli", target: "_blank", rel: "noopener noreferrer", children: "View on GitHub" }) })] })] }) }));
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-shell/app-shell.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,UAAU,aAAa;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,aAAa,2CAenD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { SidebarProvider, SidebarInset, SidebarTrigger } from '../../ui/sidebar';
|
|
4
|
+
import { Separator } from '../../ui/separator';
|
|
5
|
+
import { AppSidebar } from '../../layouts/app-sidebar';
|
|
6
|
+
import { ThemeToggle } from '../../common/theme-toggle';
|
|
7
|
+
export function AppShell({ children }) {
|
|
8
|
+
return (_jsxs(SidebarProvider, { children: [_jsx(AppSidebar, { features: [] }), _jsxs(SidebarInset, { children: [_jsxs("header", { className: "flex h-14 items-center gap-2 border-b px-4", children: [_jsx(SidebarTrigger, {}), _jsx(Separator, { orientation: "vertical", className: "h-4" }), _jsx("div", { className: "flex-1" }), _jsx(ThemeToggle, {})] }), _jsx("main", { className: "flex-1 overflow-auto p-6", children: children })] })] }));
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-shell/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { AppShell } from './app-shell';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { FeatureStatus } from '../../common/feature-status-config';
|
|
2
|
+
interface FeatureItem {
|
|
3
|
+
name: string;
|
|
4
|
+
status: FeatureStatus;
|
|
5
|
+
startedAt?: number;
|
|
6
|
+
duration?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface AppSidebarProps {
|
|
9
|
+
features: FeatureItem[];
|
|
10
|
+
onNewFeature?: () => void;
|
|
11
|
+
onFeatureClick?: (name: string) => void;
|
|
12
|
+
onFeaturesFolderClick?: () => void;
|
|
13
|
+
onFeaturesMenuClick?: () => void;
|
|
14
|
+
}
|
|
15
|
+
export declare function AppSidebar({ features, onNewFeature, onFeatureClick, onFeaturesFolderClick, onFeaturesMenuClick, }: AppSidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=app-sidebar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-sidebar.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG/E,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC;AAED,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,mBAAmB,GACpB,EAAE,eAAe,2CA+FjB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { usePathname } from 'next/navigation';
|
|
4
|
+
import { Home, Brain, Plus } from 'lucide-react';
|
|
5
|
+
import { Sidebar, SidebarHeader, SidebarContent, SidebarFooter, SidebarMenu, SidebarMenuItem, SidebarMenuButton, SidebarRail, useSidebar, } from '../../ui/sidebar';
|
|
6
|
+
import { ScrollArea } from '../../ui/scroll-area';
|
|
7
|
+
import { SidebarNavItem } from '../../common/sidebar-nav-item';
|
|
8
|
+
import { SidebarCollapseToggle } from '../../common/sidebar-collapse-toggle';
|
|
9
|
+
import { ShepLogo } from '../../common/shep-logo';
|
|
10
|
+
import { FeatureListItem } from '../../common/feature-list-item';
|
|
11
|
+
import { FeatureStatusGroup } from '../../common/feature-status-group';
|
|
12
|
+
import { SidebarSectionHeader } from '../../common/sidebar-section-header';
|
|
13
|
+
import { featureStatusConfig, featureStatusOrder } from '../../common/feature-status-config';
|
|
14
|
+
import { useDeferredMount } from '../../../hooks/use-deferred-mount';
|
|
15
|
+
export function AppSidebar({ features, onNewFeature, onFeatureClick, onFeaturesFolderClick, onFeaturesMenuClick, }) {
|
|
16
|
+
const pathname = usePathname();
|
|
17
|
+
const { state } = useSidebar();
|
|
18
|
+
const collapsed = state === 'collapsed';
|
|
19
|
+
const { mounted: showExpanded, visible: expandedVisible } = useDeferredMount(collapsed, 200);
|
|
20
|
+
const grouped = featureStatusOrder.map((key) => {
|
|
21
|
+
const { label } = featureStatusConfig[key];
|
|
22
|
+
const items = features.filter((f) => f.status === key);
|
|
23
|
+
return { key, label, items };
|
|
24
|
+
});
|
|
25
|
+
return (_jsxs(Sidebar, { "data-testid": "app-sidebar", collapsible: "icon", children: [_jsx(SidebarHeader, { children: _jsxs(SidebarMenu, { children: [_jsx(SidebarMenuItem, { children: _jsxs("div", { className: "flex h-8 items-center group-data-[collapsible=icon]:justify-center", children: [showExpanded ? (_jsxs("div", { className: [
|
|
26
|
+
'flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2',
|
|
27
|
+
'transition-opacity duration-200 ease-out',
|
|
28
|
+
expandedVisible ? 'opacity-100' : 'opacity-0',
|
|
29
|
+
].join(' '), "aria-hidden": !expandedVisible, children: [_jsx(ShepLogo, { className: "shrink-0", size: 20 }), _jsx("span", { className: "truncate text-sm font-semibold tracking-tight", children: "Shep" })] })) : null, _jsx(SidebarCollapseToggle, { className: "shrink-0 transition-all duration-200" })] }) }), _jsx(SidebarNavItem, { icon: Home, label: "Control Center", href: "/", active: pathname === '/' }), _jsx(SidebarNavItem, { icon: Brain, label: "Memory", href: "/memory", active: pathname === '/memory' })] }) }), _jsx(SidebarContent, { children: showExpanded ? (_jsxs("div", { className: [
|
|
30
|
+
'min-w-0 overflow-hidden transition-opacity duration-200 ease-out',
|
|
31
|
+
'[&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none',
|
|
32
|
+
expandedVisible ? 'opacity-100' : 'opacity-0',
|
|
33
|
+
].join(' '), children: [_jsx(SidebarSectionHeader, { label: "Features", onFolderClick: onFeaturesFolderClick, onMenuClick: onFeaturesMenuClick }), _jsx(ScrollArea, { children: grouped.map(({ key, label, items }) => items.length > 0 ? (_jsx(FeatureStatusGroup, { label: label, count: items.length, children: items.map((feature) => (_jsx(FeatureListItem, { name: feature.name, status: feature.status, startedAt: feature.startedAt, duration: feature.duration, onClick: onFeatureClick ? () => onFeatureClick(feature.name) : undefined }, feature.name))) }, key)) : null) })] })) : null }), _jsx(SidebarFooter, { children: _jsx(SidebarMenu, { children: _jsx(SidebarMenuItem, { children: _jsxs(SidebarMenuButton, { onClick: onNewFeature, tooltip: "New feature", children: [_jsx(Plus, {}), _jsx("span", { children: "New feature" })] }) }) }) }), _jsx(SidebarRail, {})] }));
|
|
34
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { AppSidebar } from './app-sidebar';
|
|
3
|
+
declare const meta: Meta<typeof AppSidebar>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const Collapsed: Story;
|
|
8
|
+
export declare const Empty: Story;
|
|
9
|
+
export declare const AllInProgress: Story;
|
|
10
|
+
export declare const AllDone: Story;
|
|
11
|
+
//# sourceMappingURL=app-sidebar.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-sidebar.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAsBjC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAWnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAOvB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAO3B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { SidebarProvider, SidebarInset } from '../../ui/sidebar';
|
|
3
|
+
import { AppSidebar } from './app-sidebar';
|
|
4
|
+
const meta = {
|
|
5
|
+
title: 'Layout/AppSidebar',
|
|
6
|
+
component: AppSidebar,
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: 'fullscreen',
|
|
9
|
+
},
|
|
10
|
+
tags: ['autodocs'],
|
|
11
|
+
decorators: [
|
|
12
|
+
(Story, context) => {
|
|
13
|
+
const defaultOpen = context.parameters?.sidebar?.defaultOpen ?? true;
|
|
14
|
+
return (_jsxs(SidebarProvider, { defaultOpen: defaultOpen, children: [_jsx(Story, {}), _jsx(SidebarInset, { "aria-label": "Main content", children: _jsx("div", { className: "flex items-center gap-2 border-b px-4 py-2", children: _jsx("span", { className: "text-muted-foreground text-sm", children: "Content area" }) }) })] }));
|
|
15
|
+
},
|
|
16
|
+
],
|
|
17
|
+
};
|
|
18
|
+
export default meta;
|
|
19
|
+
const mockFeatures = [
|
|
20
|
+
{ name: 'Auth Module', status: 'action-needed' },
|
|
21
|
+
{ name: 'Payment Flow', status: 'action-needed' },
|
|
22
|
+
{ name: 'Dashboard', status: 'in-progress', startedAt: Date.now() - 330_000 },
|
|
23
|
+
{ name: 'API Gateway', status: 'in-progress', startedAt: Date.now() - 60_000 },
|
|
24
|
+
{ name: 'Settings Page', status: 'done', duration: '2h' },
|
|
25
|
+
{ name: 'User Profile', status: 'done', duration: '1h' },
|
|
26
|
+
];
|
|
27
|
+
export const Default = {
|
|
28
|
+
args: {
|
|
29
|
+
features: mockFeatures,
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
export const Collapsed = {
|
|
33
|
+
args: {
|
|
34
|
+
features: mockFeatures,
|
|
35
|
+
},
|
|
36
|
+
parameters: {
|
|
37
|
+
sidebar: { defaultOpen: false },
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
export const Empty = {
|
|
41
|
+
args: {
|
|
42
|
+
features: [],
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
export const AllInProgress = {
|
|
46
|
+
args: {
|
|
47
|
+
features: [
|
|
48
|
+
{ name: 'Feature A', status: 'in-progress', startedAt: Date.now() - 120_000 },
|
|
49
|
+
{ name: 'Feature B', status: 'in-progress', startedAt: Date.now() - 600_000 },
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
export const AllDone = {
|
|
54
|
+
args: {
|
|
55
|
+
features: [
|
|
56
|
+
{ name: 'Feature A', status: 'done', duration: '30m' },
|
|
57
|
+
{ name: 'Feature B', status: 'done', duration: '1h' },
|
|
58
|
+
{ name: 'Feature C', status: 'done', duration: '3h' },
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-sidebar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { AppSidebar } from './app-sidebar';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { NavItem } from '../../layouts/sidebar';
|
|
3
|
+
interface DashboardLayoutProps {
|
|
4
|
+
sidebarItems: NavItem[];
|
|
5
|
+
pathname: string;
|
|
6
|
+
title: string;
|
|
7
|
+
actions?: ReactNode;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function DashboardLayout({ sidebarItems, pathname, title, actions, children, className, }: DashboardLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=dashboard-layout.d.ts.map
|
package/dist/src/presentation/web/components/layouts/dashboard-layout/dashboard-layout.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-layout.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/dashboard-layout/dashboard-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAG5D,UAAU,oBAAoB;IAC5B,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAC9B,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,oBAAoB,2CAYtB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../../lib/utils';
|
|
3
|
+
import { Sidebar } from '../../layouts/sidebar';
|
|
4
|
+
import { Header } from '../../layouts/header';
|
|
5
|
+
export function DashboardLayout({ sidebarItems, pathname, title, actions, children, className, }) {
|
|
6
|
+
return (_jsxs("div", { className: cn('flex h-screen', className), children: [_jsx("aside", { className: "w-64 border-r", children: _jsx(Sidebar, { items: sidebarItems, pathname: pathname }) }), _jsxs("div", { className: "flex flex-1 flex-col", children: [_jsx(Header, { title: title, actions: actions }), _jsx("main", { className: "flex-1 overflow-auto p-6", children: children })] })] }));
|
|
7
|
+
}
|
package/dist/src/presentation/web/components/layouts/dashboard-layout/dashboard-layout.stories.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { DashboardLayout } from './dashboard-layout';
|
|
3
|
+
declare const meta: Meta<typeof DashboardLayout>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const WithContent: Story;
|
|
8
|
+
export declare const WithActions: Story;
|
|
9
|
+
//# sourceMappingURL=dashboard-layout.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-layout.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/dashboard-layout/dashboard-layout.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,eAAe,CAOtC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAQnC,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAsBzB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAYzB,CAAC"}
|
package/dist/src/presentation/web/components/layouts/dashboard-layout/dashboard-layout.stories.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { DashboardLayout } from './dashboard-layout';
|
|
3
|
+
const meta = {
|
|
4
|
+
title: 'Layout/DashboardLayout',
|
|
5
|
+
component: DashboardLayout,
|
|
6
|
+
parameters: {
|
|
7
|
+
layout: 'fullscreen',
|
|
8
|
+
},
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
};
|
|
11
|
+
export default meta;
|
|
12
|
+
const sidebarItems = [
|
|
13
|
+
{ label: 'Dashboard', href: '/dashboard' },
|
|
14
|
+
{ label: 'Features', href: '/features' },
|
|
15
|
+
{ label: 'Settings', href: '/settings' },
|
|
16
|
+
];
|
|
17
|
+
export const Default = {
|
|
18
|
+
args: {
|
|
19
|
+
sidebarItems,
|
|
20
|
+
pathname: '/dashboard',
|
|
21
|
+
title: 'Dashboard',
|
|
22
|
+
children: _jsx("p", { className: "text-muted-foreground", children: "Select a feature to get started." }),
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
export const WithContent = {
|
|
26
|
+
args: {
|
|
27
|
+
sidebarItems,
|
|
28
|
+
pathname: '/features',
|
|
29
|
+
title: 'Features',
|
|
30
|
+
children: (_jsxs("div", { className: "grid gap-4 md:grid-cols-2 lg:grid-cols-3", children: [_jsxs("div", { className: "rounded-lg border p-4", children: [_jsx("h3", { className: "font-semibold", children: "Auth Module" }), _jsx("p", { className: "text-muted-foreground text-sm", children: "User authentication and authorization" })] }), _jsxs("div", { className: "rounded-lg border p-4", children: [_jsx("h3", { className: "font-semibold", children: "Dashboard" }), _jsx("p", { className: "text-muted-foreground text-sm", children: "Analytics and reporting" })] }), _jsxs("div", { className: "rounded-lg border p-4", children: [_jsx("h3", { className: "font-semibold", children: "API Gateway" }), _jsx("p", { className: "text-muted-foreground text-sm", children: "Request routing and rate limiting" })] })] })),
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
export const WithActions = {
|
|
34
|
+
args: {
|
|
35
|
+
sidebarItems,
|
|
36
|
+
pathname: '/features',
|
|
37
|
+
title: 'Features',
|
|
38
|
+
actions: (_jsx("button", { className: "bg-primary text-primary-foreground rounded-md px-4 py-2 text-sm", children: "New Feature" })),
|
|
39
|
+
children: _jsx("p", { className: "text-muted-foreground", children: "No features yet. Create one to get started." }),
|
|
40
|
+
},
|
|
41
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/dashboard-layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DashboardLayout } from './dashboard-layout';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
interface HeaderProps {
|
|
3
|
+
title: string;
|
|
4
|
+
breadcrumbs?: ReactNode;
|
|
5
|
+
actions?: ReactNode;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function Header({ title, breadcrumbs, actions, className }: HeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/header/header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,WAAW,2CAU7E"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../../lib/utils';
|
|
3
|
+
export function Header({ title, breadcrumbs, actions, className }) {
|
|
4
|
+
return (_jsxs("header", { className: cn('flex flex-col gap-2 px-6 py-4', className), children: [breadcrumbs ? _jsx("div", { "data-slot": "breadcrumbs", children: breadcrumbs }) : null, _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h1", { className: "text-2xl font-bold tracking-tight", children: title }), actions ? _jsx("div", { "data-slot": "actions", children: actions }) : null] })] }));
|
|
5
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { Header } from './header';
|
|
3
|
+
declare const meta: Meta<typeof Header>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const WithBreadcrumbs: Story;
|
|
8
|
+
export declare const WithActions: Story;
|
|
9
|
+
export declare const FullExample: Story;
|
|
10
|
+
//# sourceMappingURL=header.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/header/header.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAO7B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAS7B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KASzB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAiBzB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Header } from './header';
|
|
3
|
+
const meta = {
|
|
4
|
+
title: 'Layout/Header',
|
|
5
|
+
component: Header,
|
|
6
|
+
parameters: {
|
|
7
|
+
layout: 'padded',
|
|
8
|
+
},
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
};
|
|
11
|
+
export default meta;
|
|
12
|
+
export const Default = {
|
|
13
|
+
args: {
|
|
14
|
+
title: 'Dashboard',
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
export const WithBreadcrumbs = {
|
|
18
|
+
args: {
|
|
19
|
+
title: 'Feature Details',
|
|
20
|
+
breadcrumbs: (_jsxs("nav", { className: "text-muted-foreground text-sm", children: [_jsx("span", { children: "Home" }), " / ", _jsx("span", { children: "Features" }), " / ", _jsx("span", { children: "Feature Details" })] })),
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
export const WithActions = {
|
|
24
|
+
args: {
|
|
25
|
+
title: 'Features',
|
|
26
|
+
actions: (_jsx("button", { className: "bg-primary text-primary-foreground rounded-md px-4 py-2 text-sm", children: "New Feature" })),
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
export const FullExample = {
|
|
30
|
+
args: {
|
|
31
|
+
title: 'Feature Details',
|
|
32
|
+
breadcrumbs: (_jsxs("nav", { className: "text-muted-foreground text-sm", children: [_jsx("span", { children: "Home" }), " / ", _jsx("span", { children: "Features" }), " / ", _jsx("span", { children: "Auth Module" })] })),
|
|
33
|
+
actions: (_jsxs("div", { className: "flex gap-2", children: [_jsx("button", { className: "rounded-md border px-4 py-2 text-sm", children: "Edit" }), _jsx("button", { className: "bg-primary text-primary-foreground rounded-md px-4 py-2 text-sm", children: "Deploy" })] })),
|
|
34
|
+
},
|
|
35
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/header/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Header } from './header';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/sidebar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Sidebar } from './sidebar';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export interface NavItem {
|
|
3
|
+
label: string;
|
|
4
|
+
href: string;
|
|
5
|
+
icon?: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
interface SidebarProps {
|
|
8
|
+
items: NavItem[];
|
|
9
|
+
pathname: string;
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function Sidebar({ items, pathname, className }: SidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=sidebar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/sidebar/sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,YAAY,2CAwBnE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import Link from 'next/link';
|
|
3
|
+
import { cn } from '../../../lib/utils';
|
|
4
|
+
export function Sidebar({ items, pathname, className }) {
|
|
5
|
+
return (_jsx("nav", { className: cn('flex flex-col gap-1 p-4', className), children: items.map((item) => {
|
|
6
|
+
const isActive = pathname === item.href;
|
|
7
|
+
return (_jsxs(Link, { href: item.href, "aria-current": isActive ? 'page' : undefined, className: cn('flex items-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition-colors', isActive
|
|
8
|
+
? 'bg-accent text-accent-foreground'
|
|
9
|
+
: 'text-muted-foreground hover:bg-accent/50 hover:text-accent-foreground'), children: [item.icon, item.label] }, item.href));
|
|
10
|
+
}) }));
|
|
11
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { Sidebar } from './sidebar';
|
|
3
|
+
declare const meta: Meta<typeof Sidebar>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof meta>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const WithActiveItem: Story;
|
|
8
|
+
export declare const WithIcons: Story;
|
|
9
|
+
export declare const Empty: Story;
|
|
10
|
+
//# sourceMappingURL=sidebar.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/sidebar/sidebar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAO9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAQnC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAK5B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KASvB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Sidebar } from './sidebar';
|
|
3
|
+
const meta = {
|
|
4
|
+
title: 'Layout/Sidebar',
|
|
5
|
+
component: Sidebar,
|
|
6
|
+
parameters: {
|
|
7
|
+
layout: 'centered',
|
|
8
|
+
},
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
};
|
|
11
|
+
export default meta;
|
|
12
|
+
const defaultItems = [
|
|
13
|
+
{ label: 'Dashboard', href: '/dashboard' },
|
|
14
|
+
{ label: 'Features', href: '/features' },
|
|
15
|
+
{ label: 'Settings', href: '/settings' },
|
|
16
|
+
];
|
|
17
|
+
export const Default = {
|
|
18
|
+
args: {
|
|
19
|
+
items: defaultItems,
|
|
20
|
+
pathname: '/',
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
export const WithActiveItem = {
|
|
24
|
+
args: {
|
|
25
|
+
items: defaultItems,
|
|
26
|
+
pathname: '/features',
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
export const WithIcons = {
|
|
30
|
+
args: {
|
|
31
|
+
items: [
|
|
32
|
+
{ label: 'Dashboard', href: '/dashboard', icon: _jsx("span", { children: "\uD83D\uDCCA" }) },
|
|
33
|
+
{ label: 'Features', href: '/features', icon: _jsx("span", { children: "\uD83D\uDD27" }) },
|
|
34
|
+
{ label: 'Settings', href: '/settings', icon: _jsx("span", { children: "\u2699\uFE0F" }) },
|
|
35
|
+
],
|
|
36
|
+
pathname: '/dashboard',
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
export const Empty = {
|
|
40
|
+
args: {
|
|
41
|
+
items: [],
|
|
42
|
+
pathname: '/',
|
|
43
|
+
},
|
|
44
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './accordion';
|
|
3
3
|
const meta = {
|
|
4
|
-
title: '
|
|
4
|
+
title: 'Primitives/Accordion',
|
|
5
5
|
component: Accordion,
|
|
6
6
|
parameters: {
|
|
7
7
|
layout: 'centered',
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { cva } from 'class-variance-authority';
|
|
4
4
|
import { cn } from '../../lib/utils';
|
|
5
|
-
const alertVariants = cva('relative w-full rounded-lg border px-4 py-3 text-sm [&>svg
|
|
5
|
+
const alertVariants = cva('[&>svg]:text-foreground relative w-full rounded-lg border px-4 py-3 text-sm [&>svg]:absolute [&>svg]:top-4 [&>svg]:left-4 [&>svg+div]:translate-y-[-3px] [&>svg~*]:pl-7', {
|
|
6
6
|
variants: {
|
|
7
7
|
variant: {
|
|
8
8
|
default: 'bg-background text-foreground',
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { AlertCircle, Terminal } from 'lucide-react';
|
|
3
3
|
import { Alert, AlertDescription, AlertTitle } from './alert';
|
|
4
4
|
const meta = {
|
|
5
|
-
title: '
|
|
5
|
+
title: 'Primitives/Alert',
|
|
6
6
|
component: Alert,
|
|
7
7
|
parameters: {
|
|
8
8
|
layout: 'centered',
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { cva } from 'class-variance-authority';
|
|
3
3
|
import { cn } from '../../lib/utils';
|
|
4
|
-
const badgeVariants = cva('inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:
|
|
4
|
+
const badgeVariants = cva('focus:ring-ring inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-offset-2 focus:outline-none', {
|
|
5
5
|
variants: {
|
|
6
6
|
variant: {
|
|
7
|
-
default: '
|
|
8
|
-
secondary: '
|
|
9
|
-
destructive: '
|
|
7
|
+
default: 'bg-primary text-primary-foreground hover:bg-primary/80 border-transparent shadow',
|
|
8
|
+
secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80 border-transparent',
|
|
9
|
+
destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/80 border-transparent shadow',
|
|
10
10
|
outline: 'text-foreground',
|
|
11
11
|
},
|
|
12
12
|
},
|
|
@@ -2,11 +2,10 @@ import * as React from 'react';
|
|
|
2
2
|
import { type VariantProps } from 'class-variance-authority';
|
|
3
3
|
declare const buttonVariants: (props?: ({
|
|
4
4
|
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
5
|
-
size?: "default" | "icon" | "sm" | "lg" | null | undefined;
|
|
5
|
+
size?: "default" | "icon" | "xs" | "sm" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
-
|
|
7
|
+
declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
|
|
8
8
|
asChild?: boolean;
|
|
9
|
-
}
|
|
10
|
-
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
10
|
export { Button, buttonVariants };
|
|
12
11
|
//# sourceMappingURL=button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKlE,QAAA,MAAM,cAAc;;;8EA8BnB,CAAC;AAEF,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAmB,EACnB,IAAgB,EAChB,OAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAC/B,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,2CAYF;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
|